kconfig: stop associating kconf_id with yylval
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Tue, 11 Dec 2018 11:01:07 +0000 (20:01 +0900)
committerChristian Lamparter <chunkeey@gmail.com>
Sun, 10 Feb 2019 21:32:19 +0000 (22:32 +0100)
The lexer has conventionally associated kconf_id data with yylval
to carry additional information to the parser.

No token is relying on this any more.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
config/zconf.l
config/zconf.y

index 3d8d8619153c966458eaa44dcf9363a0a6448955..1cf9ac42806f09fcfcbc0ca6ab9ba4a55ed9767b 100644 (file)
@@ -104,7 +104,6 @@ n   [A-Za-z0-9_-]
                current_pos.lineno = yylineno;
                if (id && id->flags & TF_COMMAND) {
                        BEGIN(PARAM);
                current_pos.lineno = yylineno;
                if (id && id->flags & TF_COMMAND) {
                        BEGIN(PARAM);
-                       yylval.id = id;
                        return id->token;
                }
                alloc_string(yytext, yyleng);
                        return id->token;
                }
                alloc_string(yytext, yyleng);
@@ -163,7 +162,6 @@ n   [A-Za-z0-9_-]
        {n}+    {
                const struct kconf_id *id = kconf_id_lookup(yytext, yyleng);
                if (id && id->flags & TF_PARAM) {
        {n}+    {
                const struct kconf_id *id = kconf_id_lookup(yytext, yyleng);
                if (id && id->flags & TF_PARAM) {
-                       yylval.id = id;
                        return id->token;
                }
                alloc_string(yytext, yyleng);
                        return id->token;
                }
                alloc_string(yytext, yyleng);
index bb9f9022eac5e8cb7afe8a351c6a94e3a2f148b4..95f66f71118d18a916104eefca0ce046aaf0b9b5 100644 (file)
@@ -40,50 +40,49 @@ static struct menu *current_menu, *current_entry;
        struct symbol *symbol;
        struct expr *expr;
        struct menu *menu;
        struct symbol *symbol;
        struct expr *expr;
        struct menu *menu;
-       const struct kconf_id *id;
        enum symbol_type type;
        enum variable_flavor flavor;
 }
 
        enum symbol_type type;
        enum variable_flavor flavor;
 }
 
-%token <id>T_MAINMENU
-%token <id>T_MENU
-%token <id>T_ENDMENU
-%token <id>T_SOURCE
-%token <id>T_CHOICE
-%token <id>T_ENDCHOICE
-%token <id>T_COMMENT
-%token <id>T_CONFIG
-%token <id>T_MENUCONFIG
-%token <id>T_HELP
 %token <string> T_HELPTEXT
 %token <string> T_HELPTEXT
-%token <id>T_IF
-%token <id>T_ENDIF
-%token <id>T_DEPENDS
-%token <id>T_OPTIONAL
-%token <id>T_PROMPT
-%token <id>T_SELECT
-%token <id>T_IMPLY
-%token <id>T_RANGE
-%token <id>T_VISIBLE
-%token <id>T_ON
 %token <string> T_WORD
 %token <string> T_WORD_QUOTE
 %token T_ALLNOCONFIG_Y
 %token T_BOOL
 %token <string> T_WORD
 %token <string> T_WORD_QUOTE
 %token T_ALLNOCONFIG_Y
 %token T_BOOL
+%token T_CHOICE
 %token T_CLOSE_PAREN
 %token T_COLON_EQUAL
 %token T_CLOSE_PAREN
 %token T_COLON_EQUAL
+%token T_COMMENT
+%token T_CONFIG
 %token T_DEFAULT
 %token T_DEFCONFIG_LIST
 %token T_DEF_BOOL
 %token T_DEF_TRISTATE
 %token T_DEFAULT
 %token T_DEFCONFIG_LIST
 %token T_DEF_BOOL
 %token T_DEF_TRISTATE
+%token T_DEPENDS
+%token T_ENDCHOICE
+%token T_ENDIF
+%token T_ENDMENU
+%token T_HELP
 %token T_HEX
 %token T_HEX
+%token T_IF
+%token T_IMPLY
 %token T_INT
 %token T_INT
+%token T_MAINMENU
+%token T_MENU
+%token T_MENUCONFIG
 %token T_MODULES
 %token T_MODULES
+%token T_ON
 %token T_OPEN_PAREN
 %token T_OPTION
 %token T_OPEN_PAREN
 %token T_OPTION
+%token T_OPTIONAL
 %token T_PLUS_EQUAL
 %token T_PLUS_EQUAL
+%token T_PROMPT
+%token T_RANGE
+%token T_SELECT
+%token T_SOURCE
 %token T_STRING
 %token T_TRISTATE
 %token T_STRING
 %token T_TRISTATE
+%token T_VISIBLE
 %token T_EOL
 %token <string> T_ASSIGN_VAL
 
 %token T_EOL
 %token <string> T_ASSIGN_VAL