-
- public static ParseNode readSourceFile(State state, String sourcefile) {
- try {
- Reader fr= new BufferedReader(new FileReader(sourcefile));
- Lex.Lexer l = new Lex.Lexer(fr);
- java_cup.runtime.lr_parser g;
- g = new Parse.Parser(l);
- ParseNode p=null;
- try {
- p=(ParseNode) g./*debug_*/parse().value;
- } catch (Exception e) {
- System.err.println("Error parsing file:"+sourcefile);
- e.printStackTrace();
- System.exit(-1);
- }
- state.addParseNode(p);
- if (l.numErrors()!=0) {
- System.out.println("Error parsing "+sourcefile);
- System.exit(l.numErrors());
- }
- state.lines+=l.line_num;
- return p;
-
- } catch (Exception e) {
- throw new Error(e);
- }
- }
-
- public void loadClass(BuildIR bir, String sourcefile) {
- try {
- ParseNode pn=readSourceFile(state, sourcefile);
- bir.buildtree(pn, null,sourcefile);
- } catch (Exception e) {
- System.out.println("Error in sourcefile:"+sourcefile);
- e.printStackTrace();
- System.exit(-1);
- } catch (Error e) {
- System.out.println("Error in sourcefile:"+sourcefile);
- e.printStackTrace();
- System.exit(-1);
- }
- }