State 52 conflicts: 1 shift/reduce
State 53 conflicts: 1 shift/reduce
State 54 conflicts: 1 shift/reduce
State 55 conflicts: 10 shift/reduce
State 56 conflicts: 12 shift/reduce
State 57 conflicts: 1 shift/reduce
State 58 conflicts: 13 shift/reduce
State 59 conflicts: 1 shift/reduce


Grammar

    0 $accept: input $end

    1 input: /* empty */
    2      | input block

    3 block: common_block
    4      | choice_stmt
    5      | menu_stmt
    6      | T_MAINMENU prompt nl_or_eof
    7      | T_ENDMENU
    8      | T_ENDIF
    9      | T_ENDCHOICE
   10      | error nl_or_eof

   11 common_block: if_stmt
   12             | comment_stmt
   13             | config_stmt
   14             | menuconfig_stmt
   15             | source_stmt
   16             | nl_or_eof

   17 config_entry_start: T_CONFIG T_WORD T_EOL

   18 config_stmt: config_entry_start config_option_list

   19 menuconfig_entry_start: T_MENUCONFIG T_WORD T_EOL

   20 menuconfig_stmt: menuconfig_entry_start config_option_list

   21 config_option_list: /* empty */
   22                   | config_option_list config_option
   23                   | config_option_list depends
   24                   | config_option_list help
   25                   | config_option_list T_EOL

   26 config_option: T_TRISTATE prompt_stmt_opt T_EOL
   27              | T_DEF_TRISTATE expr if_expr T_EOL
   28              | T_BOOLEAN prompt_stmt_opt T_EOL
   29              | T_DEF_BOOLEAN expr if_expr T_EOL
   30              | T_INT prompt_stmt_opt T_EOL
   31              | T_HEX prompt_stmt_opt T_EOL
   32              | T_STRING prompt_stmt_opt T_EOL
   33              | T_PROMPT prompt if_expr T_EOL
   34              | T_DEFAULT expr if_expr T_EOL
   35              | T_SELECT T_WORD if_expr T_EOL
   36              | T_SELECT T_NOT T_WORD if_expr T_EOL
   37              | T_RANGE symbol symbol if_expr T_EOL

   38 choice: T_CHOICE T_EOL

   39 choice_entry: choice choice_option_list

   40 choice_end: end

   41 choice_stmt: choice_entry choice_block choice_end
   42            | choice_entry choice_block

   43 choice_option_list: /* empty */
   44                   | choice_option_list choice_option
   45                   | choice_option_list depends
   46                   | choice_option_list help
   47                   | choice_option_list T_EOL

   48 choice_option: T_PROMPT prompt if_expr T_EOL
   49              | T_TRISTATE prompt_stmt_opt T_EOL
   50              | T_BOOLEAN prompt_stmt_opt T_EOL
   51              | T_OPTIONAL T_EOL
   52              | T_DEFAULT T_WORD if_expr T_EOL

   53 choice_block: /* empty */
   54             | choice_block common_block

   55 if: T_IF expr T_EOL

   56 if_end: end

   57 if_stmt: if if_block if_end
   58        | if if_block

   59 if_block: /* empty */
   60         | if_block common_block
   61         | if_block menu_stmt
   62         | if_block choice_stmt

   63 menu: T_MENU prompt T_EOL

   64 menu_entry: menu depends_list

   65 menu_end: end

   66 menu_stmt: menu_entry menu_block menu_end
   67          | menu_entry menu_block

   68 menu_block: /* empty */
   69           | menu_block common_block
   70           | menu_block menu_stmt
   71           | menu_block choice_stmt
   72           | menu_block error T_EOL

   73 source: T_SOURCE prompt T_EOL

   74 source_stmt: source

   75 comment: T_COMMENT prompt T_EOL

   76 comment_stmt: comment depends_list

   77 help_start: T_HELP T_EOL

   78 help: help_start T_HELPTEXT

   79 depends_list: /* empty */
   80             | depends_list depends
   81             | depends_list T_EOL

   82 depends: T_DEPENDS T_ON expr T_EOL
   83        | T_DEPENDS expr T_EOL
   84        | T_REQUIRES expr T_EOL

   85 prompt_stmt_opt: /* empty */
   86                | prompt if_expr

   87 prompt: T_WORD
   88       | T_WORD_QUOTE

   89 end: T_ENDMENU nl_or_eof
   90    | T_ENDCHOICE nl_or_eof
   91    | T_ENDIF nl_or_eof

   92 nl_or_eof: T_EOL
   93          | T_EOF

   94 if_expr: /* empty */
   95        | T_IF expr

   96 expr: symbol
   97     | symbol T_EQUAL symbol
   98     | symbol T_UNEQUAL symbol
   99     | T_OPEN_PAREN expr T_CLOSE_PAREN
  100     | T_NOT expr
  101     | expr T_OR expr
  102     | expr T_AND expr

  103 symbol: T_WORD
  104       | T_WORD_QUOTE


Terminals, with rules where they appear

$end (0) 0
error (256) 10 72
T_MAINMENU (258) 6
T_MENU (259) 63
T_ENDMENU (260) 7 89
T_SOURCE (261) 73
T_CHOICE (262) 38
T_ENDCHOICE (263) 9 90
T_COMMENT (264) 75
T_CONFIG (265) 17
T_MENUCONFIG (266) 19
T_HELP (267) 77
T_HELPTEXT (268) 78
T_IF (269) 55 95
T_ENDIF (270) 8 91
T_DEPENDS (271) 82 83
T_REQUIRES (272) 84
T_OPTIONAL (273) 51
T_PROMPT (274) 33 48
T_DEFAULT (275) 34 52
T_TRISTATE (276) 26 49
T_DEF_TRISTATE (277) 27
T_BOOLEAN (278) 28 50
T_DEF_BOOLEAN (279) 29
T_STRING (280) 32
T_INT (281) 30
T_HEX (282) 31
T_WORD (283) 17 19 35 36 52 87 103
T_WORD_QUOTE (284) 88 104
T_UNEQUAL (285) 98
T_EOF (286) 93
T_EOL (287) 17 19 25 26 27 28 29 30 31 32 33 34 35 36 37 38 47 48 49
    50 51 52 55 63 72 73 75 77 81 82 83 84 92
