Parser.java 961 B

1234567891011121314151617181920212223242526272829303132
  1. package de.jplag.scheme;
  2. import java.io.File;
  3. import de.jplag.AbstractParser;
  4. import de.jplag.TokenList;
  5. public class Parser extends AbstractParser {
  6. private String currentFile;
  7. private TokenList tokens;
  8. public TokenList parse(File directory, String files[]) {
  9. tokens = new TokenList();
  10. errors = 0;
  11. for (int i = 0; i < files.length; i++) {
  12. currentFile = files[i];
  13. getErrorConsumer().print(null, "Parsing file " + files[i]);
  14. if (!SchemeParser.parseFile(directory, files[i], null, this))
  15. errors++;
  16. tokens.addToken(new SchemeToken(SchemeTokenConstants.FILE_END, currentFile));
  17. }
  18. this.parseEnd();
  19. return tokens;
  20. }
  21. public void add(int type, Token token) {
  22. int length = token.endColumn - token.beginColumn + 1;
  23. tokens.addToken(new SchemeToken(type, currentFile, token.beginLine, token.endLine, length));
  24. }
  25. }