diff tests/agcl/parsifal/pex1.syn @ 0:13d2b8934445

Import AnaGram (near-)release tree into Mercurial.
author David A. Holland
date Sat, 22 Dec 2007 17:52:45 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/agcl/parsifal/pex1.syn	Sat Dec 22 17:52:45 2007 -0500
@@ -0,0 +1,32 @@
+[
+  case sensitive = off
+  disregard white space
+]
+
+space = ' ' + '\t'
+
+white space
+ -> space
+ -> comment
+
+while head
+ -> "!while"                =whileConditionPointer= PCB.pointer;
+
+while terminator
+ -> "!endw" | "!endwhile"
+
+while body text
+ -> [~eof - space, ~eof?...], while body terminator   =whileCompletePointer = PCB.pointer, PCB.pointer = whileConditionPointer;
+
+true while condition, false while condition
+ -> expression:x          ={
+                             if (x) return;
+                             CHANGE_REDUCTION(true_while_condition);
+                             PCB.pointer = whileCompletePointer;
+                           }
+
+while loop $
+ -> while head, while body text, while iteration?..., false while condition
+
+while iteration
+ -> true while condition, while body, while body terminator =PCB.pointer = whileConditionPointer;