T_CLOSE_PAREN (288) 99
T_OPEN_PAREN (289) 99
T_ON (290) 82
T_SELECT (291) 35 36
T_RANGE (292) 37
T_OR (293) 101
T_AND (294) 102
T_EQUAL (295) 97
T_NOT (296) 36 100


Nonterminals, with rules where they appear

$accept (42)
    on left: 0
input (43)
    on left: 1 2, on right: 0 2
block (44)
    on left: 3 4 5 6 7 8 9 10, on right: 2
common_block (45)
    on left: 11 12 13 14 15 16, on right: 3 54 60 69
config_entry_start (46)
    on left: 17, on right: 18
config_stmt (47)
    on left: 18, on right: 13
menuconfig_entry_start (48)
    on left: 19, on right: 20
menuconfig_stmt (49)
    on left: 20, on right: 14
config_option_list (50)
    on left: 21 22 23 24 25, on right: 18 20 22 23 24 25
config_option (51)
    on left: 26 27 28 29 30 31 32 33 34 35 36 37, on right: 22
choice (52)
    on left: 38, on right: 39
choice_entry (53)
    on left: 39, on right: 41 42
choice_end (54)
    on left: 40, on right: 41
choice_stmt (55)
    on left: 41 42, on right: 4 62 71
choice_option_list (56)
    on left: 43 44 45 46 47, on right: 39 44 45 46 47
choice_option (57)
    on left: 48 49 50 51 52, on right: 44
choice_block (58)
    on left: 53 54, on right: 41 42 54
if (59)
    on left: 55, on right: 57 58
if_end (60)
    on left: 56, on right: 57
if_stmt (61)
    on left: 57 58, on right: 11
if_block (62)
    on left: 59 60 61 62, on right: 57 58 60 61 62
menu (63)
    on left: 63, on right: 64
menu_entry (64)
    on left: 64, on right: 66 67
menu_end (65)
    on left: 65, on right: 66
menu_stmt (66)
    on left: 66 67, on right: 5 61 70
menu_block (67)
    on left: 68 69 70 71 72, on right: 66 67 69 70 71 72
source (68)
    on left: 73, on right: 74
source_stmt (69)
    on left: 74, on right: 15
comment (70)
    on left: 75, on right: 76
comment_stmt (71)
    on left: 76, on right: 12
help_start (72)
    on left: 77, on right: 78
help (73)
    on left: 78, on right: 24 46
depends_list (74)
    on left: 79 80 81, on right: 64 76 80 81
depends (75)
    on left: 82 83 84, on right: 23 45 80
prompt_stmt_opt (76)
    on left: 85 86, on right: 26 28 30 31 32 49 50
prompt (77)
    on left: 87 88, on right: 6 33 48 63 73 75 86
end (78)
    on left: 89 90 91, on right: 40 56 65
nl_or_eof (79)
    on left: 92 93, on right: 6 10 16 89 90 91
if_expr (80)
    on left: 94 95, on right: 27 29 33 34 35 36 37 48 52 86
expr (81)
    on left: 96 97 98 99 100 101 102, on right: 27 29 34 55 82 83 84
    95 99 100 101 102
symbol (82)
    on left: 103 104, on right: 37 96 97 98


state 0

    0 $accept: . input $end

    $default  reduce using rule 1 (input)

    input  go to state 1


state 1

    0 $accept: input . $end
    2 input: input . block

    $end          shift, and go to state 2
    error         shift, and go to state 3
    T_MAINMENU    shift, and go to state 4
    T_MENU        shift, and go to state 5
    T_ENDMENU     shift, and go to state 6
    T_SOURCE      shift, and go to state 7
    T_CHOICE      shift, and go to state 8
    T_ENDCHOICE   shift, and go to state 9
    T_COMMENT     shift, and go to state 10
    T_CONFIG      shift, and go to state 11
    T_MENUCONFIG  shift, and go to state 12
    T_IF          shift, and go to state 13
    T_ENDIF       shift, and go to state 14
    T_EOF         shift, and go to state 15
    T_EOL         shift, and go to state 16

    block                   go to state 17
    common_block            go to state 18
    config_entry_start      go to state 19
    config_stmt             go to state 20
    menuconfig_entry_start  go to state 21
    menuconfig_stmt         go to state 22
    choice                  go to state 23
    choice_entry            go to state 24
    choice_stmt             go to state 25
    if                      go to state 26
    if_stmt                 go to state 27
    menu                    go to state 28
    menu_entry              go to state 29
    menu_stmt               go to state 30
    source                  go to state 31
    source_stmt             go to state 32
    comment                 go to state 33
    comment_stmt            go to state 34
    nl_or_eof               go to state 35


state 2

    0 $accept: input $end .

    $default  accept


state 3

   10 block: error . nl_or_eof

    T_EOF  shift, and go to state 15
    T_EOL  shift, and go to state 16

    nl_or_eof  go to state 36


state 4

    6 block: T_MAINMENU . prompt nl_or_eof

    T_WORD        shift, and go to state 37
    T_WORD_QUOTE  shift, and go to state 38

    prompt  go to state 39


state 5

   63 menu: T_MENU . prompt T_EOL

    T_WORD        shift, and go to state 37
    T_WORD_QUOTE  shift, and go to state 38

    prompt  go to state 40


state 6

    7 block: T_ENDMENU .

    $default  reduce using rule 7 (block)


state 7

   73 source: T_SOURCE . prompt T_EOL

    T_WORD        shift, and go to state 37
    T_WORD_QUOTE  shift, and go to state 38

    prompt  go to state 41


state 8

   38 choice: T_CHOICE . T_EOL

    T_EOL  shift, and go to state 42


state 9

    9 block: T_ENDCHOICE .

    $default  reduce using rule 9 (block)


state 10

   75 comment: T_COMMENT . prompt T_EOL

    T_WORD        shift, and go to state 37
    T_WORD_QUOTE  shift, and go to state 38

    prompt  go to state 43


