#include <config.h>
#include "system.h"
+#include "c-ctype.h"
#include "complain.h"
#include "conflicts.h"
#include "files.h"
#define YYTYPE_UINT8 uint_fast8_t
}
-%debug
%verbose
%defines
-%locations
-%pure-parser
-%define parse.error "verbose"
+%define locations
+%define api.pure
+%define parse.error verbose
%define parse.lac full
-%name-prefix="gram_"
+%define parse.trace
+%name-prefix "gram_"
%expect 0
%initial-action
}
| code_props_type "{...}" generic_symlist
{
- symbol_list *list;
- for (list = $3; list; list = list->next)
- symbol_list_code_props_set (list, $1, @2, $2);
- symbol_list_free ($3);
+ code_props code;
+ code_props_symbol_action_init (&code, $2, @2);
+ code_props_translate_code (&code);
+ {
+ symbol_list *list;
+ for (list = $3; list; list = list->next)
+ symbol_list_code_props_set (list, $1, &code);
+ symbol_list_free ($3);
+ }
}
| "%default-prec"
{
/* 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)