123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349 |
- package token
- const (
- _ Token = iota
- ILLEGAL
- EOF
- COMMENT
- KEYWORD
- STRING
- BOOLEAN
- NULL
- NUMBER
- IDENTIFIER
- PLUS // +
- MINUS // -
- MULTIPLY // *
- SLASH // /
- REMAINDER // %
- AND // &
- OR // |
- EXCLUSIVE_OR // ^
- SHIFT_LEFT // <<
- SHIFT_RIGHT // >>
- UNSIGNED_SHIFT_RIGHT // >>>
- AND_NOT // &^
- ADD_ASSIGN // +=
- SUBTRACT_ASSIGN // -=
- MULTIPLY_ASSIGN // *=
- QUOTIENT_ASSIGN // /=
- REMAINDER_ASSIGN // %=
- AND_ASSIGN // &=
- OR_ASSIGN // |=
- EXCLUSIVE_OR_ASSIGN // ^=
- SHIFT_LEFT_ASSIGN // <<=
- SHIFT_RIGHT_ASSIGN // >>=
- UNSIGNED_SHIFT_RIGHT_ASSIGN // >>>=
- AND_NOT_ASSIGN // &^=
- LOGICAL_AND // &&
- LOGICAL_OR // ||
- INCREMENT // ++
- DECREMENT // --
- EQUAL // ==
- STRICT_EQUAL // ===
- LESS // <
- GREATER // >
- ASSIGN // =
- NOT // !
- BITWISE_NOT // ~
- NOT_EQUAL // !=
- STRICT_NOT_EQUAL // !==
- LESS_OR_EQUAL // <=
- GREATER_OR_EQUAL // >=
- LEFT_PARENTHESIS // (
- LEFT_BRACKET // [
- LEFT_BRACE // {
- COMMA // ,
- PERIOD // .
- RIGHT_PARENTHESIS // )
- RIGHT_BRACKET // ]
- RIGHT_BRACE // }
- SEMICOLON // ;
- COLON // :
- QUESTION_MARK // ?
- firstKeyword // nolint: deadcode
- IF
- IN
- DO
- VAR
- FOR
- NEW
- TRY
- THIS
- ELSE
- CASE
- VOID
- WITH
- WHILE
- BREAK
- CATCH
- THROW
- RETURN
- TYPEOF
- DELETE
- SWITCH
- DEFAULT
- FINALLY
- FUNCTION
- CONTINUE
- DEBUGGER
- INSTANCEOF
- lastKeyword // nolint: deadcode
- )
- var token2string = [...]string{
- ILLEGAL: "ILLEGAL",
- EOF: "EOF",
- COMMENT: "COMMENT",
- KEYWORD: "KEYWORD",
- STRING: "STRING",
- BOOLEAN: "BOOLEAN",
- NULL: "NULL",
- NUMBER: "NUMBER",
- IDENTIFIER: "IDENTIFIER",
- PLUS: "+",
- MINUS: "-",
- MULTIPLY: "*",
- SLASH: "/",
- REMAINDER: "%",
- AND: "&",
- OR: "|",
- EXCLUSIVE_OR: "^",
- SHIFT_LEFT: "<<",
- SHIFT_RIGHT: ">>",
- UNSIGNED_SHIFT_RIGHT: ">>>",
- AND_NOT: "&^",
- ADD_ASSIGN: "+=",
- SUBTRACT_ASSIGN: "-=",
- MULTIPLY_ASSIGN: "*=",
- QUOTIENT_ASSIGN: "/=",
- REMAINDER_ASSIGN: "%=",
- AND_ASSIGN: "&=",
- OR_ASSIGN: "|=",
- EXCLUSIVE_OR_ASSIGN: "^=",
- SHIFT_LEFT_ASSIGN: "<<=",
- SHIFT_RIGHT_ASSIGN: ">>=",
- UNSIGNED_SHIFT_RIGHT_ASSIGN: ">>>=",
- AND_NOT_ASSIGN: "&^=",
- LOGICAL_AND: "&&",
- LOGICAL_OR: "||",
- INCREMENT: "++",
- DECREMENT: "--",
- EQUAL: "==",
- STRICT_EQUAL: "===",
- LESS: "<",
- GREATER: ">",
- ASSIGN: "=",
- NOT: "!",
- BITWISE_NOT: "~",
- NOT_EQUAL: "!=",
- STRICT_NOT_EQUAL: "!==",
- LESS_OR_EQUAL: "<=",
- GREATER_OR_EQUAL: ">=",
- LEFT_PARENTHESIS: "(",
- LEFT_BRACKET: "[",
- LEFT_BRACE: "{",
- COMMA: ",",
- PERIOD: ".",
- RIGHT_PARENTHESIS: ")",
- RIGHT_BRACKET: "]",
- RIGHT_BRACE: "}",
- SEMICOLON: ";",
- COLON: ":",
- QUESTION_MARK: "?",
- IF: "if",
- IN: "in",
- DO: "do",
- VAR: "var",
- FOR: "for",
- NEW: "new",
- TRY: "try",
- THIS: "this",
- ELSE: "else",
- CASE: "case",
- VOID: "void",
- WITH: "with",
- WHILE: "while",
- BREAK: "break",
- CATCH: "catch",
- THROW: "throw",
- RETURN: "return",
- TYPEOF: "typeof",
- DELETE: "delete",
- SWITCH: "switch",
- DEFAULT: "default",
- FINALLY: "finally",
- FUNCTION: "function",
- CONTINUE: "continue",
- DEBUGGER: "debugger",
- INSTANCEOF: "instanceof",
- }
- var keywordTable = map[string]_keyword{
- "if": _keyword{
- token: IF,
- },
- "in": _keyword{
- token: IN,
- },
- "do": _keyword{
- token: DO,
- },
- "var": _keyword{
- token: VAR,
- },
- "for": _keyword{
- token: FOR,
- },
- "new": _keyword{
- token: NEW,
- },
- "try": _keyword{
- token: TRY,
- },
- "this": _keyword{
- token: THIS,
- },
- "else": _keyword{
- token: ELSE,
- },
- "case": _keyword{
- token: CASE,
- },
- "void": _keyword{
- token: VOID,
- },
- "with": _keyword{
- token: WITH,
- },
- "while": _keyword{
- token: WHILE,
- },
- "break": _keyword{
- token: BREAK,
- },
- "catch": _keyword{
- token: CATCH,
- },
- "throw": _keyword{
- token: THROW,
- },
- "return": _keyword{
- token: RETURN,
- },
- "typeof": _keyword{
- token: TYPEOF,
- },
- "delete": _keyword{
- token: DELETE,
- },
- "switch": _keyword{
- token: SWITCH,
- },
- "default": _keyword{
- token: DEFAULT,
- },
- "finally": _keyword{
- token: FINALLY,
- },
- "function": _keyword{
- token: FUNCTION,
- },
- "continue": _keyword{
- token: CONTINUE,
- },
- "debugger": _keyword{
- token: DEBUGGER,
- },
- "instanceof": _keyword{
- token: INSTANCEOF,
- },
- "const": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- },
- "class": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- },
- "enum": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- },
- "export": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- },
- "extends": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- },
- "import": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- },
- "super": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- },
- "implements": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- strict: true,
- },
- "interface": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- strict: true,
- },
- "let": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- strict: true,
- },
- "package": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- strict: true,
- },
- "private": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- strict: true,
- },
- "protected": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- strict: true,
- },
- "public": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- strict: true,
- },
- "static": _keyword{
- token: KEYWORD,
- futureKeyword: true,
- strict: true,
- },
- }
|