]> git.saurik.com Git - bison.git/blobdiff - src/parse-gram.y
c++: api.token.constructor requires api.value.type=variant
[bison.git] / src / parse-gram.y
index 0b42004104237f36b83196205ab77b29fe296173..e889eb5ecec0923d72ccad24db30813860b84a14 100644 (file)
@@ -44,13 +44,9 @@ static YYLTYPE lloc_default (YYLTYPE const *, int);
 
 static void version_check (location const *loc, char const *version);
 
-/* Request detailed syntax error messages, and pass them to GRAM_ERROR.
-   FIXME: depends on the undocumented availability of YYLLOC.  */
-#undef  yyerror
-#define yyerror(Msg) \
-        gram_error (&yylloc, Msg)
 static void gram_error (location const *, char const *);
 
+/* A string that describes a char (e.g., 'a' -> "'a'").  */
 static char const *char_name (char);
 %}
 
@@ -68,7 +64,7 @@ static char const *char_name (char);
    */
   static
   void
-  current_lhs(symbol *sym, location loc, named_ref *ref)
+  current_lhs (symbol *sym, location loc, named_ref *ref)
   {
     current_lhs_symbol = sym;
     current_lhs_location = loc;
@@ -88,7 +84,7 @@ static char const *char_name (char);
 }
 
 %define api.prefix "gram_"
-%define api.pure
+%define api.pure full
 %define locations
 %define parse.error verbose
 %define parse.lac full
@@ -254,9 +250,9 @@ static char const *char_name (char);
     {
 #define CASE(In, Out)                                           \
       case param_ ## In: fputs ("%" #Out, stderr); break
-      CASE(lex,   lex-param);
-      CASE(parse, parse-param);
-      CASE(both,  param);
+      CASE (lex,   lex-param);
+      CASE (parse, parse-param);
+      CASE (both,  param);
 #undef CASE
       case param_none: aver (false); break;
     }
@@ -442,7 +438,7 @@ grammar_declaration:
   "%union" union_name braceless
     {
       union_seen = true;
-      muscle_code_grow ("stype", $3, @3);
+      muscle_code_grow ("union_members", $3, @3);
       code_scanner_last_string_free ();
     }
 ;
@@ -630,7 +626,7 @@ rhs:
 named_ref.opt:
   /* Nothing. */ { $$ = 0; }
 |
-  BRACKETED_ID   { $$ = named_ref_new($1, @1); }
+  BRACKETED_ID   { $$ = named_ref_new ($1, @1); }
 ;
 
 /*---------------------------.