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;