state 11

   17 config_entry_start: T_CONFIG . T_WORD T_EOL

    T_WORD  shift, and go to state 44


state 12

   19 menuconfig_entry_start: T_MENUCONFIG . T_WORD T_EOL

    T_WORD  shift, and go to state 45


state 13

   55 if: T_IF . expr T_EOL

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47
    T_OPEN_PAREN  shift, and go to state 48
    T_NOT         shift, and go to state 49

    expr    go to state 50
    symbol  go to state 51


state 14

    8 block: T_ENDIF .

    $default  reduce using rule 8 (block)


state 15

   93 nl_or_eof: T_EOF .

    $default  reduce using rule 93 (nl_or_eof)


state 16

   92 nl_or_eof: T_EOL .

    $default  reduce using rule 92 (nl_or_eof)


state 17

    2 input: input block .

    $default  reduce using rule 2 (input)


state 18

    3 block: common_block .

    $default  reduce using rule 3 (block)


state 19

   18 config_stmt: config_entry_start . config_option_list

    $default  reduce using rule 21 (config_option_list)

    config_option_list  go to state 52


state 20

   13 common_block: config_stmt .

    $default  reduce using rule 13 (common_block)


state 21

   20 menuconfig_stmt: menuconfig_entry_start . config_option_list

    $default  reduce using rule 21 (config_option_list)

    config_option_list  go to state 53


state 22

   14 common_block: menuconfig_stmt .

    $default  reduce using rule 14 (common_block)


state 23

   39 choice_entry: choice . choice_option_list

    $default  reduce using rule 43 (choice_option_list)

    choice_option_list  go to state 54


state 24

   41 choice_stmt: choice_entry . choice_block choice_end
   42            | choice_entry . choice_block

    $default  reduce using rule 53 (choice_block)

    choice_block  go to state 55


state 25

    4 block: choice_stmt .

    $default  reduce using rule 4 (block)


state 26

   57 if_stmt: if . if_block if_end
   58        | if . if_block

    $default  reduce using rule 59 (if_block)

    if_block  go to state 56


state 27

   11 common_block: if_stmt .

    $default  reduce using rule 11 (common_block)


state 28

   64 menu_entry: menu . depends_list

    $default  reduce using rule 79 (depends_list)

    depends_list  go to state 57


state 29

   66 menu_stmt: menu_entry . menu_block menu_end
   67          | menu_entry . menu_block

    $default  reduce using rule 68 (menu_block)

    menu_block  go to state 58


state 30

    5 block: menu_stmt .

    $default  reduce using rule 5 (block)


state 31

   74 source_stmt: source .

    $default  reduce using rule 74 (source_stmt)


state 32

   15 common_block: source_stmt .

    $default  reduce using rule 15 (common_block)


state 33

   76 comment_stmt: comment . depends_list

    $default  reduce using rule 79 (depends_list)

    depends_list  go to state 59


state 34

   12 common_block: comment_stmt .

    $default  reduce using rule 12 (common_block)


state 35

   16 common_block: nl_or_eof .

    $default  reduce using rule 16 (common_block)


state 36

   10 block: error nl_or_eof .

    $default  reduce using rule 10 (block)


state 37

   87 prompt: T_WORD .

    $default  reduce using rule 87 (prompt)


state 38

   88 prompt: T_WORD_QUOTE .

    $default  reduce using rule 88 (prompt)


state 39

    6 block: T_MAINMENU prompt . nl_or_eof

    T_EOF  shift, and go to state 15
    T_EOL  shift, and go to state 16

    nl_or_eof  go to state 60


state 40

   63 menu: T_MENU prompt . T_EOL

    T_EOL  shift, and go to state 61


state 41

   73 source: T_SOURCE prompt . T_EOL

    T_EOL  shift, and go to state 62


state 42

   38 choice: T_CHOICE T_EOL .

    $default  reduce using rule 38 (choice)


state 43

   75 comment: T_COMMENT prompt . T_EOL

    T_EOL  shift, and go to state 63


state 44

   17 config_entry_start: T_CONFIG T_WORD . T_EOL

    T_EOL  shift, and go to state 64


state 45

   19 menuconfig_entry_start: T_MENUCONFIG T_WORD . T_EOL

    T_EOL  shift, and go to state 65


state 46

  103 symbol: T_WORD .

    $default  reduce using rule 103 (symbol)


state 47

  104 symbol: T_WORD_QUOTE .

    $default  reduce using rule 104 (symbol)


state 48

   99 expr: T_OPEN_PAREN . expr T_CLOSE_PAREN

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47
    T_OPEN_PAREN  shift, and go to state 48
    T_NOT         shift, and go to state 49

    expr    go to state 66
    symbol  go to state 51


state 49

  100 expr: T_NOT . expr

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47
    T_OPEN_PAREN  shift, and go to state 48
    T_NOT         shift, and go to state 49

    expr    go to state 67
    symbol  go to state 51


state 50

   55 if: T_IF expr . T_EOL
  101 expr: expr . T_OR expr
  102     | expr . T_AND expr

    T_EOL  shift, and go to state 68
    T_OR   shift, and go to state 69
    T_AND  shift, and go to state 70


state 51

   96 expr: symbol .
   97     | symbol . T_EQUAL symbol
   98     | symbol . T_UNEQUAL symbol

    T_UNEQUAL  shift, and go to state 71
    T_EQUAL    shift, and go to state 72

    $default  reduce using rule 96 (expr)


state 52

   18 config_stmt: config_entry_start config_option_list .
   22 config_option_list: config_option_list . config_option
   23                   | config_option_list . depends
   24                   | config_option_list . help
   25                   | config_option_list . T_EOL

    T_HELP          shift, and go to state 73
    T_DEPENDS       shift, and go to state 74
    T_REQUIRES      shift, and go to state 75
    T_PROMPT        shift, and go to state 76
    T_DEFAULT       shift, and go to state 77
    T_TRISTATE      shift, and go to state 78
    T_DEF_TRISTATE  shift, and go to state 79
    T_BOOLEAN       shift, and go to state 80
    T_DEF_BOOLEAN   shift, and go to state 81
    T_STRING        shift, and go to state 82
    T_INT           shift, and go to state 83
    T_HEX           shift, and go to state 84
    T_EOL           shift, and go to state 85
    T_SELECT        shift, and go to state 86
    T_RANGE         shift, and go to state 87

    T_EOL     [reduce using rule 18 (config_stmt)]
    $default  reduce using rule 18 (config_stmt)

    config_option  go to state 88
    help_start     go to state 89
    help           go to state 90
    depends        go to state 91


