...

Package token

import "github.com/dop251/goja/token"
Overview
Index

Overview ▾

Package token defines constants representing the lexical tokens of JavaScript (ECMA5).

func IsId

func IsId(tkn Token) bool

func IsUnreservedWord

func IsUnreservedWord(tkn Token) bool

type Token

Token is the set of lexical tokens in JavaScript (ECMA5).

type Token int
const (
    ILLEGAL Token
    EOF
    COMMENT

    STRING
    NUMBER

    PLUS      // +
    MINUS     // -
    MULTIPLY  // *
    EXPONENT  // **
    SLASH     // /
    REMAINDER // %

    AND                  // &
    OR                   // |
    EXCLUSIVE_OR         // ^
    SHIFT_LEFT           // <<
    SHIFT_RIGHT          // >>
    UNSIGNED_SHIFT_RIGHT // >>>

    ADD_ASSIGN       // +=
    SUBTRACT_ASSIGN  // -=
    MULTIPLY_ASSIGN  // *=
    EXPONENT_ASSIGN  // **=
    QUOTIENT_ASSIGN  // /=
    REMAINDER_ASSIGN // %=

    AND_ASSIGN                  // &=
    OR_ASSIGN                   // |=
    EXCLUSIVE_OR_ASSIGN         // ^=
    SHIFT_LEFT_ASSIGN           // <<=
    SHIFT_RIGHT_ASSIGN          // >>=
    UNSIGNED_SHIFT_RIGHT_ASSIGN // >>>=

    LOGICAL_AND // &&
    LOGICAL_OR  // ||
    COALESCE    // ??
    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     // ?
    QUESTION_DOT      // ?.
    ARROW             // =>
    ELLIPSIS          // ...
    BACKTICK          // `

    PRIVATE_IDENTIFIER

    IDENTIFIER
    KEYWORD
    BOOLEAN
    NULL

    IF
    IN
    OF
    DO

    VAR
    FOR
    NEW
    TRY

    THIS
    ELSE
    CASE
    VOID
    WITH

    CONST
    WHILE
    BREAK
    CATCH
    THROW
    CLASS
    SUPER

    RETURN
    TYPEOF
    DELETE
    SWITCH

    DEFAULT
    FINALLY
    EXTENDS

    FUNCTION
    CONTINUE
    DEBUGGER

    INSTANCEOF

    ESCAPED_RESERVED_WORD

    LET
    STATIC
    ASYNC
    AWAIT
    YIELD
)

func IsKeyword

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

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").