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: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
parent
2972666ac9
commit
9de071536c
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue