1# token 2-- 3 import "github.com/robertkrimen/otto/token" 4 5Package token defines constants representing the lexical tokens of JavaScript 6(ECMA5). 7 8## Usage 9 10```go 11const ( 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 122type Token int 123``` 124 125Token is the set of lexical tokens in JavaScript (ECMA5). 126 127#### func IsKeyword 128 129```go 130func IsKeyword(literal string) (Token, bool) 131``` 132IsKeyword returns the keyword token if literal is a keyword, a KEYWORD token if 133the literal is a future keyword (const, let, class, super, ...), or 0 if the 134literal is not a keyword. 135 136If the literal is a keyword, IsKeyword returns a second value indicating if the 137literal is considered a future keyword in strict-mode only. 138 1397.6.1.2 Future Reserved Words: 140 141 const 142 class 143 enum 144 export 145 extends 146 import 147 super 148 1497.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 163func (tkn Token) String() string 164``` 165String returns the string corresponding to the token. For operators, delimiters, 166and keywords the string is the actual token string (e.g., for the token PLUS, 167the String() is "+"). For all other tokens the string corresponds to the token 168name (e.g. for the token IDENTIFIER, the string is "IDENTIFIER"). 169 170-- 171**godocdown** http://github.com/robertkrimen/godocdown 172