package token
import "github.com/azin-lang/Azin/internal/token"
Package token defines constants and types representing Azin lexical tokens.
Index
Variables
var Keywords = map[string]Kind{ "fn": KwFn, "do": KwDo, "var": KwVar, "return": KwReturn, "end": KwEnd, "char": KwChar, "int": KwInt, "str": KwString, "float": KwFloat, "if": KwIf, "then": KwThen, }
Keywords maps string literals to keyword token kinds.
Types
type Kind
type Kind uint8
Kind is the set of lexical token types.
const ( Unknown Kind = iota // unknown Identifier // identifier IntegerLiteral // integer_literal StringLiteral // string_literal FloatLiteral // float_literal CharacterLiteral // character_literal KwFn // kw_fn KwDo // kw_do KwVar // kw_var KwReturn // kw_return KwEnd // kw_end KwChar // kw_char KwInt // kw_int KwString // kw_string KwFloat // kw_float KwIf // kw_if KwThen // kw_then Plus // plus Minus // minus Star // star Slash // slash Equal // equal EqualEqual // equal_equal Bang // bang BangEqual // bang_equal Less // less LessEqual // less_equal Greater // greater GreaterEqual // greater_equal Arrow // arrow Modulo // modulo Pipe // pipe LogicalOr // logical_or LogicalAnd // logical_and Ampersand // ampersand Caret // caret Tilde // tilde PlusEqual // plus_equal MinusEqual // minus_equal StarEqual // star_equal SlashEqual // slash_equal ModuloEqual // modulo_equal CaretEqual // caret_equal PipeEqual // pipe_equal AmpersandEqual // ampersand_equal PlusPlus // plus_plus MinusMinus // minus_minus LessLess // less_less GreaterGreater // greater_greater LeftParen // left_paren RightParen // right_paren LeftBrace // left_brace RightBrace // right_brace Comma // comma Semicolon // semicolon Colon // colon Dot // dot LeftBracket // left_bracket RightBracket // right_bracket EOF // eof Error // error )
func (Kind) HasText
func (k Kind) HasText() bool
HasText reports whether the token kind contains variable text content.
func (Kind) String
func (i Kind) String() string
type Position
type Position struct { Offset uint32 }
Position represents a byte offset within a source file.
type Token
type Token struct { Kind Kind Position Position Length uint32 }
Token represents a single lexical unit.