adding tokens

This commit is contained in:
Simon Petit 2024-12-10 18:00:26 +01:00
parent 87959fae33
commit 4d62ebe2a3

View File

@ -8,44 +8,48 @@ let alpha = ['a'-'z' 'A'-'Z' '_']
let alphanumeric = (alpha|digit) let alphanumeric = (alpha|digit)
rule read_token = parse rule read_token = parse
| "SELECT" { SELECT } | "SELECT" { SELECT }
| "AVG" { AVG } | "AS" { AS }
| "MAX" { MAX } | "DATE" { DATE }
| "MIN" { MIN } | "TIME" { TIME }
| "SUM" { SUM } | "AVG" { AVG }
| "COUNT" { COUNT } | "MAX" { MAX }
| "DISTINCT" { DISTINCT } | "MIN" { MIN }
| "FROM" { FROM } | "SUM" { SUM }
| "INNER" { INNER } | "COUNT" { COUNT }
| "LEFT" { LEFT } | "DISTINCT" { DISTINCT }
| "RIGHT" { RIGHT } | "FROM" { FROM }
| "CROSS" { CROSS } | "INNER" { INNER }
| "UNION" { UNION } | "LEFT" { LEFT }
| "NATURAL" { NATURAL } | "RIGHT" { RIGHT }
| "JOIN" { JOIN } | "CROSS" { CROSS }
| "ON" { ON } | "UNION" { UNION }
| "OR" { OR } | "NATURAL" { NATURAL }
| "AND" { AND } | "JOIN" { JOIN }
| "WHERE" { WHERE } | "ON" { ON }
| "HAVING" { HAVING } | "OR" { OR }
| "BETWEEN" { BETWEEN } | "AND" { AND }
| "IN" { IN } | "WHERE" { WHERE }
| "LIKE" { LIKE } | "HAVING" { HAVING }
| "GROUP" { GROUP } | "BETWEEN" { BETWEEN }
| "BY" { BY } | "IN" { IN }
| "*" { ASTERISK } | "LIKE" { LIKE }
| "." { DOT } | "GROUP" { GROUP }
| "=" { EQUALS_OPERATOR } | "BY" { BY }
| "(" { LEFT_PAREN } | "*" { ASTERISK }
| ")" { RIGHT_PAREN } | "." { DOT }
| "," { COMMA } | "=" { EQUALS_OPERATOR }
| "|" { PIPE } | "(" { LEFT_PAREN }
| "'" { QUOTE } | ")" { RIGHT_PAREN }
| "+" { PLUS_SIGN } | ',' { COMMA }
| "-" { MINUS_SIGN } | "|" { PIPE }
| whitespace { read_token lexbuf } | "'" { QUOTE }
| digit+ { INTEGER } | "+" { PLUS_SIGN }
| digit+"."digit+ { FLOAT } | "-" { MINUS_SIGN }
| '.'digit+ { FLOAT } | ':' { COLON }
| alpha alphanumeric* as ident { IDENT ident } | whitespace { read_token lexbuf }
| eof { EOF } | digit+ as integer { INTEGER (int_of_string integer) }
| digit+"."digit+ { FLOAT }
| '.'digit+ { FLOAT }
| alpha alphanumeric* as ident { IDENT ident }
| eof { EOF }