zend_ini_parser.output [plain text]
State 8 conflicts: 2 shift/reduce
State 9 conflicts: 2 shift/reduce
State 20 conflicts: 1 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 BRACK '=' string_or_value
5 | TC_STRING
6 | SECTION
7 | '\n'
8 string_or_value: expr
9 | CFG_TRUE
10 | CFG_FALSE
11 | '\n'
12 | /* empty */
13 var_string_list: cfg_var_ref
14 | TC_ENCAPSULATED_STRING
15 | constant_string
16 | var_string_list cfg_var_ref
17 | var_string_list TC_ENCAPSULATED_STRING
18 | var_string_list constant_string
19 cfg_var_ref: TC_DOLLAR_CURLY TC_STRING '}'
20 expr: var_string_list
21 | expr '|' expr
22 | expr '&' expr
23 | '~' expr
24 | '!' expr
25 | '(' expr ')'
26 constant_string: TC_STRING
Terminals, with rules where they appear
$end (0) 0
'\n' (10) 7 11
'!' (33) 24
'&' (38) 22
'(' (40) 25
')' (41) 25
'=' (61) 3 4
'|' (124) 21
'}' (125) 19
'~' (126) 23
error (256)
TC_STRING (258) 3 4 5 19 26
TC_ENCAPSULATED_STRING (259) 14 17
BRACK (260) 4
SECTION (261) 6
CFG_TRUE (262) 9
CFG_FALSE (263) 10
TC_DOLLAR_CURLY (264) 19
Nonterminals, with rules where they appear
$accept (19)
on left: 0
statement_list (20)
on left: 1 2, on right: 0 1
statement (21)
on left: 3 4 5 6 7, on right: 1
string_or_value (22)
on left: 8 9 10 11 12, on right: 3 4
var_string_list (23)
on left: 13 14 15 16 17 18, on right: 16 17 18 20
cfg_var_ref (24)
on left: 19, on right: 13 16
expr (25)
on left: 20 21 22 23 24 25, on right: 8 21 22 23 24 25
constant_string (26)
on left: 26, on right: 15 18
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 . BRACK '=' string_or_value
5 | TC_STRING .
BRACK shift, and go to state 7
'=' shift, and go to state 8
$default reduce using rule 5 (statement)
state 4
6 statement: SECTION .
$default reduce using rule 6 (statement)
state 5
7 statement: '\n' .
$default reduce using rule 7 (statement)
state 6
1 statement_list: statement_list statement .
$default reduce using rule 1 (statement_list)
state 7
4 statement: TC_STRING BRACK . '=' string_or_value
'=' shift, and go to state 9
state 8
3 statement: TC_STRING '=' . string_or_value
TC_STRING shift, and go to state 10
TC_ENCAPSULATED_STRING shift, and go to state 11
CFG_TRUE shift, and go to state 12
CFG_FALSE shift, and go to state 13
TC_DOLLAR_CURLY shift, and go to state 14
'~' shift, and go to state 15
'!' shift, and go to state 16
'\n' shift, and go to state 17
'(' shift, and go to state 18
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 19
var_string_list go to state 20
cfg_var_ref go to state 21
expr go to state 22
constant_string go to state 23
state 9
4 statement: TC_STRING BRACK '=' . string_or_value
TC_STRING shift, and go to state 10
TC_ENCAPSULATED_STRING shift, and go to state 11
CFG_TRUE shift, and go to state 12
CFG_FALSE shift, and go to state 13
TC_DOLLAR_CURLY shift, and go to state 14
'~' shift, and go to state 15
'!' shift, and go to state 16
'\n' shift, and go to state 17
'(' shift, and go to state 18
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 24
var_string_list go to state 20
cfg_var_ref go to state 21
expr go to state 22
constant_string go to state 23
state 10
26 constant_string: TC_STRING .
$default reduce using rule 26 (constant_string)
state 11
14 var_string_list: TC_ENCAPSULATED_STRING .
$default reduce using rule 14 (var_string_list)
state 12
9 string_or_value: CFG_TRUE .
$default reduce using rule 9 (string_or_value)
state 13
10 string_or_value: CFG_FALSE .
$default reduce using rule 10 (string_or_value)
state 14
19 cfg_var_ref: TC_DOLLAR_CURLY . TC_STRING '}'
TC_STRING shift, and go to state 25
state 15
23 expr: '~' . expr
TC_STRING shift, and go to state 10
TC_ENCAPSULATED_STRING shift, and go to state 11
TC_DOLLAR_CURLY shift, and go to state 14
'~' shift, and go to state 15
'!' shift, and go to state 16
'(' shift, and go to state 18
var_string_list go to state 20
cfg_var_ref go to state 21
expr go to state 26
constant_string go to state 23
state 16
24 expr: '!' . expr
TC_STRING shift, and go to state 10
TC_ENCAPSULATED_STRING shift, and go to state 11
TC_DOLLAR_CURLY shift, and go to state 14
'~' shift, and go to state 15
'!' shift, and go to state 16
'(' shift, and go to state 18
var_string_list go to state 20
cfg_var_ref go to state 21
expr go to state 27
constant_string go to state 23
state 17
11 string_or_value: '\n' .
$default reduce using rule 11 (string_or_value)
state 18
25 expr: '(' . expr ')'
TC_STRING shift, and go to state 10
TC_ENCAPSULATED_STRING shift, and go to state 11
TC_DOLLAR_CURLY shift, and go to state 14
'~' shift, and go to state 15
'!' shift, and go to state 16
'(' shift, and go to state 18
var_string_list go to state 20
cfg_var_ref go to state 21
expr go to state 28
constant_string go to state 23
state 19
3 statement: TC_STRING '=' string_or_value .
$default reduce using rule 3 (statement)
state 20
16 var_string_list: var_string_list . cfg_var_ref
17 | var_string_list . TC_ENCAPSULATED_STRING
18 | var_string_list . constant_string
20 expr: var_string_list .
TC_STRING shift, and go to state 10
TC_ENCAPSULATED_STRING shift, and go to state 29
TC_DOLLAR_CURLY shift, and go to state 14
TC_STRING [reduce using rule 20 (expr)]
$default reduce using rule 20 (expr)
cfg_var_ref go to state 30
constant_string go to state 31
state 21
13 var_string_list: cfg_var_ref .
$default reduce using rule 13 (var_string_list)
state 22
8 string_or_value: expr .
21 expr: expr . '|' expr
22 | expr . '&' expr
'|' shift, and go to state 32
'&' shift, and go to state 33
$default reduce using rule 8 (string_or_value)
state 23
15 var_string_list: constant_string .
$default reduce using rule 15 (var_string_list)
state 24
4 statement: TC_STRING BRACK '=' string_or_value .
$default reduce using rule 4 (statement)
state 25
19 cfg_var_ref: TC_DOLLAR_CURLY TC_STRING . '}'
'}' shift, and go to state 34
state 26
21 expr: expr . '|' expr
22 | expr . '&' expr
23 | '~' expr .
$default reduce using rule 23 (expr)
state 27
21 expr: expr . '|' expr
22 | expr . '&' expr
24 | '!' expr .
$default reduce using rule 24 (expr)
state 28
21 expr: expr . '|' expr
22 | expr . '&' expr
25 | '(' expr . ')'
'|' shift, and go to state 32
'&' shift, and go to state 33
')' shift, and go to state 35
state 29
17 var_string_list: var_string_list TC_ENCAPSULATED_STRING .
$default reduce using rule 17 (var_string_list)
state 30
16 var_string_list: var_string_list cfg_var_ref .
$default reduce using rule 16 (var_string_list)
state 31
18 var_string_list: var_string_list constant_string .
$default reduce using rule 18 (var_string_list)
state 32
21 expr: expr '|' . expr
TC_STRING shift, and go to state 10
TC_ENCAPSULATED_STRING shift, and go to state 11
TC_DOLLAR_CURLY shift, and go to state 14
'~' shift, and go to state 15
'!' shift, and go to state 16
'(' shift, and go to state 18
var_string_list go to state 20
cfg_var_ref go to state 21
expr go to state 36
constant_string go to state 23
state 33
22 expr: expr '&' . expr
TC_STRING shift, and go to state 10
TC_ENCAPSULATED_STRING shift, and go to state 11
TC_DOLLAR_CURLY shift, and go to state 14
'~' shift, and go to state 15
'!' shift, and go to state 16
'(' shift, and go to state 18
var_string_list go to state 20
cfg_var_ref go to state 21
expr go to state 37
constant_string go to state 23
state 34
19 cfg_var_ref: TC_DOLLAR_CURLY TC_STRING '}' .
$default reduce using rule 19 (cfg_var_ref)
state 35
25 expr: '(' expr ')' .
$default reduce using rule 25 (expr)
state 36
21 expr: expr . '|' expr
21 | expr '|' expr .
22 | expr . '&' expr
$default reduce using rule 21 (expr)
state 37
21 expr: expr . '|' expr
22 | expr . '&' expr
22 | expr '&' expr .
$default reduce using rule 22 (expr)