state 53

   20 menuconfig_stmt: menuconfig_entry_start config_option_list .
   22 config_option_list: config_option_list . config_option
   23                   | config_option_list . depends
   24                   | config_option_list . help
   25                   | config_option_list . T_EOL

    T_HELP          shift, and go to state 73
    T_DEPENDS       shift, and go to state 74
    T_REQUIRES      shift, and go to state 75
    T_PROMPT        shift, and go to state 76
    T_DEFAULT       shift, and go to state 77
    T_TRISTATE      shift, and go to state 78
    T_DEF_TRISTATE  shift, and go to state 79
    T_BOOLEAN       shift, and go to state 80
    T_DEF_BOOLEAN   shift, and go to state 81
    T_STRING        shift, and go to state 82
    T_INT           shift, and go to state 83
    T_HEX           shift, and go to state 84
    T_EOL           shift, and go to state 85
    T_SELECT        shift, and go to state 86
    T_RANGE         shift, and go to state 87

    T_EOL     [reduce using rule 20 (menuconfig_stmt)]
    $default  reduce using rule 20 (menuconfig_stmt)

    config_option  go to state 88
    help_start     go to state 89
    help           go to state 90
    depends        go to state 91


state 54

   39 choice_entry: choice choice_option_list .
   44 choice_option_list: choice_option_list . choice_option
   45                   | choice_option_list . depends
   46                   | choice_option_list . help
   47                   | choice_option_list . T_EOL

    T_HELP      shift, and go to state 73
    T_DEPENDS   shift, and go to state 74
    T_REQUIRES  shift, and go to state 75
    T_OPTIONAL  shift, and go to state 92
    T_PROMPT    shift, and go to state 93
    T_DEFAULT   shift, and go to state 94
    T_TRISTATE  shift, and go to state 95
    T_BOOLEAN   shift, and go to state 96
    T_EOL       shift, and go to state 97

    T_EOL     [reduce using rule 39 (choice_entry)]
    $default  reduce using rule 39 (choice_entry)

    choice_option  go to state 98
    help_start     go to state 89
    help           go to state 99
    depends        go to state 100


state 55

   41 choice_stmt: choice_entry choice_block . choice_end
   42            | choice_entry choice_block .
   54 choice_block: choice_block . common_block

    T_ENDMENU     shift, and go to state 101
    T_SOURCE      shift, and go to state 7
    T_ENDCHOICE   shift, and go to state 102
    T_COMMENT     shift, and go to state 10
    T_CONFIG      shift, and go to state 11
    T_MENUCONFIG  shift, and go to state 12
    T_IF          shift, and go to state 13
    T_ENDIF       shift, and go to state 103
    T_EOF         shift, and go to state 15
    T_EOL         shift, and go to state 16

    T_ENDMENU     [reduce using rule 42 (choice_stmt)]
    T_SOURCE      [reduce using rule 42 (choice_stmt)]
    T_ENDCHOICE   [reduce using rule 42 (choice_stmt)]
    T_COMMENT     [reduce using rule 42 (choice_stmt)]
    T_CONFIG      [reduce using rule 42 (choice_stmt)]
    T_MENUCONFIG  [reduce using rule 42 (choice_stmt)]
    T_IF          [reduce using rule 42 (choice_stmt)]
    T_ENDIF       [reduce using rule 42 (choice_stmt)]
    T_EOF         [reduce using rule 42 (choice_stmt)]
    T_EOL         [reduce using rule 42 (choice_stmt)]
    $default      reduce using rule 42 (choice_stmt)

    common_block            go to state 104
    config_entry_start      go to state 19
    config_stmt             go to state 20
    menuconfig_entry_start  go to state 21
    menuconfig_stmt         go to state 22
    choice_end              go to state 105
    if                      go to state 26
    if_stmt                 go to state 27
    source                  go to state 31
    source_stmt             go to state 32
    comment                 go to state 33
    comment_stmt            go to state 34
    end                     go to state 106
    nl_or_eof               go to state 35


state 56

   57 if_stmt: if if_block . if_end
   58        | if if_block .
   60 if_block: if_block . common_block
   61         | if_block . menu_stmt
   62         | if_block . choice_stmt

    T_MENU        shift, and go to state 5
    T_ENDMENU     shift, and go to state 101
    T_SOURCE      shift, and go to state 7
    T_CHOICE      shift, and go to state 8
    T_ENDCHOICE   shift, and go to state 102
    T_COMMENT     shift, and go to state 10
    T_CONFIG      shift, and go to state 11
    T_MENUCONFIG  shift, and go to state 12
    T_IF          shift, and go to state 13
    T_ENDIF       shift, and go to state 103
    T_EOF         shift, and go to state 15
    T_EOL         shift, and go to state 16

    T_MENU        [reduce using rule 58 (if_stmt)]
    T_ENDMENU     [reduce using rule 58 (if_stmt)]
    T_SOURCE      [reduce using rule 58 (if_stmt)]
    T_CHOICE      [reduce using rule 58 (if_stmt)]
    T_ENDCHOICE   [reduce using rule 58 (if_stmt)]
    T_COMMENT     [reduce using rule 58 (if_stmt)]
    T_CONFIG      [reduce using rule 58 (if_stmt)]
    T_MENUCONFIG  [reduce using rule 58 (if_stmt)]
    T_IF          [reduce using rule 58 (if_stmt)]
    T_ENDIF       [reduce using rule 58 (if_stmt)]
    T_EOF         [reduce using rule 58 (if_stmt)]
    T_EOL         [reduce using rule 58 (if_stmt)]
    $default      reduce using rule 58 (if_stmt)

    common_block            go to state 107
    config_entry_start      go to state 19
    config_stmt             go to state 20
    menuconfig_entry_start  go to state 21
    menuconfig_stmt         go to state 22
    choice                  go to state 23
    choice_entry            go to state 24
    choice_stmt             go to state 108
    if                      go to state 26
    if_end                  go to state 109
    if_stmt                 go to state 27
    menu                    go to state 28
    menu_entry              go to state 29
    menu_stmt               go to state 110
    source                  go to state 31
    source_stmt             go to state 32
    comment                 go to state 33
    comment_stmt            go to state 34
    end                     go to state 111
    nl_or_eof               go to state 35


