Commit 9de07153 authored by Masahiro Yamada's avatar Masahiro Yamada

kconfig: begin PARAM state only when seeing a command keyword

Currently, any statement line starts with a keyword with TF_COMMAND
flag.  So, the following three lines are dead code.

        alloc_string(yytext, yyleng);
        zconflval.string = text;
        return T_WORD;

If a T_WORD token is returned in this context, it will cause syntax
error in the parser anyway.

The next commit will support the assignment statement where a line
starts with an arbitrary identifier.  So, I want the lexer to switch
to the PARAM state only when it sees a command keyword.
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent 2972666a
...@@ -102,10 +102,10 @@ n [A-Za-z0-9_-] ...@@ -102,10 +102,10 @@ n [A-Za-z0-9_-]
<COMMAND>{ <COMMAND>{
{n}+ { {n}+ {
const struct kconf_id *id = kconf_id_lookup(yytext, yyleng); const struct kconf_id *id = kconf_id_lookup(yytext, yyleng);
BEGIN(PARAM);
current_pos.file = current_file; current_pos.file = current_file;
current_pos.lineno = yylineno; current_pos.lineno = yylineno;
if (id && id->flags & TF_COMMAND) { if (id && id->flags & TF_COMMAND) {
BEGIN(PARAM);
yylval.id = id; yylval.id = id;
return id->token; return id->token;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment