Language.java 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package de.jplag.text;
  2. import java.io.File;
  3. import de.jplag.TokenList;
  4. /**
  5. * Language class for parsing (natural language) text. This language module employs a primitive approach where
  6. * individual words are interpreted as token types. Whitespace and special characters are ignored. This approach works,
  7. * but there are better approaches for text plagiarism out there (based on NLP techniques).
  8. */
  9. public class Language implements de.jplag.Language {
  10. private final ParserAdapter parserAdapter;
  11. public Language() {
  12. parserAdapter = new ParserAdapter();
  13. }
  14. @Override
  15. public String[] suffixes() {
  16. return new String[] {".TXT", ".txt", ".ASC", ".asc", ".TEX", ".tex"};
  17. }
  18. @Override
  19. public String getName() {
  20. return "Text Parser (naive)";
  21. }
  22. @Override
  23. public String getShortName() {
  24. return "text";
  25. }
  26. @Override
  27. public int minimumTokenMatch() {
  28. return 5;
  29. }
  30. @Override
  31. public TokenList parse(File dir, String[] files) {
  32. return parserAdapter.parse(dir, files);
  33. }
  34. @Override
  35. public boolean hasErrors() {
  36. return parserAdapter.hasErrors();
  37. }
  38. @Override
  39. public boolean isPreformatted() {
  40. return false;
  41. }
  42. }