172 lines
2.8 KiB
Markdown
172 lines
2.8 KiB
Markdown
# token
|
|
--
|
|
import "github.com/robertkrimen/otto/token"
|
|
|
|
Package token defines constants representing the lexical tokens of JavaScript
|
|
(ECMA5).
|
|
|
|
## Usage
|
|
|
|
```go
|
|
const (
|
|
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 // ?
|
|
|
|
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
|
|
)
|
|
```
|
|
|
|
#### type Token
|
|
|
|
```go
|
|
type Token int
|
|
```
|
|
|
|
Token is the set of lexical tokens in JavaScript (ECMA5).
|
|
|
|
#### func IsKeyword
|
|
|
|
```go
|
|
func IsKeyword(literal string) (Token, bool)
|
|
```
|
|
IsKeyword returns the keyword token if literal is a keyword, a KEYWORD token if
|
|
the literal is a future keyword (const, let, class, super, ...), or 0 if the
|
|
literal is not a keyword.
|
|
|
|
If the literal is a keyword, IsKeyword returns a second value indicating if the
|
|
literal is considered a future keyword in strict-mode only.
|
|
|
|
7.6.1.2 Future Reserved Words:
|
|
|
|
const
|
|
class
|
|
enum
|
|
export
|
|
extends
|
|
import
|
|
super
|
|
|
|
7.6.1.2 Future Reserved Words (strict):
|
|
|
|
implements
|
|
interface
|
|
let
|
|
package
|
|
private
|
|
protected
|
|
public
|
|
static
|
|
|
|
#### func (Token) String
|
|
|
|
```go
|
|
func (tkn Token) String() string
|
|
```
|
|
String returns the string corresponding to the token. For operators, delimiters,
|
|
and keywords the string is the actual token string (e.g., for the token PLUS,
|
|
the String() is "+"). For all other tokens the string corresponds to the token
|
|
name (e.g. for the token IDENTIFIER, the string is "IDENTIFIER").
|
|
|
|
--
|
|
**godocdown** http://github.com/robertkrimen/godocdown
|