Parser.java 983 B

1234567891011121314151617181920212223242526272829303132333435363738
  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. /**
  9. * Creates the parser.
  10. */
  11. public Parser() {
  12. super();
  13. }
  14. public TokenList parse(File directory, String[] files) {
  15. tokens = new TokenList();
  16. errors = 0;
  17. for (String file : files) {
  18. currentFile = file;
  19. logger.trace("Parsing file {}", file);
  20. if (!SchemeParser.parseFile(directory, file, null, this))
  21. errors++;
  22. tokens.addToken(new SchemeToken(SchemeTokenConstants.FILE_END, currentFile));
  23. }
  24. return tokens;
  25. }
  26. public void add(int type, Token token) {
  27. int length = token.endColumn - token.beginColumn + 1;
  28. tokens.addToken(new SchemeToken(type, currentFile, token.beginLine, token.endLine, length));
  29. }
  30. }