Add working tview, add working load ond Tables, remove giu
This commit is contained in:
25
sql/lexer.go
25
sql/lexer.go
@@ -19,11 +19,21 @@ const (
|
||||
LPAREN
|
||||
RPAREN
|
||||
COMMA
|
||||
ASTERIKS
|
||||
ASSIGN
|
||||
|
||||
// Keywords
|
||||
CREATE
|
||||
TABLE
|
||||
|
||||
SELECT
|
||||
FROM
|
||||
WHERE
|
||||
AND
|
||||
OR
|
||||
ORDER
|
||||
TOP
|
||||
|
||||
PRIMARY
|
||||
FOREIGN
|
||||
REFERENCES
|
||||
@@ -35,6 +45,8 @@ const (
|
||||
TEXT
|
||||
INTEGER
|
||||
NULL
|
||||
REAL
|
||||
BLOB
|
||||
)
|
||||
|
||||
var keywords map[string]Token = map[string]Token{
|
||||
@@ -50,6 +62,15 @@ var keywords map[string]Token = map[string]Token{
|
||||
"NULL": NULL,
|
||||
"IF": IF,
|
||||
"EXISTS": EXISTS,
|
||||
"SELECT": SELECT,
|
||||
"FROM": FROM,
|
||||
"WHERE": WHERE,
|
||||
"AND": AND,
|
||||
"OR": OR,
|
||||
"ORDER": ORDER,
|
||||
"TOP": TOP,
|
||||
"REAL": REAL,
|
||||
"BLOB": BLOB,
|
||||
}
|
||||
|
||||
type Position struct {
|
||||
@@ -91,6 +112,10 @@ func (l *Lexer) Lex() (Position, Token, string) {
|
||||
return l.pos, LPAREN, "("
|
||||
case ')':
|
||||
return l.pos, RPAREN, ")"
|
||||
case '*':
|
||||
return l.pos, ASTERIKS, "*"
|
||||
case '=':
|
||||
return l.pos, ASSIGN, "="
|
||||
default:
|
||||
if unicode.IsSpace(r) {
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user