diff options
author | Roman Zippel <zippel@linux-m68k.org> | 2003-03-15 01:17:18 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-03-15 01:17:18 -0800 |
commit | bbc115e93ae7844038127301294f9c116db9f5ec (patch) | |
tree | 45a936f3e3675494c66d074c7ba2b3e592293954 /scripts | |
parent | 8f5aa8efddb24a0e46396a037cc1b2f089f23f41 (diff) | |
download | history-bbc115e93ae7844038127301294f9c116db9f5ec.tar.gz |
[PATCH] add menuconfig support
This adds the support for the menuconfig keyword, which allows to define
a config symbol and a submenu with a single step, e.g. instead of
menu "SCSI device support"
config SCSI
tristate "SCSI device support"
this is now enough:
menuconfig SCSI
tristate "SCSI device support"
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/kconfig/expr.h | 4 | ||||
-rw-r--r-- | scripts/kconfig/lex.zconf.c_shipped | 1104 | ||||
-rw-r--r-- | scripts/kconfig/symbol.c | 3 | ||||
-rw-r--r-- | scripts/kconfig/zconf.l | 4 | ||||
-rw-r--r-- | scripts/kconfig/zconf.tab.c_shipped | 1119 | ||||
-rw-r--r-- | scripts/kconfig/zconf.y | 24 |
6 files changed, 1236 insertions, 1022 deletions
diff --git a/scripts/kconfig/expr.h b/scripts/kconfig/expr.h index 896a296d17c52..373e8346d5b31 100644 --- a/scripts/kconfig/expr.h +++ b/scripts/kconfig/expr.h @@ -155,9 +155,11 @@ struct property { #define for_all_properties(sym, st, tok) \ for (st = sym->prop; st; st = st->next) \ if (st->type == (tok)) -#define for_all_prompts(sym, st) for_all_properties(sym, st, P_PROMPT) #define for_all_defaults(sym, st) for_all_properties(sym, st, P_DEFAULT) #define for_all_choices(sym, st) for_all_properties(sym, st, P_CHOICE) +#define for_all_prompts(sym, st) \ + for (st = sym->prop; st; st = st->next) \ + if (st->text) struct menu { struct menu *next; diff --git a/scripts/kconfig/lex.zconf.c_shipped b/scripts/kconfig/lex.zconf.c_shipped index 290d48114aab4..b0300b6ca490f 100644 --- a/scripts/kconfig/lex.zconf.c_shipped +++ b/scripts/kconfig/lex.zconf.c_shipped @@ -357,18 +357,18 @@ static yyconst short yy_nxt[][37] = }, { - 11, 38, 38, 39, 40, 41, 38, 42, 41, 43, - 44, 45, 46, 46, 47, 48, 46, 46, 46, 46, - 46, 46, 46, 46, 49, 46, 46, 46, 50, 46, - 46, 46, 46, 46, 46, 46, 51 + 11, 38, 38, 39, 40, 41, 42, 43, 41, 44, + 45, 46, 47, 47, 48, 49, 47, 47, 47, 47, + 47, 47, 47, 47, 50, 47, 47, 47, 51, 47, + 47, 47, 47, 47, 47, 47, 52 }, { - 11, 38, 38, 39, 40, 41, 38, 42, 41, 43, - 44, 45, 46, 46, 47, 48, 46, 46, 46, 46, - 46, 46, 46, 46, 49, 46, 46, 46, 50, 46, - 46, 46, 46, 46, 46, 46, 51 + 11, 38, 38, 39, 40, 41, 42, 43, 41, 44, + 45, 46, 47, 47, 48, 49, 47, 47, 47, 47, + 47, 47, 47, 47, 50, 47, 47, 47, 51, 47, + 47, 47, 47, 47, 47, 47, 52 }, { @@ -387,7 +387,7 @@ static yyconst short yy_nxt[][37] = }, { - 11, -13, 52, 53, -13, -13, 54, -13, -13, -13, + 11, -13, 53, 54, -13, -13, 55, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13 @@ -402,10 +402,10 @@ static yyconst short yy_nxt[][37] = }, { - 11, 55, 55, 56, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55 + 11, 56, 56, 57, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56 }, { @@ -425,109 +425,109 @@ static yyconst short yy_nxt[][37] = { 11, -18, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, 57, -18, -18, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -18 + -18, -18, -18, 58, -18, -18, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -18 }, { 11, -19, -19, -19, -19, -19, -19, -19, -19, -19, - -19, -19, -19, 57, -19, -19, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 58, 57, - 57, 57, 57, 57, 57, 57, -19 + -19, -19, -19, 58, -19, -19, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 59, 58, + 58, 58, 58, 58, 58, 58, -19 }, { 11, -20, -20, -20, -20, -20, -20, -20, -20, -20, - -20, -20, -20, 57, -20, -20, 57, 57, 57, 57, - 57, 57, 57, 59, 57, 57, 57, 57, 60, 57, - 57, 57, 57, 57, 57, 57, -20 + -20, -20, -20, 58, -20, -20, 58, 58, 58, 58, + 58, 58, 58, 60, 58, 58, 58, 58, 61, 58, + 58, 58, 58, 58, 58, 58, -20 }, { 11, -21, -21, -21, -21, -21, -21, -21, -21, -21, - -21, -21, -21, 57, -21, -21, 57, 57, 57, 57, - 61, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -21 + -21, -21, -21, 58, -21, -21, 58, 58, 58, 58, + 62, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -21 }, { 11, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, 57, -22, -22, 57, 57, 57, 57, + -22, -22, -22, 58, -22, -22, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 62, 57, 57, - 57, 57, 57, 57, 57, 57, -22 + 58, 58, 58, 58, 58, 58, 58, 63, 58, 58, + 58, 58, 58, 58, 58, 58, -22 }, { 11, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, 57, -23, -23, 57, 57, 57, 57, - 63, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -23 + -23, -23, -23, 58, -23, -23, 58, 58, 58, 58, + 64, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -23 }, { 11, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, 57, -24, -24, 57, 57, 57, 57, - 57, 64, 57, 57, 57, 57, 57, 65, 57, 57, - 57, 57, 57, 57, 57, 57, -24 + -24, -24, -24, 58, -24, -24, 58, 58, 58, 58, + 58, 65, 58, 58, 58, 58, 58, 66, 58, 58, + 58, 58, 58, 58, 58, 58, -24 }, { 11, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, 57, -25, -25, 66, 57, 57, 57, - 67, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -25 + -25, -25, -25, 58, -25, -25, 67, 58, 58, 58, + 68, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -25 }, { 11, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, 57, -26, -26, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 68, - 57, 57, 57, 57, 57, 57, -26 + -26, -26, -26, 58, -26, -26, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 69, + 58, 58, 58, 58, 58, 58, -26 }, { 11, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, 57, -27, -27, 57, 57, 57, 57, + -27, -27, -27, 58, -27, -27, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 69, 57, 57, 57, 57, -27 + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 70, 58, 58, 58, 58, -27 }, { 11, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, 57, -28, -28, 57, 57, 57, 57, - 70, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -28 + -28, -28, -28, 58, -28, -28, 58, 58, 58, 58, + 71, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -28 }, { 11, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, 57, -29, -29, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 71, 57, - 57, 57, 57, 72, 57, 57, -29 + -29, -29, -29, 58, -29, -29, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 72, 58, + 58, 58, 58, 73, 58, 58, -29 }, { 11, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, 57, -30, -30, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 73, 57, 57, 57, 57, -30 + -30, -30, -30, 58, -30, -30, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 74, 58, 58, 58, 58, -30 }, { - 11, 74, 74, -31, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74 + 11, 75, 75, -31, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75 }, { - 11, -32, 75, 76, -32, -32, -32, -32, -32, -32, + 11, -32, 76, 77, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, @@ -535,17 +535,17 @@ static yyconst short yy_nxt[][37] = }, { - 11, 77, -33, -33, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77 + 11, 78, -33, -33, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78 }, { - 11, 78, 78, 79, 78, -34, 78, 78, -34, 78, - 78, 78, 78, 78, 78, -34, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78 + 11, 79, 79, 80, 79, -34, 79, 79, -34, 79, + 79, 79, 79, 79, 79, -34, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79 }, @@ -564,11 +564,11 @@ static yyconst short yy_nxt[][37] = }, { - 11, 80, 80, 81, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 11, 81, 81, 82, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80 + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81 }, { @@ -588,7 +588,7 @@ static yyconst short yy_nxt[][37] = { 11, -40, -40, -40, -40, -40, -40, -40, -40, -40, - -40, -40, -40, -40, 82, -40, -40, -40, -40, -40, + -40, -40, -40, -40, 83, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40 }, @@ -601,15 +601,15 @@ static yyconst short yy_nxt[][37] = }, { - 11, -42, -42, -42, -42, -42, -42, 83, -42, -42, - -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, + 11, 84, 84, -42, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, - -42, -42, -42, -42, -42, -42, -42 + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84 }, { - 11, -43, -43, -43, -43, -43, -43, -43, -43, -43, + 11, -43, -43, -43, -43, -43, -43, 85, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43 @@ -625,272 +625,272 @@ static yyconst short yy_nxt[][37] = { 11, -45, -45, -45, -45, -45, -45, -45, -45, -45, - -45, 84, 85, 85, -45, -45, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, -45 + -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, + -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, + -45, -45, -45, -45, -45, -45, -45 }, { 11, -46, -46, -46, -46, -46, -46, -46, -46, -46, - -46, 85, 85, 85, -46, -46, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, -46 + -46, 86, 87, 87, -46, -46, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, -46 }, { 11, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, + -47, 87, 87, 87, -47, -47, 87, 87, 87, 87, - -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, - -47, -47, -47, -47, -47, -47, -47 + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, -47 }, { - 11, -48, -48, 86, -48, -48, -48, -48, -48, -48, + 11, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48 }, { - 11, -49, -49, -49, -49, -49, -49, -49, -49, -49, - -49, 85, 85, 85, -49, -49, 85, 85, 85, 85, - 85, 87, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, -49 + 11, -49, -49, 88, -49, -49, -49, -49, -49, -49, + -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, + -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, + -49, -49, -49, -49, -49, -49, -49 }, { 11, -50, -50, -50, -50, -50, -50, -50, -50, -50, - -50, 85, 85, 85, -50, -50, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 88, 85, 85, - 85, 85, 85, 85, 85, 85, -50 + -50, 87, 87, 87, -50, -50, 87, 87, 87, 87, + 87, 89, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, -50 }, { 11, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, 89 + -51, 87, 87, 87, -51, -51, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 90, 87, 87, + 87, 87, 87, 87, 87, 87, -51 }, { - 11, -52, 52, 53, -52, -52, 54, -52, -52, -52, + 11, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52 + -52, -52, -52, -52, -52, -52, 91 }, { - 11, -53, -53, -53, -53, -53, -53, -53, -53, -53, + 11, -53, 53, 54, -53, -53, 55, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53 }, { - 11, 55, 55, 56, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55 + 11, -54, -54, -54, -54, -54, -54, -54, -54, -54, + -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, + -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, + -54, -54, -54, -54, -54, -54, -54 }, { - 11, 55, 55, 56, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55 + 11, 56, 56, 57, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56 }, { - 11, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, -56, -56, -56, -56, -56, -56 + 11, 56, 56, 57, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56 }, { 11, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, -57, -57, 57, -57, -57, 57, 57, 57, 57, + -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -57 + -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, + -57, -57, -57, -57, -57, -57, -57 }, { 11, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, 57, -58, -58, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 90, 57, - 57, 57, 57, 57, 57, 57, -58 + -58, -58, -58, 58, -58, -58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -58 }, { 11, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, 57, -59, -59, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 91, 57, - 57, 57, 57, 57, 57, 57, -59 + -59, -59, -59, 58, -59, -59, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 92, 58, + 58, 58, 58, 58, 58, 58, -59 }, { 11, -60, -60, -60, -60, -60, -60, -60, -60, -60, - -60, -60, -60, 57, -60, -60, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 92, 93, 57, 57, - 57, 57, 57, 57, 57, 57, -60 + -60, -60, -60, 58, -60, -60, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 93, 58, + 58, 58, 58, 58, 58, 58, -60 }, { 11, -61, -61, -61, -61, -61, -61, -61, -61, -61, - -61, -61, -61, 57, -61, -61, 57, 57, 57, 57, - 57, 94, 57, 57, 57, 57, 57, 57, 57, 95, - 57, 57, 57, 57, 57, 57, -61 + -61, -61, -61, 58, -61, -61, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 94, 95, 58, 58, + 58, 58, 58, 58, 58, 58, -61 }, { 11, -62, -62, -62, -62, -62, -62, -62, -62, -62, - -62, -62, -62, 57, -62, -62, 57, 57, 57, 96, + -62, -62, -62, 58, -62, -62, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -62 + 58, 96, 58, 58, 58, 58, 58, 58, 58, 97, + 58, 58, 58, 58, 58, 58, -62 }, { 11, -63, -63, -63, -63, -63, -63, -63, -63, -63, - -63, -63, -63, 57, -63, -63, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 97, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 98, -63 + -63, -63, -63, 58, -63, -63, 58, 58, 58, 98, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -63 }, { 11, -64, -64, -64, -64, -64, -64, -64, -64, -64, - -64, -64, -64, 57, -64, -64, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -64 + -64, -64, -64, 58, -64, -64, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 99, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 100, -64 }, { 11, -65, -65, -65, -65, -65, -65, -65, -65, -65, - -65, -65, -65, 57, -65, -65, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 99, 57, 57, -65 + -65, -65, -65, 58, -65, -65, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -65 }, { 11, -66, -66, -66, -66, -66, -66, -66, -66, -66, - -66, -66, -66, 57, -66, -66, 57, 57, 57, 57, - 57, 57, 57, 57, 100, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -66 + -66, -66, -66, 58, -66, -66, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 101, 58, 58, -66 }, { 11, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, 57, -67, -67, 57, 57, 57, 57, + -67, -67, -67, 58, -67, -67, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 101, 57, 57, - 57, 57, 57, 57, 57, 57, -67 + 58, 58, 58, 58, 102, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -67 }, { 11, -68, -68, -68, -68, -68, -68, -68, -68, -68, - -68, -68, -68, 57, -68, -68, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 102, 57, 57, -68 + -68, -68, -68, 58, -68, -68, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 103, 58, 58, + 58, 58, 58, 58, 58, 58, -68 }, { 11, -69, -69, -69, -69, -69, -69, -69, -69, -69, - -69, -69, -69, 57, -69, -69, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 103, 57, - 57, 57, 57, 57, 57, 57, -69 + -69, -69, -69, 58, -69, -69, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 104, 58, 58, -69 }, { 11, -70, -70, -70, -70, -70, -70, -70, -70, -70, - -70, -70, -70, 57, -70, -70, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 104, 57, 57, 57, 57, 57, -70 + -70, -70, -70, 58, -70, -70, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 105, 58, + 58, 58, 58, 58, 58, 58, -70 }, { 11, -71, -71, -71, -71, -71, -71, -71, -71, -71, - -71, -71, -71, 57, -71, -71, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 105, 57, -71 + -71, -71, -71, 58, -71, -71, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 106, 58, 58, 58, 58, 58, -71 }, { 11, -72, -72, -72, -72, -72, -72, -72, -72, -72, - -72, -72, -72, 57, -72, -72, 57, 57, 57, 57, + -72, -72, -72, 58, -72, -72, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 106, 57, 57, 57, 57, -72 + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 107, 58, -72 }, { 11, -73, -73, -73, -73, -73, -73, -73, -73, -73, - -73, -73, -73, 57, -73, -73, 57, 57, 57, 57, - 57, 57, 57, 57, 107, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -73 + -73, -73, -73, 58, -73, -73, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 108, 58, 58, 58, 58, -73 }, { - 11, 74, 74, -74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 74, 74 + 11, -74, -74, -74, -74, -74, -74, -74, -74, -74, + -74, -74, -74, 58, -74, -74, 58, 58, 58, 58, + 58, 58, 58, 58, 109, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -74 }, { - 11, -75, 75, 76, -75, -75, -75, -75, -75, -75, - -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, - -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, - -75, -75, -75, -75, -75, -75, -75 + 11, 75, 75, -75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75 }, { - 11, -76, -76, -76, -76, -76, -76, -76, -76, -76, + 11, -76, 76, 77, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76 }, { - 11, -77, -77, -77, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, + 11, 78, -77, -77, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, - -77, -77, -77, -77, -77, -77, -77 + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78 }, { - 11, 78, 78, 79, 78, -78, 78, 78, -78, 78, - 78, 78, 78, 78, 78, -78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78 + 11, -78, -78, -78, -78, -78, -78, -78, -78, -78, + -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, + -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, + -78, -78, -78, -78, -78, -78, -78 }, { - 11, -79, -79, -79, -79, -79, -79, -79, -79, -79, - -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, - -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, - -79, -79, -79, -79, -79, -79, -79 + 11, 79, 79, 80, 79, -79, 79, 79, -79, 79, + 79, 79, 79, 79, 79, -79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79 }, { - 11, -80, -80, 81, -80, -80, -80, -80, -80, -80, + 11, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80 }, { - 11, -81, -81, -81, -81, -81, -81, -81, -81, -81, + 11, -81, -81, 82, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81 @@ -912,669 +912,728 @@ static yyconst short yy_nxt[][37] = }, { - 11, -84, -84, -84, -84, -84, -84, -84, -84, -84, - -84, 108, 85, 85, -84, -84, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, -84 + 11, 84, 84, -84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84 }, { 11, -85, -85, -85, -85, -85, -85, -85, -85, -85, - -85, 85, 85, 85, -85, -85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, -85 + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, + -85, -85, -85, -85, -85, -85, -85 }, { 11, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, - -86, -86, -86, -86, -86, -86, -86 + -86, 110, 87, 87, -86, -86, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, -86 }, { 11, -87, -87, -87, -87, -87, -87, -87, -87, -87, - -87, 85, 85, 85, -87, -87, 85, 85, 85, 85, + -87, 87, 87, 87, -87, -87, 87, 87, 87, 87, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, -87 + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, -87 }, { 11, -88, -88, -88, -88, -88, -88, -88, -88, -88, - -88, 85, 85, 85, -88, -88, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, -88 + -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, + -88, -88, -88, -88, -88, -88, -88 }, { 11, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, -89, -89, -89 + -89, 87, 87, 87, -89, -89, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, -89 }, { 11, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -90, -90, 57, -90, -90, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 109, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -90 + -90, 87, 87, 87, -90, -90, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, -90 }, { 11, -91, -91, -91, -91, -91, -91, -91, -91, -91, - -91, -91, -91, 57, -91, -91, 57, 57, 57, 57, - 57, 57, 57, 57, 110, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -91 + -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, + -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, + -91, -91, -91, -91, -91, -91, -91 }, { 11, -92, -92, -92, -92, -92, -92, -92, -92, -92, - -92, -92, -92, 57, -92, -92, 57, 57, 57, 57, + -92, -92, -92, 58, -92, -92, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 111, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -92 + 58, 58, 58, 58, 58, 111, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -92 }, { 11, -93, -93, -93, -93, -93, -93, -93, -93, -93, - -93, -93, -93, 57, -93, -93, 57, 57, 57, 57, - 57, 112, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -93 + -93, -93, -93, 58, -93, -93, 58, 58, 58, 58, + 58, 58, 58, 58, 112, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -93 }, { 11, -94, -94, -94, -94, -94, -94, -94, -94, -94, - -94, -94, -94, 57, -94, -94, 113, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -94 + -94, -94, -94, 58, -94, -94, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 113, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -94 }, { 11, -95, -95, -95, -95, -95, -95, -95, -95, -95, - -95, -95, -95, 57, -95, -95, 57, 57, 57, 57, - 114, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -95 + -95, -95, -95, 58, -95, -95, 58, 58, 58, 58, + 58, 114, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -95 }, { 11, -96, -96, -96, -96, -96, -96, -96, -96, -96, - -96, -96, -96, 57, -96, -96, 57, 57, 115, 57, - 57, 57, 57, 57, 116, 57, 117, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -96 + -96, -96, -96, 58, -96, -96, 115, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -96 }, { 11, -97, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, 57, -97, -97, 57, 57, 57, 57, + -97, -97, -97, 58, -97, -97, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 118, - 57, 57, 57, 57, 57, 57, -97 + 116, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -97 }, { 11, -98, -98, -98, -98, -98, -98, -98, -98, -98, - -98, -98, -98, 57, -98, -98, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -98 + -98, -98, -98, 58, -98, -98, 58, 58, 117, 58, + 58, 58, 58, 58, 118, 58, 119, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -98 }, { 11, -99, -99, -99, -99, -99, -99, -99, -99, -99, - -99, -99, -99, 57, -99, -99, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -99 + -99, -99, -99, 58, -99, -99, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 120, + 58, 58, 58, 58, 58, 58, -99 }, { 11, -100, -100, -100, -100, -100, -100, -100, -100, -100, - -100, -100, -100, 57, -100, -100, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 119, 57, 57, - 57, 57, 57, 57, 57, 57, -100 + -100, -100, -100, 58, -100, -100, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -100 }, { 11, -101, -101, -101, -101, -101, -101, -101, -101, -101, - -101, -101, -101, 57, -101, -101, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 120, 57, -101 + -101, -101, -101, 58, -101, -101, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -101 }, { 11, -102, -102, -102, -102, -102, -102, -102, -102, -102, - -102, -102, -102, 57, -102, -102, 57, 57, 57, 57, + -102, -102, -102, 58, -102, -102, 58, 58, 58, 58, - 57, 57, 57, 57, 121, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -102 + 58, 58, 58, 58, 58, 58, 58, 121, 58, 58, + 58, 58, 58, 58, 58, 58, -102 }, { 11, -103, -103, -103, -103, -103, -103, -103, -103, -103, - -103, -103, -103, 57, -103, -103, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 122, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -103 + -103, -103, -103, 58, -103, -103, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 122, 58, -103 }, { 11, -104, -104, -104, -104, -104, -104, -104, -104, -104, - -104, -104, -104, 57, -104, -104, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 123, 57, -104 + -104, -104, -104, 58, -104, -104, 58, 58, 58, 58, + 58, 58, 58, 58, 123, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -104 }, { 11, -105, -105, -105, -105, -105, -105, -105, -105, -105, - -105, -105, -105, 57, -105, -105, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 124, 57, 57, 57, 57, -105 + -105, -105, -105, 58, -105, -105, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 124, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -105 }, { 11, -106, -106, -106, -106, -106, -106, -106, -106, -106, - -106, -106, -106, 57, -106, -106, 57, 57, 57, 57, - 57, 57, 57, 57, 125, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -106 + -106, -106, -106, 58, -106, -106, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 125, 58, -106 }, { 11, -107, -107, -107, -107, -107, -107, -107, -107, -107, - -107, -107, -107, 57, -107, -107, 57, 57, 57, 57, + -107, -107, -107, 58, -107, -107, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 126, 57, 57, 57, -107 + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 126, 58, 58, 58, 58, -107 }, { 11, -108, -108, -108, -108, -108, -108, -108, -108, -108, - -108, 85, 85, 85, -108, -108, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, -108 + -108, -108, -108, 58, -108, -108, 58, 58, 58, 58, + 58, 58, 58, 58, 127, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -108 }, { 11, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, 57, -109, -109, 57, 57, 57, 57, - 127, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -109 + -109, -109, -109, 58, -109, -109, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 128, 58, 58, 58, -109 }, { 11, -110, -110, -110, -110, -110, -110, -110, -110, -110, - -110, -110, -110, 57, -110, -110, 57, 57, 128, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -110 + -110, 87, 87, 87, -110, -110, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, -110 }, { 11, -111, -111, -111, -111, -111, -111, -111, -111, -111, - -111, -111, -111, 57, -111, -111, 57, 57, 57, 57, - 129, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -111 + -111, -111, -111, 58, -111, -111, 58, 58, 58, 58, + 129, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -111 }, { 11, -112, -112, -112, -112, -112, -112, -112, -112, -112, - -112, -112, -112, 57, -112, -112, 57, 57, 57, 57, + -112, -112, -112, 58, -112, -112, 58, 58, 130, 58, - 57, 57, 57, 57, 130, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -112 + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -112 }, { 11, -113, -113, -113, -113, -113, -113, -113, -113, -113, - -113, -113, -113, 57, -113, -113, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 131, 57, -113 + -113, -113, -113, 58, -113, -113, 58, 58, 58, 58, + 131, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -113 }, { 11, -114, -114, -114, -114, -114, -114, -114, -114, -114, - -114, -114, -114, 57, -114, -114, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 132, 57, 57, - 57, 57, 57, 57, 57, 57, -114 + -114, -114, -114, 58, -114, -114, 58, 58, 58, 58, + 58, 58, 58, 58, 132, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -114 }, { 11, -115, -115, -115, -115, -115, -115, -115, -115, -115, - -115, -115, -115, 57, -115, -115, 57, 57, 57, 57, - 57, 57, 57, 133, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -115 + -115, -115, -115, 58, -115, -115, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 133, 58, -115 }, { 11, -116, -116, -116, -116, -116, -116, -116, -116, -116, - -116, -116, -116, 57, -116, -116, 57, 57, 57, 57, - 57, 134, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -116 + -116, -116, -116, 58, -116, -116, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 134, 58, 58, + 58, 58, 58, 58, 58, 58, -116 }, { 11, -117, -117, -117, -117, -117, -117, -117, -117, -117, - -117, -117, -117, 57, -117, -117, 57, 57, 57, 57, + -117, -117, -117, 58, -117, -117, 58, 58, 58, 58, - 135, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -117 + 58, 58, 58, 135, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -117 }, { 11, -118, -118, -118, -118, -118, -118, -118, -118, -118, - -118, -118, -118, 57, -118, -118, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -118 + -118, -118, -118, 58, -118, -118, 58, 58, 58, 58, + 58, 136, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -118 }, { 11, -119, -119, -119, -119, -119, -119, -119, -119, -119, - -119, -119, -119, 57, -119, -119, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 136, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -119 + -119, -119, -119, 58, -119, -119, 58, 58, 58, 58, + 137, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -119 }, { 11, -120, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -120, 57, -120, -120, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -120 + -120, -120, -120, 58, -120, -120, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -120 }, { 11, -121, -121, -121, -121, -121, -121, -121, -121, -121, - -121, -121, -121, 57, -121, -121, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 137, 57, - 57, 57, 57, 57, 57, 57, -121 + -121, -121, -121, 58, -121, -121, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 138, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -121 }, { 11, -122, -122, -122, -122, -122, -122, -122, -122, -122, - -122, -122, -122, 57, -122, -122, 57, 57, 57, 57, + -122, -122, -122, 58, -122, -122, 58, 58, 139, 58, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 138, - 57, 57, 57, 57, 57, 57, -122 + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -122 }, { 11, -123, -123, -123, -123, -123, -123, -123, -123, -123, - -123, -123, -123, 57, -123, -123, 57, 57, 57, 57, - 57, 57, 57, 57, 139, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -123 + -123, -123, -123, 58, -123, -123, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 140, 58, + 58, 58, 58, 58, 58, 58, -123 }, { 11, -124, -124, -124, -124, -124, -124, -124, -124, -124, - -124, -124, -124, 57, -124, -124, 57, 57, 140, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -124 + -124, -124, -124, 58, -124, -124, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 141, + 58, 58, 58, 58, 58, 58, -124 }, { 11, -125, -125, -125, -125, -125, -125, -125, -125, -125, - -125, -125, -125, 57, -125, -125, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 141, 57, 57, - 57, 57, 57, 57, 57, 57, -125 + -125, -125, -125, 58, -125, -125, 58, 58, 58, 58, + 58, 58, 58, 58, 142, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -125 }, { 11, -126, -126, -126, -126, -126, -126, -126, -126, -126, - -126, -126, -126, 57, -126, -126, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 142, 57, 57, -126 + -126, -126, -126, 58, -126, -126, 58, 58, 143, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -126 }, { 11, -127, -127, -127, -127, -127, -127, -127, -127, -127, - -127, -127, -127, 57, -127, -127, 143, 57, 57, 57, + -127, -127, -127, 58, -127, -127, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -127 + 58, 58, 58, 58, 58, 58, 58, 144, 58, 58, + 58, 58, 58, 58, 58, 58, -127 }, { 11, -128, -128, -128, -128, -128, -128, -128, -128, -128, - -128, -128, -128, 57, -128, -128, 57, 57, 57, 57, - 144, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -128 + -128, -128, -128, 58, -128, -128, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 145, 58, 58, -128 }, { 11, -129, -129, -129, -129, -129, -129, -129, -129, -129, - -129, -129, -129, 57, -129, -129, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 145, 57, 57, - 57, 57, 57, 57, 57, 57, -129 + -129, -129, -129, 58, -129, -129, 146, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -129 }, { 11, -130, -130, -130, -130, -130, -130, -130, -130, -130, - -130, -130, -130, 57, -130, -130, 57, 57, 57, 57, - 57, 57, 146, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -130 + -130, -130, -130, 58, -130, -130, 58, 58, 58, 58, + 147, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -130 }, { 11, -131, -131, -131, -131, -131, -131, -131, -131, -131, - -131, -131, -131, 57, -131, -131, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 147, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -131 + -131, -131, -131, 58, -131, -131, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 148, 58, 58, + 58, 58, 58, 58, 58, 58, -131 }, { 11, -132, -132, -132, -132, -132, -132, -132, -132, -132, - -132, -132, -132, 57, -132, -132, 57, 57, 57, 148, + -132, -132, -132, 58, -132, -132, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -132 + 58, 58, 149, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -132 }, { 11, -133, -133, -133, -133, -133, -133, -133, -133, -133, - -133, -133, -133, 57, -133, -133, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 149, 57, - 57, 57, 57, 57, 57, 57, -133 + -133, -133, -133, 58, -133, -133, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 150, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -133 }, { 11, -134, -134, -134, -134, -134, -134, -134, -134, -134, - -134, -134, -134, 57, -134, -134, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -134 + -134, -134, -134, 58, -134, -134, 58, 58, 58, 151, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -134 }, { 11, -135, -135, -135, -135, -135, -135, -135, -135, -135, - -135, -135, -135, 57, -135, -135, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 150, 57, 57, - 57, 57, 57, 57, 57, 57, -135 + -135, -135, -135, 58, -135, -135, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 152, 58, + 58, 58, 58, 58, 58, 58, -135 }, { 11, -136, -136, -136, -136, -136, -136, -136, -136, -136, - -136, -136, -136, 57, -136, -136, 57, 57, 57, 57, - 151, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -136 + -136, -136, -136, 58, -136, -136, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -136 }, { 11, -137, -137, -137, -137, -137, -137, -137, -137, -137, - -137, -137, -137, 57, -137, -137, 57, 57, 57, 57, + -137, -137, -137, 58, -137, -137, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 152, 57, 57, - 57, 57, 57, 57, 57, 57, -137 + 58, 58, 58, 58, 58, 58, 58, 153, 58, 58, + 58, 58, 58, 58, 58, 58, -137 }, { 11, -138, -138, -138, -138, -138, -138, -138, -138, -138, - -138, -138, -138, 57, -138, -138, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 153, 57, 57, -138 + -138, -138, -138, 58, -138, -138, 58, 58, 58, 58, + 154, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -138 }, { 11, -139, -139, -139, -139, -139, -139, -139, -139, -139, - -139, -139, -139, 57, -139, -139, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 154, 57, 57, 57, 57, -139 + -139, -139, -139, 58, -139, -139, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 155, 58, + 58, 58, 58, 58, 58, 58, -139 }, { 11, -140, -140, -140, -140, -140, -140, -140, -140, -140, - -140, -140, -140, 57, -140, -140, 57, 57, 57, 57, - 155, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -140 + -140, -140, -140, 58, -140, -140, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 156, 58, 58, + 58, 58, 58, 58, 58, 58, -140 }, { 11, -141, -141, -141, -141, -141, -141, -141, -141, -141, - -141, -141, -141, 57, -141, -141, 57, 57, 57, 57, - 57, 57, 156, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -141 + -141, -141, -141, 58, -141, -141, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 157, 58, 58, -141 }, { 11, -142, -142, -142, -142, -142, -142, -142, -142, -142, - -142, -142, -142, 57, -142, -142, 157, 57, 57, 57, + -142, -142, -142, 58, -142, -142, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -142 + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 158, 58, 58, 58, 58, -142 }, { 11, -143, -143, -143, -143, -143, -143, -143, -143, -143, - -143, -143, -143, 57, -143, -143, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 158, 57, 57, - 57, 57, 57, 57, 57, 57, -143 + -143, -143, -143, 58, -143, -143, 58, 58, 58, 58, + 159, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -143 }, { 11, -144, -144, -144, -144, -144, -144, -144, -144, -144, - -144, -144, -144, 57, -144, -144, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -144 + -144, -144, -144, 58, -144, -144, 58, 58, 58, 58, + 58, 58, 160, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -144 }, { 11, -145, -145, -145, -145, -145, -145, -145, -145, -145, - -145, -145, -145, 57, -145, -145, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 159, 57, 57, -145 + -145, -145, -145, 58, -145, -145, 161, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -145 }, { 11, -146, -146, -146, -146, -146, -146, -146, -146, -146, - -146, -146, -146, 57, -146, -146, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -146 + -146, -146, -146, 58, -146, -146, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 162, 58, 58, + 58, 58, 58, 58, 58, 58, -146 }, { 11, -147, -147, -147, -147, -147, -147, -147, -147, -147, - -147, -147, -147, 57, -147, -147, 57, 57, 57, 57, + -147, -147, -147, 58, -147, -147, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 160, 57, 57, -147 + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -147 }, { 11, -148, -148, -148, -148, -148, -148, -148, -148, -148, - -148, -148, -148, 57, -148, -148, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 161, 57, 57, 57, -148 + -148, -148, -148, 58, -148, -148, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 163, 58, 58, -148 }, { 11, -149, -149, -149, -149, -149, -149, -149, -149, -149, - -149, -149, -149, 57, -149, -149, 57, 57, 57, 57, - 57, 57, 57, 57, 162, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -149 + -149, -149, -149, 58, -149, -149, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -149 }, { 11, -150, -150, -150, -150, -150, -150, -150, -150, -150, - -150, -150, -150, 57, -150, -150, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 163, 57, -150 + -150, -150, -150, 58, -150, -150, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 164, 58, 58, -150 }, { 11, -151, -151, -151, -151, -151, -151, -151, -151, -151, - -151, -151, -151, 57, -151, -151, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 164, 57, 57, - 57, 57, 57, 57, 57, 57, -151 + -151, -151, -151, 58, -151, -151, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 165, 58, 58, 58, -151 }, { 11, -152, -152, -152, -152, -152, -152, -152, -152, -152, - -152, -152, -152, 57, -152, -152, 165, 57, 57, 57, + -152, -152, -152, 58, -152, -152, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -152 + 58, 58, 58, 58, 166, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -152 }, { 11, -153, -153, -153, -153, -153, -153, -153, -153, -153, - -153, -153, -153, 57, -153, -153, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -153 + -153, -153, -153, 58, -153, -153, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 167, 58, -153 }, { 11, -154, -154, -154, -154, -154, -154, -154, -154, -154, - -154, -154, -154, 57, -154, -154, 57, 57, 57, 57, - 166, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -154 + -154, -154, -154, 58, -154, -154, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 168, 58, 58, + 58, 58, 58, 58, 58, 58, -154 }, { 11, -155, -155, -155, -155, -155, -155, -155, -155, -155, - -155, -155, -155, 57, -155, -155, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -155 + -155, -155, -155, 58, -155, -155, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 169, 58, 58, + 58, 58, 58, 58, 58, 58, -155 }, { 11, -156, -156, -156, -156, -156, -156, -156, -156, -156, - -156, -156, -156, 57, -156, -156, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -156 + -156, -156, -156, 58, -156, -156, 170, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -156 }, { 11, -157, -157, -157, -157, -157, -157, -157, -157, -157, - -157, -157, -157, 57, -157, -157, 57, 57, 57, 57, + -157, -157, -157, 58, -157, -157, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 167, 57, 57, -157 + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -157 }, { 11, -158, -158, -158, -158, -158, -158, -158, -158, -158, - -158, -158, -158, 57, -158, -158, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -158 + -158, -158, -158, 58, -158, -158, 58, 58, 58, 58, + 171, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -158 }, { 11, -159, -159, -159, -159, -159, -159, -159, -159, -159, - -159, -159, -159, 57, -159, -159, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -159 + -159, -159, -159, 58, -159, -159, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -159 }, { 11, -160, -160, -160, -160, -160, -160, -160, -160, -160, - -160, -160, -160, 57, -160, -160, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -160 + -160, -160, -160, 58, -160, -160, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -160 }, { 11, -161, -161, -161, -161, -161, -161, -161, -161, -161, - -161, -161, -161, 57, -161, -161, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -161 + -161, -161, -161, 58, -161, -161, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 172, 58, 58, -161 }, { 11, -162, -162, -162, -162, -162, -162, -162, -162, -162, - -162, -162, -162, 57, -162, -162, 57, 57, 168, 57, + -162, -162, -162, 58, -162, -162, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -162 + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -162 }, { 11, -163, -163, -163, -163, -163, -163, -163, -163, -163, - -163, -163, -163, 57, -163, -163, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -163 + -163, -163, -163, 58, -163, -163, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -163 }, { 11, -164, -164, -164, -164, -164, -164, -164, -164, -164, - -164, -164, -164, 57, -164, -164, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 169, 57, -164 + -164, -164, -164, 58, -164, -164, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -164 }, { 11, -165, -165, -165, -165, -165, -165, -165, -165, -165, - -165, -165, -165, 57, -165, -165, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 170, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -165 + -165, -165, -165, 58, -165, -165, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -165 }, { 11, -166, -166, -166, -166, -166, -166, -166, -166, -166, - -166, -166, -166, 57, -166, -166, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 171, 57, 57, 57, -166 + -166, -166, -166, 58, -166, -166, 58, 58, 173, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -166 }, { 11, -167, -167, -167, -167, -167, -167, -167, -167, -167, - -167, -167, -167, 57, -167, -167, 57, 57, 57, 57, + -167, -167, -167, 58, -167, -167, 58, 58, 58, 58, - 172, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -167 + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -167 }, { 11, -168, -168, -168, -168, -168, -168, -168, -168, -168, - -168, -168, -168, 57, -168, -168, 57, 57, 57, 57, - 173, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -168 + -168, -168, -168, 58, -168, -168, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 174, 58, -168 }, { 11, -169, -169, -169, -169, -169, -169, -169, -169, -169, - -169, -169, -169, 57, -169, -169, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -169 + -169, -169, -169, 58, -169, -169, 58, 58, 58, 58, + 58, 175, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -169 }, { 11, -170, -170, -170, -170, -170, -170, -170, -170, -170, - -170, -170, -170, 57, -170, -170, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -170 + -170, -170, -170, 58, -170, -170, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 176, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -170 }, { 11, -171, -171, -171, -171, -171, -171, -171, -171, -171, - -171, -171, -171, 57, -171, -171, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -171 + -171, -171, -171, 58, -171, -171, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 177, 58, 58, 58, -171 }, { 11, -172, -172, -172, -172, -172, -172, -172, -172, -172, - -172, -172, -172, 57, -172, -172, 57, 57, 57, 57, + -172, -172, -172, 58, -172, -172, 58, 58, 58, 58, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -172 + 178, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -172 }, { 11, -173, -173, -173, -173, -173, -173, -173, -173, -173, - -173, -173, -173, 57, -173, -173, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, -173 + -173, -173, -173, 58, -173, -173, 58, 58, 58, 58, + 179, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -173 + }, + + { + 11, -174, -174, -174, -174, -174, -174, -174, -174, -174, + -174, -174, -174, 58, -174, -174, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -174 + + }, + + { + 11, -175, -175, -175, -175, -175, -175, -175, -175, -175, + -175, -175, -175, 58, -175, -175, 58, 58, 58, 58, + 58, 58, 58, 58, 180, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -175 + }, + + { + 11, -176, -176, -176, -176, -176, -176, -176, -176, -176, + -176, -176, -176, 58, -176, -176, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -176 + }, + + { + 11, -177, -177, -177, -177, -177, -177, -177, -177, -177, + -177, -177, -177, 58, -177, -177, 58, 58, 58, 58, + + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -177 + }, + + { + 11, -178, -178, -178, -178, -178, -178, -178, -178, -178, + -178, -178, -178, 58, -178, -178, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -178 + }, + + { + 11, -179, -179, -179, -179, -179, -179, -179, -179, -179, + -179, -179, -179, 58, -179, -179, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -179 + + }, + + { + 11, -180, -180, -180, -180, -180, -180, -180, -180, -180, + -180, -180, -180, 58, -180, -180, 58, 58, 58, 58, + 58, 58, 181, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -180 + }, + + { + 11, -181, -181, -181, -181, -181, -181, -181, -181, -181, + -181, -181, -181, 58, -181, -181, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, -181 }, } ; @@ -1595,29 +1654,30 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 56 -#define YY_END_OF_BUFFER 57 -static yyconst short int yy_accept[174] = +#define YY_NUM_RULES 58 +#define YY_END_OF_BUFFER 59 +static yyconst short int yy_accept[182] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 57, 5, 4, 3, 2, 29, 30, 28, 28, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 55, 52, 54, 47, 51, 50, 49, 45, 41, 35, - 40, 45, 33, 34, 43, 43, 36, 45, 43, 43, - 45, 4, 3, 2, 2, 1, 28, 28, 28, 28, - 28, 28, 28, 15, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 55, 52, 54, 53, 47, 46, 49, - 48, 37, 31, 43, 43, 44, 38, 39, 32, 28, - 28, 28, 28, 28, 28, 28, 28, 26, 25, 28, - - 28, 28, 28, 28, 28, 28, 28, 42, 23, 28, - 28, 28, 28, 28, 28, 28, 28, 14, 28, 7, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 16, 28, 28, 28, 28, 28, 28, - 28, 28, 28, 10, 28, 13, 28, 28, 28, 28, - 28, 28, 21, 28, 9, 27, 28, 24, 12, 20, - 17, 28, 8, 28, 28, 28, 28, 28, 6, 19, - 18, 22, 11 + 59, 5, 4, 3, 2, 30, 31, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, + 57, 54, 56, 49, 53, 52, 51, 47, 42, 36, + 41, 45, 47, 34, 35, 44, 44, 37, 47, 44, + 44, 47, 4, 3, 2, 2, 1, 29, 29, 29, + 29, 29, 29, 29, 16, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 57, 54, 56, 55, 49, 48, + 51, 50, 38, 45, 32, 44, 44, 46, 39, 40, + 33, 29, 29, 29, 29, 29, 29, 29, 29, 27, + + 26, 29, 29, 29, 29, 29, 29, 29, 29, 43, + 24, 29, 29, 29, 29, 29, 29, 29, 29, 15, + 29, 7, 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 17, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 10, 29, 13, 29, + 29, 29, 29, 29, 29, 29, 22, 29, 9, 28, + 29, 25, 12, 21, 18, 29, 8, 29, 29, 29, + 29, 29, 29, 6, 29, 20, 19, 23, 11, 29, + 14 } ; static yyconst int yy_ec[256] = @@ -1993,43 +2053,43 @@ BEGIN(PARAM); return T_CONFIG; YY_BREAK case 14: YY_RULE_SETUP -BEGIN(PARAM); return T_HELP; +BEGIN(PARAM); return T_MENUCONFIG; YY_BREAK case 15: YY_RULE_SETUP -BEGIN(PARAM); return T_IF; +BEGIN(PARAM); return T_HELP; YY_BREAK case 16: YY_RULE_SETUP -BEGIN(PARAM); return T_ENDIF; +BEGIN(PARAM); return T_IF; YY_BREAK case 17: YY_RULE_SETUP -BEGIN(PARAM); return T_DEPENDS; +BEGIN(PARAM); return T_ENDIF; YY_BREAK case 18: YY_RULE_SETUP -BEGIN(PARAM); return T_REQUIRES; +BEGIN(PARAM); return T_DEPENDS; YY_BREAK case 19: YY_RULE_SETUP -BEGIN(PARAM); return T_OPTIONAL; +BEGIN(PARAM); return T_REQUIRES; YY_BREAK case 20: YY_RULE_SETUP -BEGIN(PARAM); return T_DEFAULT; +BEGIN(PARAM); return T_OPTIONAL; YY_BREAK case 21: YY_RULE_SETUP -BEGIN(PARAM); return T_PROMPT; +BEGIN(PARAM); return T_DEFAULT; YY_BREAK case 22: YY_RULE_SETUP -BEGIN(PARAM); return T_TRISTATE; +BEGIN(PARAM); return T_PROMPT; YY_BREAK case 23: YY_RULE_SETUP -BEGIN(PARAM); return T_BOOLEAN; +BEGIN(PARAM); return T_TRISTATE; YY_BREAK case 24: YY_RULE_SETUP @@ -2037,71 +2097,75 @@ BEGIN(PARAM); return T_BOOLEAN; YY_BREAK case 25: YY_RULE_SETUP -BEGIN(PARAM); return T_INT; +BEGIN(PARAM); return T_BOOLEAN; YY_BREAK case 26: YY_RULE_SETUP -BEGIN(PARAM); return T_HEX; +BEGIN(PARAM); return T_INT; YY_BREAK case 27: YY_RULE_SETUP -BEGIN(PARAM); return T_STRING; +BEGIN(PARAM); return T_HEX; YY_BREAK case 28: YY_RULE_SETUP +BEGIN(PARAM); return T_STRING; + YY_BREAK +case 29: +YY_RULE_SETUP { alloc_string(yytext, yyleng); zconflval.string = text; return T_WORD; } YY_BREAK -case 29: +case 30: YY_RULE_SETUP YY_BREAK -case 30: +case 31: YY_RULE_SETUP current_file->lineno++; BEGIN(INITIAL); YY_BREAK -case 31: +case 32: YY_RULE_SETUP return T_AND; YY_BREAK -case 32: +case 33: YY_RULE_SETUP return T_OR; YY_BREAK -case 33: +case 34: YY_RULE_SETUP return T_OPEN_PAREN; YY_BREAK -case 34: +case 35: YY_RULE_SETUP return T_CLOSE_PAREN; YY_BREAK -case 35: +case 36: YY_RULE_SETUP return T_NOT; YY_BREAK -case 36: +case 37: YY_RULE_SETUP return T_EQUAL; YY_BREAK -case 37: +case 38: YY_RULE_SETUP return T_UNEQUAL; YY_BREAK -case 38: +case 39: YY_RULE_SETUP return T_IF; YY_BREAK -case 39: +case 40: YY_RULE_SETUP return T_ON; YY_BREAK -case 40: +case 41: YY_RULE_SETUP { str = yytext[0]; @@ -2109,15 +2173,15 @@ YY_RULE_SETUP BEGIN(STRING); } YY_BREAK -case 41: +case 42: YY_RULE_SETUP BEGIN(INITIAL); current_file->lineno++; return T_EOL; YY_BREAK -case 42: +case 43: YY_RULE_SETUP /* ignore */ YY_BREAK -case 43: +case 44: YY_RULE_SETUP { alloc_string(yytext, yyleng); @@ -2125,11 +2189,15 @@ YY_RULE_SETUP return T_WORD; } YY_BREAK -case 44: +case 45: +YY_RULE_SETUP +/* comment */ + YY_BREAK +case 46: YY_RULE_SETUP current_file->lineno++; YY_BREAK -case 45: +case 47: YY_RULE_SETUP YY_BREAK @@ -2140,7 +2208,7 @@ case YY_STATE_EOF(PARAM): YY_BREAK -case 46: +case 48: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ @@ -2151,13 +2219,13 @@ YY_RULE_SETUP return T_WORD_QUOTE; } YY_BREAK -case 47: +case 49: YY_RULE_SETUP { append_string(yytext, yyleng); } YY_BREAK -case 48: +case 50: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ @@ -2168,13 +2236,13 @@ YY_RULE_SETUP return T_WORD_QUOTE; } YY_BREAK -case 49: +case 51: YY_RULE_SETUP { append_string(yytext + 1, yyleng - 1); } YY_BREAK -case 50: +case 52: YY_RULE_SETUP { if (str == yytext[0]) { @@ -2185,7 +2253,7 @@ YY_RULE_SETUP append_string(yytext, 1); } YY_BREAK -case 51: +case 53: YY_RULE_SETUP { printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno()); @@ -2201,7 +2269,7 @@ case YY_STATE_EOF(STRING): YY_BREAK -case 52: +case 54: YY_RULE_SETUP { ts = 0; @@ -2227,9 +2295,9 @@ YY_RULE_SETUP } YY_BREAK -case 53: +case 55: *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ -yy_c_buf_p = yy_cp = yy_bp + 1; +yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP { @@ -2238,14 +2306,14 @@ YY_RULE_SETUP return T_HELPTEXT; } YY_BREAK -case 54: +case 56: YY_RULE_SETUP { current_file->lineno++; append_string("\n", 1); } YY_BREAK -case 55: +case 57: YY_RULE_SETUP { append_string(yytext, yyleng); @@ -2271,7 +2339,7 @@ case YY_STATE_EOF(COMMAND): yyterminate(); } YY_BREAK -case 56: +case 58: YY_RULE_SETUP YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c index 845d8a37827bb..7fa7825f3759c 100644 --- a/scripts/kconfig/symbol.c +++ b/scripts/kconfig/symbol.c @@ -160,6 +160,9 @@ void sym_calc_value(struct symbol *sym) struct symbol *def_sym; struct expr *e; + if (!sym) + return; + if (sym->flags & SYMBOL_VALID) return; diff --git a/scripts/kconfig/zconf.l b/scripts/kconfig/zconf.l index fbacd970f2a29..2e6b7c95ecfc2 100644 --- a/scripts/kconfig/zconf.l +++ b/scripts/kconfig/zconf.l @@ -96,6 +96,7 @@ n [A-Za-z0-9_] "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; @@ -141,6 +142,7 @@ n [A-Za-z0-9_] zconflval.string = text; return T_WORD; } + #.* /* comment */ \\\n current_file->lineno++; . <<EOF>> { @@ -208,7 +210,7 @@ n [A-Za-z0-9_] } } - \n/[^ \t\n] { + [ \t]*\n/[^ \t\n] { current_file->lineno++; zconf_endhelp(); return T_HELPTEXT; diff --git a/scripts/kconfig/zconf.tab.c_shipped b/scripts/kconfig/zconf.tab.c_shipped index 1ec370f8c91ec..e8904d9bf8133 100644 --- a/scripts/kconfig/zconf.tab.c_shipped +++ b/scripts/kconfig/zconf.tab.c_shipped @@ -1,7 +1,7 @@ -/* A Bison parser, made from zconf.y, by GNU bison 1.75. */ +/* A Bison parser, made by GNU Bison 1.875a. */ /* Skeleton parser for Yacc-like parsing with Bison, - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,10 +34,13 @@ USER NAME SPACE" below. */ /* Identify Bison output. */ -#define YYBISON 1 +#define YYBISON 1 + +/* Skeleton name. */ +#define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ -#define YYPURE 0 +#define YYPURE 0 /* Using locations. */ #define YYLSP_NEEDED 0 @@ -67,32 +70,33 @@ T_ENDCHOICE = 263, T_COMMENT = 264, T_CONFIG = 265, - T_HELP = 266, - T_HELPTEXT = 267, - T_IF = 268, - T_ENDIF = 269, - T_DEPENDS = 270, - T_REQUIRES = 271, - T_OPTIONAL = 272, - T_PROMPT = 273, - T_DEFAULT = 274, - T_TRISTATE = 275, - T_BOOLEAN = 276, - T_STRING = 277, - T_INT = 278, - T_HEX = 279, - T_WORD = 280, - T_WORD_QUOTE = 281, - T_UNEQUAL = 282, - T_EOF = 283, - T_EOL = 284, - T_CLOSE_PAREN = 285, - T_OPEN_PAREN = 286, - T_ON = 287, - T_OR = 288, - T_AND = 289, - T_EQUAL = 290, - T_NOT = 291 + T_MENUCONFIG = 266, + T_HELP = 267, + T_HELPTEXT = 268, + T_IF = 269, + T_ENDIF = 270, + T_DEPENDS = 271, + T_REQUIRES = 272, + T_OPTIONAL = 273, + T_PROMPT = 274, + T_DEFAULT = 275, + T_TRISTATE = 276, + T_BOOLEAN = 277, + T_STRING = 278, + T_INT = 279, + T_HEX = 280, + T_WORD = 281, + T_WORD_QUOTE = 282, + T_UNEQUAL = 283, + T_EOF = 284, + T_EOL = 285, + T_CLOSE_PAREN = 286, + T_OPEN_PAREN = 287, + T_ON = 288, + T_OR = 289, + T_AND = 290, + T_EQUAL = 291, + T_NOT = 292 }; #endif #define T_MAINMENU 258 @@ -103,38 +107,40 @@ #define T_ENDCHOICE 263 #define T_COMMENT 264 #define T_CONFIG 265 -#define T_HELP 266 -#define T_HELPTEXT 267 -#define T_IF 268 -#define T_ENDIF 269 -#define T_DEPENDS 270 -#define T_REQUIRES 271 -#define T_OPTIONAL 272 -#define T_PROMPT 273 -#define T_DEFAULT 274 -#define T_TRISTATE 275 -#define T_BOOLEAN 276 -#define T_STRING 277 -#define T_INT 278 -#define T_HEX 279 -#define T_WORD 280 -#define T_WORD_QUOTE 281 -#define T_UNEQUAL 282 -#define T_EOF 283 -#define T_EOL 284 -#define T_CLOSE_PAREN 285 -#define T_OPEN_PAREN 286 -#define T_ON 287 -#define T_OR 288 -#define T_AND 289 -#define T_EQUAL 290 -#define T_NOT 291 +#define T_MENUCONFIG 266 +#define T_HELP 267 +#define T_HELPTEXT 268 +#define T_IF 269 +#define T_ENDIF 270 +#define T_DEPENDS 271 +#define T_REQUIRES 272 +#define T_OPTIONAL 273 +#define T_PROMPT 274 +#define T_DEFAULT 275 +#define T_TRISTATE 276 +#define T_BOOLEAN 277 +#define T_STRING 278 +#define T_INT 279 +#define T_HEX 280 +#define T_WORD 281 +#define T_WORD_QUOTE 282 +#define T_UNEQUAL 283 +#define T_EOF 284 +#define T_EOL 285 +#define T_CLOSE_PAREN 286 +#define T_OPEN_PAREN 287 +#define T_ON 288 +#define T_OR 289 +#define T_AND 290 +#define T_EQUAL 291 +#define T_NOT 292 /* Copy the first part of user declarations. */ + /* * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org> * Released under the terms of the GNU GPL v2.0. @@ -166,7 +172,7 @@ struct symbol *symbol_hash[257]; /* Enabling traces. */ #ifndef YYDEBUG -# define YYDEBUG 0 +# define YYDEBUG 1 #endif /* Enabling verbose error messages. */ @@ -177,41 +183,33 @@ struct symbol *symbol_hash[257]; # define YYERROR_VERBOSE 0 #endif -#ifndef YYSTYPE -#line 33 "zconf.y" -typedef union { +#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) + +typedef union YYSTYPE { int token; char *string; struct symbol *symbol; struct expr *expr; struct menu *menu; -} yystype; -/* Line 193 of /usr/share/bison/yacc.c. */ -#line 191 "zconf.tab.c" -# define YYSTYPE yystype +} YYSTYPE; +/* Line 191 of yacc.c. */ + +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif -#ifndef YYLTYPE -typedef struct yyltype -{ - int first_line; - int first_column; - int last_line; - int last_column; -} yyltype; -# define YYLTYPE yyltype -# define YYLTYPE_IS_TRIVIAL 1 -#endif + /* Copy the second part of user declarations. */ + #define LKC_DIRECT_LINK #include "lkc.h" -/* Line 213 of /usr/share/bison/yacc.c. */ -#line 215 "zconf.tab.c" +/* Line 214 of yacc.c. */ + #if ! defined (yyoverflow) || YYERROR_VERBOSE @@ -247,7 +245,7 @@ typedef struct yyltype #if (! defined (yyoverflow) \ && (! defined (__cplusplus) \ - || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + || (YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc @@ -257,13 +255,13 @@ union yyalloc }; /* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1) +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAX) + + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ @@ -277,7 +275,7 @@ union yyalloc { \ register YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ + (To)[yyi] = (From)[yyi]; \ } \ while (0) # endif @@ -294,7 +292,7 @@ union yyalloc YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) @@ -309,23 +307,24 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 -#define YYLAST 154 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 160 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 37 +#define YYNTOKENS 38 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 39 +#define YYNNTS 41 /* YYNRULES -- Number of rules. */ -#define YYNRULES 96 +#define YYNRULES 99 /* YYNRULES -- Number of states. */ -#define YYNSTATES 146 +#define YYNSTATES 152 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 291 +#define YYMAXUTOK 292 -#define YYTRANSLATE(X) \ - ((unsigned)(X) <= YYMAXUTOK ? yytranslate[X] : YYUNDEFTOK) +#define YYTRANSLATE(YYX) \ + ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ static const unsigned char yytranslate[] = @@ -359,7 +358,7 @@ static const unsigned char yytranslate[] = 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36 + 35, 36, 37 }; #if YYDEBUG @@ -368,63 +367,64 @@ static const unsigned char yytranslate[] = static const unsigned short yyprhs[] = { 0, 0, 3, 4, 7, 9, 11, 13, 17, 19, - 21, 23, 26, 28, 30, 32, 34, 36, 39, 43, - 44, 48, 52, 55, 58, 61, 64, 67, 70, 73, - 77, 81, 83, 87, 89, 94, 97, 98, 102, 106, - 109, 112, 116, 118, 122, 123, 126, 129, 131, 137, - 141, 142, 145, 148, 151, 154, 158, 160, 165, 168, - 169, 172, 175, 178, 182, 185, 188, 191, 195, 198, - 201, 202, 206, 209, 213, 216, 219, 220, 222, 226, - 228, 230, 232, 234, 236, 238, 240, 241, 244, 246, - 250, 254, 258, 261, 265, 269, 271 + 21, 23, 26, 28, 30, 32, 34, 36, 38, 41, + 45, 48, 52, 53, 57, 61, 64, 67, 70, 73, + 76, 79, 82, 86, 90, 92, 96, 98, 103, 106, + 107, 111, 115, 118, 121, 125, 127, 131, 132, 135, + 138, 140, 146, 150, 151, 154, 157, 160, 163, 167, + 169, 174, 177, 178, 181, 184, 187, 191, 194, 197, + 200, 204, 207, 210, 211, 215, 218, 222, 225, 228, + 229, 231, 235, 237, 239, 241, 243, 245, 247, 249, + 250, 253, 255, 259, 263, 267, 270, 274, 278, 280 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yysigned_char yyrhs[] = { - 38, 0, -1, -1, 38, 39, -1, 40, -1, 48, - -1, 59, -1, 3, 70, 72, -1, 5, -1, 14, - -1, 8, -1, 1, 72, -1, 54, -1, 64, -1, - 42, -1, 62, -1, 72, -1, 10, 25, -1, 41, - 29, 43, -1, -1, 43, 44, 29, -1, 43, 68, - 29, -1, 43, 66, -1, 43, 29, -1, 20, 69, - -1, 21, 69, -1, 23, 69, -1, 24, 69, -1, - 22, 69, -1, 18, 70, 73, -1, 19, 75, 73, - -1, 7, -1, 45, 29, 49, -1, 71, -1, 46, - 51, 47, 29, -1, 46, 51, -1, -1, 49, 50, - 29, -1, 49, 68, 29, -1, 49, 66, -1, 49, - 29, -1, 18, 70, 73, -1, 17, -1, 19, 75, - 73, -1, -1, 51, 40, -1, 13, 74, -1, 71, - -1, 52, 29, 55, 53, 29, -1, 52, 29, 55, - -1, -1, 55, 40, -1, 55, 59, -1, 55, 48, - -1, 4, 70, -1, 56, 29, 67, -1, 71, -1, - 57, 60, 58, 29, -1, 57, 60, -1, -1, 60, - 40, -1, 60, 59, -1, 60, 48, -1, 60, 1, - 29, -1, 6, 70, -1, 61, 29, -1, 9, 70, - -1, 63, 29, 67, -1, 11, 29, -1, 65, 12, - -1, -1, 67, 68, 29, -1, 67, 29, -1, 15, - 32, 74, -1, 15, 74, -1, 16, 74, -1, -1, - 70, -1, 70, 13, 74, -1, 25, -1, 26, -1, - 5, -1, 8, -1, 14, -1, 29, -1, 28, -1, - -1, 13, 74, -1, 75, -1, 75, 35, 75, -1, - 75, 27, 75, -1, 31, 74, 30, -1, 36, 74, - -1, 74, 33, 74, -1, 74, 34, 74, -1, 25, - -1, 26, -1 + 39, 0, -1, -1, 39, 40, -1, 41, -1, 51, + -1, 62, -1, 3, 73, 75, -1, 5, -1, 15, + -1, 8, -1, 1, 75, -1, 57, -1, 67, -1, + 43, -1, 45, -1, 65, -1, 75, -1, 10, 26, + -1, 42, 30, 46, -1, 11, 26, -1, 44, 30, + 46, -1, -1, 46, 47, 30, -1, 46, 71, 30, + -1, 46, 69, -1, 46, 30, -1, 21, 72, -1, + 22, 72, -1, 24, 72, -1, 25, 72, -1, 23, + 72, -1, 19, 73, 76, -1, 20, 78, 76, -1, + 7, -1, 48, 30, 52, -1, 74, -1, 49, 54, + 50, 30, -1, 49, 54, -1, -1, 52, 53, 30, + -1, 52, 71, 30, -1, 52, 69, -1, 52, 30, + -1, 19, 73, 76, -1, 18, -1, 20, 78, 76, + -1, -1, 54, 41, -1, 14, 77, -1, 74, -1, + 55, 30, 58, 56, 30, -1, 55, 30, 58, -1, + -1, 58, 41, -1, 58, 62, -1, 58, 51, -1, + 4, 73, -1, 59, 30, 70, -1, 74, -1, 60, + 63, 61, 30, -1, 60, 63, -1, -1, 63, 41, + -1, 63, 62, -1, 63, 51, -1, 63, 1, 30, + -1, 6, 73, -1, 64, 30, -1, 9, 73, -1, + 66, 30, 70, -1, 12, 30, -1, 68, 13, -1, + -1, 70, 71, 30, -1, 70, 30, -1, 16, 33, + 77, -1, 16, 77, -1, 17, 77, -1, -1, 73, + -1, 73, 14, 77, -1, 26, -1, 27, -1, 5, + -1, 8, -1, 15, -1, 30, -1, 29, -1, -1, + 14, 77, -1, 78, -1, 78, 36, 78, -1, 78, + 28, 78, -1, 32, 77, 31, -1, 37, 77, -1, + 77, 34, 77, -1, 77, 35, 77, -1, 26, -1, + 27, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short yyrline[] = { - 0, 89, 89, 90, 93, 94, 95, 96, 97, 98, - 99, 100, 103, 105, 106, 107, 108, 114, 122, 128, - 130, 131, 132, 133, 136, 142, 148, 154, 160, 166, - 172, 180, 189, 195, 203, 205, 211, 213, 214, 215, - 216, 219, 225, 231, 237, 239, 244, 253, 261, 263, - 269, 271, 272, 273, 278, 285, 291, 299, 301, 307, - 309, 310, 311, 312, 315, 321, 328, 335, 342, 348, - 355, 356, 357, 360, 365, 370, 378, 380, 384, 389, - 390, 393, 394, 395, 398, 399, 401, 402, 405, 406, - 407, 408, 409, 410, 411, 414, 415 + 0, 90, 90, 91, 94, 95, 96, 97, 98, 99, + 100, 101, 105, 106, 107, 108, 109, 110, 116, 124, + 130, 138, 148, 150, 151, 152, 153, 156, 162, 168, + 174, 180, 186, 192, 200, 209, 215, 224, 225, 231, + 233, 234, 235, 236, 239, 245, 251, 257, 259, 264, + 273, 282, 283, 289, 291, 292, 293, 298, 305, 311, + 320, 321, 327, 329, 330, 331, 332, 335, 341, 348, + 355, 362, 368, 375, 376, 377, 380, 385, 390, 398, + 400, 404, 409, 410, 413, 414, 415, 419, 419, 421, + 422, 425, 426, 427, 428, 429, 430, 431, 434, 435 }; #endif @@ -435,19 +435,19 @@ static const char *const yytname[] = { "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU", "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG", - "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS", "T_REQUIRES", - "T_OPTIONAL", "T_PROMPT", "T_DEFAULT", "T_TRISTATE", "T_BOOLEAN", - "T_STRING", "T_INT", "T_HEX", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL", - "T_EOF", "T_EOL", "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_ON", "T_OR", - "T_AND", "T_EQUAL", "T_NOT", "$accept", "input", "block", + "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS", + "T_REQUIRES", "T_OPTIONAL", "T_PROMPT", "T_DEFAULT", "T_TRISTATE", + "T_BOOLEAN", "T_STRING", "T_INT", "T_HEX", "T_WORD", "T_WORD_QUOTE", + "T_UNEQUAL", "T_EOF", "T_EOL", "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_ON", + "T_OR", "T_AND", "T_EQUAL", "T_NOT", "$accept", "input", "block", "common_block", "config_entry_start", "config_stmt", - "config_option_list", "config_option", "choice", "choice_entry", - "choice_end", "choice_stmt", "choice_option_list", "choice_option", - "choice_block", "if", "if_end", "if_stmt", "if_block", "menu", - "menu_entry", "menu_end", "menu_stmt", "menu_block", "source", - "source_stmt", "comment", "comment_stmt", "help_start", "help", - "depends_list", "depends", "prompt_stmt_opt", "prompt", "end", - "nl_or_eof", "if_expr", "expr", "symbol", 0 + "menuconfig_entry_start", "menuconfig_stmt", "config_option_list", + "config_option", "choice", "choice_entry", "choice_end", "choice_stmt", + "choice_option_list", "choice_option", "choice_block", "if", "if_end", + "if_stmt", "if_block", "menu", "menu_entry", "menu_end", "menu_stmt", + "menu_block", "source", "source_stmt", "comment", "comment_stmt", + "help_start", "help", "depends_list", "depends", "prompt_stmt_opt", + "prompt", "end", "nl_or_eof", "if_expr", "expr", "symbol", 0 }; #endif @@ -459,38 +459,38 @@ static const unsigned short yytoknum[] = 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291 + 285, 286, 287, 288, 289, 290, 291, 292 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 37, 38, 38, 39, 39, 39, 39, 39, 39, - 39, 39, 40, 40, 40, 40, 40, 41, 42, 43, - 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, - 44, 45, 46, 47, 48, 48, 49, 49, 49, 49, - 49, 50, 50, 50, 51, 51, 52, 53, 54, 54, - 55, 55, 55, 55, 56, 57, 58, 59, 59, 60, - 60, 60, 60, 60, 61, 62, 63, 64, 65, 66, - 67, 67, 67, 68, 68, 68, 69, 69, 69, 70, - 70, 71, 71, 71, 72, 72, 73, 73, 74, 74, - 74, 74, 74, 74, 74, 75, 75 + 0, 38, 39, 39, 40, 40, 40, 40, 40, 40, + 40, 40, 41, 41, 41, 41, 41, 41, 42, 43, + 44, 45, 46, 46, 46, 46, 46, 47, 47, 47, + 47, 47, 47, 47, 48, 49, 50, 51, 51, 52, + 52, 52, 52, 52, 53, 53, 53, 54, 54, 55, + 56, 57, 57, 58, 58, 58, 58, 59, 60, 61, + 62, 62, 63, 63, 63, 63, 63, 64, 65, 66, + 67, 68, 69, 70, 70, 70, 71, 71, 71, 72, + 72, 72, 73, 73, 74, 74, 74, 75, 75, 76, + 76, 77, 77, 77, 77, 77, 77, 77, 78, 78 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const unsigned char yyr2[] = { 0, 2, 0, 2, 1, 1, 1, 3, 1, 1, - 1, 2, 1, 1, 1, 1, 1, 2, 3, 0, - 3, 3, 2, 2, 2, 2, 2, 2, 2, 3, - 3, 1, 3, 1, 4, 2, 0, 3, 3, 2, - 2, 3, 1, 3, 0, 2, 2, 1, 5, 3, - 0, 2, 2, 2, 2, 3, 1, 4, 2, 0, - 2, 2, 2, 3, 2, 2, 2, 3, 2, 2, - 0, 3, 2, 3, 2, 2, 0, 1, 3, 1, - 1, 1, 1, 1, 1, 1, 0, 2, 1, 3, - 3, 3, 2, 3, 3, 1, 1 + 1, 2, 1, 1, 1, 1, 1, 1, 2, 3, + 2, 3, 0, 3, 3, 2, 2, 2, 2, 2, + 2, 2, 3, 3, 1, 3, 1, 4, 2, 0, + 3, 3, 2, 2, 3, 1, 3, 0, 2, 2, + 1, 5, 3, 0, 2, 2, 2, 2, 3, 1, + 4, 2, 0, 2, 2, 2, 3, 2, 2, 2, + 3, 2, 2, 0, 3, 2, 3, 2, 2, 0, + 1, 3, 1, 1, 1, 1, 1, 1, 1, 0, + 2, 1, 3, 3, 3, 2, 3, 3, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -498,127 +498,134 @@ static const unsigned char yyr2[] = means the default is an error. */ static const unsigned char yydefact[] = { - 2, 0, 1, 0, 0, 0, 8, 0, 31, 10, - 0, 0, 0, 9, 85, 84, 3, 4, 0, 14, - 0, 44, 5, 0, 12, 0, 59, 6, 0, 15, - 0, 13, 16, 11, 79, 80, 0, 54, 64, 66, - 17, 95, 96, 0, 0, 46, 88, 19, 36, 35, - 50, 70, 0, 65, 70, 7, 0, 92, 0, 0, - 0, 0, 18, 32, 81, 82, 83, 45, 0, 33, - 49, 55, 0, 60, 62, 0, 61, 56, 67, 91, - 93, 94, 90, 89, 0, 0, 0, 0, 0, 76, - 76, 76, 76, 76, 23, 0, 0, 22, 0, 42, - 0, 0, 40, 0, 39, 0, 34, 51, 53, 0, - 52, 47, 72, 0, 63, 57, 68, 0, 74, 75, - 86, 86, 24, 77, 25, 28, 26, 27, 20, 69, - 21, 86, 86, 37, 38, 48, 71, 73, 0, 29, - 30, 0, 41, 43, 87, 78 + 2, 0, 1, 0, 0, 0, 8, 0, 34, 10, + 0, 0, 0, 0, 9, 88, 87, 3, 4, 0, + 14, 0, 15, 0, 47, 5, 0, 12, 0, 62, + 6, 0, 16, 0, 13, 17, 11, 82, 83, 0, + 57, 67, 69, 18, 20, 98, 99, 0, 0, 49, + 91, 22, 22, 39, 38, 53, 73, 0, 68, 73, + 7, 0, 95, 0, 0, 0, 0, 19, 21, 35, + 84, 85, 86, 48, 0, 36, 52, 58, 0, 63, + 65, 0, 64, 59, 70, 94, 96, 97, 93, 92, + 0, 0, 0, 0, 0, 79, 79, 79, 79, 79, + 26, 0, 0, 25, 0, 45, 0, 0, 43, 0, + 42, 0, 37, 54, 56, 0, 55, 50, 75, 0, + 66, 60, 71, 0, 77, 78, 89, 89, 27, 80, + 28, 31, 29, 30, 23, 72, 24, 89, 89, 40, + 41, 51, 74, 76, 0, 32, 33, 0, 44, 46, + 90, 81 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short yydefgoto[] = { - -1, 1, 16, 17, 18, 19, 62, 95, 20, 21, - 68, 22, 63, 103, 49, 23, 109, 24, 70, 25, - 26, 75, 27, 52, 28, 29, 30, 31, 96, 97, - 71, 113, 122, 123, 69, 32, 139, 45, 46 + -1, 1, 17, 18, 19, 20, 21, 22, 67, 101, + 23, 24, 74, 25, 69, 109, 54, 26, 115, 27, + 76, 28, 29, 81, 30, 57, 31, 32, 33, 34, + 102, 103, 77, 104, 128, 129, 75, 35, 145, 49, + 50 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -120 +#define YYPACT_NINF -121 static const short yypact[] = { - -120, 17, -120, 32, 71, 71, -120, 71, -120, -120, - 71, 11, 99, -120, -120, -120, -120, -120, 12, -120, - 22, -120, -120, 35, -120, 52, -120, -120, 56, -120, - 60, -120, -120, -120, -120, -120, 32, -120, -120, -120, - -120, -120, -120, 99, 99, 83, 38, -120, -120, 74, - -120, -120, 49, -120, -120, -120, 98, -120, 99, 99, - 101, 101, 89, 104, -120, -120, -120, -120, 65, -120, - 62, 77, 72, -120, -120, 85, -120, -120, 77, -120, - 95, -120, -120, -120, 105, 8, 99, 71, 101, 71, - 71, 71, 71, 71, -120, 113, 131, -120, 115, -120, - 71, 101, -120, 116, -120, 117, -120, -120, -120, 118, - -120, -120, -120, 119, -120, -120, -120, 99, 83, 83, - 136, 136, -120, 137, -120, -120, -120, -120, -120, -120, - -120, 136, 136, -120, -120, -120, -120, 83, 99, -120, - -120, 99, -120, -120, 83, 83 + -121, 25, -121, -18, -11, -11, -121, -11, -121, -121, + -11, 21, 27, 112, -121, -121, -121, -121, -121, 51, + -121, 54, -121, 57, -121, -121, 58, -121, 62, -121, + -121, 80, -121, 96, -121, -121, -121, -121, -121, -18, + -121, -121, -121, -121, -121, -121, -121, 112, 112, 17, + 77, -121, -121, -121, 85, -121, -121, 56, -121, -121, + -121, -21, -121, 112, 112, 42, 42, 100, 100, 115, + -121, -121, -121, -121, 98, -121, 68, 28, 99, -121, + -121, 111, -121, -121, 28, -121, 105, -121, -121, -121, + 116, 110, 112, -11, 42, -11, -11, -11, -11, -11, + -121, 118, 137, -121, 121, -121, -11, 42, -121, 122, + -121, 123, -121, -121, -121, 124, -121, -121, -121, 125, + -121, -121, -121, 112, 17, 17, 142, 142, -121, 143, + -121, -121, -121, -121, -121, -121, -121, 142, 142, -121, + -121, -121, -121, 17, 112, -121, -121, 112, -121, -121, + 17, 17 }; /* YYPGOTO[NTERM-NUM]. */ static const yysigned_char yypgoto[] = { - -120, -120, -120, -38, -120, -120, -120, -120, -120, -120, - -120, -42, -120, -120, -120, -120, -120, -120, -120, -120, - -120, -120, -33, -120, -120, -120, -120, -120, -120, 88, - 100, 78, 46, -1, -23, 2, -119, -43, -53 + -121, -121, -121, -35, -121, -121, -121, -121, 106, -121, + -121, -121, -121, -34, -121, -121, -121, -121, -121, -121, + -121, -121, -121, -121, -33, -121, -121, -121, -121, -121, + -121, 90, 101, 34, 10, -4, -30, -1, -120, -43, + -57 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. - If YYTABLE_NINF, parse error. */ -#define YYTABLE_NINF -59 + If YYTABLE_NINF, syntax error. */ +#define YYTABLE_NINF -62 static const short yytable[] = { - 56, 57, 140, 36, 37, 33, 38, 82, 83, 39, - 74, 67, 142, 143, 73, 80, 81, 2, 3, 76, - 4, 5, 6, 7, 8, 9, 10, 11, 108, 77, - 12, 13, 107, 41, 42, 121, 40, 110, 55, 43, - 117, 47, 118, 119, 44, 14, 15, 111, 132, -58, - 72, 48, -58, 5, 64, 7, 8, 65, 10, 11, - 14, 15, 12, 66, 50, 60, 5, 64, 7, 8, - 65, 10, 11, 61, 137, 12, 66, 14, 15, 64, - 7, 51, 65, 10, 11, 53, 120, 12, 66, 54, - 14, 15, 85, 86, 106, 144, 34, 35, 145, 131, - 84, 114, 14, 15, 85, 86, 112, 87, 88, 89, - 90, 91, 92, 93, 115, 84, 58, 59, 94, 85, - 86, 99, 100, 101, 41, 42, 41, 42, 79, 59, - 43, 58, 59, 102, 116, 44, 124, 125, 126, 127, - 98, 105, 128, 129, 130, 133, 134, 135, 136, 138, - 141, 104, 0, 0, 78 + 39, 40, 36, 41, 61, 62, 42, 146, 88, 89, + 85, 15, 16, 63, 64, 37, 38, 148, 149, 73, + 86, 87, 79, 80, 82, 2, 3, 83, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 127, 60, 13, + 14, 113, 114, 116, 91, 92, 117, 43, 124, 125, + 138, 63, 64, 44, 15, 16, -61, 78, 118, -61, + 5, 70, 7, 8, 71, 10, 11, 12, 45, 46, + 13, 72, 5, 70, 7, 8, 71, 10, 11, 12, + 143, 51, 13, 72, 52, 15, 16, 53, 55, 126, + 70, 7, 56, 71, 10, 11, 12, 15, 16, 13, + 72, 150, 137, 111, 151, 65, 130, 131, 132, 133, + 58, 119, 90, 66, 15, 16, 91, 92, 119, 93, + 94, 95, 96, 97, 98, 99, 59, 90, 112, 120, + 100, 91, 92, 105, 106, 107, 45, 46, 45, 46, + 64, 121, 47, 123, 47, 108, 122, 48, 134, 48, + 135, 136, 139, 140, 141, 142, 144, 147, 68, 110, + 84 }; -static const short yycheck[] = +static const unsigned char yycheck[] = { - 43, 44, 121, 4, 5, 3, 7, 60, 61, 10, - 52, 49, 131, 132, 52, 58, 59, 0, 1, 52, - 3, 4, 5, 6, 7, 8, 9, 10, 70, 52, - 13, 14, 70, 25, 26, 88, 25, 70, 36, 31, - 32, 29, 85, 86, 36, 28, 29, 70, 101, 0, - 1, 29, 3, 4, 5, 6, 7, 8, 9, 10, - 28, 29, 13, 14, 29, 27, 4, 5, 6, 7, - 8, 9, 10, 35, 117, 13, 14, 28, 29, 5, - 6, 29, 8, 9, 10, 29, 87, 13, 14, 29, - 28, 29, 15, 16, 29, 138, 25, 26, 141, 100, - 11, 29, 28, 29, 15, 16, 29, 18, 19, 20, - 21, 22, 23, 24, 29, 11, 33, 34, 29, 15, - 16, 17, 18, 19, 25, 26, 25, 26, 30, 34, - 31, 33, 34, 29, 29, 36, 90, 91, 92, 93, - 62, 63, 29, 12, 29, 29, 29, 29, 29, 13, - 13, 63, -1, -1, 54 + 4, 5, 3, 7, 47, 48, 10, 127, 65, 66, + 31, 29, 30, 34, 35, 26, 27, 137, 138, 54, + 63, 64, 57, 57, 57, 0, 1, 57, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 94, 39, 14, + 15, 76, 76, 76, 16, 17, 76, 26, 91, 92, + 107, 34, 35, 26, 29, 30, 0, 1, 30, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 26, 27, + 14, 15, 4, 5, 6, 7, 8, 9, 10, 11, + 123, 30, 14, 15, 30, 29, 30, 30, 30, 93, + 5, 6, 30, 8, 9, 10, 11, 29, 30, 14, + 15, 144, 106, 69, 147, 28, 96, 97, 98, 99, + 30, 77, 12, 36, 29, 30, 16, 17, 84, 19, + 20, 21, 22, 23, 24, 25, 30, 12, 30, 30, + 30, 16, 17, 18, 19, 20, 26, 27, 26, 27, + 35, 30, 32, 33, 32, 30, 30, 37, 30, 37, + 13, 30, 30, 30, 30, 30, 14, 14, 52, 69, + 59 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned char yystos[] = { - 0, 38, 0, 1, 3, 4, 5, 6, 7, 8, - 9, 10, 13, 14, 28, 29, 39, 40, 41, 42, - 45, 46, 48, 52, 54, 56, 57, 59, 61, 62, - 63, 64, 72, 72, 25, 26, 70, 70, 70, 70, - 25, 25, 26, 31, 36, 74, 75, 29, 29, 51, - 29, 29, 60, 29, 29, 72, 74, 74, 33, 34, - 27, 35, 43, 49, 5, 8, 14, 40, 47, 71, - 55, 67, 1, 40, 48, 58, 59, 71, 67, 30, - 74, 74, 75, 75, 11, 15, 16, 18, 19, 20, - 21, 22, 23, 24, 29, 44, 65, 66, 68, 17, - 18, 19, 29, 50, 66, 68, 29, 40, 48, 53, - 59, 71, 29, 68, 29, 29, 29, 32, 74, 74, - 70, 75, 69, 70, 69, 69, 69, 69, 29, 12, - 29, 70, 75, 29, 29, 29, 29, 74, 13, 73, - 73, 13, 73, 73, 74, 74 + 0, 39, 0, 1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 14, 15, 29, 30, 40, 41, 42, + 43, 44, 45, 48, 49, 51, 55, 57, 59, 60, + 62, 64, 65, 66, 67, 75, 75, 26, 27, 73, + 73, 73, 73, 26, 26, 26, 27, 32, 37, 77, + 78, 30, 30, 30, 54, 30, 30, 63, 30, 30, + 75, 77, 77, 34, 35, 28, 36, 46, 46, 52, + 5, 8, 15, 41, 50, 74, 58, 70, 1, 41, + 51, 61, 62, 74, 70, 31, 77, 77, 78, 78, + 12, 16, 17, 19, 20, 21, 22, 23, 24, 25, + 30, 47, 68, 69, 71, 18, 19, 20, 30, 53, + 69, 71, 30, 41, 51, 56, 62, 74, 30, 71, + 30, 30, 30, 33, 77, 77, 73, 78, 72, 73, + 72, 72, 72, 72, 30, 13, 30, 73, 78, 30, + 30, 30, 30, 77, 14, 76, 76, 14, 76, 76, + 77, 77 }; #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) @@ -639,13 +646,14 @@ static const unsigned char yystos[] = #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 +#define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 + /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ @@ -660,13 +668,13 @@ do \ { \ yychar = (Token); \ yylval = (Value); \ - yychar1 = YYTRANSLATE (yychar); \ + yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ { \ - yyerror ("syntax error: cannot back up"); \ + yyerror ("syntax error: cannot back up");\ YYERROR; \ } \ while (0) @@ -678,7 +686,7 @@ while (0) are run). */ #ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ +# define YYLLOC_DEFAULT(Current, Rhs, N) \ Current.first_line = Rhs[1].first_line; \ Current.first_column = Rhs[1].first_column; \ Current.last_line = Rhs[N].last_line; \ @@ -687,7 +695,11 @@ while (0) /* YYLEX -- calling `yylex' with the right arguments. */ -#define YYLEX yylex () +#ifdef YYLEX_PARAM +# define YYLEX yylex (YYLEX_PARAM) +#else +# define YYLEX yylex () +#endif /* Enable debugging if requested. */ #if YYDEBUG @@ -702,19 +714,93 @@ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) + # define YYDSYMPRINT(Args) \ do { \ if (yydebug) \ yysymprint Args; \ } while (0) + +# define YYDSYMPRINTF(Title, Token, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yysymprint (stderr, \ + Token, Value); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) + +/*------------------------------------------------------------------. +| yy_stack_print -- Print the state stack from its BOTTOM up to its | +| TOP (cinluded). | +`------------------------------------------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yy_stack_print (short *bottom, short *top) +#else +static void +yy_stack_print (bottom, top) + short *bottom; + short *top; +#endif +{ + YYFPRINTF (stderr, "Stack now"); + for (/* Nothing. */; bottom <= top; ++bottom) + YYFPRINTF (stderr, " %d", *bottom); + YYFPRINTF (stderr, "\n"); +} + +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) + + +/*------------------------------------------------. +| Report that the YYRULE is going to be reduced. | +`------------------------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yy_reduce_print (int yyrule) +#else +static void +yy_reduce_print (yyrule) + int yyrule; +#endif +{ + int yyi; + unsigned int yylineno = yyrline[yyrule]; + YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", + yyrule - 1, yylineno); + /* Print the symbols being reduced, and their result. */ + for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) + YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); + YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); +} + +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (Rule); \ +} while (0) + /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YYDSYMPRINT(Args) +# define YYDSYMPRINTF(Title, Token, Value, Location) +# define YY_STACK_PRINT(Bottom, Top) +# define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ + /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 @@ -793,95 +879,85 @@ yystpcpy (yydest, yysrc) #if YYDEBUG -/*-----------------------------. -| Print this symbol on YYOUT. | -`-----------------------------*/ +/*--------------------------------. +| Print this symbol on YYOUTPUT. | +`--------------------------------*/ -static void #if defined (__STDC__) || defined (__cplusplus) -yysymprint (FILE* yyout, int yytype, YYSTYPE yyvalue) +static void +yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) #else -yysymprint (yyout, yytype, yyvalue) - FILE* yyout; +static void +yysymprint (yyoutput, yytype, yyvaluep) + FILE *yyoutput; int yytype; - YYSTYPE yyvalue; + YYSTYPE *yyvaluep; #endif { /* Pacify ``unused variable'' warnings. */ - (void) yyvalue; + (void) yyvaluep; if (yytype < YYNTOKENS) { - YYFPRINTF (yyout, "token %s (", yytname[yytype]); + YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); # ifdef YYPRINT - YYPRINT (yyout, yytoknum[yytype], yyvalue); + YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # endif } else - YYFPRINTF (yyout, "nterm %s (", yytname[yytype]); + YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); switch (yytype) { default: break; } - YYFPRINTF (yyout, ")"); + YYFPRINTF (yyoutput, ")"); } -#endif /* YYDEBUG. */ - +#endif /* ! YYDEBUG */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ -static void #if defined (__STDC__) || defined (__cplusplus) -yydestruct (int yytype, YYSTYPE yyvalue) +static void +yydestruct (int yytype, YYSTYPE *yyvaluep) #else -yydestruct (yytype, yyvalue) +static void +yydestruct (yytype, yyvaluep) int yytype; - YYSTYPE yyvalue; + YYSTYPE *yyvaluep; #endif { /* Pacify ``unused variable'' warnings. */ - (void) yyvalue; + (void) yyvaluep; switch (yytype) { + default: break; } } - -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ +/* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM # if defined (__STDC__) || defined (__cplusplus) -# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -# define YYPARSE_PARAM_DECL +int yyparse (void *YYPARSE_PARAM); # else -# define YYPARSE_PARAM_ARG YYPARSE_PARAM -# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; +int yyparse (); # endif -#else /* !YYPARSE_PARAM */ -# define YYPARSE_PARAM_ARG -# define YYPARSE_PARAM_DECL -#endif /* !YYPARSE_PARAM */ - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -# ifdef YYPARSE_PARAM -int yyparse (void *); -# else +#else /* ! YYPARSE_PARAM */ +#if defined (__STDC__) || defined (__cplusplus) int yyparse (void); -# endif +#else +int yyparse (); #endif +#endif /* ! YYPARSE_PARAM */ + /* The lookahead symbol. */ @@ -890,13 +966,32 @@ int yychar; /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; -/* Number of parse errors so far. */ +/* Number of syntax errors so far. */ int yynerrs; + +/*----------. +| yyparse. | +`----------*/ + +#ifdef YYPARSE_PARAM +# if defined (__STDC__) || defined (__cplusplus) +int yyparse (void *YYPARSE_PARAM) +# else +int yyparse (YYPARSE_PARAM) + void *YYPARSE_PARAM; +# endif +#else /* ! YYPARSE_PARAM */ +#if defined (__STDC__) || defined (__cplusplus) int -yyparse (YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL +yyparse (void) +#else +int +yyparse () + +#endif +#endif { register int yystate; @@ -905,7 +1000,7 @@ yyparse (YYPARSE_PARAM_ARG) /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* Lookahead token as an internal (translated) token number. */ - int yychar1 = 0; + int yytoken = 0; /* Three stacks and their tools: `yyss': related to states, @@ -969,7 +1064,7 @@ yyparse (YYPARSE_PARAM_ARG) yysetstate: *yyssp = yystate; - if (yyssp >= yyss + yystacksize - 1) + if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; @@ -1001,10 +1096,10 @@ yyparse (YYPARSE_PARAM_ARG) goto yyoverflowlab; # else /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) + if (YYMAXDEPTH <= yystacksize) goto yyoverflowlab; yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) + if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { @@ -1030,7 +1125,7 @@ yyparse (YYPARSE_PARAM_ARG) YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); - if (yyssp >= yyss + yystacksize - 1) + if (yyss + yystacksize - 1 <= yyssp) YYABORT; } @@ -1055,39 +1150,28 @@ yybackup: /* Not known => get a lookahead token if don't already have one. */ - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ - + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } - /* Convert token to internal form (in yychar1) for indexing tables with. */ - - if (yychar <= 0) /* This means end of input. */ + if (yychar <= YYEOF) { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more. */ - + yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { - yychar1 = YYTRANSLATE (yychar); - - /* We have to keep this `#if YYDEBUG', since we use variables - which are defined only if `YYDEBUG' is set. */ - YYDPRINTF ((stderr, "Next token is ")); - YYDSYMPRINT ((stderr, yychar1, yylval)); - YYDPRINTF ((stderr, "\n")); + yytoken = YYTRANSLATE (yychar); + YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); } - /* If the proper action on seeing token YYCHAR1 is to reduce or to + /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ - yyn += yychar1; - if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yychar1) + yyn += yytoken; + if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) @@ -1102,8 +1186,7 @@ yybackup: YYACCEPT; /* Shift the lookahead token. */ - YYDPRINTF ((stderr, "Shifting token %d (%s), ", - yychar, yytname[yychar1])); + YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) @@ -1149,378 +1232,430 @@ yyreduce: yyval = yyvsp[1-yylen]; - -#if YYDEBUG - /* We have to keep this `#if YYDEBUG', since we use variables which - are defined only if `YYDEBUG' is set. */ - if (yydebug) - { - int yyi; - - YYFPRINTF (stderr, "Reducing via rule %d (line %d), ", - yyn - 1, yyrline[yyn]); - - /* Print the symbols being reduced, and their result. */ - for (yyi = yyprhs[yyn]; yyrhs[yyi] >= 0; yyi++) - YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); - YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif + YY_REDUCE_PRINT (yyn); switch (yyn) { case 8: - { zconfprint("unexpected 'endmenu' statement"); } + + { zconfprint("unexpected 'endmenu' statement"); ;} break; case 9: - { zconfprint("unexpected 'endif' statement"); } + + { zconfprint("unexpected 'endif' statement"); ;} break; case 10: - { zconfprint("unexpected 'endchoice' statement"); } + + { zconfprint("unexpected 'endchoice' statement"); ;} break; case 11: - { zconfprint("syntax error"); yyerrok; } + + { zconfprint("syntax error"); yyerrok; ;} break; - case 17: + case 18: + { struct symbol *sym = sym_lookup(yyvsp[0].string, 0); sym->flags |= SYMBOL_OPTIONAL; menu_add_entry(sym); printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), yyvsp[0].string); -} +;} break; - case 18: + case 19: + { menu_end_entry(); printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 23: - { } + case 20: + + { + struct symbol *sym = sym_lookup(yyvsp[0].string, 0); + sym->flags |= SYMBOL_OPTIONAL; + menu_add_entry(sym); + printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), yyvsp[0].string); +;} break; - case 24: + case 21: + + { + if (current_entry->prompt) + current_entry->prompt->type = P_MENU; + else + zconfprint("warning: menuconfig statement without prompt"); + menu_end_entry(); + printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); +;} + break; + + case 26: + + { ;} + break; + + case 27: + { menu_set_type(S_TRISTATE); printd(DEBUG_PARSE, "%s:%d:tristate\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 25: + case 28: + { menu_set_type(S_BOOLEAN); printd(DEBUG_PARSE, "%s:%d:boolean\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 26: + case 29: + { menu_set_type(S_INT); printd(DEBUG_PARSE, "%s:%d:int\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 27: + case 30: + { menu_set_type(S_HEX); printd(DEBUG_PARSE, "%s:%d:hex\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 28: + case 31: + { menu_set_type(S_STRING); printd(DEBUG_PARSE, "%s:%d:string\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 29: + case 32: + { menu_add_prop(P_PROMPT, yyvsp[-1].string, NULL, yyvsp[0].expr); printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 30: + case 33: + { menu_add_prop(P_DEFAULT, NULL, yyvsp[-1].symbol, yyvsp[0].expr); printd(DEBUG_PARSE, "%s:%d:default\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 31: + case 34: + { struct symbol *sym = sym_lookup(NULL, 0); sym->flags |= SYMBOL_CHOICE; menu_add_entry(sym); menu_add_prop(P_CHOICE, NULL, NULL, NULL); printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 32: + case 35: + { menu_end_entry(); menu_add_menu(); -} +;} break; - case 33: + case 36: + { if (zconf_endtoken(yyvsp[0].token, T_CHOICE, T_ENDCHOICE)) { menu_end_menu(); printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno()); } -} +;} break; - case 35: + case 38: + { printf("%s:%d: missing 'endchoice' for this 'choice' statement\n", current_menu->file->name, current_menu->lineno); zconfnerrs++; -} +;} break; - case 41: + case 44: + { menu_add_prop(P_PROMPT, yyvsp[-1].string, NULL, yyvsp[0].expr); printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 42: + case 45: + { current_entry->sym->flags |= SYMBOL_OPTIONAL; printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 43: + case 46: + { menu_add_prop(P_DEFAULT, NULL, yyvsp[-1].symbol, yyvsp[0].expr); printd(DEBUG_PARSE, "%s:%d:default\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 46: + case 49: + { printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno()); menu_add_entry(NULL); menu_add_dep(yyvsp[0].expr); menu_end_entry(); menu_add_menu(); -} +;} break; - case 47: + case 50: + { if (zconf_endtoken(yyvsp[0].token, T_IF, T_ENDIF)) { menu_end_menu(); printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno()); } -} +;} break; - case 49: + case 52: + { printf("%s:%d: missing 'endif' for this 'if' statement\n", current_menu->file->name, current_menu->lineno); zconfnerrs++; -} +;} break; - case 54: + case 57: + { menu_add_entry(NULL); menu_add_prop(P_MENU, yyvsp[0].string, NULL, NULL); printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 55: + case 58: + { menu_end_entry(); menu_add_menu(); -} +;} break; - case 56: + case 59: + { if (zconf_endtoken(yyvsp[0].token, T_MENU, T_ENDMENU)) { menu_end_menu(); printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno()); } -} +;} break; - case 58: + case 61: + { printf("%s:%d: missing 'endmenu' for this 'menu' statement\n", current_menu->file->name, current_menu->lineno); zconfnerrs++; -} +;} break; - case 63: - { zconfprint("invalid menu option"); yyerrok; } + case 66: + + { zconfprint("invalid menu option"); yyerrok; ;} break; - case 64: + case 67: + { yyval.string = yyvsp[0].string; printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), yyvsp[0].string); -} +;} break; - case 65: + case 68: + { zconf_nextfile(yyvsp[-1].string); -} +;} break; - case 66: + case 69: + { menu_add_entry(NULL); menu_add_prop(P_COMMENT, yyvsp[0].string, NULL, NULL); printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 67: + case 70: + { menu_end_entry(); -} +;} break; - case 68: + case 71: + { printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno()); zconf_starthelp(); -} +;} break; - case 69: + case 72: + { current_entry->sym->help = yyvsp[0].string; -} +;} break; - case 72: - { } + case 75: + + { ;} break; - case 73: + case 76: + { menu_add_dep(yyvsp[0].expr); printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 74: + case 77: + { menu_add_dep(yyvsp[0].expr); printd(DEBUG_PARSE, "%s:%d:depends\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 75: + case 78: + { menu_add_dep(yyvsp[0].expr); printd(DEBUG_PARSE, "%s:%d:requires\n", zconf_curname(), zconf_lineno()); -} +;} break; - case 77: + case 80: + { menu_add_prop(P_PROMPT, yyvsp[0].string, NULL, NULL); -} +;} break; - case 78: + case 81: + { menu_add_prop(P_PROMPT, yyvsp[-2].string, NULL, yyvsp[0].expr); -} +;} break; - case 81: - { yyval.token = T_ENDMENU; } - break; + case 84: - case 82: - { yyval.token = T_ENDCHOICE; } + { yyval.token = T_ENDMENU; ;} break; - case 83: - { yyval.token = T_ENDIF; } - break; + case 85: - case 86: - { yyval.expr = NULL; } + { yyval.token = T_ENDCHOICE; ;} break; - case 87: - { yyval.expr = yyvsp[0].expr; } - break; + case 86: - case 88: - { yyval.expr = expr_alloc_symbol(yyvsp[0].symbol); } + { yyval.token = T_ENDIF; ;} break; case 89: - { yyval.expr = expr_alloc_comp(E_EQUAL, yyvsp[-2].symbol, yyvsp[0].symbol); } + + { yyval.expr = NULL; ;} break; case 90: - { yyval.expr = expr_alloc_comp(E_UNEQUAL, yyvsp[-2].symbol, yyvsp[0].symbol); } + + { yyval.expr = yyvsp[0].expr; ;} break; case 91: - { yyval.expr = yyvsp[-1].expr; } + + { yyval.expr = expr_alloc_symbol(yyvsp[0].symbol); ;} break; case 92: - { yyval.expr = expr_alloc_one(E_NOT, yyvsp[0].expr); } + + { yyval.expr = expr_alloc_comp(E_EQUAL, yyvsp[-2].symbol, yyvsp[0].symbol); ;} break; case 93: - { yyval.expr = expr_alloc_two(E_OR, yyvsp[-2].expr, yyvsp[0].expr); } + + { yyval.expr = expr_alloc_comp(E_UNEQUAL, yyvsp[-2].symbol, yyvsp[0].symbol); ;} break; case 94: - { yyval.expr = expr_alloc_two(E_AND, yyvsp[-2].expr, yyvsp[0].expr); } + + { yyval.expr = yyvsp[-1].expr; ;} break; case 95: - { yyval.symbol = sym_lookup(yyvsp[0].string, 0); free(yyvsp[0].string); } + + { yyval.expr = expr_alloc_one(E_NOT, yyvsp[0].expr); ;} break; case 96: - { yyval.symbol = sym_lookup(yyvsp[0].string, 1); free(yyvsp[0].string); } + + { yyval.expr = expr_alloc_two(E_OR, yyvsp[-2].expr, yyvsp[0].expr); ;} + break; + + case 97: + + { yyval.expr = expr_alloc_two(E_AND, yyvsp[-2].expr, yyvsp[0].expr); ;} + break; + + case 98: + + { yyval.symbol = sym_lookup(yyvsp[0].string, 0); free(yyvsp[0].string); ;} + break; + + case 99: + + { yyval.symbol = sym_lookup(yyvsp[0].string, 1); free(yyvsp[0].string); ;} break; } -/* Line 1016 of /usr/share/bison/yacc.c. */ -#line 1509 "zconf.tab.c" +/* Line 999 of yacc.c. */ + yyvsp -= yylen; yyssp -= yylen; -#if YYDEBUG - if (yydebug) - { - short *yyssp1 = yyss - 1; - YYFPRINTF (stderr, "state stack now"); - while (yyssp1 != yyssp) - YYFPRINTF (stderr, " %d", *++yyssp1); - YYFPRINTF (stderr, "\n"); - } -#endif + YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; @@ -1565,12 +1700,12 @@ yyerrlab: yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) yysize += yystrlen (yytname[yyx]) + 15, yycount++; - yysize += yystrlen ("parse error, unexpected ") + 1; + yysize += yystrlen ("syntax error, unexpected ") + 1; yysize += yystrlen (yytname[yytype]); yymsg = (char *) YYSTACK_ALLOC (yysize); if (yymsg != 0) { - char *yyp = yystpcpy (yymsg, "parse error, unexpected "); + char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); yyp = yystpcpy (yyp, yytname[yytype]); if (yycount < 5) @@ -1591,19 +1726,15 @@ yyerrlab: YYSTACK_FREE (yymsg); } else - yyerror ("parse error; also virtual memory exhausted"); + yyerror ("syntax error; also virtual memory exhausted"); } else #endif /* YYERROR_VERBOSE */ - yyerror ("parse error"); + yyerror ("syntax error"); } - goto yyerrlab1; -/*----------------------------------------------------. -| yyerrlab1 -- error raised explicitly by an action. | -`----------------------------------------------------*/ -yyerrlab1: + if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an @@ -1615,28 +1746,30 @@ yyerrlab1: /* Pop the error token. */ YYPOPSTACK; /* Pop the rest of the stack. */ - while (yyssp > yyss) + while (yyss < yyssp) { - YYDPRINTF ((stderr, "Error: popping ")); - YYDSYMPRINT ((stderr, - yystos[*yyssp], - *yyvsp)); - YYDPRINTF ((stderr, "\n")); - yydestruct (yystos[*yyssp], *yyvsp); + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[*yyssp], yyvsp); YYPOPSTACK; } YYABORT; } - YYDPRINTF ((stderr, "Discarding token %d (%s).\n", - yychar, yytname[yychar1])); - yydestruct (yychar1, yylval); + YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); + yydestruct (yytoken, &yylval); yychar = YYEMPTY; + } /* Else will try to reuse lookahead token after shifting the error token. */ + goto yyerrlab1; + +/*----------------------------------------------------. +| yyerrlab1 -- error raised explicitly by an action. | +`----------------------------------------------------*/ +yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) @@ -1657,26 +1790,12 @@ yyerrlab1: if (yyssp == yyss) YYABORT; - YYDPRINTF ((stderr, "Error: popping ")); - YYDSYMPRINT ((stderr, - yystos[*yyssp], *yyvsp)); - YYDPRINTF ((stderr, "\n")); - - yydestruct (yystos[yystate], *yyvsp); + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[yystate], yyvsp); yyvsp--; yystate = *--yyssp; - -#if YYDEBUG - if (yydebug) - { - short *yyssp1 = yyss - 1; - YYFPRINTF (stderr, "Error: state stack now"); - while (yyssp1 != yyssp) - YYFPRINTF (stderr, " %d", *++yyssp1); - YYFPRINTF (stderr, "\n"); - } -#endif + YY_STACK_PRINT (yyss, yyssp); } if (yyn == YYFINAL) diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y index dff6a117ae9ed..04e9499038942 100644 --- a/scripts/kconfig/zconf.y +++ b/scripts/kconfig/zconf.y @@ -27,7 +27,7 @@ struct symbol *symbol_hash[257]; #define YYERROR_VERBOSE %} -%expect 36 +%expect 40 %union { @@ -46,6 +46,7 @@ struct symbol *symbol_hash[257]; %token T_ENDCHOICE %token T_COMMENT %token T_CONFIG +%token T_MENUCONFIG %token T_HELP %token <string> T_HELPTEXT %token T_IF @@ -104,12 +105,13 @@ common_block: if_stmt | comment_stmt | config_stmt + | menuconfig_stmt | source_stmt | nl_or_eof ; -/* config entry */ +/* config/menuconfig entry */ config_entry_start: T_CONFIG T_WORD { @@ -125,6 +127,24 @@ config_stmt: config_entry_start T_EOL config_option_list printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); }; +menuconfig_entry_start: T_MENUCONFIG T_WORD +{ + struct symbol *sym = sym_lookup($2, 0); + sym->flags |= SYMBOL_OPTIONAL; + menu_add_entry(sym); + printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), $2); +}; + +menuconfig_stmt: menuconfig_entry_start T_EOL config_option_list +{ + if (current_entry->prompt) + current_entry->prompt->type = P_MENU; + else + zconfprint("warning: menuconfig statement without prompt"); + menu_end_entry(); + printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); +}; + config_option_list: /* empty */ | config_option_list config_option T_EOL |