X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/1c292035e12d4c2c782f1dba6f78e690ad5635b3..a1d1ab50a00a4d28d6ba7b227ddc6628d5734ce3:/src/parse-gram.y diff --git a/src/parse-gram.y b/src/parse-gram.y index e6a27c50..5f77a5bd 100644 --- a/src/parse-gram.y +++ b/src/parse-gram.y @@ -20,6 +20,7 @@ #include #include "system.h" +#include "c-ctype.h" #include "complain.h" #include "conflicts.h" #include "files.h" @@ -93,14 +94,14 @@ current_lhs(symbol *sym, location loc, named_ref *ref) %} %debug -%verbose +%define api.prefix "gram_" +%define api.pure +%define parse.lac full %defines -%locations -%pure-parser %error-verbose -%define parse.lac full -%name-prefix="gram_" %expect 0 +%locations +%verbose %initial-action { @@ -251,7 +252,7 @@ prologue_declaration: plain_code.code, @1); code_scanner_last_string_free (); } -| "%debug" { debug_flag = true; } +| "%debug" { debug = true; } | "%define" variable content.opt { muscle_percent_define_insert ($2, @2, $3, @@ -734,11 +735,13 @@ add_param (char const *type, char *decl, location loc) /* Strip the surrounding '{' and '}', and any blanks just inside the braces. */ - while (*--p == ' ' || *p == '\t') - continue; + --p; + while (c_isspace ((unsigned char) *p)) + --p; p[1] = '\0'; - while (*++decl == ' ' || *decl == '\t') - continue; + ++decl; + while (c_isspace ((unsigned char) *decl)) + ++decl; if (! name_start) complain_at (loc, _("missing identifier in parameter declaration"));