Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/rxm.git

Expressions for where clause.

Author Dave Jarvis <email>
Date 2015-02-05 23:12:51 GMT-0800
Commit a7f7b4a349d9d77ab625b1189bb3208a7416ca8b
Parent 986fba0
rxm.cf
-
token Identifier (letter (letter | digit | '_')*) ;
token Column ('.' Identifier) ;
+token TableColumn (Identifier Column) ;
token Attribute ('@' Identifier) ;
token Parameter ('$' Identifier) ;
Query ::= Start "," Map ";" Where ;
-
Start ::= "root" ">" Element ;
Map ::= Glob | Line;
-
Glob ::= ".*" ;
-
Line ::= Entity ">" XPath "," ;
Entity ::= Table | Column ;
-
Table ::= Identifier ;
XPath ::= Element | Attribute ;
-
Element ::= Identifier | Identifier "/" Element ;
-
-Where ::= Expression LogicalOp Where ;
-Expression ::= Table Column "=" ExpressionValue ;
+Where ::= Expression | Expression LogicalOp Expression ;
+Expression ::= TableColumn "=" AllValues ;
+Expression ::= TableColumn "<>" AllValues ;
+Expression ::= TableColumn "<" Value ;
+Expression ::= TableColumn ">" Value ;
+Expression ::= TableColumn "<=" Value ;
+Expression ::= TableColumn ">=" Value ;
-ExpressionValue ::= Value | Set ;
+LogicalOp ::= "&&" | "||" ;
Value ::= Parameter | "null" | String | Double ;
-
Set ::= "{" SetValues "}" ;
-
-SetValues := Value | Value "," ;
+SetValues := Value | Value "," Value;
-LogicalOp ::= "&&" | "||" ;
+AllValues ::= Value | Set ;
Delta 11 lines added, 14 lines removed, 3-line decrease