zend_ini_parser.output   [plain text]


State 7 conflicts: 2 shift/reduce


Grammar

    0 $accept: statement_list $end

    1 statement_list: statement_list statement
    2               | /* empty */

    3 statement: TC_STRING '=' string_or_value
    4          | TC_STRING
    5          | SECTION
    6          | '\n'

    7 string_or_value: expr
    8                | TC_ENCAPSULATED_STRING
    9                | CFG_TRUE
   10                | CFG_FALSE
   11                | '\n'
   12                | /* empty */

   13 expr: constant_string
   14     | expr '|' expr
   15     | expr '&' expr
   16     | '~' expr
   17     | '!' expr
   18     | '(' expr ')'

   19 constant_string: TC_STRING


Terminals, with rules where they appear

$end (0) 0
'\n' (10) 6 11
'!' (33) 17
'&' (38) 15
'(' (40) 18
')' (41) 18
'=' (61) 3
'|' (124) 14
'~' (126) 16
error (256)
TC_STRING (258) 3 4 19
TC_ENCAPSULATED_STRING (259) 8
SECTION (260) 5
CFG_TRUE (261) 9
CFG_FALSE (262) 10


Nonterminals, with rules where they appear

$accept (16)
    on left: 0
statement_list (17)
    on left: 1 2, on right: 0 1
statement (18)
    on left: 3 4 5 6, on right: 1
string_or_value (19)
    on left: 7 8 9 10 11 12, on right: 3
expr (20)
    on left: 13 14 15 16 17 18, on right: 7 14 15 16 17 18
constant_string (21)
    on left: 19, on right: 13


state 0

    0 $accept: . statement_list $end

    $default  reduce using rule 2 (statement_list)

    statement_list  go to state 1


state 1

    0 $accept: statement_list . $end
    1 statement_list: statement_list . statement

    $end       shift, and go to state 2
    TC_STRING  shift, and go to state 3
    SECTION    shift, and go to state 4
    '\n'       shift, and go to state 5

    statement  go to state 6


state 2

    0 $accept: statement_list $end .

    $default  accept


state 3

    3 statement: TC_STRING . '=' string_or_value
    4          | TC_STRING .

    '='  shift, and go to state 7

    $default  reduce using rule 4 (statement)


state 4

    5 statement: SECTION .

    $default  reduce using rule 5 (statement)


state 5

    6 statement: '\n' .

    $default  reduce using rule 6 (statement)


state 6

    1 statement_list: statement_list statement .

    $default  reduce using rule 1 (statement_list)


state 7

    3 statement: TC_STRING '=' . string_or_value

    TC_STRING               shift, and go to state 8
    TC_ENCAPSULATED_STRING  shift, and go to state 9
    CFG_TRUE                shift, and go to state 10
    CFG_FALSE               shift, and go to state 11
    '~'                     shift, and go to state 12
    '!'                     shift, and go to state 13
    '\n'                    shift, and go to state 14
    '('                     shift, and go to state 15

    TC_STRING  [reduce using rule 12 (string_or_value)]
    '\n'       [reduce using rule 12 (string_or_value)]
    $default   reduce using rule 12 (string_or_value)

    string_or_value  go to state 16
    expr             go to state 17
    constant_string  go to state 18


state 8

   19 constant_string: TC_STRING .

    $default  reduce using rule 19 (constant_string)


state 9

    8 string_or_value: TC_ENCAPSULATED_STRING .

    $default  reduce using rule 8 (string_or_value)


state 10

    9 string_or_value: CFG_TRUE .

    $default  reduce using rule 9 (string_or_value)


state 11

   10 string_or_value: CFG_FALSE .

    $default  reduce using rule 10 (string_or_value)


state 12

   16 expr: '~' . expr

    TC_STRING  shift, and go to state 8
    '~'        shift, and go to state 12
    '!'        shift, and go to state 13
    '('        shift, and go to state 15

    expr             go to state 19
    constant_string  go to state 18


state 13

   17 expr: '!' . expr

    TC_STRING  shift, and go to state 8
    '~'        shift, and go to state 12
    '!'        shift, and go to state 13
    '('        shift, and go to state 15

    expr             go to state 20
    constant_string  go to state 18


state 14

   11 string_or_value: '\n' .

    $default  reduce using rule 11 (string_or_value)


state 15

   18 expr: '(' . expr ')'

    TC_STRING  shift, and go to state 8
    '~'        shift, and go to state 12
    '!'        shift, and go to state 13
    '('        shift, and go to state 15

    expr             go to state 21
    constant_string  go to state 18


state 16

    3 statement: TC_STRING '=' string_or_value .

    $default  reduce using rule 3 (statement)


state 17

    7 string_or_value: expr .
   14 expr: expr . '|' expr
   15     | expr . '&' expr

    '|'  shift, and go to state 22
    '&'  shift, and go to state 23

    $default  reduce using rule 7 (string_or_value)


state 18

   13 expr: constant_string .

    $default  reduce using rule 13 (expr)


state 19

   14 expr: expr . '|' expr
   15     | expr . '&' expr
   16     | '~' expr .

    $default  reduce using rule 16 (expr)


state 20

   14 expr: expr . '|' expr
   15     | expr . '&' expr
   17     | '!' expr .

    $default  reduce using rule 17 (expr)


state 21

   14 expr: expr . '|' expr
   15     | expr . '&' expr
   18     | '(' expr . ')'

    '|'  shift, and go to state 22
    '&'  shift, and go to state 23
    ')'  shift, and go to state 24


state 22

   14 expr: expr '|' . expr

    TC_STRING  shift, and go to state 8
    '~'        shift, and go to state 12
    '!'        shift, and go to state 13
    '('        shift, and go to state 15

    expr             go to state 25
    constant_string  go to state 18


state 23

   15 expr: expr '&' . expr

    TC_STRING  shift, and go to state 8
    '~'        shift, and go to state 12
    '!'        shift, and go to state 13
    '('        shift, and go to state 15

    expr             go to state 26
    constant_string  go to state 18


state 24

   18 expr: '(' expr ')' .

    $default  reduce using rule 18 (expr)


state 25

   14 expr: expr . '|' expr
   14     | expr '|' expr .
   15     | expr . '&' expr

    $default  reduce using rule 14 (expr)


state 26

   14 expr: expr . '|' expr
   15     | expr . '&' expr
   15     | expr '&' expr .

    $default  reduce using rule 15 (expr)