Mercurial > ~dholland > hg > ag > index.cgi
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;