KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > ppg > parse > ParseTest


1 package ppg.parse;
2
3 import java.io.*;
4 import ppg.*;
5 import ppg.lex.*;
6 import ppg.spec.*;
7 import ppg.util.*;
8
9 public class ParseTest
10 {
11     private static final String JavaDoc HEADER = "ppg [parsetest]: ";
12     
13     private ParseTest() {}
14
15     public static void main(String JavaDoc args[]) {
16         FileInputStream fileInput;
17
18         String JavaDoc filename = null;
19         try {
20             filename = args[0];
21             fileInput = new FileInputStream(filename);
22         }
23         catch (FileNotFoundException e) {
24             System.out.println("Error: "+filename+" is not found.");
25             return;
26         }
27         catch (ArrayIndexOutOfBoundsException JavaDoc e) {
28             System.out.println(HEADER+"Error: No file name given.");
29             return;
30         }
31
32         File f = new File(filename);
33         String JavaDoc simpleName = f.getName();
34
35         Lexer lex = new Lexer(fileInput, simpleName);
36         
37         Parser parser = new Parser(filename, lex);
38         try {
39             parser.parse();
40         } catch (Exception JavaDoc e) {
41             System.out.println(HEADER+"Exception: "+e.getMessage());
42             return;
43         }
44         Spec spec = (Spec)parser.getProgramNode();
45                     
46         CodeWriter cw = new CodeWriter(System.out, 72);
47         try {
48             spec.unparse(cw);
49             cw.flush();
50             fileInput.close();
51         } catch (IOException e) {
52             System.out.println(HEADER+"exception: "+e.getMessage());
53             return;
54         }
55     }
56
57 }
58
Popular Tags