X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/93561c21e8d42aad487fd81ef1f79c5ba3f494fe..2c056d696d4c9cfc5df657e5474f62dd56471900:/src/parse-gram.y diff --git a/src/parse-gram.y b/src/parse-gram.y index 3a09c6c5..a5094350 100644 --- a/src/parse-gram.y +++ b/src/parse-gram.y @@ -40,17 +40,13 @@ static YYLTYPE lloc_default (YYLTYPE const *, int); #define YY_LOCATION_PRINT(File, Loc) \ - location_print (File, Loc) + location_print (Loc, File) 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); %} @@ -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 @@ -538,15 +534,15 @@ tag: /* One token definition. */ symbol_def: TAG - { - current_type = $1; - tag_seen = true; - } + { + current_type = $1; + tag_seen = true; + } | id - { - symbol_class_set ($1, current_class, @1, true); - symbol_type_set ($1, current_type, @1); - } + { + symbol_class_set ($1, current_class, @1, true); + symbol_type_set ($1, current_type, @1); + } | id INT { symbol_class_set ($1, current_class, @1, true);