History

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.

Masahiro Yamada committed 7 years ago

Commit 171a5151 parent c3d22872 files · +3 −4Browse files

Showing the changes to scripts (2 of 2 files). Show all

Unified · Split

2 files
  1. scripts/kconfig/zconf.l +2 −2
  2. scripts/kconfig/zconf.y +1 −2
scripts/kconfig/zconf.l+2−2
@@ -109,13 +109,13 @@ n [A-Za-z0-9_-] · 108 unmodified lines
109 }109 }
110 alloc_string(yytext, yyleng);110 alloc_string(yytext, yyleng);
111 yylval.string = text;111 yylval.string = text;
112 return T_VARIABLE;112 return T_WORD;
113 }113 }
114 ({n}|$)+ {114 ({n}|$)+ {
115 /* this token includes at least one '$' */115 /* this token includes at least one '$' */
116 yylval.string = expand_token(yytext, yyleng);116 yylval.string = expand_token(yytext, yyleng);
117 if (strlen(yylval.string))117 if (strlen(yylval.string))
118 return T_VARIABLE;118 return T_WORD;
119 free(yylval.string);119 free(yylval.string);
120 }120 }
121 "=" { BEGIN(ASSIGN_VAL); return T_EQUAL; }121 "=" { BEGIN(ASSIGN_VAL); return T_EQUAL; }
scripts/kconfig/zconf.y+1−2
@@ -84,7 +84,6 @@ static struct menu *current_menu, *current_entry; · 83 unmodified lines
84%token T_STRING84%token T_STRING
85%token T_TRISTATE85%token T_TRISTATE
86%token T_EOL86%token T_EOL
87%token <string> T_VARIABLE
88%token <string> T_ASSIGN_VAL87%token <string> T_ASSIGN_VAL
89 88
90%left T_OR89%left T_OR
@@ -480,7 +479,7 @@ word_opt: /* empty */ { $$ = NULL; } · 389 unmodified lines
480 479
481/* assignment statement */480/* assignment statement */
482 481
483assignment_stmt: T_VARIABLE assign_op assign_val T_EOL { variable_add($1, $3, $2); free($1); free($3); }482assignment_stmt: T_WORD assign_op assign_val T_EOL { variable_add($1, $3, $2); free($1); free($3); }
484 483
485assign_op:484assign_op:
486 T_EQUAL { $$ = VAR_RECURSIVE; }485 T_EQUAL { $$ = VAR_RECURSIVE; }