summaryrefslogtreecommitdiff
path: root/scripts/kconfig/zconf.l
Side-by-side diff
Diffstat (limited to 'scripts/kconfig/zconf.l') (more/less context) (show whitespace changes)
-rw-r--r--scripts/kconfig/zconf.l19
1 files changed, 13 insertions, 6 deletions
diff --git a/scripts/kconfig/zconf.l b/scripts/kconfig/zconf.l
index 1471630..55517b2 100644
--- a/scripts/kconfig/zconf.l
+++ b/scripts/kconfig/zconf.l
@@ -95,8 +95,9 @@ n [A-Za-z0-9_]
"choice" BEGIN(PARAM); return T_CHOICE;
"endchoice" BEGIN(PARAM); return T_ENDCHOICE;
"comment" BEGIN(PARAM); return T_COMMENT;
"config" BEGIN(PARAM); return T_CONFIG;
+ "menuconfig" BEGIN(PARAM); return T_MENUCONFIG;
"help" BEGIN(PARAM); return T_HELP;
"if" BEGIN(PARAM); return T_IF;
"endif" BEGIN(PARAM); return T_ENDIF;
"depends" BEGIN(PARAM); return T_DEPENDS;
@@ -104,13 +105,19 @@ n [A-Za-z0-9_]
"optional" BEGIN(PARAM); return T_OPTIONAL;
"default" BEGIN(PARAM); return T_DEFAULT;
"prompt" BEGIN(PARAM); return T_PROMPT;
"tristate" BEGIN(PARAM); return T_TRISTATE;
+ "def_tristate" BEGIN(PARAM); return T_DEF_TRISTATE;
"bool" BEGIN(PARAM); return T_BOOLEAN;
"boolean" BEGIN(PARAM); return T_BOOLEAN;
+ "def_bool" BEGIN(PARAM); return T_DEF_BOOLEAN;
+ "def_boolean" BEGIN(PARAM); return T_DEF_BOOLEAN;
"int" BEGIN(PARAM); return T_INT;
"hex" BEGIN(PARAM); return T_HEX;
"string" BEGIN(PARAM); return T_STRING;
+ "select" BEGIN(PARAM); return T_SELECT;
+ "enable" BEGIN(PARAM); return T_SELECT;
+ "range" BEGIN(PARAM); return T_RANGE;
{n}+ {
alloc_string(yytext, yyleng);
zconflval.string = text;
return T_WORD;
@@ -140,8 +147,9 @@ n [A-Za-z0-9_]
alloc_string(yytext, yyleng);
zconflval.string = text;
return T_WORD;
}
+ #.* /* comment */
\\\n current_file->lineno++;
.
<<EOF>> {
BEGIN(INITIAL);
@@ -151,26 +159,26 @@ n [A-Za-z0-9_]
<STRING>{
[^'"\\\n]+/\n {
append_string(yytext, yyleng);
zconflval.string = text;
- return T_STRING;
+ return T_WORD_QUOTE;
}
[^'"\\\n]+ {
append_string(yytext, yyleng);
}
\\.?/\n {
append_string(yytext + 1, yyleng - 1);
zconflval.string = text;
- return T_STRING;
+ return T_WORD_QUOTE;
}
\\.? {
append_string(yytext + 1, yyleng - 1);
}
\'|\" {
if (str == yytext[0]) {
BEGIN(PARAM);
zconflval.string = text;
- return T_STRING;
+ return T_WORD_QUOTE;
} else
append_string(yytext, 1);
}
\n {
@@ -205,11 +213,10 @@ n [A-Za-z0-9_]
ts -= 8;
}
append_string(" ", ts);
}
-
}
- \n/[^ \t\n] {
+ [ \t]*\n/[^ \t\n] {
current_file->lineno++;
zconf_endhelp();
return T_HELPTEXT;
}
@@ -344,9 +351,9 @@ static struct buffer *zconf_endfile(void)
int zconf_lineno(void)
{
if (current_buf)
- return current_file->lineno;
+ return current_file->lineno - 1;
else
return 0;
}