package jplag.javax; import java.io.*; public class Parser extends jplag.Parser implements JavaTokenConstants { private String actFile; private jplag.Structure struct; public void main(String args[]) { System.out.println(parse(new File("."), args).toString()); } public jplag.Structure parse(File dir, String files[]) { struct = new jplag.Structure(); errors = 0; JavaParser parser = null;// no worry it will be reinitialized // in method parseFile(...) for (int i = 0; i < files.length; i++) { actFile = files[i]; getProgram().print(null, "Parsing file " + files[i] + "\n"); if (!JavaParser.parseFile(dir, files[i], parser, this)) errors++; struct.addToken(new JavaToken(FILE_END, actFile, 0)); } // System.err.println(struct.toString()); if (errors == 0) program.print(null, "OK\n"); else program.print(null, errors + " ERRORS\n"); this.parseEnd(); return struct; } public void add(int type, Token token) { struct.addToken(new JavaToken(type, actFile, token.beginLine)); /* * System.out.println(token.beginLine+"\t"+ (new * JavaToken(0,null,0)).type2string(type)+"\t"+ token.image); */ } }