You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2009/01/21 02:31:37 UTC
svn commit: r736187 - in
/ode/sandbox/simpel/src/main/antlr/org/apache/ode/simpel/antlr: SimPEL.g
SimPELWalker.g
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;