token_type

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2023 License: MIT Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AllowedIdentifierChars = []rune{'_', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}

IDENTIFIERS

View Source
var AllowedIdentifierCharsWithFirst = []rune{'_'}

Assigment operators

View Source
var KEYWORDS = map[string]TokenType{
	"var":      Var,
	"const":    Const,
	"fn":       Fn,
	"null":     Null,
	"true":     BooleanLiteral,
	"false":    BooleanLiteral,
	"if":       If,
	"else":     Else,
	"switch":   Switch,
	"case":     Case,
	"default":  Default,
	"NaN":      NaN,
	"return":   Return,
	"while":    While,
	"continue": Continue,
	"break":    Break,
	"for":      For,
}
View Source
var SkippableChars = []rune{' ', '\t', '\n', '\r'}

Functions

This section is empty.

Types

type Token

type Token struct {
	Value string
	Type  TokenType
}

type TokenType

type TokenType int
const (
	// Literal types
	Number TokenType = iota
	Identifier
	Null
	BooleanLiteral
	StringLiteral

	// Keywords
	Var
	Const
	Fn
	If
	Else
	Switch
	Case
	Default
	NaN
	Return
	While
	Continue
	Break
	For

	// Operators
	BinaryOperator // + - * / ** %

	// Assigment operators
	Equals       // =
	PlusEquals   // +=
	MinusEquals  // -=
	TimesEquals  // *=
	DivideEquals // /=
	PowerEquals  // **=
	ModuleEquals // %=
	Arrow        // =>

	// Update operators
	Increment // ++
	Decrement // --

	// Grouping
	LeftParen    // (
	RightParen   // )
	RightBrace   // }
	LeftBrace    // {
	RightBracket // ]
	LeftBracket  // [
	Colon        // :
	Semicolon    // ;
	Comma        // ,
	Dot          // .
	DoubleQoute  // "
	SingleQoute  // '
	QuestionMark // ?
	Minus        // +
	Plus         // -

	// Comparison operators
	EqualEqual   // ==
	Greater      // >
	GreaterEqual // >=
	Less         // <
	LessEqual    // <=
	Bang         // !
	NotEqual     // !=
	Or           // ||
	And          // &&

	// End Of File
	EOF
)

Jump to

Keyboard shortcuts

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