diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-12-11 20:01:02 +0900 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-12-22 00:25:53 +0900 |
commit | 171a515d080327b861d5e5fc9bbfa77f10cfddd7 (patch) | |
tree | 1d4ff1b5728d7aa35dde44073a38699d949648ef | |
parent | c3d228713b10e6dd1bd44853168cec8e23ae7e0f (diff) | |
download | linux-171a515d080327b861d5e5fc9bbfa77f10cfddd7.tar.bz2 |
kconfig: use T_WORD instead of T_VARIABLE for variables
There is no grammatical ambiguity by using T_WORD for variables.
The parser can distinguish variables from symbols from the context.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
-rw-r--r-- | scripts/kconfig/zconf.l | 4 | ||||
-rw-r--r-- | scripts/kconfig/zconf.y | 3 |
2 files changed, 3 insertions, 4 deletions
diff --git a/scripts/kconfig/zconf.l b/scripts/kconfig/zconf.l index b1a71f612c11..f8bd84714e00 100644 --- a/scripts/kconfig/zconf.l +++ b/scripts/kconfig/zconf.l @@ -109,13 +109,13 @@ n [A-Za-z0-9_-] } alloc_string(yytext, yyleng); yylval.string = text; - return T_VARIABLE; + return T_WORD; } ({n}|$)+ { /* this token includes at least one '$' */ yylval.string = expand_token(yytext, yyleng); if (strlen(yylval.string)) - return T_VARIABLE; + return T_WORD; free(yylval.string); } "=" { BEGIN(ASSIGN_VAL); return T_EQUAL; } diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y index 3b7ebd363e7e..2127f1d65170 100644 --- a/scripts/kconfig/zconf.y +++ b/scripts/kconfig/zconf.y @@ -84,7 +84,6 @@ static struct menu *current_menu, *current_entry; %token T_STRING %token T_TRISTATE %token T_EOL -%token <string> T_VARIABLE %token <string> T_ASSIGN_VAL %left T_OR @@ -480,7 +479,7 @@ word_opt: /* empty */ { $$ = NULL; } /* assignment statement */ -assignment_stmt: T_VARIABLE assign_op assign_val T_EOL { variable_add($1, $3, $2); free($1); free($3); } +assignment_stmt: T_WORD assign_op assign_val T_EOL { variable_add($1, $3, $2); free($1); free($3); } assign_op: T_EQUAL { $$ = VAR_RECURSIVE; } |