MMQLEngine/mmql/definitions.go

54 lines
818 B
Go
Raw Normal View History

2022-10-20 10:04:28 +00:00
package mmql
type TokenType int
type Token struct {
Type TokenType
Value string
}
const (
K_SPACES = "\t\n\r "
2022-10-21 12:49:35 +00:00
// Must be defined in pairs with
// open bracket on left and close bracket on right
2022-10-20 10:04:28 +00:00
K_BRACKETS = "()[]{}"
K_QUOTES = "'\"`"
)
const (
UnknownToken TokenType = iota
KeywordToken
BracketToken
SquareBracketToken
CurlyBracketToken
SingleQuote
DoubleQuote
AccuteAccentQuote
)
var KEYWORDS = []string {
"ANYWHERE",
"BOUGHT",
"BUY",
"CREATE",
"EVERY",
"EXCHANGE",
"FOR",
"FROM",
"GET",
"LIMIT",
"LIST",
"OF",
"SELL",
"SOLD",
"TRIGGER",
"TRIGGERS",
"TYPE",
"UPDATE",
"WITH",
}
2022-10-21 12:49:35 +00:00
var STATEMENTS = map[string] func( *Lexer ) ( IStatement, error ) {
2022-10-20 10:04:28 +00:00
"BUY": _buyStatement,
}