diff tests/agcl/parsifal/iaparams.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/iaparams.syn	Sat Dec 22 17:52:45 2007 -0500
@@ -0,0 +1,35 @@
+{
+/* immed.syn */
+#include <stdio.h>
+}
+
+[
+ ~allow macros
+//  header file name = "#.hs"   // Output header name
+//  parser file name = "#.cs"   // Output c file
+]
+
+grammar
+ -> whole number..., 'x'
+
+(int)whole number
+ -> number: n, ' ' = n;
+
+(long) number
+ -> = 0;
+ -> number: n, !printf("(%ld)", n);, digit: i, !printf("(%d)", i); = i + 10*n;
+/* The printf on the preceding line complains that i is undefined */
+
+(int)digit
+ -> '0' = 0;
+ -> '1' = 1;
+ -> '2' = 2;
+ -> '3' = 3;
+ -> '4' = 4;
+ -> '5' = 5;
+ -> '6' = 6;
+ -> '7' = 7;
+ -> '8' = 8;
+ -> '9' = 9;
+
+{ void main() { iaparams(); } }