172 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			172 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								# token
							 | 
						||
| 
								 | 
							
								--
							 | 
						||
| 
								 | 
							
								    import "github.com/dop251/goja/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
							 |