Author: mriou
Date: Tue Jan 20 17:31:37 2009
New Revision: 736187

URL: http://svn.apache.org/viewvc?rev=736187&view=rev
Log:
Boolean operators && and ||. Unary operators \! and -.

Modified:
    ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPEL.g
    ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPELWalker.g

Modified: ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPEL.g
URL: 
http://svn.apache.org/viewvc/ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPEL.g?rev=736187&r1=736186&r2=736187&view=diff
==============================================================================
--- ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPEL.g 
(original)
+++ ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPEL.g Tue 
Jan 20 17:31:37 2009
@@ -302,9 +302,11 @@
            :   fn=ID '(' (e+=expr)? (',' e+=expr)* ')' -> ^(CALL ID $e*);
 // TODO add && || !
 s_expr :       condExpr;
-condExpr:      aexpr ( ('==' ^|'!=' ^|'<' ^|'>' ^|'<=' ^|'>=' ^) aexpr )?;
+condExpr:      boolExpr ( ('==' ^|'!=' ^|'<' ^|'>' ^|'<=' ^|'>=' ^) boolExpr 
)?;
+boolExpr:      aexpr (('&&'|'||')^ aexpr )?;
 aexpr  :       mexpr (('+'|'-') ^ mexpr)*;
-mexpr  :       atom (('*'|'/') ^ atom)* | STRING;
+mexpr  :       unary (('*'|'/') ^ unary)*;
+unary   :   ((('!'|'-')^)? atom) | STRING;
 atom   :       path_expr | INT | '(' s_expr ')' -> s_expr | funct_call;
 path_expr
        :       pelmt+=ns_id ('.' pelmt+=ns_id)* -> ^(PATH $pelmt+);

Modified: 
ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPELWalker.g
URL: 
http://svn.apache.org/viewvc/ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPELWalker.g?rev=736187&r1=736186&r2=736187&view=diff
==============================================================================
--- 
ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPELWalker.g 
(original)
+++ 
ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr/SimPELWalker.g 
Tue Jan 20 17:31:37 2009
@@ -383,7 +383,10 @@
        |       ^('>=' s_expr s_expr) 
        |       ^('<=' s_expr s_expr) 
        |       ^('+' s_expr s_expr) 
-       |       ^('-' s_expr s_expr) 
+       |       ^('-' s_expr s_expr?) 
        |       ^('*' s_expr s_expr) 
        |       ^('/' s_expr s_expr) 
+       |       ^('&&' s_expr s_expr)
+       |       ^('||' s_expr s_expr) 
+       |       ^('!' s_expr)
        |       path_expr | INT | STRING | funct_call;


Reply via email to