shproto Home
Status: Pre-Alpha
Brought to you by:
mikerez
DRAFT!
'SELECT' [ \t] <SELECT> 'UPDATE' [ \t] <UPDATE> 'DELETE' [ \t] <DELETE> <@SELECT> <FIELDS> <FIELDS> <WHERE> [ \t]* 'ORDER BY' <FIELDS> [ \t]* 'LIMIT' count:u32 ";" default: ";" $ <@FIELDS> # used for tables list also, could be splitted for better syntax checking [ \t]* "(" \ 'SELECT' <SELECT> ")" default: <FIELD> ")" 'AS' [ \t] alias:substring(32,",") 'INNER JOIN' [ \t] 'OUTER JOIN' [ \t] 'JOIN' [ \t] 'FROM' [ \t] $$ 'LIMIT' [ \t] $$ "," ";" $ default(32): <FIELD> <@FIELD> field:substring(128,",(") "(" <FIELD> default: $$ <@WHERE> [ \t]* 'AND' [ \t] 'OR' [ \t] 'EXISTS' [ \t] "(" 'SELECT' <SELECT> ")" default: <WHERE> ")" "==" ">" "=" default: "<" "=" default: expression:substring(128,"(<>=") <@UPDATE> # TODO <@DELETE> # TODO