token

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Feb 6, 2025 License: GPL-3.0 Imports: 0 Imported by: 0

Documentation

Overview

token/token.go

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Token

type Token struct {
	Type    TokenType
	Literal string
}

type TokenType

type TokenType string
const (
	ILLEGAL TokenType = "ILLEGAL"
	EOF     TokenType = "EOF"
	NEWLINE TokenType = "NEWLINE"
	INDENT  TokenType = "INDENT"
	DEDENT  TokenType = "DEDENT"

	// Identifiers and Literals
	IDENT     TokenType = "IDENT"
	INT       TokenType = "INT"
	FLOAT     TokenType = "FLOAT"
	STRING    TokenType = "STRING"
	DOCSTRING TokenType = "DOCSTRING"

	// Operators
	ASSIGN          TokenType = "="
	PLUS            TokenType = "+"
	MINUS           TokenType = "-"
	ASTERISK        TokenType = "*"
	SLASH           TokenType = "/"
	MOD             TokenType = "%"
	EXPONENT        TokenType = "**"
	INCREMENT       TokenType = "+="
	DECREMENT       TokenType = "-="
	MULTASSGN       TokenType = "*="
	DIVASSGN        TokenType = "/="
	PLUS_INCREMENT  TokenType = "++"
	MINUS_DECREMENT TokenType = "--"
	EQ              TokenType = "=="
	NOT_EQ          TokenType = "!="
	LT              TokenType = "<"
	GT              TokenType = ">"
	LE              TokenType = "<="
	GE              TokenType = ">="
	BANG            TokenType = "!"
	AMPERSAND       TokenType = "&"
	HASH            TokenType = "#"
	AT              TokenType = "@"

	// Delimiters
	COMMA     TokenType = ","
	SEMICOLON TokenType = ";"
	COLON     TokenType = ":"
	PIPE      TokenType = "|"
	DOT       TokenType = "."

	LPAREN     TokenType = "("
	RPAREN     TokenType = ")"
	LBRACE     TokenType = "{"
	RBRACE     TokenType = "}"
	LBRACK     TokenType = "["
	RBRACK     TokenType = "]"
	UNDERSCORE TokenType = "_"

	// Keywords
	VAR         TokenType = "VAR"
	INIT        TokenType = "INIT"
	SELF        TokenType = "SELF"
	SPELL       TokenType = "SPELL"
	SPELLBOOK   TokenType = "SPELLBOOK"
	TRUE        TokenType = "TRUE"
	FALSE       TokenType = "FALSE"
	IF          TokenType = "IF"
	OTHERWISE   TokenType = "OTHERWISE"
	ELSE        TokenType = "ELSE"
	FOR         TokenType = "FOR"
	IN          TokenType = "IN"
	WHILE       TokenType = "WHILE"
	STOP        TokenType = "STOP"
	SKIP        TokenType = "SKIP"
	IGNORE      TokenType = "IGNORE"
	RETURN      TokenType = "RETURN"
	IMPORT      TokenType = "IMPORT"
	MATCH       TokenType = "MATCH"
	CASE        TokenType = "CASE"
	ATTEMPT     TokenType = "ATTEMPT"
	RESOLVE     TokenType = "RESOLVE"
	ENSNARE     TokenType = "ENSNARE"
	RAISE       TokenType = "RAISE"
	AS          TokenType = "AS"
	ARCANE      TokenType = "ARCANE"
	ARCANESPELL TokenType = "ARCANESPELL"
	SUPER       TokenType = "SUPER"
	FSTRING     TokenType = "FSTRING"
	CHECK       TokenType = "CHECK"
	NONE        TokenType = "NONE"
	AND         TokenType = "AND"
	OR          TokenType = "OR"
	NOT         TokenType = "NOT"
)

func LookupIdent

func LookupIdent(ident string) TokenType

func LookupIndent

func LookupIndent(indent string) TokenType

LookupIndent determines the TokenType based on the indentation string.

Jump to

Keyboard shortcuts

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