Re: [PATCH 00/27] kconfig: remove all reduce/shift conflicts, refactor lexer, fix various issues

From: Masahiro Yamada
Date: Wed Dec 19 2018 - 09:59:51 EST


On Tue, Dec 11, 2018 at 8:04 PM Masahiro Yamada
<yamada.masahiro@xxxxxxxxxxxxx> wrote:
>
>
> When I tryed to change something, I was often hit by annoying
> shift/reduce conflicts in the parser.
>
> The lexer and parser are too cluttered.
>
> So, I decided to clean-up now.
>
> - Fix all shift/reduce conflicts in the parser
>
> - Rewrite the lexer. The linear keyword search was removed.
> The number of states descreased from 6 to 4.
>
> - Fix various subtle issues
>
>
>
> Masahiro Yamada (27):
> kconfig: fix file name and line number of warn_ignored_character()
> kconfig: fix memory leak when EOF is encountered in quotation
> kconfig: require T_EOL to reduce visible statement
> kconfig: remove unneeded pattern matching to whitespaces
> kconfig: refactor pattern matching in STRING state
> kconfig: fix ambiguous grammar in terms of new lines
> kconfig: clean up EOF handling in the lexer
> kconfig: warn no new line at end of file
> kconfig: remove grammatically ambiguous "unexpected option" diagnostic
> kconfig: remove grammatically ambiguous option_error
> kconfig: remove redundant if_block rule
> kconfig: remove redundant menu_block rule
> kconfig: loosen the order of "visible" and "depends on" in menu entry
> kconfig: rename depends_list to comment_option_list
> kconfig: remove redundant token defines
> kconfig: use distinct tokens for type and default properties
> kconfig: refactor scanning and parsing "option" properties
> kconfig: use specific tokens instead of T_ASSIGN for assignments
> kconfig: use T_WORD instead of T_VARIABLE for variables
> microblaze: surround string default in Kconfig with double quotes
> treewide: surround file paths in Kconfig files with double quotes
> kconfig: ban the use of '.' and '/' in unquoted words
> kconfig: refactor end token rules
> kconfig: stop associating kconf_id with yylval
> kconfig: switch to ASSIGN_VAL state in the second lexer
> kconfig: update current_pos in the second lexer
> kconfig: remove keyword lookup table entirely


Series, applied to kbuild/kconfig.


--
Best Regards
Masahiro Yamada