state 57

   64 menu_entry: menu depends_list .
   80 depends_list: depends_list . depends
   81             | depends_list . T_EOL

    T_DEPENDS   shift, and go to state 74
    T_REQUIRES  shift, and go to state 75
    T_EOL       shift, and go to state 112

    T_EOL     [reduce using rule 64 (menu_entry)]
    $default  reduce using rule 64 (menu_entry)

    depends  go to state 113


state 58

   66 menu_stmt: menu_entry menu_block . menu_end
   67          | menu_entry menu_block .
   69 menu_block: menu_block . common_block
   70           | menu_block . menu_stmt
   71           | menu_block . choice_stmt
   72           | menu_block . error T_EOL

    error         shift, and go to state 114
    T_MENU        shift, and go to state 5
    T_ENDMENU     shift, and go to state 101
    T_SOURCE      shift, and go to state 7
    T_CHOICE      shift, and go to state 8
    T_ENDCHOICE   shift, and go to state 102
    T_COMMENT     shift, and go to state 10
    T_CONFIG      shift, and go to state 11
    T_MENUCONFIG  shift, and go to state 12
    T_IF          shift, and go to state 13
    T_ENDIF       shift, and go to state 103
    T_EOF         shift, and go to state 15
    T_EOL         shift, and go to state 16

    $end          reduce using rule 67 (menu_stmt)
    error         [reduce using rule 67 (menu_stmt)]
    T_MAINMENU    reduce using rule 67 (menu_stmt)
    T_MENU        [reduce using rule 67 (menu_stmt)]
    T_ENDMENU     [reduce using rule 67 (menu_stmt)]
    T_SOURCE      [reduce using rule 67 (menu_stmt)]
    T_CHOICE      [reduce using rule 67 (menu_stmt)]
    T_ENDCHOICE   [reduce using rule 67 (menu_stmt)]
    T_COMMENT     [reduce using rule 67 (menu_stmt)]
    T_CONFIG      [reduce using rule 67 (menu_stmt)]
    T_MENUCONFIG  [reduce using rule 67 (menu_stmt)]
    T_IF          [reduce using rule 67 (menu_stmt)]
    T_ENDIF       [reduce using rule 67 (menu_stmt)]
    T_EOF         [reduce using rule 67 (menu_stmt)]
    T_EOL         [reduce using rule 67 (menu_stmt)]

    common_block            go to state 115
    config_entry_start      go to state 19
    config_stmt             go to state 20
    menuconfig_entry_start  go to state 21
    menuconfig_stmt         go to state 22
    choice                  go to state 23
    choice_entry            go to state 24
    choice_stmt             go to state 116
    if                      go to state 26
    if_stmt                 go to state 27
    menu                    go to state 28
    menu_entry              go to state 29
    menu_end                go to state 117
    menu_stmt               go to state 118
    source                  go to state 31
    source_stmt             go to state 32
    comment                 go to state 33
    comment_stmt            go to state 34
    end                     go to state 119
    nl_or_eof               go to state 35


state 59

   76 comment_stmt: comment depends_list .
   80 depends_list: depends_list . depends
   81             | depends_list . T_EOL

    T_DEPENDS   shift, and go to state 74
    T_REQUIRES  shift, and go to state 75
    T_EOL       shift, and go to state 112

    T_EOL     [reduce using rule 76 (comment_stmt)]
    $default  reduce using rule 76 (comment_stmt)

    depends  go to state 113


state 60

    6 block: T_MAINMENU prompt nl_or_eof .

    $default  reduce using rule 6 (block)


state 61

   63 menu: T_MENU prompt T_EOL .

    $default  reduce using rule 63 (menu)


state 62

   73 source: T_SOURCE prompt T_EOL .

    $default  reduce using rule 73 (source)


state 63

   75 comment: T_COMMENT prompt T_EOL .

    $default  reduce using rule 75 (comment)


state 64

   17 config_entry_start: T_CONFIG T_WORD T_EOL .

    $default  reduce using rule 17 (config_entry_start)


state 65

   19 menuconfig_entry_start: T_MENUCONFIG T_WORD T_EOL .

    $default  reduce using rule 19 (menuconfig_entry_start)


state 66

   99 expr: T_OPEN_PAREN expr . T_CLOSE_PAREN
  101     | expr . T_OR expr
  102     | expr . T_AND expr

    T_CLOSE_PAREN  shift, and go to state 120
    T_OR           shift, and go to state 69
    T_AND          shift, and go to state 70


state 67

  100 expr: T_NOT expr .
  101     | expr . T_OR expr
  102     | expr . T_AND expr

    $default  reduce using rule 100 (expr)


state 68

   55 if: T_IF expr T_EOL .

    $default  reduce using rule 55 (if)


state 69

  101 expr: expr T_OR . expr

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47
    T_OPEN_PAREN  shift, and go to state 48
    T_NOT         shift, and go to state 49

    expr    go to state 121
    symbol  go to state 51


state 70

  102 expr: expr T_AND . expr

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47
    T_OPEN_PAREN  shift, and go to state 48
    T_NOT         shift, and go to state 49

    expr    go to state 122
    symbol  go to state 51


state 71

   98 expr: symbol T_UNEQUAL . symbol

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47

    symbol  go to state 123


state 72

   97 expr: symbol T_EQUAL . symbol

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47

    symbol  go to state 124


state 73

   77 help_start: T_HELP . T_EOL

    T_EOL  shift, and go to state 125


