This series fixes several long-standing issues in genksyms. - The parser contains grammatical ambiguities, including both reduce/reduce and shift/reduce conflicts. - There are several hidden syntax errors When a syntax error occurs, the type becomes UNKNOWN, and precise CRC calculation becomes impossible. Masahiro Yamada (17): genksyms: rename m_abstract_declarator to abstract_declarator genksyms: rename cvar_qualifier to type_qualifier genksyms: reduce type_qualifier directly to decl_specifier genksyms: fix 6 shift/reduce conflicts and 5 reduce/reduce conflicts genksyms: fix last 3 shift/reduce conflicts genksyms: remove Makefile hack genksyms: restrict direct-abstract-declarator to take one parameter-type-list genksyms: restrict direct-declarator to take one parameter-type-list genksyms: record attributes consistently for init-declarator genksyms: decouple ATTRIBUTE_PHRASE from type-qualifier genksyms: fix syntax error for attribute before abstract_declarator genksyms: fix syntax error for attribute before nested_declarator genksyms: fix syntax error for attribute after abstact_declarator genksyms: fix syntax error for attribute after 'struct' genksyms: fix syntax error for attribute after 'union' genksyms: fix syntax error for builtin (u)int*x*_t types genksyms: fix syntax error for attribute before init-declarator scripts/genksyms/Makefile | 18 ----- scripts/genksyms/genksyms.h | 3 + scripts/genksyms/lex.l | 17 +++- scripts/genksyms/parse.y | 150 ++++++++++++++++++++---------------- 4 files changed, 101 insertions(+), 87 deletions(-) -- 2.43.0