Documentation
¶
Overview ¶
Package lexer provides tokenization for AQL queries.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsWhitespace ¶
IsWhitespace returns true if r is a whitespace character.
Types ¶
type Lexer ¶
type Lexer struct {
// contains filtered or unexported fields
}
Lexer tokenizes an AQL query string.
type TokenType ¶
type TokenType int
TokenType represents the type of a token.
const ( TokenEOF TokenType = iota TokenError // Literals TokenIdent // identifier (field names, entity names) TokenString // "string" or 'string' TokenInt // integer TokenFloat // float TokenDuration // duration literal like 30d, 4h // Keywords TokenFROM TokenWHERE TokenSELECT TokenORDER TokenBY TokenLIMIT TokenASC TokenDESC TokenAND TokenOR TokenNOT TokenIN TokenIS TokenNULL TokenTRUE TokenFALSE TokenCONTAINS TokenLIKE // Aggregation and Grouping TokenGROUP TokenHAVING TokenAS TokenDISTINCT // Aggregate functions TokenCOUNT TokenSUM TokenAVG TokenMIN TokenMAX // JOINs TokenJOIN TokenLEFT TokenRIGHT TokenON // Mutations TokenINSERT TokenINTO TokenVALUES TokenUPDATE TokenSET TokenDELETE // Operators TokenEQ // = TokenNE // != or <> TokenLT // < TokenLE // <= TokenGT // > TokenGE // >= // Delimiters TokenLParen // ( TokenRParen // ) TokenComma // , TokenDot // . TokenStar // * TokenMinus // - TokenPlus // + )
Token types.
func LookupIdent ¶
LookupIdent returns the token type for an identifier. If the identifier is a keyword, it returns the keyword token type.
Click to show internal directories.
Click to hide internal directories.