ir testing
[henge/apc.git] / src / parser.y
index d7a02cd..881b562 100644 (file)
@@ -39,9 +39,9 @@
 %define api.push-pull push
 %parse-param {yycstate* cs}
 %union {
-  long long  ref;
+  uint32_t   ref;
   int        val;
-  apc_facing  face;
+  apc_facing face;
   uint8_t*   str;
   ir_class   class;
   ir_set     set;
@@ -84,6 +84,7 @@ class:
   NAME CLOPEN   { yyclass_push(cs,ir_class_addchild(yyclass(cs), $1)); }
   progn
   CLCLOSE       { yyclass_pop(cs); }
+| CLCLOSE       { yyclass_pop(cs); }
 ;
 
 statement_list:
@@ -140,9 +141,10 @@ void yyerror
   char const *s
 )
 { ir_class* iter;
+  fprintf(stderr, "[class->");
   for (iter = cs->class_stack; iter < cs->csp; iter++)
     fprintf(stderr, "%s/", ir_class_name(*iter));
-  fprintf(stderr, "\n\t");
+  fprintf(stderr, "]\n\t");
   fprintf(stderr, "%s\n", s);
 }