Language.java 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package de.jplag.cpp;
  2. import java.io.File;
  3. import de.jplag.TokenList;
  4. public class Language implements de.jplag.Language {
  5. private final Scanner scanner; // cpp code is scanned not parsed
  6. public Language() {
  7. scanner = new Scanner();
  8. }
  9. @Override
  10. public String[] suffixes() {
  11. return new String[] {".cpp", ".CPP", ".cxx", ".CXX", ".c++", ".C++", ".c", ".C", ".cc", ".CC", ".h", ".H", ".hpp", ".HPP", ".hh", ".HH"};
  12. }
  13. @Override
  14. public String getName() {
  15. return "C/C++ Scanner [basic markup]";
  16. }
  17. @Override
  18. public String getShortName() {
  19. return "cpp";
  20. }
  21. @Override
  22. public int minimumTokenMatch() {
  23. return 12;
  24. }
  25. @Override
  26. public boolean supportsColumns() {
  27. return true;
  28. }
  29. @Override
  30. public boolean isPreformatted() {
  31. return true;
  32. }
  33. @Override
  34. public boolean usesIndex() {
  35. return false;
  36. }
  37. @Override
  38. public TokenList parse(File dir, String[] files) {
  39. return this.scanner.scan(dir, files);
  40. }
  41. @Override
  42. public boolean hasErrors() {
  43. return this.scanner.hasErrors();
  44. }
  45. @Override
  46. public int numberOfTokens() {
  47. return CPPTokenConstants.NUM_DIFF_TOKENS;
  48. }
  49. }