checking in stuff
[IRC.git] / Robust / JavaGrammar / Main / Main.java
1 package Main;
2
3 import java.io.Reader;
4 import java.io.BufferedReader;
5 import java.io.FileReader;
6
7 /* Test skeleton for java parser/lexer.
8  * Copyright (C) 1998 C. Scott Ananian <cananian@alumni.princeton.edu>
9  * This is released under the terms of the GPL with NO WARRANTY.
10  * See the file COPYING for more details.
11  */
12
13 public class Main {
14   public static void main(String args[]) throws Exception {
15     Reader fr = new BufferedReader(new FileReader(args[0]));
16     // the integer in the next line specifies the java minor version.
17     // for example, for a java 1.0 lexer specify '0'
18     //              for a java 1.1 lexer specify '1'
19     //              etc.
20     // As far as the lexer's concerned, 'strictfp' was added in Java 1.2,
21     // 'assert' in Java 1.4, and we need a "lookahead <" token PLT
22     // to correctly parse Java 1.5.
23     int java_minor_version = 5;
24     if (args.length>1) java_minor_version = Integer.parseInt(args[1]);
25     Lex.Lexer l = new Lex.Lexer(fr, java_minor_version);
26     java_cup.runtime.lr_parser g;
27     switch (java_minor_version) {
28     default:
29     case 5: g = new Parse.Grm15(l); break;
30     case 4: g = new Parse.Grm14(l); break;
31     case 3:
32     case 2: g = new Parse.Grm12(l); break;
33     case 1: g = new Parse.Grm11(l); break;
34     case 0: g = new Parse.Grm10(l); break;
35     }
36     g./*debug_*/parse();
37     System.exit(l.numErrors());
38   }
39 }