Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
* 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: initramfs: Really fix build break on symbol-prefixed archs [media] Fix Kconfig errors due to two visible menus i2c/algos: convert Kconfig to use the menu's `visible' keyword media/video: convert Kconfig to use the menu's `visible' keyword Revert "i2c: Fix Kconfig dependencies" kconfig: regen parser kconfig: add an option to determine a menu's visibility
This commit is contained in:
commit
31c67c7553
13 changed files with 420 additions and 382 deletions
|
@ -75,8 +75,7 @@ config I2C_HELPER_AUTO
|
||||||
In doubt, say Y.
|
In doubt, say Y.
|
||||||
|
|
||||||
config I2C_SMBUS
|
config I2C_SMBUS
|
||||||
tristate
|
tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO
|
||||||
prompt "SMBus-specific protocols" if !I2C_HELPER_AUTO
|
|
||||||
help
|
help
|
||||||
Say Y here if you want support for SMBus extensions to the I2C
|
Say Y here if you want support for SMBus extensions to the I2C
|
||||||
specification. At the moment, the only supported extension is
|
specification. At the moment, the only supported extension is
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
menu "I2C Algorithms"
|
menu "I2C Algorithms"
|
||||||
depends on !I2C_HELPER_AUTO
|
visible if !I2C_HELPER_AUTO
|
||||||
|
|
||||||
config I2C_ALGOBIT
|
config I2C_ALGOBIT
|
||||||
tristate "I2C bit-banging interfaces"
|
tristate "I2C bit-banging interfaces"
|
||||||
|
@ -15,15 +15,3 @@ config I2C_ALGOPCA
|
||||||
tristate "I2C PCA 9564 interfaces"
|
tristate "I2C PCA 9564 interfaces"
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
# In automatic configuration mode, we still have to define the
|
|
||||||
# symbols to avoid unmet dependencies.
|
|
||||||
|
|
||||||
if I2C_HELPER_AUTO
|
|
||||||
config I2C_ALGOBIT
|
|
||||||
tristate
|
|
||||||
config I2C_ALGOPCF
|
|
||||||
tristate
|
|
||||||
config I2C_ALGOPCA
|
|
||||||
tristate
|
|
||||||
endif
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ config MEDIA_TUNER
|
||||||
select MEDIA_TUNER_TDA9887 if !MEDIA_TUNER_CUSTOMISE
|
select MEDIA_TUNER_TDA9887 if !MEDIA_TUNER_CUSTOMISE
|
||||||
select MEDIA_TUNER_MC44S803 if !MEDIA_TUNER_CUSTOMISE
|
select MEDIA_TUNER_MC44S803 if !MEDIA_TUNER_CUSTOMISE
|
||||||
|
|
||||||
menuconfig MEDIA_TUNER_CUSTOMISE
|
config MEDIA_TUNER_CUSTOMISE
|
||||||
bool "Customize analog and hybrid tuner modules to build"
|
bool "Customize analog and hybrid tuner modules to build"
|
||||||
depends on MEDIA_TUNER
|
depends on MEDIA_TUNER
|
||||||
default y if EMBEDDED
|
default y if EMBEDDED
|
||||||
|
@ -44,7 +44,8 @@ menuconfig MEDIA_TUNER_CUSTOMISE
|
||||||
|
|
||||||
If unsure say N.
|
If unsure say N.
|
||||||
|
|
||||||
if MEDIA_TUNER_CUSTOMISE
|
menu "Customize TV tuners"
|
||||||
|
visible if MEDIA_TUNER_CUSTOMISE
|
||||||
|
|
||||||
config MEDIA_TUNER_SIMPLE
|
config MEDIA_TUNER_SIMPLE
|
||||||
tristate "Simple tuner support"
|
tristate "Simple tuner support"
|
||||||
|
@ -185,5 +186,4 @@ config MEDIA_TUNER_TDA18218
|
||||||
default m if MEDIA_TUNER_CUSTOMISE
|
default m if MEDIA_TUNER_CUSTOMISE
|
||||||
help
|
help
|
||||||
NXP TDA18218 silicon tuner driver.
|
NXP TDA18218 silicon tuner driver.
|
||||||
|
endmenu
|
||||||
endif # MEDIA_TUNER_CUSTOMISE
|
|
||||||
|
|
|
@ -12,9 +12,8 @@ config DVB_FE_CUSTOMISE
|
||||||
|
|
||||||
If unsure say N.
|
If unsure say N.
|
||||||
|
|
||||||
if DVB_FE_CUSTOMISE
|
|
||||||
|
|
||||||
menu "Customise DVB Frontends"
|
menu "Customise DVB Frontends"
|
||||||
|
visible if DVB_FE_CUSTOMISE
|
||||||
|
|
||||||
comment "Multistandard (satellite) frontends"
|
comment "Multistandard (satellite) frontends"
|
||||||
depends on DVB_CORE
|
depends on DVB_CORE
|
||||||
|
@ -619,5 +618,3 @@ config DVB_DUMMY_FE
|
||||||
tristate "Dummy frontend driver"
|
tristate "Dummy frontend driver"
|
||||||
default n
|
default n
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
|
@ -112,7 +112,7 @@ config VIDEO_IR_I2C
|
||||||
#
|
#
|
||||||
|
|
||||||
menu "Encoders/decoders and other helper chips"
|
menu "Encoders/decoders and other helper chips"
|
||||||
depends on !VIDEO_HELPER_CHIPS_AUTO
|
visible if !VIDEO_HELPER_CHIPS_AUTO
|
||||||
|
|
||||||
comment "Audio decoders"
|
comment "Audio decoders"
|
||||||
|
|
||||||
|
|
|
@ -164,6 +164,7 @@ struct menu {
|
||||||
struct menu *list;
|
struct menu *list;
|
||||||
struct symbol *sym;
|
struct symbol *sym;
|
||||||
struct property *prompt;
|
struct property *prompt;
|
||||||
|
struct expr *visibility;
|
||||||
struct expr *dep;
|
struct expr *dep;
|
||||||
unsigned int flags;
|
unsigned int flags;
|
||||||
char *help;
|
char *help;
|
||||||
|
|
|
@ -107,6 +107,7 @@ void menu_end_menu(void);
|
||||||
void menu_add_entry(struct symbol *sym);
|
void menu_add_entry(struct symbol *sym);
|
||||||
void menu_end_entry(void);
|
void menu_end_entry(void);
|
||||||
void menu_add_dep(struct expr *dep);
|
void menu_add_dep(struct expr *dep);
|
||||||
|
void menu_add_visibility(struct expr *dep);
|
||||||
struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *expr, struct expr *dep);
|
struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *expr, struct expr *dep);
|
||||||
struct property *menu_add_prompt(enum prop_type type, char *prompt, struct expr *dep);
|
struct property *menu_add_prompt(enum prop_type type, char *prompt, struct expr *dep);
|
||||||
void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep);
|
void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep);
|
||||||
|
|
|
@ -152,6 +152,12 @@ struct property *menu_add_prompt(enum prop_type type, char *prompt, struct expr
|
||||||
return menu_add_prop(type, prompt, NULL, dep);
|
return menu_add_prop(type, prompt, NULL, dep);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void menu_add_visibility(struct expr *expr)
|
||||||
|
{
|
||||||
|
current_entry->visibility = expr_alloc_and(current_entry->visibility,
|
||||||
|
expr);
|
||||||
|
}
|
||||||
|
|
||||||
void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep)
|
void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep)
|
||||||
{
|
{
|
||||||
menu_add_prop(type, NULL, expr, dep);
|
menu_add_prop(type, NULL, expr, dep);
|
||||||
|
@ -410,6 +416,11 @@ bool menu_is_visible(struct menu *menu)
|
||||||
if (!menu->prompt)
|
if (!menu->prompt)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (menu->visibility) {
|
||||||
|
if (expr_calc_value(menu->visibility) == no)
|
||||||
|
return no;
|
||||||
|
}
|
||||||
|
|
||||||
sym = menu->sym;
|
sym = menu->sym;
|
||||||
if (sym) {
|
if (sym) {
|
||||||
sym_calc_value(sym);
|
sym_calc_value(sym);
|
||||||
|
|
|
@ -38,6 +38,7 @@ hex, T_TYPE, TF_COMMAND, S_HEX
|
||||||
string, T_TYPE, TF_COMMAND, S_STRING
|
string, T_TYPE, TF_COMMAND, S_STRING
|
||||||
select, T_SELECT, TF_COMMAND
|
select, T_SELECT, TF_COMMAND
|
||||||
range, T_RANGE, TF_COMMAND
|
range, T_RANGE, TF_COMMAND
|
||||||
|
visible, T_VISIBLE, TF_COMMAND
|
||||||
option, T_OPTION, TF_COMMAND
|
option, T_OPTION, TF_COMMAND
|
||||||
on, T_ON, TF_PARAM
|
on, T_ON, TF_PARAM
|
||||||
modules, T_OPT_MODULES, TF_OPTION
|
modules, T_OPT_MODULES, TF_OPTION
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
struct kconf_id;
|
struct kconf_id;
|
||||||
|
|
||||||
static struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len);
|
static struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len);
|
||||||
/* maximum key range = 47, duplicates = 0 */
|
/* maximum key range = 50, duplicates = 0 */
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
__inline
|
__inline
|
||||||
|
@ -46,32 +46,32 @@ kconf_id_hash (register const char *str, register unsigned int len)
|
||||||
{
|
{
|
||||||
static unsigned char asso_values[] =
|
static unsigned char asso_values[] =
|
||||||
{
|
{
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 11, 5,
|
52, 52, 52, 52, 52, 52, 52, 52, 40, 5,
|
||||||
0, 0, 5, 49, 5, 20, 49, 49, 5, 20,
|
0, 0, 5, 52, 0, 20, 52, 52, 10, 20,
|
||||||
5, 0, 30, 49, 0, 15, 0, 10, 0, 49,
|
5, 0, 35, 52, 0, 30, 0, 15, 0, 52,
|
||||||
25, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
15, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
|
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
|
||||||
49, 49, 49, 49, 49, 49
|
52, 52, 52, 52, 52, 52
|
||||||
};
|
};
|
||||||
register int hval = len;
|
register int hval = len;
|
||||||
|
|
||||||
|
@ -102,25 +102,26 @@ struct kconf_id_strings_t
|
||||||
char kconf_id_strings_str12[sizeof("default")];
|
char kconf_id_strings_str12[sizeof("default")];
|
||||||
char kconf_id_strings_str13[sizeof("def_bool")];
|
char kconf_id_strings_str13[sizeof("def_bool")];
|
||||||
char kconf_id_strings_str14[sizeof("help")];
|
char kconf_id_strings_str14[sizeof("help")];
|
||||||
char kconf_id_strings_str15[sizeof("bool")];
|
|
||||||
char kconf_id_strings_str16[sizeof("config")];
|
char kconf_id_strings_str16[sizeof("config")];
|
||||||
char kconf_id_strings_str17[sizeof("def_tristate")];
|
char kconf_id_strings_str17[sizeof("def_tristate")];
|
||||||
char kconf_id_strings_str18[sizeof("boolean")];
|
char kconf_id_strings_str18[sizeof("hex")];
|
||||||
char kconf_id_strings_str19[sizeof("defconfig_list")];
|
char kconf_id_strings_str19[sizeof("defconfig_list")];
|
||||||
char kconf_id_strings_str21[sizeof("string")];
|
|
||||||
char kconf_id_strings_str22[sizeof("if")];
|
char kconf_id_strings_str22[sizeof("if")];
|
||||||
char kconf_id_strings_str23[sizeof("int")];
|
char kconf_id_strings_str23[sizeof("int")];
|
||||||
char kconf_id_strings_str26[sizeof("select")];
|
|
||||||
char kconf_id_strings_str27[sizeof("modules")];
|
char kconf_id_strings_str27[sizeof("modules")];
|
||||||
char kconf_id_strings_str28[sizeof("tristate")];
|
char kconf_id_strings_str28[sizeof("tristate")];
|
||||||
char kconf_id_strings_str29[sizeof("menu")];
|
char kconf_id_strings_str29[sizeof("menu")];
|
||||||
char kconf_id_strings_str31[sizeof("source")];
|
|
||||||
char kconf_id_strings_str32[sizeof("comment")];
|
char kconf_id_strings_str32[sizeof("comment")];
|
||||||
char kconf_id_strings_str33[sizeof("hex")];
|
|
||||||
char kconf_id_strings_str35[sizeof("menuconfig")];
|
char kconf_id_strings_str35[sizeof("menuconfig")];
|
||||||
char kconf_id_strings_str36[sizeof("prompt")];
|
char kconf_id_strings_str36[sizeof("string")];
|
||||||
char kconf_id_strings_str37[sizeof("depends")];
|
char kconf_id_strings_str37[sizeof("visible")];
|
||||||
|
char kconf_id_strings_str41[sizeof("prompt")];
|
||||||
|
char kconf_id_strings_str42[sizeof("depends")];
|
||||||
|
char kconf_id_strings_str44[sizeof("bool")];
|
||||||
|
char kconf_id_strings_str46[sizeof("select")];
|
||||||
|
char kconf_id_strings_str47[sizeof("boolean")];
|
||||||
char kconf_id_strings_str48[sizeof("mainmenu")];
|
char kconf_id_strings_str48[sizeof("mainmenu")];
|
||||||
|
char kconf_id_strings_str51[sizeof("source")];
|
||||||
};
|
};
|
||||||
static struct kconf_id_strings_t kconf_id_strings_contents =
|
static struct kconf_id_strings_t kconf_id_strings_contents =
|
||||||
{
|
{
|
||||||
|
@ -136,25 +137,26 @@ static struct kconf_id_strings_t kconf_id_strings_contents =
|
||||||
"default",
|
"default",
|
||||||
"def_bool",
|
"def_bool",
|
||||||
"help",
|
"help",
|
||||||
"bool",
|
|
||||||
"config",
|
"config",
|
||||||
"def_tristate",
|
"def_tristate",
|
||||||
"boolean",
|
"hex",
|
||||||
"defconfig_list",
|
"defconfig_list",
|
||||||
"string",
|
|
||||||
"if",
|
"if",
|
||||||
"int",
|
"int",
|
||||||
"select",
|
|
||||||
"modules",
|
"modules",
|
||||||
"tristate",
|
"tristate",
|
||||||
"menu",
|
"menu",
|
||||||
"source",
|
|
||||||
"comment",
|
"comment",
|
||||||
"hex",
|
|
||||||
"menuconfig",
|
"menuconfig",
|
||||||
|
"string",
|
||||||
|
"visible",
|
||||||
"prompt",
|
"prompt",
|
||||||
"depends",
|
"depends",
|
||||||
"mainmenu"
|
"bool",
|
||||||
|
"select",
|
||||||
|
"boolean",
|
||||||
|
"mainmenu",
|
||||||
|
"source"
|
||||||
};
|
};
|
||||||
#define kconf_id_strings ((const char *) &kconf_id_strings_contents)
|
#define kconf_id_strings ((const char *) &kconf_id_strings_contents)
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
|
@ -168,11 +170,11 @@ kconf_id_lookup (register const char *str, register unsigned int len)
|
||||||
{
|
{
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
TOTAL_KEYWORDS = 31,
|
TOTAL_KEYWORDS = 32,
|
||||||
MIN_WORD_LENGTH = 2,
|
MIN_WORD_LENGTH = 2,
|
||||||
MAX_WORD_LENGTH = 14,
|
MAX_WORD_LENGTH = 14,
|
||||||
MIN_HASH_VALUE = 2,
|
MIN_HASH_VALUE = 2,
|
||||||
MAX_HASH_VALUE = 48
|
MAX_HASH_VALUE = 51
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct kconf_id wordlist[] =
|
static struct kconf_id wordlist[] =
|
||||||
|
@ -191,31 +193,35 @@ kconf_id_lookup (register const char *str, register unsigned int len)
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12, T_DEFAULT, TF_COMMAND, S_UNKNOWN},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12, T_DEFAULT, TF_COMMAND, S_UNKNOWN},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13, T_DEFAULT, TF_COMMAND, S_BOOLEAN},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13, T_DEFAULT, TF_COMMAND, S_BOOLEAN},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14, T_HELP, TF_COMMAND},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14, T_HELP, TF_COMMAND},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str15, T_TYPE, TF_COMMAND, S_BOOLEAN},
|
{-1},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str16, T_CONFIG, TF_COMMAND},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str16, T_CONFIG, TF_COMMAND},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17, T_DEFAULT, TF_COMMAND, S_TRISTATE},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17, T_DEFAULT, TF_COMMAND, S_TRISTATE},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18, T_TYPE, TF_COMMAND, S_BOOLEAN},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18, T_TYPE, TF_COMMAND, S_HEX},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str19, T_OPT_DEFCONFIG_LIST,TF_OPTION},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str19, T_OPT_DEFCONFIG_LIST,TF_OPTION},
|
||||||
{-1},
|
{-1}, {-1},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str21, T_TYPE, TF_COMMAND, S_STRING},
|
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22, T_IF, TF_COMMAND|TF_PARAM},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22, T_IF, TF_COMMAND|TF_PARAM},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23, T_TYPE, TF_COMMAND, S_INT},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23, T_TYPE, TF_COMMAND, S_INT},
|
||||||
{-1}, {-1},
|
{-1}, {-1}, {-1},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str26, T_SELECT, TF_COMMAND},
|
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27, T_OPT_MODULES, TF_OPTION},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27, T_OPT_MODULES, TF_OPTION},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str28, T_TYPE, TF_COMMAND, S_TRISTATE},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str28, T_TYPE, TF_COMMAND, S_TRISTATE},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29, T_MENU, TF_COMMAND},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29, T_MENU, TF_COMMAND},
|
||||||
{-1},
|
{-1}, {-1},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str31, T_SOURCE, TF_COMMAND},
|
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32, T_COMMENT, TF_COMMAND},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32, T_COMMENT, TF_COMMAND},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str33, T_TYPE, TF_COMMAND, S_HEX},
|
{-1}, {-1},
|
||||||
{-1},
|
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35, T_MENUCONFIG, TF_COMMAND},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35, T_MENUCONFIG, TF_COMMAND},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36, T_PROMPT, TF_COMMAND},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36, T_TYPE, TF_COMMAND, S_STRING},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str37, T_DEPENDS, TF_COMMAND},
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str37, T_VISIBLE, TF_COMMAND},
|
||||||
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
|
{-1}, {-1}, {-1},
|
||||||
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str41, T_PROMPT, TF_COMMAND},
|
||||||
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str42, T_DEPENDS, TF_COMMAND},
|
||||||
{-1},
|
{-1},
|
||||||
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str48, T_MAINMENU, TF_COMMAND}
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str44, T_TYPE, TF_COMMAND, S_BOOLEAN},
|
||||||
|
{-1},
|
||||||
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str46, T_SELECT, TF_COMMAND},
|
||||||
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str47, T_TYPE, TF_COMMAND, S_BOOLEAN},
|
||||||
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str48, T_MAINMENU, TF_COMMAND},
|
||||||
|
{-1}, {-1},
|
||||||
|
{(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str51, T_SOURCE, TF_COMMAND}
|
||||||
};
|
};
|
||||||
|
|
||||||
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
|
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
|
||||||
|
|
|
@ -160,18 +160,19 @@ static struct menu *current_menu, *current_entry;
|
||||||
T_DEFAULT = 275,
|
T_DEFAULT = 275,
|
||||||
T_SELECT = 276,
|
T_SELECT = 276,
|
||||||
T_RANGE = 277,
|
T_RANGE = 277,
|
||||||
T_OPTION = 278,
|
T_VISIBLE = 278,
|
||||||
T_ON = 279,
|
T_OPTION = 279,
|
||||||
T_WORD = 280,
|
T_ON = 280,
|
||||||
T_WORD_QUOTE = 281,
|
T_WORD = 281,
|
||||||
T_UNEQUAL = 282,
|
T_WORD_QUOTE = 282,
|
||||||
T_CLOSE_PAREN = 283,
|
T_UNEQUAL = 283,
|
||||||
T_OPEN_PAREN = 284,
|
T_CLOSE_PAREN = 284,
|
||||||
T_EOL = 285,
|
T_OPEN_PAREN = 285,
|
||||||
T_OR = 286,
|
T_EOL = 286,
|
||||||
T_AND = 287,
|
T_OR = 287,
|
||||||
T_EQUAL = 288,
|
T_AND = 288,
|
||||||
T_NOT = 289
|
T_EQUAL = 289,
|
||||||
|
T_NOT = 290
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -419,20 +420,20 @@ union yyalloc
|
||||||
/* YYFINAL -- State number of the termination state. */
|
/* YYFINAL -- State number of the termination state. */
|
||||||
#define YYFINAL 11
|
#define YYFINAL 11
|
||||||
/* YYLAST -- Last index in YYTABLE. */
|
/* YYLAST -- Last index in YYTABLE. */
|
||||||
#define YYLAST 277
|
#define YYLAST 290
|
||||||
|
|
||||||
/* YYNTOKENS -- Number of terminals. */
|
/* YYNTOKENS -- Number of terminals. */
|
||||||
#define YYNTOKENS 35
|
#define YYNTOKENS 36
|
||||||
/* YYNNTS -- Number of nonterminals. */
|
/* YYNNTS -- Number of nonterminals. */
|
||||||
#define YYNNTS 48
|
#define YYNNTS 50
|
||||||
/* YYNRULES -- Number of rules. */
|
/* YYNRULES -- Number of rules. */
|
||||||
#define YYNRULES 113
|
#define YYNRULES 118
|
||||||
/* YYNRULES -- Number of states. */
|
/* YYNRULES -- Number of states. */
|
||||||
#define YYNSTATES 185
|
#define YYNSTATES 191
|
||||||
|
|
||||||
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
|
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
|
||||||
#define YYUNDEFTOK 2
|
#define YYUNDEFTOK 2
|
||||||
#define YYMAXUTOK 289
|
#define YYMAXUTOK 290
|
||||||
|
|
||||||
#define YYTRANSLATE(YYX) \
|
#define YYTRANSLATE(YYX) \
|
||||||
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
|
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
|
||||||
|
@ -468,7 +469,8 @@ static const yytype_uint8 yytranslate[] =
|
||||||
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
|
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
|
||||||
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
|
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
|
||||||
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
||||||
25, 26, 27, 28, 29, 30, 31, 32, 33, 34
|
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
|
||||||
|
35
|
||||||
};
|
};
|
||||||
|
|
||||||
#if YYDEBUG
|
#if YYDEBUG
|
||||||
|
@ -478,72 +480,73 @@ static const yytype_uint16 yyprhs[] =
|
||||||
{
|
{
|
||||||
0, 0, 3, 6, 8, 11, 13, 14, 17, 20,
|
0, 0, 3, 6, 8, 11, 13, 14, 17, 20,
|
||||||
23, 26, 31, 36, 40, 42, 44, 46, 48, 50,
|
23, 26, 31, 36, 40, 42, 44, 46, 48, 50,
|
||||||
52, 54, 56, 58, 60, 62, 64, 66, 70, 73,
|
52, 54, 56, 58, 60, 62, 64, 66, 68, 72,
|
||||||
77, 80, 84, 87, 88, 91, 94, 97, 100, 103,
|
75, 79, 82, 86, 89, 90, 93, 96, 99, 102,
|
||||||
106, 110, 115, 120, 125, 131, 135, 136, 140, 141,
|
105, 108, 112, 117, 122, 127, 133, 137, 138, 142,
|
||||||
144, 148, 151, 153, 157, 158, 161, 164, 167, 170,
|
143, 146, 150, 153, 155, 159, 160, 163, 166, 169,
|
||||||
173, 178, 182, 185, 190, 191, 194, 198, 200, 204,
|
172, 175, 180, 184, 187, 192, 193, 196, 200, 202,
|
||||||
205, 208, 211, 214, 218, 222, 225, 227, 231, 232,
|
206, 207, 210, 213, 216, 220, 224, 228, 230, 234,
|
||||||
235, 238, 241, 245, 249, 252, 255, 258, 259, 262,
|
235, 238, 241, 244, 248, 252, 255, 258, 261, 262,
|
||||||
265, 268, 273, 274, 277, 279, 281, 284, 287, 290,
|
265, 268, 271, 276, 277, 280, 283, 286, 287, 290,
|
||||||
292, 295, 296, 299, 301, 305, 309, 313, 316, 320,
|
292, 294, 297, 300, 303, 305, 308, 309, 312, 314,
|
||||||
324, 326, 328, 329
|
318, 322, 326, 329, 333, 337, 339, 341, 342
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
|
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
|
||||||
static const yytype_int8 yyrhs[] =
|
static const yytype_int8 yyrhs[] =
|
||||||
{
|
{
|
||||||
36, 0, -1, 78, 37, -1, 37, -1, 62, 38,
|
37, 0, -1, 81, 38, -1, 38, -1, 63, 39,
|
||||||
-1, 38, -1, -1, 38, 40, -1, 38, 54, -1,
|
-1, 39, -1, -1, 39, 41, -1, 39, 55, -1,
|
||||||
38, 66, -1, 38, 77, -1, 38, 25, 1, 30,
|
39, 67, -1, 39, 80, -1, 39, 26, 1, 31,
|
||||||
-1, 38, 39, 1, 30, -1, 38, 1, 30, -1,
|
-1, 39, 40, 1, 31, -1, 39, 1, 31, -1,
|
||||||
16, -1, 18, -1, 19, -1, 21, -1, 17, -1,
|
16, -1, 18, -1, 19, -1, 21, -1, 17, -1,
|
||||||
22, -1, 20, -1, 30, -1, 60, -1, 70, -1,
|
22, -1, 20, -1, 23, -1, 31, -1, 61, -1,
|
||||||
43, -1, 45, -1, 68, -1, 25, 1, 30, -1,
|
71, -1, 44, -1, 46, -1, 69, -1, 26, 1,
|
||||||
1, 30, -1, 10, 25, 30, -1, 42, 46, -1,
|
31, -1, 1, 31, -1, 10, 26, 31, -1, 43,
|
||||||
11, 25, 30, -1, 44, 46, -1, -1, 46, 47,
|
47, -1, 11, 26, 31, -1, 45, 47, -1, -1,
|
||||||
-1, 46, 48, -1, 46, 74, -1, 46, 72, -1,
|
47, 48, -1, 47, 49, -1, 47, 75, -1, 47,
|
||||||
46, 41, -1, 46, 30, -1, 19, 75, 30, -1,
|
73, -1, 47, 42, -1, 47, 31, -1, 19, 78,
|
||||||
18, 76, 79, 30, -1, 20, 80, 79, 30, -1,
|
31, -1, 18, 79, 82, 31, -1, 20, 83, 82,
|
||||||
21, 25, 79, 30, -1, 22, 81, 81, 79, 30,
|
31, -1, 21, 26, 82, 31, -1, 22, 84, 84,
|
||||||
-1, 23, 49, 30, -1, -1, 49, 25, 50, -1,
|
82, 31, -1, 24, 50, 31, -1, -1, 50, 26,
|
||||||
-1, 33, 76, -1, 7, 82, 30, -1, 51, 55,
|
51, -1, -1, 34, 79, -1, 7, 85, 31, -1,
|
||||||
-1, 77, -1, 52, 57, 53, -1, -1, 55, 56,
|
52, 56, -1, 80, -1, 53, 58, 54, -1, -1,
|
||||||
-1, 55, 74, -1, 55, 72, -1, 55, 30, -1,
|
56, 57, -1, 56, 75, -1, 56, 73, -1, 56,
|
||||||
55, 41, -1, 18, 76, 79, 30, -1, 19, 75,
|
31, -1, 56, 42, -1, 18, 79, 82, 31, -1,
|
||||||
30, -1, 17, 30, -1, 20, 25, 79, 30, -1,
|
19, 78, 31, -1, 17, 31, -1, 20, 26, 82,
|
||||||
-1, 57, 40, -1, 14, 80, 78, -1, 77, -1,
|
31, -1, -1, 58, 41, -1, 14, 83, 81, -1,
|
||||||
58, 61, 59, -1, -1, 61, 40, -1, 61, 66,
|
80, -1, 59, 62, 60, -1, -1, 62, 41, -1,
|
||||||
-1, 61, 54, -1, 3, 76, 78, -1, 4, 76,
|
62, 67, -1, 62, 55, -1, 3, 79, 81, -1,
|
||||||
30, -1, 63, 73, -1, 77, -1, 64, 67, 65,
|
4, 79, 31, -1, 64, 76, 74, -1, 80, -1,
|
||||||
-1, -1, 67, 40, -1, 67, 66, -1, 67, 54,
|
65, 68, 66, -1, -1, 68, 41, -1, 68, 67,
|
||||||
-1, 6, 76, 30, -1, 9, 76, 30, -1, 69,
|
-1, 68, 55, -1, 6, 79, 31, -1, 9, 79,
|
||||||
73, -1, 12, 30, -1, 71, 13, -1, -1, 73,
|
31, -1, 70, 74, -1, 12, 31, -1, 72, 13,
|
||||||
74, -1, 73, 30, -1, 73, 41, -1, 16, 24,
|
-1, -1, 74, 75, -1, 74, 31, -1, 74, 42,
|
||||||
80, 30, -1, -1, 76, 79, -1, 25, -1, 26,
|
-1, 16, 25, 83, 31, -1, -1, 76, 77, -1,
|
||||||
-1, 5, 30, -1, 8, 30, -1, 15, 30, -1,
|
76, 31, -1, 23, 82, -1, -1, 79, 82, -1,
|
||||||
30, -1, 78, 30, -1, -1, 14, 80, -1, 81,
|
26, -1, 27, -1, 5, 31, -1, 8, 31, -1,
|
||||||
-1, 81, 33, 81, -1, 81, 27, 81, -1, 29,
|
15, 31, -1, 31, -1, 81, 31, -1, -1, 14,
|
||||||
80, 28, -1, 34, 80, -1, 80, 31, 80, -1,
|
83, -1, 84, -1, 84, 34, 84, -1, 84, 28,
|
||||||
80, 32, 80, -1, 25, -1, 26, -1, -1, 25,
|
84, -1, 30, 83, 29, -1, 35, 83, -1, 83,
|
||||||
-1
|
32, 83, -1, 83, 33, 83, -1, 26, -1, 27,
|
||||||
|
-1, -1, 26, -1
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
||||||
static const yytype_uint16 yyrline[] =
|
static const yytype_uint16 yyrline[] =
|
||||||
{
|
{
|
||||||
0, 107, 107, 107, 109, 109, 111, 113, 114, 115,
|
0, 108, 108, 108, 110, 110, 112, 114, 115, 116,
|
||||||
116, 117, 118, 122, 126, 126, 126, 126, 126, 126,
|
117, 118, 119, 123, 127, 127, 127, 127, 127, 127,
|
||||||
126, 130, 131, 132, 133, 134, 135, 139, 140, 146,
|
127, 127, 131, 132, 133, 134, 135, 136, 140, 141,
|
||||||
154, 160, 168, 178, 180, 181, 182, 183, 184, 185,
|
147, 155, 161, 169, 179, 181, 182, 183, 184, 185,
|
||||||
188, 196, 202, 212, 218, 224, 227, 229, 240, 241,
|
186, 189, 197, 203, 213, 219, 225, 228, 230, 241,
|
||||||
246, 255, 260, 268, 271, 273, 274, 275, 276, 277,
|
242, 247, 256, 261, 269, 272, 274, 275, 276, 277,
|
||||||
280, 286, 297, 303, 313, 315, 320, 328, 336, 339,
|
278, 281, 287, 298, 304, 314, 316, 321, 329, 337,
|
||||||
341, 342, 343, 348, 355, 362, 367, 375, 378, 380,
|
340, 342, 343, 344, 349, 356, 363, 368, 376, 379,
|
||||||
381, 382, 385, 393, 400, 407, 413, 420, 422, 423,
|
381, 382, 383, 386, 394, 401, 408, 414, 421, 423,
|
||||||
424, 427, 435, 437, 442, 443, 446, 447, 448, 452,
|
424, 425, 428, 436, 438, 439, 442, 449, 451, 456,
|
||||||
453, 456, 457, 460, 461, 462, 463, 464, 465, 466,
|
457, 460, 461, 462, 466, 467, 470, 471, 474, 475,
|
||||||
469, 470, 473, 474
|
476, 477, 478, 479, 480, 483, 484, 487, 488
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -556,7 +559,7 @@ static const char *const yytname[] =
|
||||||
"T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG",
|
"T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG",
|
||||||
"T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS",
|
"T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS",
|
||||||
"T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", "T_SELECT", "T_RANGE",
|
"T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", "T_SELECT", "T_RANGE",
|
||||||
"T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL",
|
"T_VISIBLE", "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL",
|
||||||
"T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND", "T_EQUAL",
|
"T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND", "T_EQUAL",
|
||||||
"T_NOT", "$accept", "input", "start", "stmt_list", "option_name",
|
"T_NOT", "$accept", "input", "start", "stmt_list", "option_name",
|
||||||
"common_stmt", "option_error", "config_entry_start", "config_stmt",
|
"common_stmt", "option_error", "config_entry_start", "config_stmt",
|
||||||
|
@ -567,8 +570,8 @@ static const char *const yytname[] =
|
||||||
"if_entry", "if_end", "if_stmt", "if_block", "mainmenu_stmt", "menu",
|
"if_entry", "if_end", "if_stmt", "if_block", "mainmenu_stmt", "menu",
|
||||||
"menu_entry", "menu_end", "menu_stmt", "menu_block", "source_stmt",
|
"menu_entry", "menu_end", "menu_stmt", "menu_block", "source_stmt",
|
||||||
"comment", "comment_stmt", "help_start", "help", "depends_list",
|
"comment", "comment_stmt", "help_start", "help", "depends_list",
|
||||||
"depends", "prompt_stmt_opt", "prompt", "end", "nl", "if_expr", "expr",
|
"depends", "visibility_list", "visible", "prompt_stmt_opt", "prompt",
|
||||||
"symbol", "word_opt", 0
|
"end", "nl", "if_expr", "expr", "symbol", "word_opt", 0
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -580,25 +583,25 @@ static const yytype_uint16 yytoknum[] =
|
||||||
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
|
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
|
||||||
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
|
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
|
||||||
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
|
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
|
||||||
285, 286, 287, 288, 289
|
285, 286, 287, 288, 289, 290
|
||||||
};
|
};
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
|
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
|
||||||
static const yytype_uint8 yyr1[] =
|
static const yytype_uint8 yyr1[] =
|
||||||
{
|
{
|
||||||
0, 35, 36, 36, 37, 37, 38, 38, 38, 38,
|
0, 36, 37, 37, 38, 38, 39, 39, 39, 39,
|
||||||
38, 38, 38, 38, 39, 39, 39, 39, 39, 39,
|
39, 39, 39, 39, 40, 40, 40, 40, 40, 40,
|
||||||
39, 40, 40, 40, 40, 40, 40, 41, 41, 42,
|
40, 40, 41, 41, 41, 41, 41, 41, 42, 42,
|
||||||
43, 44, 45, 46, 46, 46, 46, 46, 46, 46,
|
43, 44, 45, 46, 47, 47, 47, 47, 47, 47,
|
||||||
47, 47, 47, 47, 47, 48, 49, 49, 50, 50,
|
47, 48, 48, 48, 48, 48, 49, 50, 50, 51,
|
||||||
51, 52, 53, 54, 55, 55, 55, 55, 55, 55,
|
51, 52, 53, 54, 55, 56, 56, 56, 56, 56,
|
||||||
56, 56, 56, 56, 57, 57, 58, 59, 60, 61,
|
56, 57, 57, 57, 57, 58, 58, 59, 60, 61,
|
||||||
61, 61, 61, 62, 63, 64, 65, 66, 67, 67,
|
62, 62, 62, 62, 63, 64, 65, 66, 67, 68,
|
||||||
67, 67, 68, 69, 70, 71, 72, 73, 73, 73,
|
68, 68, 68, 69, 70, 71, 72, 73, 74, 74,
|
||||||
73, 74, 75, 75, 76, 76, 77, 77, 77, 78,
|
74, 74, 75, 76, 76, 76, 77, 78, 78, 79,
|
||||||
78, 79, 79, 80, 80, 80, 80, 80, 80, 80,
|
79, 80, 80, 80, 81, 81, 82, 82, 83, 83,
|
||||||
81, 81, 82, 82
|
83, 83, 83, 83, 83, 84, 84, 85, 85
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
|
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
|
||||||
|
@ -606,16 +609,16 @@ static const yytype_uint8 yyr2[] =
|
||||||
{
|
{
|
||||||
0, 2, 2, 1, 2, 1, 0, 2, 2, 2,
|
0, 2, 2, 1, 2, 1, 0, 2, 2, 2,
|
||||||
2, 4, 4, 3, 1, 1, 1, 1, 1, 1,
|
2, 4, 4, 3, 1, 1, 1, 1, 1, 1,
|
||||||
1, 1, 1, 1, 1, 1, 1, 3, 2, 3,
|
1, 1, 1, 1, 1, 1, 1, 1, 3, 2,
|
||||||
2, 3, 2, 0, 2, 2, 2, 2, 2, 2,
|
3, 2, 3, 2, 0, 2, 2, 2, 2, 2,
|
||||||
3, 4, 4, 4, 5, 3, 0, 3, 0, 2,
|
2, 3, 4, 4, 4, 5, 3, 0, 3, 0,
|
||||||
3, 2, 1, 3, 0, 2, 2, 2, 2, 2,
|
2, 3, 2, 1, 3, 0, 2, 2, 2, 2,
|
||||||
4, 3, 2, 4, 0, 2, 3, 1, 3, 0,
|
2, 4, 3, 2, 4, 0, 2, 3, 1, 3,
|
||||||
2, 2, 2, 3, 3, 2, 1, 3, 0, 2,
|
0, 2, 2, 2, 3, 3, 3, 1, 3, 0,
|
||||||
2, 2, 3, 3, 2, 2, 2, 0, 2, 2,
|
2, 2, 2, 3, 3, 2, 2, 2, 0, 2,
|
||||||
2, 4, 0, 2, 1, 1, 2, 2, 2, 1,
|
2, 2, 4, 0, 2, 2, 2, 0, 2, 1,
|
||||||
2, 0, 2, 1, 3, 3, 3, 2, 3, 3,
|
1, 2, 2, 2, 1, 2, 0, 2, 1, 3,
|
||||||
1, 1, 0, 1
|
3, 3, 2, 3, 3, 1, 1, 0, 1
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
|
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
|
||||||
|
@ -623,165 +626,172 @@ static const yytype_uint8 yyr2[] =
|
||||||
means the default is an error. */
|
means the default is an error. */
|
||||||
static const yytype_uint8 yydefact[] =
|
static const yytype_uint8 yydefact[] =
|
||||||
{
|
{
|
||||||
6, 0, 99, 0, 3, 0, 6, 6, 94, 95,
|
6, 0, 104, 0, 3, 0, 6, 6, 99, 100,
|
||||||
0, 1, 0, 0, 0, 0, 112, 0, 0, 0,
|
0, 1, 0, 0, 0, 0, 117, 0, 0, 0,
|
||||||
0, 0, 0, 14, 18, 15, 16, 20, 17, 19,
|
0, 0, 0, 14, 18, 15, 16, 20, 17, 19,
|
||||||
0, 21, 0, 7, 33, 24, 33, 25, 54, 64,
|
21, 0, 22, 0, 7, 34, 25, 34, 26, 55,
|
||||||
8, 69, 22, 87, 78, 9, 26, 87, 23, 10,
|
65, 8, 70, 23, 93, 79, 9, 27, 88, 24,
|
||||||
0, 100, 2, 73, 13, 0, 96, 0, 113, 0,
|
10, 0, 105, 2, 74, 13, 0, 101, 0, 118,
|
||||||
97, 0, 0, 0, 110, 111, 0, 0, 0, 103,
|
0, 102, 0, 0, 0, 115, 116, 0, 0, 0,
|
||||||
98, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
108, 103, 0, 0, 0, 0, 0, 0, 0, 88,
|
||||||
0, 74, 82, 50, 83, 29, 31, 0, 107, 0,
|
0, 0, 75, 83, 51, 84, 30, 32, 0, 112,
|
||||||
0, 66, 0, 0, 11, 12, 0, 0, 0, 0,
|
0, 0, 67, 0, 0, 11, 12, 0, 0, 0,
|
||||||
92, 0, 0, 0, 46, 0, 39, 38, 34, 35,
|
0, 97, 0, 0, 0, 47, 0, 40, 39, 35,
|
||||||
0, 37, 36, 0, 0, 92, 0, 58, 59, 55,
|
36, 0, 38, 37, 0, 0, 97, 0, 59, 60,
|
||||||
57, 56, 65, 53, 52, 70, 72, 68, 71, 67,
|
56, 58, 57, 66, 54, 53, 71, 73, 69, 72,
|
||||||
89, 90, 88, 79, 81, 77, 80, 76, 106, 108,
|
68, 106, 95, 0, 94, 80, 82, 78, 81, 77,
|
||||||
109, 105, 104, 28, 85, 0, 101, 0, 101, 101,
|
90, 91, 89, 111, 113, 114, 110, 109, 29, 86,
|
||||||
101, 0, 0, 0, 86, 62, 101, 0, 101, 0,
|
0, 106, 0, 106, 106, 106, 0, 0, 0, 87,
|
||||||
0, 0, 40, 93, 0, 0, 101, 48, 45, 27,
|
63, 106, 0, 106, 0, 96, 0, 0, 41, 98,
|
||||||
0, 61, 0, 91, 102, 41, 42, 43, 0, 0,
|
0, 0, 106, 49, 46, 28, 0, 62, 0, 107,
|
||||||
47, 60, 63, 44, 49
|
92, 42, 43, 44, 0, 0, 48, 61, 64, 45,
|
||||||
|
50
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYDEFGOTO[NTERM-NUM]. */
|
/* YYDEFGOTO[NTERM-NUM]. */
|
||||||
static const yytype_int16 yydefgoto[] =
|
static const yytype_int16 yydefgoto[] =
|
||||||
{
|
{
|
||||||
-1, 3, 4, 5, 32, 33, 107, 34, 35, 36,
|
-1, 3, 4, 5, 33, 34, 108, 35, 36, 37,
|
||||||
37, 73, 108, 109, 152, 180, 38, 39, 123, 40,
|
38, 74, 109, 110, 157, 186, 39, 40, 124, 41,
|
||||||
75, 119, 76, 41, 127, 42, 77, 6, 43, 44,
|
76, 120, 77, 42, 128, 43, 78, 6, 44, 45,
|
||||||
135, 45, 79, 46, 47, 48, 110, 111, 78, 112,
|
137, 46, 80, 47, 48, 49, 111, 112, 81, 113,
|
||||||
147, 148, 49, 7, 161, 68, 69, 59
|
79, 134, 152, 153, 50, 7, 165, 69, 70, 60
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
||||||
STATE-NUM. */
|
STATE-NUM. */
|
||||||
#define YYPACT_NINF -89
|
#define YYPACT_NINF -90
|
||||||
static const yytype_int16 yypact[] =
|
static const yytype_int16 yypact[] =
|
||||||
{
|
{
|
||||||
3, 4, -89, 20, -89, 100, -89, 7, -89, -89,
|
4, 42, -90, 96, -90, 111, -90, 15, -90, -90,
|
||||||
-8, -89, 17, 4, 28, 4, 37, 36, 4, 68,
|
75, -90, 82, 42, 104, 42, 110, 107, 42, 115,
|
||||||
87, -18, 69, -89, -89, -89, -89, -89, -89, -89,
|
125, -4, 121, -90, -90, -90, -90, -90, -90, -90,
|
||||||
128, -89, 138, -89, -89, -89, -89, -89, -89, -89,
|
-90, 162, -90, 163, -90, -90, -90, -90, -90, -90,
|
||||||
-89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
|
-90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
|
||||||
127, -89, -89, 110, -89, 126, -89, 136, -89, 137,
|
-90, 139, -90, -90, 138, -90, 142, -90, 143, -90,
|
||||||
-89, 147, 150, 152, -89, -89, -18, -18, 171, -14,
|
152, -90, 164, 167, 168, -90, -90, -4, -4, 77,
|
||||||
-89, 153, 157, 34, 67, 180, 233, 220, 207, 220,
|
-18, -90, 177, 185, 33, 71, 195, 247, 236, -2,
|
||||||
154, -89, -89, -89, -89, -89, -89, 0, -89, -18,
|
236, 171, -90, -90, -90, -90, -90, -90, 41, -90,
|
||||||
-18, 110, 44, 44, -89, -89, 163, 174, 182, 4,
|
-4, -4, 138, 97, 97, -90, -90, 186, 187, 194,
|
||||||
4, -18, 194, 44, -89, 219, -89, -89, -89, -89,
|
42, 42, -4, 196, 97, -90, 219, -90, -90, -90,
|
||||||
223, -89, -89, 203, 4, 4, 215, -89, -89, -89,
|
-90, 210, -90, -90, 204, 42, 42, 199, -90, -90,
|
||||||
-89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
|
-90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
|
||||||
-89, -89, -89, -89, -89, -89, -89, -89, -89, 213,
|
-90, 222, -90, 223, -90, -90, -90, -90, -90, -90,
|
||||||
-89, -89, -89, -89, -89, -18, 232, 227, 232, -5,
|
-90, -90, -90, -90, 215, -90, -90, -90, -90, -90,
|
||||||
232, 44, 35, 234, -89, -89, 232, 235, 232, 224,
|
-4, 222, 228, 222, -5, 222, 97, 35, 229, -90,
|
||||||
-18, 236, -89, -89, 237, 238, 232, 216, -89, -89,
|
-90, 222, 232, 222, -4, -90, 135, 233, -90, -90,
|
||||||
240, -89, 241, -89, 71, -89, -89, -89, 242, 4,
|
234, 235, 222, 240, -90, -90, 237, -90, 239, -13,
|
||||||
-89, -89, -89, -89, -89
|
-90, -90, -90, -90, 244, 42, -90, -90, -90, -90,
|
||||||
|
-90
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYPGOTO[NTERM-NUM]. */
|
/* YYPGOTO[NTERM-NUM]. */
|
||||||
static const yytype_int16 yypgoto[] =
|
static const yytype_int16 yypgoto[] =
|
||||||
{
|
{
|
||||||
-89, -89, 255, 267, -89, 47, -57, -89, -89, -89,
|
-90, -90, 269, 271, -90, 23, -70, -90, -90, -90,
|
||||||
-89, 239, -89, -89, -89, -89, -89, -89, -89, 130,
|
-90, 243, -90, -90, -90, -90, -90, -90, -90, -48,
|
||||||
-89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
|
-90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
|
||||||
-89, 181, -89, -89, -89, -89, -89, 199, 229, 16,
|
-90, -20, -90, -90, -90, -90, -90, 206, 205, -68,
|
||||||
162, -1, 74, -7, 103, -65, -88, -89
|
-90, -90, 169, -1, 27, -7, 118, -66, -89, -90
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
||||||
positive, shift that token. If negative, reduce the rule which
|
positive, shift that token. If negative, reduce the rule which
|
||||||
number is the opposite. If zero, do what YYDEFACT says.
|
number is the opposite. If zero, do what YYDEFACT says.
|
||||||
If YYTABLE_NINF, syntax error. */
|
If YYTABLE_NINF, syntax error. */
|
||||||
#define YYTABLE_NINF -85
|
#define YYTABLE_NINF -86
|
||||||
static const yytype_int16 yytable[] =
|
static const yytype_int16 yytable[] =
|
||||||
{
|
{
|
||||||
10, 87, 88, 53, 141, 142, 1, 64, 65, 160,
|
10, 88, 89, 54, 146, 147, 119, 1, 122, 164,
|
||||||
1, 66, 55, 92, 57, 151, 67, 61, 118, 93,
|
93, 141, 56, 142, 58, 156, 94, 62, 1, 90,
|
||||||
11, 131, 2, 131, 139, 140, 89, 90, 138, 8,
|
91, 131, 65, 66, 144, 145, 67, 90, 91, 132,
|
||||||
9, 89, 90, 2, -30, 96, 149, 51, -30, -30,
|
127, 68, 136, -31, 97, 2, 154, -31, -31, -31,
|
||||||
-30, -30, -30, -30, -30, -30, 97, 54, -30, -30,
|
-31, -31, -31, -31, -31, 98, 52, -31, -31, 99,
|
||||||
98, -30, 99, 100, 101, 102, 103, 104, 56, 105,
|
-31, 100, 101, 102, 103, 104, -31, 105, 129, 106,
|
||||||
167, 91, 58, 166, 106, 168, 60, -32, 96, 64,
|
138, 173, 92, 141, 107, 142, 174, 172, 8, 9,
|
||||||
65, -32, -32, -32, -32, -32, -32, -32, -32, 97,
|
143, -33, 97, 90, 91, -33, -33, -33, -33, -33,
|
||||||
159, -32, -32, 98, -32, 99, 100, 101, 102, 103,
|
-33, -33, -33, 98, 166, -33, -33, 99, -33, 100,
|
||||||
104, 121, 105, 62, 132, 174, 132, 106, 146, 70,
|
101, 102, 103, 104, -33, 105, 11, 106, 179, 151,
|
||||||
-5, 12, 89, 90, 13, 14, 15, 16, 17, 18,
|
123, 126, 107, 135, 125, 130, 2, 139, 2, 90,
|
||||||
19, 20, 63, 156, 21, 22, 23, 24, 25, 26,
|
91, -5, 12, 55, 161, 13, 14, 15, 16, 17,
|
||||||
27, 28, 29, 122, 125, 30, 133, -4, 12, 71,
|
18, 19, 20, 65, 66, 21, 22, 23, 24, 25,
|
||||||
31, 13, 14, 15, 16, 17, 18, 19, 20, 72,
|
26, 27, 28, 29, 30, 57, 59, 31, 61, -4,
|
||||||
51, 21, 22, 23, 24, 25, 26, 27, 28, 29,
|
12, 63, 32, 13, 14, 15, 16, 17, 18, 19,
|
||||||
124, 129, 30, 137, -84, 96, 81, 31, -84, -84,
|
20, 64, 71, 21, 22, 23, 24, 25, 26, 27,
|
||||||
-84, -84, -84, -84, -84, -84, 82, 83, -84, -84,
|
28, 29, 30, 72, 73, 31, 180, 90, 91, 52,
|
||||||
98, -84, -84, -84, -84, -84, -84, 84, 184, 105,
|
32, -85, 97, 82, 83, -85, -85, -85, -85, -85,
|
||||||
85, 96, 86, 94, 130, -51, -51, 95, -51, -51,
|
-85, -85, -85, 84, 190, -85, -85, 99, -85, -85,
|
||||||
-51, -51, 97, 143, -51, -51, 98, 113, 114, 115,
|
-85, -85, -85, -85, -85, 85, 97, 106, 86, 87,
|
||||||
116, 2, 89, 90, 144, 105, 145, 126, 96, 134,
|
-52, -52, 140, -52, -52, -52, -52, 98, 95, -52,
|
||||||
117, -75, -75, -75, -75, -75, -75, -75, -75, 150,
|
-52, 99, 114, 115, 116, 117, 96, 148, 149, 150,
|
||||||
153, -75, -75, 98, 13, 14, 15, 16, 17, 18,
|
158, 106, 155, 159, 97, 163, 118, -76, -76, -76,
|
||||||
19, 20, 105, 155, 21, 22, 154, 130, 14, 15,
|
-76, -76, -76, -76, -76, 160, 164, -76, -76, 99,
|
||||||
158, 17, 18, 19, 20, 90, 160, 21, 22, 179,
|
13, 14, 15, 16, 17, 18, 19, 20, 91, 106,
|
||||||
31, 163, 164, 165, 173, 89, 90, 162, 128, 170,
|
21, 22, 14, 15, 140, 17, 18, 19, 20, 168,
|
||||||
136, 172, 52, 31, 169, 171, 175, 176, 177, 178,
|
175, 21, 22, 177, 181, 182, 183, 32, 187, 167,
|
||||||
181, 182, 183, 50, 120, 74, 80, 157
|
188, 169, 170, 171, 185, 189, 53, 51, 32, 176,
|
||||||
|
75, 178, 121, 0, 133, 162, 0, 0, 0, 0,
|
||||||
|
184
|
||||||
};
|
};
|
||||||
|
|
||||||
static const yytype_uint8 yycheck[] =
|
static const yytype_int16 yycheck[] =
|
||||||
{
|
{
|
||||||
1, 66, 67, 10, 92, 93, 3, 25, 26, 14,
|
1, 67, 68, 10, 93, 94, 76, 3, 76, 14,
|
||||||
3, 29, 13, 27, 15, 103, 34, 18, 75, 33,
|
28, 81, 13, 81, 15, 104, 34, 18, 3, 32,
|
||||||
0, 78, 30, 80, 89, 90, 31, 32, 28, 25,
|
33, 23, 26, 27, 90, 91, 30, 32, 33, 31,
|
||||||
26, 31, 32, 30, 0, 1, 101, 30, 4, 5,
|
78, 35, 80, 0, 1, 31, 102, 4, 5, 6,
|
||||||
6, 7, 8, 9, 10, 11, 12, 30, 14, 15,
|
7, 8, 9, 10, 11, 12, 31, 14, 15, 16,
|
||||||
16, 17, 18, 19, 20, 21, 22, 23, 30, 25,
|
17, 18, 19, 20, 21, 22, 23, 24, 78, 26,
|
||||||
25, 68, 25, 151, 30, 30, 30, 0, 1, 25,
|
80, 26, 69, 133, 31, 133, 31, 156, 26, 27,
|
||||||
26, 4, 5, 6, 7, 8, 9, 10, 11, 12,
|
29, 0, 1, 32, 33, 4, 5, 6, 7, 8,
|
||||||
145, 14, 15, 16, 17, 18, 19, 20, 21, 22,
|
9, 10, 11, 12, 150, 14, 15, 16, 17, 18,
|
||||||
23, 75, 25, 25, 78, 160, 80, 30, 99, 30,
|
19, 20, 21, 22, 23, 24, 0, 26, 164, 100,
|
||||||
0, 1, 31, 32, 4, 5, 6, 7, 8, 9,
|
77, 78, 31, 80, 77, 78, 31, 80, 31, 32,
|
||||||
10, 11, 25, 114, 14, 15, 16, 17, 18, 19,
|
33, 0, 1, 31, 115, 4, 5, 6, 7, 8,
|
||||||
20, 21, 22, 76, 77, 25, 79, 0, 1, 1,
|
9, 10, 11, 26, 27, 14, 15, 16, 17, 18,
|
||||||
30, 4, 5, 6, 7, 8, 9, 10, 11, 1,
|
19, 20, 21, 22, 23, 31, 26, 26, 31, 0,
|
||||||
30, 14, 15, 16, 17, 18, 19, 20, 21, 22,
|
1, 26, 31, 4, 5, 6, 7, 8, 9, 10,
|
||||||
76, 77, 25, 79, 0, 1, 30, 30, 4, 5,
|
11, 26, 31, 14, 15, 16, 17, 18, 19, 20,
|
||||||
6, 7, 8, 9, 10, 11, 30, 30, 14, 15,
|
21, 22, 23, 1, 1, 26, 31, 32, 33, 31,
|
||||||
16, 17, 18, 19, 20, 21, 22, 30, 179, 25,
|
31, 0, 1, 31, 31, 4, 5, 6, 7, 8,
|
||||||
30, 1, 30, 30, 30, 5, 6, 30, 8, 9,
|
9, 10, 11, 31, 185, 14, 15, 16, 17, 18,
|
||||||
10, 11, 12, 30, 14, 15, 16, 17, 18, 19,
|
19, 20, 21, 22, 23, 31, 1, 26, 31, 31,
|
||||||
20, 30, 31, 32, 30, 25, 24, 77, 1, 79,
|
5, 6, 31, 8, 9, 10, 11, 12, 31, 14,
|
||||||
30, 4, 5, 6, 7, 8, 9, 10, 11, 25,
|
15, 16, 17, 18, 19, 20, 31, 31, 31, 25,
|
||||||
1, 14, 15, 16, 4, 5, 6, 7, 8, 9,
|
1, 26, 26, 13, 1, 26, 31, 4, 5, 6,
|
||||||
10, 11, 25, 30, 14, 15, 13, 30, 5, 6,
|
7, 8, 9, 10, 11, 31, 14, 14, 15, 16,
|
||||||
25, 8, 9, 10, 11, 32, 14, 14, 15, 33,
|
4, 5, 6, 7, 8, 9, 10, 11, 33, 26,
|
||||||
30, 148, 149, 150, 30, 31, 32, 30, 77, 156,
|
14, 15, 5, 6, 31, 8, 9, 10, 11, 31,
|
||||||
79, 158, 7, 30, 30, 30, 30, 30, 30, 166,
|
31, 14, 15, 31, 31, 31, 31, 31, 31, 151,
|
||||||
30, 30, 30, 6, 75, 36, 47, 115
|
31, 153, 154, 155, 34, 31, 7, 6, 31, 161,
|
||||||
|
37, 163, 76, -1, 79, 116, -1, -1, -1, -1,
|
||||||
|
172
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
|
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
|
||||||
symbol of state STATE-NUM. */
|
symbol of state STATE-NUM. */
|
||||||
static const yytype_uint8 yystos[] =
|
static const yytype_uint8 yystos[] =
|
||||||
{
|
{
|
||||||
0, 3, 30, 36, 37, 38, 62, 78, 25, 26,
|
0, 3, 31, 37, 38, 39, 63, 81, 26, 27,
|
||||||
76, 0, 1, 4, 5, 6, 7, 8, 9, 10,
|
79, 0, 1, 4, 5, 6, 7, 8, 9, 10,
|
||||||
11, 14, 15, 16, 17, 18, 19, 20, 21, 22,
|
11, 14, 15, 16, 17, 18, 19, 20, 21, 22,
|
||||||
25, 30, 39, 40, 42, 43, 44, 45, 51, 52,
|
23, 26, 31, 40, 41, 43, 44, 45, 46, 52,
|
||||||
54, 58, 60, 63, 64, 66, 68, 69, 70, 77,
|
53, 55, 59, 61, 64, 65, 67, 69, 70, 71,
|
||||||
38, 30, 37, 78, 30, 76, 30, 76, 25, 82,
|
80, 39, 31, 38, 81, 31, 79, 31, 79, 26,
|
||||||
30, 76, 25, 25, 25, 26, 29, 34, 80, 81,
|
85, 31, 79, 26, 26, 26, 27, 30, 35, 83,
|
||||||
30, 1, 1, 46, 46, 55, 57, 61, 73, 67,
|
84, 31, 1, 1, 47, 47, 56, 58, 62, 76,
|
||||||
73, 30, 30, 30, 30, 30, 30, 80, 80, 31,
|
68, 74, 31, 31, 31, 31, 31, 31, 83, 83,
|
||||||
32, 78, 27, 33, 30, 30, 1, 12, 16, 18,
|
32, 33, 81, 28, 34, 31, 31, 1, 12, 16,
|
||||||
19, 20, 21, 22, 23, 25, 30, 41, 47, 48,
|
18, 19, 20, 21, 22, 24, 26, 31, 42, 48,
|
||||||
71, 72, 74, 17, 18, 19, 20, 30, 41, 56,
|
49, 72, 73, 75, 17, 18, 19, 20, 31, 42,
|
||||||
72, 74, 40, 53, 77, 40, 54, 59, 66, 77,
|
57, 73, 75, 41, 54, 80, 41, 55, 60, 67,
|
||||||
30, 41, 74, 40, 54, 65, 66, 77, 28, 80,
|
80, 23, 31, 74, 77, 41, 55, 66, 67, 80,
|
||||||
80, 81, 81, 30, 30, 24, 76, 75, 76, 80,
|
31, 42, 75, 29, 83, 83, 84, 84, 31, 31,
|
||||||
25, 81, 49, 1, 13, 30, 76, 75, 25, 80,
|
25, 79, 78, 79, 83, 26, 84, 50, 1, 13,
|
||||||
14, 79, 30, 79, 79, 79, 81, 25, 30, 30,
|
31, 79, 78, 26, 14, 82, 83, 82, 31, 82,
|
||||||
79, 30, 79, 30, 80, 30, 30, 30, 79, 33,
|
82, 82, 84, 26, 31, 31, 82, 31, 82, 83,
|
||||||
50, 30, 30, 30, 76
|
31, 31, 31, 31, 82, 34, 51, 31, 31, 31,
|
||||||
|
79
|
||||||
};
|
};
|
||||||
|
|
||||||
#define yyerrok (yyerrstatus = 0)
|
#define yyerrok (yyerrstatus = 0)
|
||||||
|
@ -1292,7 +1302,7 @@ yydestruct (yymsg, yytype, yyvaluep)
|
||||||
|
|
||||||
switch (yytype)
|
switch (yytype)
|
||||||
{
|
{
|
||||||
case 52: /* "choice_entry" */
|
case 53: /* "choice_entry" */
|
||||||
|
|
||||||
{
|
{
|
||||||
fprintf(stderr, "%s:%d: missing end statement for this entry\n",
|
fprintf(stderr, "%s:%d: missing end statement for this entry\n",
|
||||||
|
@ -1302,7 +1312,7 @@ yydestruct (yymsg, yytype, yyvaluep)
|
||||||
};
|
};
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 58: /* "if_entry" */
|
case 59: /* "if_entry" */
|
||||||
|
|
||||||
{
|
{
|
||||||
fprintf(stderr, "%s:%d: missing end statement for this entry\n",
|
fprintf(stderr, "%s:%d: missing end statement for this entry\n",
|
||||||
|
@ -1312,7 +1322,7 @@ yydestruct (yymsg, yytype, yyvaluep)
|
||||||
};
|
};
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 64: /* "menu_entry" */
|
case 65: /* "menu_entry" */
|
||||||
|
|
||||||
{
|
{
|
||||||
fprintf(stderr, "%s:%d: missing end statement for this entry\n",
|
fprintf(stderr, "%s:%d: missing end statement for this entry\n",
|
||||||
|
@ -1644,17 +1654,17 @@ yyreduce:
|
||||||
{ zconf_error("invalid statement"); ;}
|
{ zconf_error("invalid statement"); ;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 27:
|
case 28:
|
||||||
|
|
||||||
{ zconf_error("unknown option \"%s\"", (yyvsp[(1) - (3)].string)); ;}
|
{ zconf_error("unknown option \"%s\"", (yyvsp[(1) - (3)].string)); ;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 28:
|
case 29:
|
||||||
|
|
||||||
{ zconf_error("invalid option"); ;}
|
{ zconf_error("invalid option"); ;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 29:
|
case 30:
|
||||||
|
|
||||||
{
|
{
|
||||||
struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0);
|
struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0);
|
||||||
|
@ -1664,7 +1674,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 30:
|
case 31:
|
||||||
|
|
||||||
{
|
{
|
||||||
menu_end_entry();
|
menu_end_entry();
|
||||||
|
@ -1672,7 +1682,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 31:
|
case 32:
|
||||||
|
|
||||||
{
|
{
|
||||||
struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0);
|
struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0);
|
||||||
|
@ -1682,7 +1692,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 32:
|
case 33:
|
||||||
|
|
||||||
{
|
{
|
||||||
if (current_entry->prompt)
|
if (current_entry->prompt)
|
||||||
|
@ -1694,7 +1704,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 40:
|
case 41:
|
||||||
|
|
||||||
{
|
{
|
||||||
menu_set_type((yyvsp[(1) - (3)].id)->stype);
|
menu_set_type((yyvsp[(1) - (3)].id)->stype);
|
||||||
|
@ -1704,7 +1714,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 41:
|
case 42:
|
||||||
|
|
||||||
{
|
{
|
||||||
menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr));
|
menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr));
|
||||||
|
@ -1712,7 +1722,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 42:
|
case 43:
|
||||||
|
|
||||||
{
|
{
|
||||||
menu_add_expr(P_DEFAULT, (yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr));
|
menu_add_expr(P_DEFAULT, (yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr));
|
||||||
|
@ -1724,7 +1734,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 43:
|
case 44:
|
||||||
|
|
||||||
{
|
{
|
||||||
menu_add_symbol(P_SELECT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr));
|
menu_add_symbol(P_SELECT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr));
|
||||||
|
@ -1732,7 +1742,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 44:
|
case 45:
|
||||||
|
|
||||||
{
|
{
|
||||||
menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[(2) - (5)].symbol), (yyvsp[(3) - (5)].symbol)), (yyvsp[(4) - (5)].expr));
|
menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[(2) - (5)].symbol), (yyvsp[(3) - (5)].symbol)), (yyvsp[(4) - (5)].expr));
|
||||||
|
@ -1740,7 +1750,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 47:
|
case 48:
|
||||||
|
|
||||||
{
|
{
|
||||||
struct kconf_id *id = kconf_id_lookup((yyvsp[(2) - (3)].string), strlen((yyvsp[(2) - (3)].string)));
|
struct kconf_id *id = kconf_id_lookup((yyvsp[(2) - (3)].string), strlen((yyvsp[(2) - (3)].string)));
|
||||||
|
@ -1752,17 +1762,17 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 48:
|
case 49:
|
||||||
|
|
||||||
{ (yyval.string) = NULL; ;}
|
{ (yyval.string) = NULL; ;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 49:
|
case 50:
|
||||||
|
|
||||||
{ (yyval.string) = (yyvsp[(2) - (2)].string); ;}
|
{ (yyval.string) = (yyvsp[(2) - (2)].string); ;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 50:
|
case 51:
|
||||||
|
|
||||||
{
|
{
|
||||||
struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), SYMBOL_CHOICE);
|
struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), SYMBOL_CHOICE);
|
||||||
|
@ -1773,14 +1783,14 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 51:
|
case 52:
|
||||||
|
|
||||||
{
|
{
|
||||||
(yyval.menu) = menu_add_menu();
|
(yyval.menu) = menu_add_menu();
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 52:
|
case 53:
|
||||||
|
|
||||||
{
|
{
|
||||||
if (zconf_endtoken((yyvsp[(1) - (1)].id), T_CHOICE, T_ENDCHOICE)) {
|
if (zconf_endtoken((yyvsp[(1) - (1)].id), T_CHOICE, T_ENDCHOICE)) {
|
||||||
|
@ -1790,7 +1800,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 60:
|
case 61:
|
||||||
|
|
||||||
{
|
{
|
||||||
menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr));
|
menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr));
|
||||||
|
@ -1798,7 +1808,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 61:
|
case 62:
|
||||||
|
|
||||||
{
|
{
|
||||||
if ((yyvsp[(1) - (3)].id)->stype == S_BOOLEAN || (yyvsp[(1) - (3)].id)->stype == S_TRISTATE) {
|
if ((yyvsp[(1) - (3)].id)->stype == S_BOOLEAN || (yyvsp[(1) - (3)].id)->stype == S_TRISTATE) {
|
||||||
|
@ -1811,7 +1821,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 62:
|
case 63:
|
||||||
|
|
||||||
{
|
{
|
||||||
current_entry->sym->flags |= SYMBOL_OPTIONAL;
|
current_entry->sym->flags |= SYMBOL_OPTIONAL;
|
||||||
|
@ -1819,7 +1829,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 63:
|
case 64:
|
||||||
|
|
||||||
{
|
{
|
||||||
if ((yyvsp[(1) - (4)].id)->stype == S_UNKNOWN) {
|
if ((yyvsp[(1) - (4)].id)->stype == S_UNKNOWN) {
|
||||||
|
@ -1831,7 +1841,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 66:
|
case 67:
|
||||||
|
|
||||||
{
|
{
|
||||||
printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno());
|
printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno());
|
||||||
|
@ -1841,7 +1851,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 67:
|
case 68:
|
||||||
|
|
||||||
{
|
{
|
||||||
if (zconf_endtoken((yyvsp[(1) - (1)].id), T_IF, T_ENDIF)) {
|
if (zconf_endtoken((yyvsp[(1) - (1)].id), T_IF, T_ENDIF)) {
|
||||||
|
@ -1851,14 +1861,14 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 73:
|
case 74:
|
||||||
|
|
||||||
{
|
{
|
||||||
menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL);
|
menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL);
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 74:
|
case 75:
|
||||||
|
|
||||||
{
|
{
|
||||||
menu_add_entry(NULL);
|
menu_add_entry(NULL);
|
||||||
|
@ -1867,14 +1877,14 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 75:
|
case 76:
|
||||||
|
|
||||||
{
|
{
|
||||||
(yyval.menu) = menu_add_menu();
|
(yyval.menu) = menu_add_menu();
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 76:
|
case 77:
|
||||||
|
|
||||||
{
|
{
|
||||||
if (zconf_endtoken((yyvsp[(1) - (1)].id), T_MENU, T_ENDMENU)) {
|
if (zconf_endtoken((yyvsp[(1) - (1)].id), T_MENU, T_ENDMENU)) {
|
||||||
|
@ -1884,7 +1894,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 82:
|
case 83:
|
||||||
|
|
||||||
{
|
{
|
||||||
printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
|
printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
|
||||||
|
@ -1892,7 +1902,7 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 83:
|
case 84:
|
||||||
|
|
||||||
{
|
{
|
||||||
menu_add_entry(NULL);
|
menu_add_entry(NULL);
|
||||||
|
@ -1901,14 +1911,14 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 84:
|
case 85:
|
||||||
|
|
||||||
{
|
{
|
||||||
menu_end_entry();
|
menu_end_entry();
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 85:
|
case 86:
|
||||||
|
|
||||||
{
|
{
|
||||||
printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno());
|
printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno());
|
||||||
|
@ -1916,14 +1926,14 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 86:
|
case 87:
|
||||||
|
|
||||||
{
|
{
|
||||||
current_entry->help = (yyvsp[(2) - (2)].string);
|
current_entry->help = (yyvsp[(2) - (2)].string);
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 91:
|
case 92:
|
||||||
|
|
||||||
{
|
{
|
||||||
menu_add_dep((yyvsp[(3) - (4)].expr));
|
menu_add_dep((yyvsp[(3) - (4)].expr));
|
||||||
|
@ -1931,85 +1941,92 @@ yyreduce:
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 93:
|
case 96:
|
||||||
|
|
||||||
|
{
|
||||||
|
menu_add_visibility((yyvsp[(2) - (2)].expr));
|
||||||
|
;}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 98:
|
||||||
|
|
||||||
{
|
{
|
||||||
menu_add_prompt(P_PROMPT, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].expr));
|
menu_add_prompt(P_PROMPT, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].expr));
|
||||||
;}
|
;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 96:
|
|
||||||
|
|
||||||
{ (yyval.id) = (yyvsp[(1) - (2)].id); ;}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 97:
|
|
||||||
|
|
||||||
{ (yyval.id) = (yyvsp[(1) - (2)].id); ;}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 98:
|
|
||||||
|
|
||||||
{ (yyval.id) = (yyvsp[(1) - (2)].id); ;}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 101:
|
case 101:
|
||||||
|
|
||||||
{ (yyval.expr) = NULL; ;}
|
{ (yyval.id) = (yyvsp[(1) - (2)].id); ;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 102:
|
case 102:
|
||||||
|
|
||||||
{ (yyval.expr) = (yyvsp[(2) - (2)].expr); ;}
|
{ (yyval.id) = (yyvsp[(1) - (2)].id); ;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 103:
|
case 103:
|
||||||
|
|
||||||
{ (yyval.expr) = expr_alloc_symbol((yyvsp[(1) - (1)].symbol)); ;}
|
{ (yyval.id) = (yyvsp[(1) - (2)].id); ;}
|
||||||
break;
|
|
||||||
|
|
||||||
case 104:
|
|
||||||
|
|
||||||
{ (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 105:
|
|
||||||
|
|
||||||
{ (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 106:
|
case 106:
|
||||||
|
|
||||||
{ (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
|
{ (yyval.expr) = NULL; ;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 107:
|
case 107:
|
||||||
|
|
||||||
{ (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[(2) - (2)].expr)); ;}
|
{ (yyval.expr) = (yyvsp[(2) - (2)].expr); ;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 108:
|
case 108:
|
||||||
|
|
||||||
{ (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
|
{ (yyval.expr) = expr_alloc_symbol((yyvsp[(1) - (1)].symbol)); ;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 109:
|
case 109:
|
||||||
|
|
||||||
{ (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
|
{ (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 110:
|
case 110:
|
||||||
|
|
||||||
{ (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 0); free((yyvsp[(1) - (1)].string)); ;}
|
{ (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 111:
|
case 111:
|
||||||
|
|
||||||
{ (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), SYMBOL_CONST); free((yyvsp[(1) - (1)].string)); ;}
|
{ (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 112:
|
case 112:
|
||||||
|
|
||||||
|
{ (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[(2) - (2)].expr)); ;}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 113:
|
||||||
|
|
||||||
|
{ (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 114:
|
||||||
|
|
||||||
|
{ (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 115:
|
||||||
|
|
||||||
|
{ (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 0); free((yyvsp[(1) - (1)].string)); ;}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 116:
|
||||||
|
|
||||||
|
{ (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), SYMBOL_CONST); free((yyvsp[(1) - (1)].string)); ;}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 117:
|
||||||
|
|
||||||
{ (yyval.string) = NULL; ;}
|
{ (yyval.string) = NULL; ;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -2278,6 +2295,7 @@ static const char *zconf_tokenname(int token)
|
||||||
case T_IF: return "if";
|
case T_IF: return "if";
|
||||||
case T_ENDIF: return "endif";
|
case T_ENDIF: return "endif";
|
||||||
case T_DEPENDS: return "depends";
|
case T_DEPENDS: return "depends";
|
||||||
|
case T_VISIBLE: return "visible";
|
||||||
}
|
}
|
||||||
return "<token>";
|
return "<token>";
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ static struct menu *current_menu, *current_entry;
|
||||||
#define YYERROR_VERBOSE
|
#define YYERROR_VERBOSE
|
||||||
#endif
|
#endif
|
||||||
%}
|
%}
|
||||||
%expect 28
|
%expect 30
|
||||||
|
|
||||||
%union
|
%union
|
||||||
{
|
{
|
||||||
|
@ -68,6 +68,7 @@ static struct menu *current_menu, *current_entry;
|
||||||
%token <id>T_DEFAULT
|
%token <id>T_DEFAULT
|
||||||
%token <id>T_SELECT
|
%token <id>T_SELECT
|
||||||
%token <id>T_RANGE
|
%token <id>T_RANGE
|
||||||
|
%token <id>T_VISIBLE
|
||||||
%token <id>T_OPTION
|
%token <id>T_OPTION
|
||||||
%token <id>T_ON
|
%token <id>T_ON
|
||||||
%token <string> T_WORD
|
%token <string> T_WORD
|
||||||
|
@ -123,7 +124,7 @@ stmt_list:
|
||||||
;
|
;
|
||||||
|
|
||||||
option_name:
|
option_name:
|
||||||
T_DEPENDS | T_PROMPT | T_TYPE | T_SELECT | T_OPTIONAL | T_RANGE | T_DEFAULT
|
T_DEPENDS | T_PROMPT | T_TYPE | T_SELECT | T_OPTIONAL | T_RANGE | T_DEFAULT | T_VISIBLE
|
||||||
;
|
;
|
||||||
|
|
||||||
common_stmt:
|
common_stmt:
|
||||||
|
@ -359,7 +360,7 @@ menu: T_MENU prompt T_EOL
|
||||||
printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno());
|
printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno());
|
||||||
};
|
};
|
||||||
|
|
||||||
menu_entry: menu depends_list
|
menu_entry: menu visibility_list depends_list
|
||||||
{
|
{
|
||||||
$$ = menu_add_menu();
|
$$ = menu_add_menu();
|
||||||
};
|
};
|
||||||
|
@ -430,6 +431,19 @@ depends: T_DEPENDS T_ON expr T_EOL
|
||||||
printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno());
|
printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* visibility option */
|
||||||
|
|
||||||
|
visibility_list:
|
||||||
|
/* empty */
|
||||||
|
| visibility_list visible
|
||||||
|
| visibility_list T_EOL
|
||||||
|
;
|
||||||
|
|
||||||
|
visible: T_VISIBLE if_expr
|
||||||
|
{
|
||||||
|
menu_add_visibility($2);
|
||||||
|
};
|
||||||
|
|
||||||
/* prompt statement */
|
/* prompt statement */
|
||||||
|
|
||||||
prompt_stmt_opt:
|
prompt_stmt_opt:
|
||||||
|
@ -526,6 +540,7 @@ static const char *zconf_tokenname(int token)
|
||||||
case T_IF: return "if";
|
case T_IF: return "if";
|
||||||
case T_ENDIF: return "endif";
|
case T_ENDIF: return "endif";
|
||||||
case T_DEPENDS: return "depends";
|
case T_DEPENDS: return "depends";
|
||||||
|
case T_VISIBLE: return "visible";
|
||||||
}
|
}
|
||||||
return "<token>";
|
return "<token>";
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,14 +22,15 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/stringify.h>
|
#include <linux/stringify.h>
|
||||||
|
#include <asm-generic/vmlinux.lds.h>
|
||||||
|
|
||||||
.section .init.ramfs,"a"
|
.section .init.ramfs,"a"
|
||||||
__irf_start:
|
__irf_start:
|
||||||
.incbin __stringify(INITRAMFS_IMAGE)
|
.incbin __stringify(INITRAMFS_IMAGE)
|
||||||
__irf_end:
|
__irf_end:
|
||||||
.section .init.ramfs.info,"a"
|
.section .init.ramfs.info,"a"
|
||||||
.globl __initramfs_size
|
.globl VMLINUX_SYMBOL(__initramfs_size)
|
||||||
__initramfs_size:
|
VMLINUX_SYMBOL(__initramfs_size):
|
||||||
#ifdef CONFIG_64BIT
|
#ifdef CONFIG_64BIT
|
||||||
.quad __irf_end - __irf_start
|
.quad __irf_end - __irf_start
|
||||||
#else
|
#else
|
||||||
|
|
Loading…
Reference in a new issue