token_const.go 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  1. // Code generated by tools/gen-tokens. DO NOT EDIT.
  2. package token
  3. const (
  4. _ Token = iota
  5. // Control.
  6. ILLEGAL
  7. EOF
  8. COMMENT
  9. KEYWORD
  10. // Types.
  11. STRING
  12. BOOLEAN
  13. NULL
  14. NUMBER
  15. IDENTIFIER
  16. // Maths.
  17. PLUS // +
  18. MINUS // -
  19. MULTIPLY // *
  20. SLASH // /
  21. REMAINDER // %
  22. // Logical and bitwise operators.
  23. AND // &
  24. OR // |
  25. EXCLUSIVE_OR // ^
  26. SHIFT_LEFT // <<
  27. SHIFT_RIGHT // >>
  28. UNSIGNED_SHIFT_RIGHT // >>>
  29. AND_NOT // &^
  30. // Math assignments.
  31. ADD_ASSIGN // +=
  32. SUBTRACT_ASSIGN // -=
  33. MULTIPLY_ASSIGN // *=
  34. QUOTIENT_ASSIGN // /=
  35. REMAINDER_ASSIGN // %=
  36. // Math and bitwise assignments.
  37. AND_ASSIGN // &=
  38. OR_ASSIGN // |=
  39. EXCLUSIVE_OR_ASSIGN // ^=
  40. SHIFT_LEFT_ASSIGN // <<=
  41. SHIFT_RIGHT_ASSIGN // >>=
  42. UNSIGNED_SHIFT_RIGHT_ASSIGN // >>>=
  43. AND_NOT_ASSIGN // &^=
  44. // Logical operators and decrement / increment.
  45. LOGICAL_AND // &&
  46. LOGICAL_OR // ||
  47. INCREMENT // ++
  48. DECREMENT // --
  49. // Comparison operators.
  50. EQUAL // ==
  51. STRICT_EQUAL // ===
  52. LESS // <
  53. GREATER // >
  54. ASSIGN // =
  55. NOT // !
  56. // Bitwise not.
  57. BITWISE_NOT // ~
  58. // Comparison operators.
  59. NOT_EQUAL // !=
  60. STRICT_NOT_EQUAL // !==
  61. LESS_OR_EQUAL // <=
  62. GREATER_OR_EQUAL // >=
  63. // Left operators.
  64. LEFT_PARENTHESIS // (
  65. LEFT_BRACKET // [
  66. LEFT_BRACE // {
  67. COMMA // ,
  68. PERIOD // .
  69. // Right operators.
  70. RIGHT_PARENTHESIS // )
  71. RIGHT_BRACKET // ]
  72. RIGHT_BRACE // }
  73. SEMICOLON // ;
  74. COLON // :
  75. QUESTION_MARK // ?
  76. // Basic flow - keywords below here.
  77. _
  78. IF
  79. IN
  80. DO
  81. // Declarations.
  82. VAR
  83. FOR
  84. NEW
  85. TRY
  86. // Advanced flow.
  87. THIS
  88. ELSE
  89. CASE
  90. VOID
  91. WITH
  92. // Loops.
  93. WHILE
  94. BREAK
  95. CATCH
  96. THROW
  97. // Functions.
  98. RETURN
  99. TYPEOF
  100. DELETE
  101. SWITCH
  102. // Fallback identifiers.
  103. DEFAULT
  104. FINALLY
  105. // Miscellaneous.
  106. FUNCTION
  107. CONTINUE
  108. DEBUGGER
  109. // Instance of.
  110. INSTANCEOF
  111. )
  112. var token2string = [...]string{
  113. ILLEGAL: "ILLEGAL",
  114. EOF: "EOF",
  115. COMMENT: "COMMENT",
  116. KEYWORD: "KEYWORD",
  117. STRING: "STRING",
  118. BOOLEAN: "BOOLEAN",
  119. NULL: "NULL",
  120. NUMBER: "NUMBER",
  121. IDENTIFIER: "IDENTIFIER",
  122. PLUS: "+",
  123. MINUS: "-",
  124. MULTIPLY: "*",
  125. SLASH: "/",
  126. REMAINDER: "%",
  127. AND: "&",
  128. OR: "|",
  129. EXCLUSIVE_OR: "^",
  130. SHIFT_LEFT: "<<",
  131. SHIFT_RIGHT: ">>",
  132. UNSIGNED_SHIFT_RIGHT: ">>>",
  133. AND_NOT: "&^",
  134. ADD_ASSIGN: "+=",
  135. SUBTRACT_ASSIGN: "-=",
  136. MULTIPLY_ASSIGN: "*=",
  137. QUOTIENT_ASSIGN: "/=",
  138. REMAINDER_ASSIGN: "%=",
  139. AND_ASSIGN: "&=",
  140. OR_ASSIGN: "|=",
  141. EXCLUSIVE_OR_ASSIGN: "^=",
  142. SHIFT_LEFT_ASSIGN: "<<=",
  143. SHIFT_RIGHT_ASSIGN: ">>=",
  144. UNSIGNED_SHIFT_RIGHT_ASSIGN: ">>>=",
  145. AND_NOT_ASSIGN: "&^=",
  146. LOGICAL_AND: "&&",
  147. LOGICAL_OR: "||",
  148. INCREMENT: "++",
  149. DECREMENT: "--",
  150. EQUAL: "==",
  151. STRICT_EQUAL: "===",
  152. LESS: "<",
  153. GREATER: ">",
  154. ASSIGN: "=",
  155. NOT: "!",
  156. BITWISE_NOT: "~",
  157. NOT_EQUAL: "!=",
  158. STRICT_NOT_EQUAL: "!==",
  159. LESS_OR_EQUAL: "<=",
  160. GREATER_OR_EQUAL: ">=",
  161. LEFT_PARENTHESIS: "(",
  162. LEFT_BRACKET: "[",
  163. LEFT_BRACE: "{",
  164. COMMA: ",",
  165. PERIOD: ".",
  166. RIGHT_PARENTHESIS: ")",
  167. RIGHT_BRACKET: "]",
  168. RIGHT_BRACE: "}",
  169. SEMICOLON: ";",
  170. COLON: ":",
  171. QUESTION_MARK: "?",
  172. IF: "if",
  173. IN: "in",
  174. DO: "do",
  175. VAR: "var",
  176. FOR: "for",
  177. NEW: "new",
  178. TRY: "try",
  179. THIS: "this",
  180. ELSE: "else",
  181. CASE: "case",
  182. VOID: "void",
  183. WITH: "with",
  184. WHILE: "while",
  185. BREAK: "break",
  186. CATCH: "catch",
  187. THROW: "throw",
  188. RETURN: "return",
  189. TYPEOF: "typeof",
  190. DELETE: "delete",
  191. SWITCH: "switch",
  192. DEFAULT: "default",
  193. FINALLY: "finally",
  194. FUNCTION: "function",
  195. CONTINUE: "continue",
  196. DEBUGGER: "debugger",
  197. INSTANCEOF: "instanceof",
  198. }
  199. var keywordTable = map[string]keyword{
  200. "if": {
  201. token: IF,
  202. },
  203. "in": {
  204. token: IN,
  205. },
  206. "do": {
  207. token: DO,
  208. },
  209. "var": {
  210. token: VAR,
  211. },
  212. "for": {
  213. token: FOR,
  214. },
  215. "new": {
  216. token: NEW,
  217. },
  218. "try": {
  219. token: TRY,
  220. },
  221. "this": {
  222. token: THIS,
  223. },
  224. "else": {
  225. token: ELSE,
  226. },
  227. "case": {
  228. token: CASE,
  229. },
  230. "void": {
  231. token: VOID,
  232. },
  233. "with": {
  234. token: WITH,
  235. },
  236. "while": {
  237. token: WHILE,
  238. },
  239. "break": {
  240. token: BREAK,
  241. },
  242. "catch": {
  243. token: CATCH,
  244. },
  245. "throw": {
  246. token: THROW,
  247. },
  248. "return": {
  249. token: RETURN,
  250. },
  251. "typeof": {
  252. token: TYPEOF,
  253. },
  254. "delete": {
  255. token: DELETE,
  256. },
  257. "switch": {
  258. token: SWITCH,
  259. },
  260. "default": {
  261. token: DEFAULT,
  262. },
  263. "finally": {
  264. token: FINALLY,
  265. },
  266. "function": {
  267. token: FUNCTION,
  268. },
  269. "continue": {
  270. token: CONTINUE,
  271. },
  272. "debugger": {
  273. token: DEBUGGER,
  274. },
  275. "instanceof": {
  276. token: INSTANCEOF,
  277. },
  278. "const": {
  279. token: KEYWORD,
  280. futureKeyword: true,
  281. },
  282. "class": {
  283. token: KEYWORD,
  284. futureKeyword: true,
  285. },
  286. "enum": {
  287. token: KEYWORD,
  288. futureKeyword: true,
  289. },
  290. "export": {
  291. token: KEYWORD,
  292. futureKeyword: true,
  293. },
  294. "extends": {
  295. token: KEYWORD,
  296. futureKeyword: true,
  297. },
  298. "import": {
  299. token: KEYWORD,
  300. futureKeyword: true,
  301. },
  302. "super": {
  303. token: KEYWORD,
  304. futureKeyword: true,
  305. },
  306. "implements": {
  307. token: KEYWORD,
  308. futureKeyword: true,
  309. strict: true,
  310. },
  311. "interface": {
  312. token: KEYWORD,
  313. futureKeyword: true,
  314. strict: true,
  315. },
  316. "let": {
  317. token: KEYWORD,
  318. futureKeyword: true,
  319. strict: true,
  320. },
  321. "package": {
  322. token: KEYWORD,
  323. futureKeyword: true,
  324. strict: true,
  325. },
  326. "private": {
  327. token: KEYWORD,
  328. futureKeyword: true,
  329. strict: true,
  330. },
  331. "protected": {
  332. token: KEYWORD,
  333. futureKeyword: true,
  334. strict: true,
  335. },
  336. "public": {
  337. token: KEYWORD,
  338. futureKeyword: true,
  339. strict: true,
  340. },
  341. "static": {
  342. token: KEYWORD,
  343. futureKeyword: true,
  344. strict: true,
  345. },
  346. }