mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-19 08:38:45 +02:00
@@@@ OQL parsing
SVN:b931[6025]
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
rem must be run with current directory = the directory of the batch
|
||||
rem PEAR is required to build
|
||||
php -d include_path=".;C:\iTop\PHP\PEAR" ".\PHP\LexerGenerator\cli.php" ..\oql-lexer.plex
|
||||
php -d include_path=".;C:\Dev\wamp64\bin\php\php5.6.31\pear" ".\PHP\LexerGenerator\cli.php" ..\oql-lexer.plex
|
||||
php ".\PHP\ParserGenerator\cli.php" ..\oql-parser.y
|
||||
php -r "echo date('Y-m-d');" > ..\version.txt
|
||||
pause
|
||||
@@ -88,6 +88,7 @@ where = "WHERE"
|
||||
join = "JOIN"
|
||||
on = "ON"
|
||||
coma = ","
|
||||
matches = "MATCHES"
|
||||
par_open = "("
|
||||
par_close = ")"
|
||||
math_div = "/"
|
||||
|
||||
@@ -105,6 +105,7 @@ expression_basic(A) ::= PAR_OPEN expression_prio4(X) PAR_CLOSE. { A = X; }
|
||||
expression_basic(A) ::= expression_basic(X) list_operator(Y) list(Z). { A = new BinaryOqlExpression(X, Y, Z); }
|
||||
|
||||
expression_prio1(A) ::= expression_basic(X). { A = X; }
|
||||
expression_prio1(A) ::= match_expression(X). { A = X; }
|
||||
expression_prio1(A) ::= expression_prio1(X) operator1(Y) expression_basic(Z). { A = new BinaryOqlExpression(X, Y, Z); }
|
||||
|
||||
expression_prio2(A) ::= expression_prio1(X). { A = X; }
|
||||
@@ -117,6 +118,9 @@ expression_prio4(A) ::= expression_prio3(X). { A = X; }
|
||||
expression_prio4(A) ::= expression_prio4(X) operator4(Y) expression_prio3(Z). { A = new BinaryOqlExpression(X, Y, Z); }
|
||||
|
||||
|
||||
match_expression(A) ::= field_id(X) MATCHES scalar(Y). { A = new MatchOqlExpression(X, Y); }
|
||||
|
||||
|
||||
list(A) ::= PAR_OPEN list_items(X) PAR_CLOSE. {
|
||||
A = new ListOqlExpression(X);
|
||||
}
|
||||
@@ -235,7 +239,6 @@ func_name(A) ::= F_FLOOR(X). { A=X; }
|
||||
func_name(A) ::= F_INET_ATON(X). { A=X; }
|
||||
func_name(A) ::= F_INET_NTOA(X). { A=X; }
|
||||
|
||||
|
||||
%code {
|
||||
|
||||
class OQLParserException extends OQLException
|
||||
|
||||
Reference in New Issue
Block a user