token

package
v0.0.13 Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2026 License: MIT Imports: 1 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Debug

func Debug(tok Token) string

Debug returns a debug string for a token.

func ExpectedHint

func ExpectedHint(t TokenType) string

ExpectedHint returns a helpful hint when a specific token type was expected.

func TypeName

func TypeName(t TokenType) string

TypeName returns a human-readable name for a token type.

Types

type Token

type Token struct {
	Type    TokenType
	Literal string
	Line    int
	Column  int
}

Token represents a lexical token with its type, literal value, and position.

type TokenType

type TokenType int

TokenType represents the type of a token.

const (
	// Literals
	INT TokenType = iota
	FLOAT
	STRING
	TEMPLATE
	IDENT
	TRUE
	FALSE
	NULL

	// Keywords
	LET
	IF
	ELSE
	WHILE
	FOR
	BREAK
	CONTINUE
	FUNCTION
	RETURN
	PRINT
	CONST
	IMPORT
	EXPORT
	TRY
	CATCH
	THROW
	SWITCH
	CASE
	DEFAULT
	IN
	DO
	TYPEOF
	MATCH
	ASYNC
	AWAIT
	INIT
	NEW
	YIELD
	MACRO
	FOR_AWAIT
	SELECT
	SPAWN
	ABSTRACT
	EXTENDS
	SUPER

	// Operators
	ASSIGN
	PLUS
	MINUS
	MULTIPLY
	DIVIDE
	MODULO
	EQ
	NEQ
	LT
	GT
	LTE
	GTE
	AND
	OR
	NOT
	INCREMENT       // ++
	DECREMENT       // --
	PLUS_ASSIGN     // +=
	MINUS_ASSIGN    // -=
	MULTIPLY_ASSIGN // *=
	DIVIDE_ASSIGN   // /=
	MODULO_ASSIGN   // %=
	NULLISH         // ??
	NULLISH_ASSIGN  // ??=
	BITAND_ASSIGN   // &=
	BITOR_ASSIGN    // |=
	BITXOR_ASSIGN   // ^=
	LSHIFT_ASSIGN   // <<=
	RSHIFT_ASSIGN   // >>=
	POWER_ASSIGN    // **=
	AND_ASSIGN      // &&=
	OR_ASSIGN       // ||=
	PIPELINE        // |>

	// Delimiters
	LPAREN
	RPAREN
	LBRACE
	RBRACE
	LBRACKET
	RBRACKET
	COMMA
	SEMICOLON
	COLON
	DOT
	OPTIONAL_DOT // ?.
	SPREAD       // ...
	RANGE        // ..
	ARROW
	QUESTION

	BITAND // &
	BITOR  // |
	BITXOR // ^
	BITNOT // ~
	LSHIFT // <<
	RSHIFT // >>
	POWER  // **

	LARROW // <-

	EOF
	ILLEGAL
)

Jump to

Keyboard shortcuts

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