package jplag.cpp; import java.io.File; import jplag.Parser; import jplag.StrippedProgram; public class Scanner extends Parser implements CPPTokenConstants { private String actFile; private jplag.Structure struct; public static void main(String args[]) { System.out.print("File: "); for (int i = 0; i < args.length; i++) { System.out.print(args[i] + " "); } System.out.println(); Scanner scanner = new Scanner(); scanner.setProgram(new StrippedProgram()); scanner.scan(new File("."), args); } public jplag.Structure scan(File dir, String files[]) { struct = new jplag.Structure(); errors = 0; CPPScanner scanner = null;// will be initialized in Method scanFile for (int i = 0; i < files.length; i++) { actFile = files[i]; getProgram().print(null, "Scanning file " + files[i] + "\n"); if (!CPPScanner.scanFile(dir, files[i], scanner, this)) errors++; struct.addToken(new CPPToken(FILE_END, actFile, 1)); } this.parseEnd(); return struct; } public void add(int type, Token token) { struct.addToken(new CPPToken(type, actFile, token.beginLine)); } }