Language.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package de.jplag.rlang;
  2. import java.io.File;
  3. import de.jplag.ErrorConsumer;
  4. import de.jplag.TokenList;
  5. /**
  6. * This represents the R language as a language supported by JPlag.
  7. */
  8. public class Language implements de.jplag.Language {
  9. public static final String NAME = "R Parser";
  10. public static final String SHORT_NAME = "R";
  11. public static final int DEFAULT_MIN_TOKEN_MATCH = 8;
  12. private final RParserAdapter parserAdapter;
  13. public Language(ErrorConsumer consumer) {
  14. this.parserAdapter = new RParserAdapter(consumer);
  15. }
  16. @Override
  17. public String[] suffixes() {
  18. return new String[] {".R", ".r"};
  19. }
  20. @Override
  21. public String getName() {
  22. return NAME;
  23. }
  24. @Override
  25. public String getShortName() {
  26. return SHORT_NAME;
  27. }
  28. @Override
  29. public int minimumTokenMatch() {
  30. return DEFAULT_MIN_TOKEN_MATCH;
  31. }
  32. @Override
  33. public TokenList parse(File directory, String[] files) {
  34. return parserAdapter.parse(directory, files);
  35. }
  36. @Override
  37. public boolean hasErrors() {
  38. return parserAdapter.hasErrors();
  39. }
  40. @Override
  41. public boolean supportsColumns() {
  42. return true;
  43. }
  44. @Override
  45. public boolean isPreformatted() {
  46. return true;
  47. }
  48. @Override
  49. public boolean usesIndex() {
  50. return false;
  51. }
  52. @Override
  53. public int numberOfTokens() {
  54. return RTokenConstants.NUM_DIFF_TOKENS;
  55. }
  56. }