SchemeToken.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. package de.jplag.scheme;
  2. import de.jplag.Token;
  3. public class SchemeToken extends Token implements SchemeTokenConstants {
  4. private static final long serialVersionUID = -143418583849687339L;
  5. private int line;
  6. public SchemeToken(int type, String file, int line) {
  7. super(type, file, line);
  8. }
  9. @Override
  10. public int getLine() {
  11. return line;
  12. }
  13. @Override
  14. public void setLine(int line) {
  15. this.line = line;
  16. }
  17. @Override
  18. public int getColumn() {
  19. return 0;
  20. }
  21. @Override
  22. public int getLength() {
  23. return 0;
  24. }
  25. public static String type2string(int type) {
  26. switch (type) {
  27. case SchemeTokenConstants.FILE_END:
  28. return "********";
  29. case S_BOOL:
  30. return "BOOL ";
  31. case S_NUMBER:
  32. return "NUMBER ";
  33. case S_CHAR:
  34. return "CHAR ";
  35. case S_STRING:
  36. return "STRING ";
  37. case S_ID:
  38. return "ID ";
  39. case S_LIST_BEGIN:
  40. return "(LIST ";
  41. case S_LIST_END:
  42. return "LIST) ";
  43. case S_VECTOR_BEGIN:
  44. return "(VECTOR ";
  45. case S_VECTOR_END:
  46. return "VECTOR) ";
  47. case S_LITERAL:
  48. return "LITERAL ";
  49. case S_QUOT_BEGIN:
  50. return "(QUOT ";
  51. case S_QUOT_END:
  52. return "QUOT) ";
  53. case S_CALL:
  54. return "CALL ";
  55. case S_LAMBDA_BEGIN:
  56. return "(LAMBDA ";
  57. case S_LAMBDA_END:
  58. return "LAMBDA) ";
  59. case S_FORMAL_BEGIN:
  60. return "(FORMAL ";
  61. case S_FORMAL_END:
  62. return "FORMAL) ";
  63. case S_BODY_BEGIN:
  64. return "(BODY ";
  65. case S_BODY_END:
  66. return "BODY) ";
  67. case S_IF_BEGIN:
  68. return "(IF ";
  69. case S_IF_END:
  70. return "IF) ";
  71. case S_ALTERN:
  72. return "ALTERN ";
  73. case S_ASSIGN_BEGIN:
  74. return "(ASSIGN ";
  75. case S_ASSIGN_END:
  76. return "ASSIGN) ";
  77. case S_COND_BEGIN:
  78. return "(COND ";
  79. case S_COND_END:
  80. return "COND) ";
  81. case S_ELSE:
  82. return "ELSE ";
  83. case S_CASE_BEGIN:
  84. return "(CASE ";
  85. case S_CASE_END:
  86. return "CASE) ";
  87. case S_DO_BEGIN:
  88. return "(DO ";
  89. case S_DO_END:
  90. return "DO) ";
  91. case S_COMMAND:
  92. return "COMMAND ";
  93. case S_DEF_BEGIN:
  94. return "(DEF ";
  95. case S_DEF_END:
  96. return "DEF) ";
  97. case S_BEGIN:
  98. return "( ";
  99. case S_END:
  100. return ") ";
  101. case S_AND:
  102. return "AND ";
  103. case S_OR:
  104. return "OR ";
  105. case S_LET:
  106. return "LET ";
  107. case S_DELAY:
  108. return "DELAY ";
  109. case S_VAR:
  110. return "VAR ";
  111. default:
  112. return "<?????> ";
  113. }
  114. }
  115. }