diff --git a/lexer/lexer.mll b/lexer/lexer.mll index 4dec155..946bf27 100644 --- a/lexer/lexer.mll +++ b/lexer/lexer.mll @@ -16,12 +16,16 @@ rule read_token = parse | "COUNT" { COUNT } | "DISTINCT" { DISTINCT } | "FROM" { FROM } + | "INNER" { INNER } | "LEFT" { LEFT } | "RIGHT" { RIGHT } | "CROSS" { CROSS } | "UNION" { UNION } + | "NATURAL" { NATURAL } | "JOIN" { JOIN } | "ON" { ON } + | "OR" { OR } + | "AND" { AND } | "WHERE" { WHERE } | "HAVING" { HAVING } | "BETWEEN" { BETWEEN } @@ -36,6 +40,12 @@ rule read_token = parse | ")" { RIGHT_PAREN } | "," { COMMA } | "|" { PIPE } + | "'" { QUOTE } + | "+" { PLUS_SIGN } + | "-" { MINUS_SIGN } | whitespace { read_token lexbuf } + | digit+ { INTEGER } + | digit+"."digit+ { FLOAT } + | '.'digit+ { FLOAT } | alpha alphanumeric* as ident { IDENT ident } | eof { EOF }