Mercurial > ~dholland > hg > ag > index.cgi
diff tests/agcl/parsifal/factor.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/factor.syn Sat Dec 22 17:52:45 2007 -0500 @@ -0,0 +1,40 @@ +/* + * AnaGram, A System for Syntax Directed Programming + * Copyright 1993-2002 Parsifal Software. All Rights Reserved. + * See the file COPYING for license and usage terms. + */ + + factor $ + -> "if", '(', true logical or exp, ',', + conditional exp:x, ',', + skip, ')' =x; + + factor + -> "if", '(', false logical or exp, ',', + skip, ',', + conditional exp:y, ')' =y; + +false logical or exp, true logical or exp + -> logical or exp:c ={if (c) CHANGE_REDUCTION("true_logical_or_exp");} + + +skip + -> skip char... + +skip char + -> ~(eof + '(' + ')' + ',' + space) + -> balanced parens + +balanced parens + -> '(', [~(eof + '(' + ')') | balanced parens]..., ')' + +white space + -> space + -> comment + +[ + disregard white space + lexeme {skip char} +] + +