Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var KeywordMap = map[string]TokenType{ "select": TokenTypeSelect, "from": TokenTypeFrom, "where": TokenTypeWhere, "and": TokenTypeAnd, "or": TokenTypeOr, "not": TokenTypeNot, "in": TokenTypeIn, "is": TokenTypeIs, "null": TokenTypeNull, "left": TokenTypeLeft, "right": TokenTypeRight, "inner": TokenTypeInner, "outer": TokenTypeOuter, "join": TokenTypeJoin, "on": TokenTypeOn, "true": TokenTypeTrue, "false": TokenTypeFalse, }
View Source
var SymbolMap = map[string]TokenType{ ",": TokenTypeComma, ".": TokenTypeDot, "*": TokenTypeStar, ";": TokenTypeSemicolon, "(": TokenTypeOpenParen, ")": TokenTypeCloseParen, "=": TokenTypeEq, "!=": TokenTypeNotEq, "<>": TokenTypeNotEq, "<": TokenTypeLt, "<=": TokenTypeLte, ">": TokenTypeGt, ">=": TokenTypeGte, }
View Source
var TokenToBinaryOperator = map[TokenType]BinaryOperator{ TokenTypeEq: BinaryOperatorEq, TokenTypeNotEq: BinaryOperatorNotEq, TokenTypeLt: BinaryOperatorLt, TokenTypeLte: BinaryOperatorLte, TokenTypeGt: BinaryOperatorGt, TokenTypeGte: BinaryOperatorGte, }
Functions ¶
func PrintTokens ¶
Types ¶
type BinaryOperator ¶
type BinaryOperator int
const ( BinaryOperatorEq BinaryOperator = iota BinaryOperatorNotEq BinaryOperatorLt BinaryOperatorLte BinaryOperatorGt BinaryOperatorGte )
func (BinaryOperator) String ¶
func (b BinaryOperator) String() string
type LexerState ¶
type LexerState int
const ( LexerStateInitial LexerState = iota LexerStateIdentifier LexerStatePunctuation LexerStateNumber LexerStateString )
type SyntaxError ¶
func (SyntaxError) Error ¶
func (e SyntaxError) Error() string
type TokenList ¶
TokenList is a list of tokens with helper methods to utilise them.
func (*TokenList) Consume ¶
Consume consumes/removes the first token in the list if it matches the expected type.
func (*TokenList) ExpectedEnd ¶
type TokenType ¶
type TokenType int
const ( TokenTypeIdentifier TokenType = iota TokenTypeString TokenTypeNumber TokenTypeComma TokenTypeDot TokenTypeStar TokenTypeSemicolon TokenTypeOpenParen TokenTypeCloseParen TokenTypeEq TokenTypeNotEq TokenTypeLt TokenTypeLte TokenTypeGt TokenTypeGte TokenTypeSelect TokenTypeFrom TokenTypeWhere TokenTypeAnd TokenTypeOr TokenTypeNot TokenTypeIn TokenTypeIs TokenTypeNull TokenTypeLeft TokenTypeRight TokenTypeInner TokenTypeOuter TokenTypeJoin TokenTypeOn TokenTypeTrue TokenTypeFalse )
Click to show internal directories.
Click to hide internal directories.