state 74

   82 depends: T_DEPENDS . T_ON expr T_EOL
   83        | T_DEPENDS . expr T_EOL

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47
    T_OPEN_PAREN  shift, and go to state 48
    T_ON          shift, and go to state 126
    T_NOT         shift, and go to state 49

    expr    go to state 127
    symbol  go to state 51


state 75

   84 depends: T_REQUIRES . expr T_EOL

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47
    T_OPEN_PAREN  shift, and go to state 48
    T_NOT         shift, and go to state 49

    expr    go to state 128
    symbol  go to state 51


state 76

   33 config_option: T_PROMPT . prompt if_expr T_EOL

    T_WORD        shift, and go to state 37
    T_WORD_QUOTE  shift, and go to state 38

    prompt  go to state 129


state 77

   34 config_option: T_DEFAULT . expr if_expr T_EOL

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47
    T_OPEN_PAREN  shift, and go to state 48
    T_NOT         shift, and go to state 49

    expr    go to state 130
    symbol  go to state 51


state 78

   26 config_option: T_TRISTATE . prompt_stmt_opt T_EOL

    T_WORD        shift, and go to state 37
    T_WORD_QUOTE  shift, and go to state 38

    $default  reduce using rule 85 (prompt_stmt_opt)

    prompt_stmt_opt  go to state 131
    prompt           go to state 132


state 79

   27 config_option: T_DEF_TRISTATE . expr if_expr T_EOL

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47
    T_OPEN_PAREN  shift, and go to state 48
    T_NOT         shift, and go to state 49

    expr    go to state 133
    symbol  go to state 51


state 80

   28 config_option: T_BOOLEAN . prompt_stmt_opt T_EOL

    T_WORD        shift, and go to state 37
    T_WORD_QUOTE  shift, and go to state 38

    $default  reduce using rule 85 (prompt_stmt_opt)

    prompt_stmt_opt  go to state 134
    prompt           go to state 132


state 81

   29 config_option: T_DEF_BOOLEAN . expr if_expr T_EOL

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47
    T_OPEN_PAREN  shift, and go to state 48
    T_NOT         shift, and go to state 49

    expr    go to state 135
    symbol  go to state 51


state 82

   32 config_option: T_STRING . prompt_stmt_opt T_EOL

    T_WORD        shift, and go to state 37
    T_WORD_QUOTE  shift, and go to state 38

    $default  reduce using rule 85 (prompt_stmt_opt)

    prompt_stmt_opt  go to state 136
    prompt           go to state 132


state 83

   30 config_option: T_INT . prompt_stmt_opt T_EOL

    T_WORD        shift, and go to state 37
    T_WORD_QUOTE  shift, and go to state 38

    $default  reduce using rule 85 (prompt_stmt_opt)

    prompt_stmt_opt  go to state 137
    prompt           go to state 132


state 84

   31 config_option: T_HEX . prompt_stmt_opt T_EOL

    T_WORD        shift, and go to state 37
    T_WORD_QUOTE  shift, and go to state 38

    $default  reduce using rule 85 (prompt_stmt_opt)

    prompt_stmt_opt  go to state 138
    prompt           go to state 132


state 85

   25 config_option_list: config_option_list T_EOL .

    $default  reduce using rule 25 (config_option_list)


state 86

   35 config_option: T_SELECT . T_WORD if_expr T_EOL
   36              | T_SELECT . T_NOT T_WORD if_expr T_EOL

    T_WORD  shift, and go to state 139
    T_NOT   shift, and go to state 140


state 87

   37 config_option: T_RANGE . symbol symbol if_expr T_EOL

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47

    symbol  go to state 141


state 88

   22 config_option_list: config_option_list config_option .

    $default  reduce using rule 22 (config_option_list)


state 89

   78 help: help_start . T_HELPTEXT

    T_HELPTEXT  shift, and go to state 142


state 90

   24 config_option_list: config_option_list help .

    $default  reduce using rule 24 (config_option_list)


state 91

   23 config_option_list: config_option_list depends .

    $default  reduce using rule 23 (config_option_list)


state 92

   51 choice_option: T_OPTIONAL . T_EOL

    T_EOL  shift, and go to state 143


state 93

   48 choice_option: T_PROMPT . prompt if_expr T_EOL

    T_WORD        shift, and go to state 37
    T_WORD_QUOTE  shift, and go to state 38

    prompt  go to state 144


state 94

   52 choice_option: T_DEFAULT . T_WORD if_expr T_EOL

    T_WORD  shift, and go to state 145


state 95

   49 choice_option: T_TRISTATE . prompt_stmt_opt T_EOL

    T_WORD        shift, and go to state 37
    T_WORD_QUOTE  shift, and go to state 38

    $default  reduce using rule 85 (prompt_stmt_opt)

    prompt_stmt_opt  go to state 146
    prompt           go to state 132


state 96

   50 choice_option: T_BOOLEAN . prompt_stmt_opt T_EOL

    T_WORD        shift, and go to state 37
    T_WORD_QUOTE  shift, and go to state 38

    $default  reduce using rule 85 (prompt_stmt_opt)

    prompt_stmt_opt  go to state 147
    prompt           go to state 132


state 97

   47 choice_option_list: choice_option_list T_EOL .

    $default  reduce using rule 47 (choice_option_list)


state 98

   44 choice_option_list: choice_option_list choice_option .

    $default  reduce using rule 44 (choice_option_list)


state 99

   46 choice_option_list: choice_option_list help .

    $default  reduce using rule 46 (choice_option_list)


state 100

   45 choice_option_list: choice_option_list depends .

    $default  reduce using rule 45 (choice_option_list)


state 101

   89 end: T_ENDMENU . nl_or_eof

    T_EOF  shift, and go to state 15
    T_EOL  shift, and go to state 16

    nl_or_eof  go to state 148


state 102

   90 end: T_ENDCHOICE . nl_or_eof

    T_EOF  shift, and go to state 15
    T_EOL  shift, and go to state 16

    nl_or_eof  go to state 149


state 103

   91 end: T_ENDIF . nl_or_eof

    T_EOF  shift, and go to state 15
    T_EOL  shift, and go to state 16

    nl_or_eof  go to state 150


