token

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Nov 5, 2024 License: MIT Imports: 1 Imported by: 299

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

This section is empty.

Types

type Token

type Token int

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

const (

	// Control.
	ILLEGAL Token
	EOF
	COMMENT
	KEYWORD
	// Types.
	STRING
	BOOLEAN
	NULL
	NUMBER
	IDENTIFIER
	// Maths.
	PLUS      // +
	MINUS     // -
	MULTIPLY  // *
	SLASH     // /
	REMAINDER // %
	// Logical and bitwise operators.
	AND                  // &
	OR                   // |
	EXCLUSIVE_OR         // ^
	SHIFT_LEFT           // <<
	SHIFT_RIGHT          // >>
	UNSIGNED_SHIFT_RIGHT // >>>
	AND_NOT              // &^
	// Math assignments.
	ADD_ASSIGN       // +=
	SUBTRACT_ASSIGN  // -=
	MULTIPLY_ASSIGN  // *=
	QUOTIENT_ASSIGN  // /=
	REMAINDER_ASSIGN // %=
	// Math and bitwise assignments.
	AND_ASSIGN                  // &=
	OR_ASSIGN                   // |=
	EXCLUSIVE_OR_ASSIGN         // ^=
	SHIFT_LEFT_ASSIGN           // <<=
	SHIFT_RIGHT_ASSIGN          // >>=
	UNSIGNED_SHIFT_RIGHT_ASSIGN // >>>=
	AND_NOT_ASSIGN              // &^=
	// Logical operators and decrement / increment.
	LOGICAL_AND // &&
	LOGICAL_OR  // ||
	INCREMENT   // ++
	DECREMENT   // --
	// Comparison operators.
	EQUAL        // ==
	STRICT_EQUAL // ===
	LESS         // <
	GREATER      // >
	ASSIGN       // =
	NOT          // !
	// Bitwise not.
	BITWISE_NOT // ~
	// Comparison operators.
	NOT_EQUAL        // !=
	STRICT_NOT_EQUAL // !==
	LESS_OR_EQUAL    // <=
	GREATER_OR_EQUAL // >=
	// Left operators.
	LEFT_PARENTHESIS // (
	LEFT_BRACKET     // [
	LEFT_BRACE       // {
	COMMA            // ,
	PERIOD           // .
	// Right operators.
	RIGHT_PARENTHESIS // )
	RIGHT_BRACKET     // ]
	RIGHT_BRACE       // }
	SEMICOLON         // ;
	COLON             // :
	QUESTION_MARK     // ?

	IF
	IN
	DO
	// Declarations.
	VAR
	FOR
	NEW
	TRY
	// Advanced flow.
	THIS
	ELSE
	CASE
	VOID
	WITH
	// Loops.
	WHILE
	BREAK
	CATCH
	THROW
	// Functions.
	RETURN
	TYPEOF
	DELETE
	SWITCH
	// Fallback identifiers.
	DEFAULT
	FINALLY
	// Miscellaneous.
	FUNCTION
	CONTINUE
	DEBUGGER
	// Instance of.
	INSTANCEOF
)

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