Re: [PATCH 00/17] genksyms: fix conflicts and syntax errors in parser
From: Nicolas Schier
Date: Tue Jan 14 2025 - 15:33:47 EST
On Tue, Jan 14, 2025 at 12:00:38AM +0900, Masahiro Yamada wrote:
>
> 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
Thanks for the series, especially for the very detailed,
explanatory commit messages!
I looked through all the patches and they all look good to me
-- but my bison/parsing/lexing knowledge is rusty and quite
limited, therefore I cannot review properly.
Acked-by: Nicolas Schier <n.schier@xxxxxx>
Kind regards,
Nicolas
Attachment:
signature.asc
Description: PGP signature