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 2007/12/15 02:15:31 UTC

svn commit: r604365 - in /ode/sandbox/simpel/src: main/antlr/org/apache/ode/simpel/antlr/SimPEL.g main/antlr/org/apache/ode/simpel/antlr/SimPELWalker.g test/java/org/apache/ode/simpel/SimPELCompilerTest.java test/resources/compile-tests-ok.simpel

Author: mriou
Date: Fri Dec 14 17:15:30 2007
New Revision: 604365

URL: http://svn.apache.org/viewvc?rev=604365&view=rev
Log:
Flow join and signal quicky.

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
    ode/sandbox/simpel/src/test/java/org/apache/ode/simpel/SimPELCompilerTest.java
    ode/sandbox/simpel/src/test/resources/compile-tests-ok.simpel

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=604365&r1=604364&r2=604365&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 Fri Dec 14 17:15:30 2007
@@ -9,6 +9,7 @@
     PROCESS; PICK; SEQUENCE; FLOW; IF; ELSEIF; ELSE; WHILE; UNTIL; FOREACH; FORALL; INVOKE;
     RECEIVE; REPLY; ASSIGN; THROW; WAIT; EXIT; TIMEOUT; TRY; CATCH; CATCH_ALL; SCOPE; EVENT;
     ALARM; COMPENSATION; COMPENSATE; CORRELATION; CORR_MAP; PARTNERLINK; VARIABLE; BLOCK_PARAM; 
+    SIGNAL; JOIN;
     EXPR; EXT_EXPR; XML_LITERAL; CALL;
 }
 @parser::header {
@@ -93,7 +94,7 @@
 
 process_stmt
 	:	(pick | flow | if_ex | while_ex | until_ex | foreach | forall | try_ex | scope_ex
-		| receive | ((invoke | reply | assign | throw_ex | wait_ex |  exit
+		| receive | ((invoke | reply | assign | throw_ex | wait_ex | exit | signal | join
 		| variables) SEMI!) )+;
 
 block	:	'{' process_stmt '}' -> ^(SEQUENCE process_stmt);
@@ -105,8 +106,9 @@
 timeout	:	'timeout' '(' expr ')' block -> ^(TIMEOUT expr block); 
 
 // TODO links
-flow	:	'parrallel' '{' exprs+=process_stmt '}' ('and' '{' exprs+=process_stmt '}')* 
-		-> ^(FLOW $exprs);
+flow	:	'parrallel' '{' exprs+=process_stmt '}' ('and' '{' exprs+=process_stmt '}')* -> ^(FLOW $exprs);
+signal	:	'signal' '('ID (',' expr)? ')' -> ^(SIGNAL ID expr?);
+join	:	'join' '(' k+=ID (',' k+=ID)* (',' expr)? ')' -> ^(JOIN $k expr?);
 
 if_ex	:	'if' '(' expr ')' block
 		('else if' '(' expr ')' block)?

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=604365&r1=604364&r2=604365&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 Fri Dec 14 17:15:30 2007
@@ -51,7 +51,7 @@
 
 process_stmt
 	:	(pick | sequence | flow | if_ex | while_ex | until_ex | foreach | forall | try_ex | scope_ex
-		| invoke | receive | reply | assign | throw_ex | wait_ex |  exit
+		| invoke | receive | reply | assign | throw_ex | wait_ex | exit | signal | join
 		| variable)+;
 		
 block	:	^(SEQUENCE process_stmt);
@@ -66,6 +66,9 @@
 
 // TODO links
 flow	:	^(FLOW process_stmt);
+signal	:	^(SIGNAL ID expr?);
+join	:	^(JOIN ID* expr?);
+
 
 if_ex	:	^(IF expr block ^(ELSEIF expr block) ^(ELSE expr block));
 

Modified: ode/sandbox/simpel/src/test/java/org/apache/ode/simpel/SimPELCompilerTest.java
URL: http://svn.apache.org/viewvc/ode/sandbox/simpel/src/test/java/org/apache/ode/simpel/SimPELCompilerTest.java?rev=604365&r1=604364&r2=604365&view=diff
==============================================================================
--- ode/sandbox/simpel/src/test/java/org/apache/ode/simpel/SimPELCompilerTest.java (original)
+++ ode/sandbox/simpel/src/test/java/org/apache/ode/simpel/SimPELCompilerTest.java Fri Dec 14 17:15:30 2007
@@ -76,7 +76,7 @@
             System.out.println(allErrors.toString());
             fail("There were failures.");
         } else {
-            System.out.println("Compiled " + testCount + " processes correctly.");
+            System.out.println("\nCompiled " + testCount + " processes successfully.");
         }
     }
 

Modified: ode/sandbox/simpel/src/test/resources/compile-tests-ok.simpel
URL: http://svn.apache.org/viewvc/ode/sandbox/simpel/src/test/resources/compile-tests-ok.simpel?rev=604365&r1=604364&r2=604365&view=diff
==============================================================================
--- ode/sandbox/simpel/src/test/resources/compile-tests-ok.simpel (original)
+++ ode/sandbox/simpel/src/test/resources/compile-tests-ok.simpel Fri Dec 14 17:15:30 2007
@@ -192,3 +192,33 @@
   receive(my_pl, corr_op, { orderIdFromShippment: oid, shipIdFromShippment: shipId });
 }
 
+#=============================================================
+# Basic flow
+#
+
+process BasicFlow {
+  orderMsg = receive(my_pl, start_op);
+  parrallel {
+    invoke(partner1_pl, partner1_op, orderMsg);
+  } and {
+    invoke(partner2_pl, partner2_op, orderMsg);
+  }
+}
+
+#=============================================================
+# Flow with signals
+#
+
+process BasicFlow {
+  orderMsg = receive(my_pl, start_op);
+  parrallel {
+    invoke(partner1_pl, partner1_op, orderMsg);
+    signal(branch1);
+  } and {
+    invoke(partner2_pl, partner2_op, orderMsg);
+    signal(branch2);
+  } and {
+    join(branch1, branch2, [$branch1 and $branch2]);
+    invoke(partner_done_pl, partner_done_op, orderMsg);
+  }
+}
\ No newline at end of file