token

package
v0.0.0-...-a9c92f4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 27, 2023 License: MIT Imports: 1 Imported by: 0

README

token

-- import "github.com/dop251/goja/token"

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

Usage

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
type Token int

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

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

-- godocdown http://github.com/robertkrimen/godocdown

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsId

func IsId(tkn Token) bool

func IsUnreservedWord

func IsUnreservedWord(tkn Token) bool

Types

type Token

type Token int

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

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL