Commit 171a515d authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

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: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent c3d22871
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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; }
+1 −2
Original line number Diff line number Diff line
@@ -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; }