state 104

   54 choice_block: choice_block common_block .

    $default  reduce using rule 54 (choice_block)


state 105

   41 choice_stmt: choice_entry choice_block choice_end .

    $default  reduce using rule 41 (choice_stmt)


state 106

   40 choice_end: end .

    $default  reduce using rule 40 (choice_end)


state 107

   60 if_block: if_block common_block .

    $default  reduce using rule 60 (if_block)


state 108

   62 if_block: if_block choice_stmt .

    $default  reduce using rule 62 (if_block)


state 109

   57 if_stmt: if if_block if_end .

    $default  reduce using rule 57 (if_stmt)


state 110

   61 if_block: if_block menu_stmt .

    $default  reduce using rule 61 (if_block)


state 111

   56 if_end: end .

    $default  reduce using rule 56 (if_end)


state 112

   81 depends_list: depends_list T_EOL .

    $default  reduce using rule 81 (depends_list)


state 113

   80 depends_list: depends_list depends .

    $default  reduce using rule 80 (depends_list)


state 114

   72 menu_block: menu_block error . T_EOL

    T_EOL  shift, and go to state 151


state 115

   69 menu_block: menu_block common_block .

    $default  reduce using rule 69 (menu_block)


state 116

   71 menu_block: menu_block choice_stmt .

    $default  reduce using rule 71 (menu_block)


state 117

   66 menu_stmt: menu_entry menu_block menu_end .

    $default  reduce using rule 66 (menu_stmt)


state 118

   70 menu_block: menu_block menu_stmt .

    $default  reduce using rule 70 (menu_block)


state 119

   65 menu_end: end .

    $default  reduce using rule 65 (menu_end)


state 120

   99 expr: T_OPEN_PAREN expr T_CLOSE_PAREN .

    $default  reduce using rule 99 (expr)


state 121

  101 expr: expr . T_OR expr
  101     | expr T_OR expr .
  102     | expr . T_AND expr

    T_AND  shift, and go to state 70

    $default  reduce using rule 101 (expr)


state 122

  101 expr: expr . T_OR expr
  102     | expr . T_AND expr
  102     | expr T_AND expr .

    $default  reduce using rule 102 (expr)


state 123

   98 expr: symbol T_UNEQUAL symbol .

    $default  reduce using rule 98 (expr)


state 124

   97 expr: symbol T_EQUAL symbol .

    $default  reduce using rule 97 (expr)


state 125

   77 help_start: T_HELP T_EOL .

    $default  reduce using rule 77 (help_start)


state 126

   82 depends: T_DEPENDS T_ON . expr T_EOL

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47
    T_OPEN_PAREN  shift, and go to state 48
    T_NOT         shift, and go to state 49

    expr    go to state 152
    symbol  go to state 51


state 127

   83 depends: T_DEPENDS expr . T_EOL
  101 expr: expr . T_OR expr
  102     | expr . T_AND expr

    T_EOL  shift, and go to state 153
    T_OR   shift, and go to state 69
    T_AND  shift, and go to state 70


state 128

   84 depends: T_REQUIRES expr . T_EOL
  101 expr: expr . T_OR expr
  102     | expr . T_AND expr

    T_EOL  shift, and go to state 154
    T_OR   shift, and go to state 69
    T_AND  shift, and go to state 70


state 129

   33 config_option: T_PROMPT prompt . if_expr T_EOL

    T_IF  shift, and go to state 155

    $default  reduce using rule 94 (if_expr)

    if_expr  go to state 156


state 130

   34 config_option: T_DEFAULT expr . if_expr T_EOL
  101 expr: expr . T_OR expr
  102     | expr . T_AND expr

    T_IF   shift, and go to state 155
    T_OR   shift, and go to state 69
    T_AND  shift, and go to state 70

    $default  reduce using rule 94 (if_expr)

    if_expr  go to state 157


state 131

   26 config_option: T_TRISTATE prompt_stmt_opt . T_EOL

    T_EOL  shift, and go to state 158


state 132

   86 prompt_stmt_opt: prompt . if_expr

    T_IF  shift, and go to state 155

    $default  reduce using rule 94 (if_expr)

    if_expr  go to state 159


state 133

   27 config_option: T_DEF_TRISTATE expr . if_expr T_EOL
  101 expr: expr . T_OR expr
  102     | expr . T_AND expr

    T_IF   shift, and go to state 155
    T_OR   shift, and go to state 69
    T_AND  shift, and go to state 70

    $default  reduce using rule 94 (if_expr)

    if_expr  go to state 160


state 134

   28 config_option: T_BOOLEAN prompt_stmt_opt . T_EOL

    T_EOL  shift, and go to state 161


state 135

   29 config_option: T_DEF_BOOLEAN expr . if_expr T_EOL
  101 expr: expr . T_OR expr
  102     | expr . T_AND expr

    T_IF   shift, and go to state 155
    T_OR   shift, and go to state 69
    T_AND  shift, and go to state 70

    $default  reduce using rule 94 (if_expr)

    if_expr  go to state 162


state 136

   32 config_option: T_STRING prompt_stmt_opt . T_EOL

    T_EOL  shift, and go to state 163


state 137

   30 config_option: T_INT prompt_stmt_opt . T_EOL

    T_EOL  shift, and go to state 164


state 138

   31 config_option: T_HEX prompt_stmt_opt . T_EOL

    T_EOL  shift, and go to state 165


state 139

   35 config_option: T_SELECT T_WORD . if_expr T_EOL

    T_IF  shift, and go to state 155

    $default  reduce using rule 94 (if_expr)

    if_expr  go to state 166


state 140

   36 config_option: T_SELECT T_NOT . T_WORD if_expr T_EOL

    T_WORD  shift, and go to state 167


state 141

   37 config_option: T_RANGE symbol . symbol if_expr T_EOL

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47

    symbol  go to state 168


state 142

   78 help: help_start T_HELPTEXT .

    $default  reduce using rule 78 (help)


state 143

   51 choice_option: T_OPTIONAL T_EOL .

    $default  reduce using rule 51 (choice_option)


