Language.java 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package de.jplag.chars;
  2. import java.io.File;
  3. import de.jplag.ErrorConsumer;
  4. import de.jplag.Token;
  5. import de.jplag.TokenList;
  6. /*
  7. * read in text files as characters
  8. */
  9. public class Language implements de.jplag.Language {
  10. private ErrorConsumer program;
  11. private de.jplag.chars.Parser parser = new Parser();
  12. public Language(ErrorConsumer program) {
  13. this.program = program;
  14. this.parser.setProgram(this.program);
  15. }
  16. @Override
  17. public String[] suffixes() {
  18. String[] res = { ".TXT", ".txt", ".ASC", ".asc", ".TEX", ".tex" };
  19. return res;
  20. }
  21. /*
  22. * (non-Javadoc)
  23. *
  24. * @see de.jplag.Language#errorsCount()
  25. */
  26. @Override
  27. public int errorCount() {
  28. return this.parser.errorsCount();
  29. }
  30. @Override
  31. public String getName() {
  32. return "Character AbstractParser";
  33. }
  34. @Override
  35. public String getShortName() {
  36. return "char";
  37. }
  38. @Override
  39. public int minimumTokenMatch() {
  40. return 10;
  41. }
  42. @Override
  43. public TokenList parse(File dir, String[] files) {
  44. return this.parser.parse(dir, files);
  45. }
  46. @Override
  47. public boolean hasErrors() {
  48. return this.parser.hasErrors();
  49. }
  50. @Override
  51. public boolean supportsColumns() {
  52. return false;
  53. }
  54. @Override
  55. public boolean isPreformatted() {
  56. return false;
  57. }
  58. @Override
  59. public boolean usesIndex() {
  60. return true;
  61. }
  62. @Override
  63. public int numberOfTokens() {
  64. return 36;
  65. }
  66. @Override
  67. public String type2string(int type) {
  68. return Token.type2string(type);
  69. }
  70. }