github.com/nuvolaris/goja@v0.0.0-20230825100449-967811910c6d/token/README.markdown (about) 1 # token 2 -- 3 import "github.com/dop251/goja/token" 4 5 Package token defines constants representing the lexical tokens of JavaScript 6 (ECMA5). 7 8 ## Usage 9 10 ```go 11 const ( 12 ILLEGAL 13 EOF 14 COMMENT 15 KEYWORD 16 17 STRING 18 BOOLEAN 19 NULL 20 NUMBER 21 IDENTIFIER 22 23 PLUS // + 24 MINUS // - 25 MULTIPLY // * 26 SLASH // / 27 REMAINDER // % 28 29 AND // & 30 OR // | 31 EXCLUSIVE_OR // ^ 32 SHIFT_LEFT // << 33 SHIFT_RIGHT // >> 34 UNSIGNED_SHIFT_RIGHT // >>> 35 AND_NOT // &^ 36 37 ADD_ASSIGN // += 38 SUBTRACT_ASSIGN // -= 39 MULTIPLY_ASSIGN // *= 40 QUOTIENT_ASSIGN // /= 41 REMAINDER_ASSIGN // %= 42 43 AND_ASSIGN // &= 44 OR_ASSIGN // |= 45 EXCLUSIVE_OR_ASSIGN // ^= 46 SHIFT_LEFT_ASSIGN // <<= 47 SHIFT_RIGHT_ASSIGN // >>= 48 UNSIGNED_SHIFT_RIGHT_ASSIGN // >>>= 49 AND_NOT_ASSIGN // &^= 50 51 LOGICAL_AND // && 52 LOGICAL_OR // || 53 INCREMENT // ++ 54 DECREMENT // -- 55 56 EQUAL // == 57 STRICT_EQUAL // === 58 LESS // < 59 GREATER // > 60 ASSIGN // = 61 NOT // ! 62 63 BITWISE_NOT // ~ 64 65 NOT_EQUAL // != 66 STRICT_NOT_EQUAL // !== 67 LESS_OR_EQUAL // <= 68 GREATER_OR_EQUAL // >= 69 70 LEFT_PARENTHESIS // ( 71 LEFT_BRACKET // [ 72 LEFT_BRACE // { 73 COMMA // , 74 PERIOD // . 75 76 RIGHT_PARENTHESIS // ) 77 RIGHT_BRACKET // ] 78 RIGHT_BRACE // } 79 SEMICOLON // ; 80 COLON // : 81 QUESTION_MARK // ? 82 83 IF 84 IN 85 DO 86 87 VAR 88 FOR 89 NEW 90 TRY 91 92 THIS 93 ELSE 94 CASE 95 VOID 96 WITH 97 98 WHILE 99 BREAK 100 CATCH 101 THROW 102 103 RETURN 104 TYPEOF 105 DELETE 106 SWITCH 107 108 DEFAULT 109 FINALLY 110 111 FUNCTION 112 CONTINUE 113 DEBUGGER 114 115 INSTANCEOF 116 ) 117 ``` 118 119 #### type Token 120 121 ```go 122 type Token int 123 ``` 124 125 Token is the set of lexical tokens in JavaScript (ECMA5). 126 127 #### func IsKeyword 128 129 ```go 130 func IsKeyword(literal string) (Token, bool) 131 ``` 132 IsKeyword returns the keyword token if literal is a keyword, a KEYWORD token if 133 the literal is a future keyword (const, let, class, super, ...), or 0 if the 134 literal is not a keyword. 135 136 If the literal is a keyword, IsKeyword returns a second value indicating if the 137 literal is considered a future keyword in strict-mode only. 138 139 7.6.1.2 Future Reserved Words: 140 141 const 142 class 143 enum 144 export 145 extends 146 import 147 super 148 149 7.6.1.2 Future Reserved Words (strict): 150 151 implements 152 interface 153 let 154 package 155 private 156 protected 157 public 158 static 159 160 #### func (Token) String 161 162 ```go 163 func (tkn Token) String() string 164 ``` 165 String returns the string corresponding to the token. For operators, delimiters, 166 and keywords the string is the actual token string (e.g., for the token PLUS, 167 the String() is "+"). For all other tokens the string corresponds to the token 168 name (e.g. for the token IDENTIFIER, the string is "IDENTIFIER"). 169 170 -- 171 **godocdown** http://github.com/robertkrimen/godocdown