aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2018-12-11 20:01:02 +0900
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-12-22 00:25:53 +0900
commit171a515d080327b861d5e5fc9bbfa77f10cfddd7 (patch)
tree1d4ff1b5728d7aa35dde44073a38699d949648ef /scripts
parentkconfig: use specific tokens instead of T_ASSIGN for assignments (diff)
downloadlinux-dev-171a515d080327b861d5e5fc9bbfa77f10cfddd7.tar.xz
linux-dev-171a515d080327b861d5e5fc9bbfa77f10cfddd7.zip
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>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/kconfig/zconf.l4
-rw-r--r--scripts/kconfig/zconf.y3
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; }