state 144

   48 choice_option: T_PROMPT prompt . if_expr T_EOL

    T_IF  shift, and go to state 155

    $default  reduce using rule 94 (if_expr)

    if_expr  go to state 169


state 145

   52 choice_option: T_DEFAULT T_WORD . if_expr T_EOL

    T_IF  shift, and go to state 155

    $default  reduce using rule 94 (if_expr)

    if_expr  go to state 170


state 146

   49 choice_option: T_TRISTATE prompt_stmt_opt . T_EOL

    T_EOL  shift, and go to state 171


state 147

   50 choice_option: T_BOOLEAN prompt_stmt_opt . T_EOL

    T_EOL  shift, and go to state 172


state 148

   89 end: T_ENDMENU nl_or_eof .

    $default  reduce using rule 89 (end)


state 149

   90 end: T_ENDCHOICE nl_or_eof .

    $default  reduce using rule 90 (end)


state 150

   91 end: T_ENDIF nl_or_eof .

    $default  reduce using rule 91 (end)


state 151

   72 menu_block: menu_block error T_EOL .

    $default  reduce using rule 72 (menu_block)


state 152

   82 depends: T_DEPENDS T_ON expr . T_EOL
  101 expr: expr . T_OR expr
  102     | expr . T_AND expr

    T_EOL  shift, and go to state 173
    T_OR   shift, and go to state 69
    T_AND  shift, and go to state 70


state 153

   83 depends: T_DEPENDS expr T_EOL .

    $default  reduce using rule 83 (depends)


state 154

   84 depends: T_REQUIRES expr T_EOL .

    $default  reduce using rule 84 (depends)


state 155

   95 if_expr: T_IF . expr

    T_WORD        shift, and go to state 46
    T_WORD_QUOTE  shift, and go to state 47
    T_OPEN_PAREN  shift, and go to state 48
    T_NOT         shift, and go to state 49

    expr    go to state 174
    symbol  go to state 51


state 156

   33 config_option: T_PROMPT prompt if_expr . T_EOL

    T_EOL  shift, and go to state 175


state 157

   34 config_option: T_DEFAULT expr if_expr . T_EOL

    T_EOL  shift, and go to state 176


state 158

   26 config_option: T_TRISTATE prompt_stmt_opt T_EOL .

    $default  reduce using rule 26 (config_option)


state 159

   86 prompt_stmt_opt: prompt if_expr .

    $default  reduce using rule 86 (prompt_stmt_opt)


state 160

   27 config_option: T_DEF_TRISTATE expr if_expr . T_EOL

    T_EOL  shift, and go to state 177


state 161

   28 config_option: T_BOOLEAN prompt_stmt_opt T_EOL .

    $default  reduce using rule 28 (config_option)


state 162

   29 config_option: T_DEF_BOOLEAN expr if_expr . T_EOL

    T_EOL  shift, and go to state 178


state 163

   32 config_option: T_STRING prompt_stmt_opt T_EOL .

    $default  reduce using rule 32 (config_option)


state 164

   30 config_option: T_INT prompt_stmt_opt T_EOL .

    $default  reduce using rule 30 (config_option)


state 165

   31 config_option: T_HEX prompt_stmt_opt T_EOL .

    $default  reduce using rule 31 (config_option)


state 166

   35 config_option: T_SELECT T_WORD if_expr . T_EOL

    T_EOL  shift, and go to state 179


state 167

   36 config_option: T_SELECT T_NOT T_WORD . if_expr T_EOL

    T_IF  shift, and go to state 155

    $default  reduce using rule 94 (if_expr)

    if_expr  go to state 180


state 168

   37 config_option: T_RANGE symbol symbol . if_expr T_EOL

    T_IF  shift, and go to state 155

    $default  reduce using rule 94 (if_expr)

    if_expr  go to state 181


state 169

   48 choice_option: T_PROMPT prompt if_expr . T_EOL

    T_EOL  shift, and go to state 182


state 170

   52 choice_option: T_DEFAULT T_WORD if_expr . T_EOL

    T_EOL  shift, and go to state 183


state 171

   49 choice_option: T_TRISTATE prompt_stmt_opt T_EOL .

    $default  reduce using rule 49 (choice_option)


state 172

   50 choice_option: T_BOOLEAN prompt_stmt_opt T_EOL .

    $default  reduce using rule 50 (choice_option)


state 173

   82 depends: T_DEPENDS T_ON expr T_EOL .

    $default  reduce using rule 82 (depends)


state 174

   95 if_expr: T_IF expr .
  101 expr: expr . T_OR expr
  102     | expr . T_AND expr

    T_OR   shift, and go to state 69
    T_AND  shift, and go to state 70

    $default  reduce using rule 95 (if_expr)


state 175

   33 config_option: T_PROMPT prompt if_expr T_EOL .

    $default  reduce using rule 33 (config_option)


state 176

   34 config_option: T_DEFAULT expr if_expr T_EOL .

    $default  reduce using rule 34 (config_option)


state 177

   27 config_option: T_DEF_TRISTATE expr if_expr T_EOL .

    $default  reduce using rule 27 (config_option)


state 178

   29 config_option: T_DEF_BOOLEAN expr if_expr T_EOL .

    $default  reduce using rule 29 (config_option)


state 179

   35 config_option: T_SELECT T_WORD if_expr T_EOL .

    $default  reduce using rule 35 (config_option)


state 180

   36 config_option: T_SELECT T_NOT T_WORD if_expr . T_EOL

    T_EOL  shift, and go to state 184


state 181

   37 config_option: T_RANGE symbol symbol if_expr . T_EOL

    T_EOL  shift, and go to state 185


state 182

   48 choice_option: T_PROMPT prompt if_expr T_EOL .

    $default  reduce using rule 48 (choice_option)


state 183

   52 choice_option: T_DEFAULT T_WORD if_expr T_EOL .

    $default  reduce using rule 52 (choice_option)


state 184

   36 config_option: T_SELECT T_NOT T_WORD if_expr T_EOL .

    $default  reduce using rule 36 (config_option)


state 185

   37 config_option: T_RANGE symbol symbol if_expr T_EOL .

    $default  reduce using rule 37 (config_option)
