|
|
|
|
@@ -144,19 +144,19 @@ config_entry_start: T_CONFIG nonconst_symbol T_EOL
|
|
|
|
|
{
|
|
|
|
|
$2->flags |= SYMBOL_OPTIONAL;
|
|
|
|
|
menu_add_entry($2);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), $2->name);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:config %s\n", cur_filename, cur_lineno, $2->name);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
config_stmt: config_entry_start config_option_list
|
|
|
|
|
{
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:endconfig\n", cur_filename, cur_lineno);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
menuconfig_entry_start: T_MENUCONFIG nonconst_symbol T_EOL
|
|
|
|
|
{
|
|
|
|
|
$2->flags |= SYMBOL_OPTIONAL;
|
|
|
|
|
menu_add_entry($2);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), $2->name);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", cur_filename, cur_lineno, $2->name);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
menuconfig_stmt: menuconfig_entry_start config_option_list
|
|
|
|
|
@@ -165,7 +165,7 @@ menuconfig_stmt: menuconfig_entry_start config_option_list
|
|
|
|
|
current_entry->prompt->type = P_MENU;
|
|
|
|
|
else
|
|
|
|
|
zconfprint("warning: menuconfig statement without prompt");
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:endconfig\n", cur_filename, cur_lineno);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
config_option_list:
|
|
|
|
|
@@ -178,15 +178,13 @@ config_option_list:
|
|
|
|
|
config_option: type prompt_stmt_opt T_EOL
|
|
|
|
|
{
|
|
|
|
|
menu_set_type($1);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
|
|
|
|
|
zconf_curname(), zconf_lineno(),
|
|
|
|
|
$1);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:type(%u)\n", cur_filename, cur_lineno, $1);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
config_option: T_PROMPT T_WORD_QUOTE if_expr T_EOL
|
|
|
|
|
{
|
|
|
|
|
menu_add_prompt(P_PROMPT, $2, $3);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:prompt\n", cur_filename, cur_lineno);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
config_option: default expr if_expr T_EOL
|
|
|
|
|
@@ -194,27 +192,26 @@ config_option: default expr if_expr T_EOL
|
|
|
|
|
menu_add_expr(P_DEFAULT, $2, $3);
|
|
|
|
|
if ($1 != S_UNKNOWN)
|
|
|
|
|
menu_set_type($1);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:default(%u)\n",
|
|
|
|
|
zconf_curname(), zconf_lineno(),
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:default(%u)\n", cur_filename, cur_lineno,
|
|
|
|
|
$1);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
config_option: T_SELECT nonconst_symbol if_expr T_EOL
|
|
|
|
|
{
|
|
|
|
|
menu_add_symbol(P_SELECT, $2, $3);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:select\n", cur_filename, cur_lineno);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
config_option: T_IMPLY nonconst_symbol if_expr T_EOL
|
|
|
|
|
{
|
|
|
|
|
menu_add_symbol(P_IMPLY, $2, $3);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:imply\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:imply\n", cur_filename, cur_lineno);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
config_option: T_RANGE symbol symbol if_expr T_EOL
|
|
|
|
|
{
|
|
|
|
|
menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,$2, $3), $4);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:range\n", cur_filename, cur_lineno);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
config_option: T_MODULES T_EOL
|
|
|
|
|
@@ -234,7 +231,7 @@ choice: T_CHOICE word_opt T_EOL
|
|
|
|
|
menu_add_entry(sym);
|
|
|
|
|
menu_add_expr(P_CHOICE, NULL, NULL);
|
|
|
|
|
free($2);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:choice\n", cur_filename, cur_lineno);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
choice_entry: choice choice_option_list
|
|
|
|
|
@@ -246,7 +243,7 @@ choice_end: end
|
|
|
|
|
{
|
|
|
|
|
if (zconf_endtoken($1, "choice")) {
|
|
|
|
|
menu_end_menu();
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:endchoice\n", cur_filename, cur_lineno);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -263,27 +260,25 @@ choice_option_list:
|
|
|
|
|
choice_option: T_PROMPT T_WORD_QUOTE if_expr T_EOL
|
|
|
|
|
{
|
|
|
|
|
menu_add_prompt(P_PROMPT, $2, $3);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:prompt\n", cur_filename, cur_lineno);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
choice_option: logic_type prompt_stmt_opt T_EOL
|
|
|
|
|
{
|
|
|
|
|
menu_set_type($1);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
|
|
|
|
|
zconf_curname(), zconf_lineno(), $1);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:type(%u)\n", cur_filename, cur_lineno, $1);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
choice_option: T_OPTIONAL T_EOL
|
|
|
|
|
{
|
|
|
|
|
current_entry->sym->flags |= SYMBOL_OPTIONAL;
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:optional\n", cur_filename, cur_lineno);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
choice_option: T_DEFAULT nonconst_symbol if_expr T_EOL
|
|
|
|
|
{
|
|
|
|
|
menu_add_symbol(P_DEFAULT, $2, $3);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:default\n",
|
|
|
|
|
zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:default\n", cur_filename, cur_lineno);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
type:
|
|
|
|
|
@@ -305,7 +300,7 @@ default:
|
|
|
|
|
|
|
|
|
|
if_entry: T_IF expr T_EOL
|
|
|
|
|
{
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:if\n", cur_filename, cur_lineno);
|
|
|
|
|
menu_add_entry(NULL);
|
|
|
|
|
menu_add_dep($2);
|
|
|
|
|
$$ = menu_add_menu();
|
|
|
|
|
@@ -315,7 +310,7 @@ if_end: end
|
|
|
|
|
{
|
|
|
|
|
if (zconf_endtoken($1, "if")) {
|
|
|
|
|
menu_end_menu();
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:endif\n", cur_filename, cur_lineno);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -331,7 +326,7 @@ menu: T_MENU T_WORD_QUOTE T_EOL
|
|
|
|
|
{
|
|
|
|
|
menu_add_entry(NULL);
|
|
|
|
|
menu_add_prompt(P_MENU, $2, NULL);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:menu\n", cur_filename, cur_lineno);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
menu_entry: menu menu_option_list
|
|
|
|
|
@@ -343,7 +338,7 @@ menu_end: end
|
|
|
|
|
{
|
|
|
|
|
if (zconf_endtoken($1, "menu")) {
|
|
|
|
|
menu_end_menu();
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:endmenu\n", cur_filename, cur_lineno);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -358,7 +353,7 @@ menu_option_list:
|
|
|
|
|
|
|
|
|
|
source_stmt: T_SOURCE T_WORD_QUOTE T_EOL
|
|
|
|
|
{
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), $2);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:source %s\n", cur_filename, cur_lineno, $2);
|
|
|
|
|
zconf_nextfile($2);
|
|
|
|
|
free($2);
|
|
|
|
|
};
|
|
|
|
|
@@ -369,7 +364,7 @@ comment: T_COMMENT T_WORD_QUOTE T_EOL
|
|
|
|
|
{
|
|
|
|
|
menu_add_entry(NULL);
|
|
|
|
|
menu_add_prompt(P_COMMENT, $2, NULL);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:comment\n", cur_filename, cur_lineno);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
comment_stmt: comment comment_option_list
|
|
|
|
|
@@ -384,7 +379,7 @@ comment_option_list:
|
|
|
|
|
|
|
|
|
|
help_start: T_HELP T_EOL
|
|
|
|
|
{
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:help\n", cur_filename, cur_lineno);
|
|
|
|
|
zconf_starthelp();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -409,7 +404,7 @@ help: help_start T_HELPTEXT
|
|
|
|
|
depends: T_DEPENDS T_ON expr T_EOL
|
|
|
|
|
{
|
|
|
|
|
menu_add_dep($3);
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno());
|
|
|
|
|
printd(DEBUG_PARSE, "%s:%d:depends on\n", cur_filename, cur_lineno);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/* visibility option */
|
|
|
|
|
@@ -548,7 +543,7 @@ static void zconfprint(const char *err, ...)
|
|
|
|
|
{
|
|
|
|
|
va_list ap;
|
|
|
|
|
|
|
|
|
|
fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno());
|
|
|
|
|
fprintf(stderr, "%s:%d: ", cur_filename, cur_lineno);
|
|
|
|
|
va_start(ap, err);
|
|
|
|
|
vfprintf(stderr, err, ap);
|
|
|
|
|
va_end(ap);
|
|
|
|
|
@@ -560,7 +555,7 @@ static void zconf_error(const char *err, ...)
|
|
|
|
|
va_list ap;
|
|
|
|
|
|
|
|
|
|
yynerrs++;
|
|
|
|
|
fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno());
|
|
|
|
|
fprintf(stderr, "%s:%d: ", cur_filename, cur_lineno);
|
|
|
|
|
va_start(ap, err);
|
|
|
|
|
vfprintf(stderr, err, ap);
|
|
|
|
|
va_end(ap);
|
|
|
|
|
@@ -569,7 +564,7 @@ static void zconf_error(const char *err, ...)
|
|
|
|
|
|
|
|
|
|
static void yyerror(const char *err)
|
|
|
|
|
{
|
|
|
|
|
fprintf(stderr, "%s:%d: %s\n", zconf_curname(), zconf_lineno(), err);
|
|
|
|
|
fprintf(stderr, "%s:%d: %s\n", cur_filename, cur_lineno, err);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void print_quoted_string(FILE *out, const char *str)
|
|
|
|
|
|