zend_ini_parser.output [plain text]
Terminals unused in grammar
':'
','
'.'
'\''
'+'
'-'
'/'
'*'
'%'
'$'
'<'
'>'
'?'
'@'
'{'
Grammar
0 $accept: statement_list $end
1 statement_list: statement_list statement
2 | %empty
3 statement: TC_SECTION section_string_or_value ']'
4 | TC_LABEL '=' string_or_value
5 | TC_OFFSET option_offset ']' '=' string_or_value
6 | TC_LABEL
7 | END_OF_LINE
8 section_string_or_value: var_string_list_section
9 | %empty
10 string_or_value: expr
11 | BOOL_TRUE
12 | BOOL_FALSE
13 | NULL_NULL
14 | END_OF_LINE
15 option_offset: var_string_list
16 | %empty
17 encapsed_list: encapsed_list cfg_var_ref
18 | encapsed_list TC_QUOTED_STRING
19 | %empty
20 var_string_list_section: cfg_var_ref
21 | constant_literal
22 | '"' encapsed_list '"'
23 | var_string_list_section cfg_var_ref
24 | var_string_list_section constant_literal
25 | var_string_list_section '"' encapsed_list '"'
26 var_string_list: cfg_var_ref
27 | constant_string
28 | '"' encapsed_list '"'
29 | var_string_list cfg_var_ref
30 | var_string_list constant_string
31 | var_string_list '"' encapsed_list '"'
32 expr: var_string_list
33 | expr '|' expr
34 | expr '&' expr
35 | expr '^' expr
36 | '~' expr
37 | '!' expr
38 | '(' expr ')'
39 cfg_var_ref: TC_DOLLAR_CURLY TC_VARNAME '}'
40 constant_literal: TC_CONSTANT
41 | TC_RAW
42 | TC_NUMBER
43 | TC_STRING
44 | TC_WHITESPACE
45 constant_string: TC_CONSTANT
46 | TC_RAW
47 | TC_NUMBER
48 | TC_STRING
49 | TC_WHITESPACE
Terminals, with rules where they appear
$end (0) 0
'!' (33) 37
'"' (34) 22 25 28 31
'$' (36)
'%' (37)
'&' (38) 34
'\'' (39)
'(' (40) 38
')' (41) 38
'*' (42)
'+' (43)
',' (44)
'-' (45)
'.' (46)
'/' (47)
':' (58)
'<' (60)
'=' (61) 4 5
'>' (62)
'?' (63)
'@' (64)
']' (93) 3 5
'^' (94) 35
'{' (123)
'|' (124) 33
'}' (125) 39
'~' (126) 36
error (256)
TC_SECTION (258) 3
TC_RAW (259) 41 46
TC_CONSTANT (260) 40 45
TC_NUMBER (261) 42 47
TC_STRING (262) 43 48
TC_WHITESPACE (263) 44 49
TC_LABEL (264) 4 6
TC_OFFSET (265) 5
TC_DOLLAR_CURLY (266) 39
TC_VARNAME (267) 39
TC_QUOTED_STRING (268) 18
BOOL_TRUE (269) 11
BOOL_FALSE (270) 12
NULL_NULL (271) 13
END_OF_LINE (272) 7 14
Nonterminals, with rules where they appear
$accept (44)
on left: 0
statement_list (45)
on left: 1 2, on right: 0 1
statement (46)
on left: 3 4 5 6 7, on right: 1
section_string_or_value (47)
on left: 8 9, on right: 3
string_or_value (48)
on left: 10 11 12 13 14, on right: 4 5
option_offset (49)
on left: 15 16, on right: 5
encapsed_list (50)
on left: 17 18 19, on right: 17 18 22 25 28 31
var_string_list_section (51)
on left: 20 21 22 23 24 25, on right: 8 23 24 25
var_string_list (52)
on left: 26 27 28 29 30 31, on right: 15 29 30 31 32
expr (53)
on left: 32 33 34 35 36 37 38, on right: 10 33 34 35 36 37 38
cfg_var_ref (54)
on left: 39, on right: 17 20 23 26 29
constant_literal (55)
on left: 40 41 42 43 44, on right: 21 24
constant_string (56)
on left: 45 46 47 48 49, on right: 27 30
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_SECTION shift, and go to state 3
TC_LABEL shift, and go to state 4
TC_OFFSET shift, and go to state 5
END_OF_LINE shift, and go to state 6
statement go to state 7
State 2
0 $accept: statement_list $end .
$default accept
State 3
3 statement: TC_SECTION . section_string_or_value ']'
TC_RAW shift, and go to state 8
TC_CONSTANT shift, and go to state 9
TC_NUMBER shift, and go to state 10
TC_STRING shift, and go to state 11
TC_WHITESPACE shift, and go to state 12
TC_DOLLAR_CURLY shift, and go to state 13
'"' shift, and go to state 14
$default reduce using rule 9 (section_string_or_value)
section_string_or_value go to state 15
var_string_list_section go to state 16
cfg_var_ref go to state 17
constant_literal go to state 18
State 4
4 statement: TC_LABEL . '=' string_or_value
6 | TC_LABEL .
'=' shift, and go to state 19
$default reduce using rule 6 (statement)
State 5
5 statement: TC_OFFSET . option_offset ']' '=' string_or_value
TC_RAW shift, and go to state 20
TC_CONSTANT shift, and go to state 21
TC_NUMBER shift, and go to state 22
TC_STRING shift, and go to state 23
TC_WHITESPACE shift, and go to state 24
TC_DOLLAR_CURLY shift, and go to state 13
'"' shift, and go to state 25
$default reduce using rule 16 (option_offset)
option_offset go to state 26
var_string_list go to state 27
cfg_var_ref go to state 28
constant_string go to state 29
State 6
7 statement: END_OF_LINE .
$default reduce using rule 7 (statement)
State 7
1 statement_list: statement_list statement .
$default reduce using rule 1 (statement_list)
State 8
41 constant_literal: TC_RAW .
$default reduce using rule 41 (constant_literal)
State 9
40 constant_literal: TC_CONSTANT .
$default reduce using rule 40 (constant_literal)
State 10
42 constant_literal: TC_NUMBER .
$default reduce using rule 42 (constant_literal)
State 11
43 constant_literal: TC_STRING .
$default reduce using rule 43 (constant_literal)
State 12
44 constant_literal: TC_WHITESPACE .
$default reduce using rule 44 (constant_literal)
State 13
39 cfg_var_ref: TC_DOLLAR_CURLY . TC_VARNAME '}'
TC_VARNAME shift, and go to state 30
State 14
22 var_string_list_section: '"' . encapsed_list '"'
$default reduce using rule 19 (encapsed_list)
encapsed_list go to state 31
State 15
3 statement: TC_SECTION section_string_or_value . ']'
']' shift, and go to state 32
State 16
8 section_string_or_value: var_string_list_section .
23 var_string_list_section: var_string_list_section . cfg_var_ref
24 | var_string_list_section . constant_literal
25 | var_string_list_section . '"' encapsed_list '"'
TC_RAW shift, and go to state 8
TC_CONSTANT shift, and go to state 9
TC_NUMBER shift, and go to state 10
TC_STRING shift, and go to state 11
TC_WHITESPACE shift, and go to state 12
TC_DOLLAR_CURLY shift, and go to state 13
'"' shift, and go to state 33
$default reduce using rule 8 (section_string_or_value)
cfg_var_ref go to state 34
constant_literal go to state 35
State 17
20 var_string_list_section: cfg_var_ref .
$default reduce using rule 20 (var_string_list_section)
State 18
21 var_string_list_section: constant_literal .
$default reduce using rule 21 (var_string_list_section)
State 19
4 statement: TC_LABEL '=' . string_or_value
TC_RAW shift, and go to state 20
TC_CONSTANT shift, and go to state 21
TC_NUMBER shift, and go to state 22
TC_STRING shift, and go to state 23
TC_WHITESPACE shift, and go to state 24
TC_DOLLAR_CURLY shift, and go to state 13
BOOL_TRUE shift, and go to state 36
BOOL_FALSE shift, and go to state 37
NULL_NULL shift, and go to state 38
END_OF_LINE shift, and go to state 39
'"' shift, and go to state 25
'~' shift, and go to state 40
'!' shift, and go to state 41
'(' shift, and go to state 42
string_or_value go to state 43
var_string_list go to state 44
expr go to state 45
cfg_var_ref go to state 28
constant_string go to state 29
State 20
46 constant_string: TC_RAW .
$default reduce using rule 46 (constant_string)
State 21
45 constant_string: TC_CONSTANT .
$default reduce using rule 45 (constant_string)
State 22
47 constant_string: TC_NUMBER .
$default reduce using rule 47 (constant_string)
State 23
48 constant_string: TC_STRING .
$default reduce using rule 48 (constant_string)
State 24
49 constant_string: TC_WHITESPACE .
$default reduce using rule 49 (constant_string)
State 25
28 var_string_list: '"' . encapsed_list '"'
$default reduce using rule 19 (encapsed_list)
encapsed_list go to state 46
State 26
5 statement: TC_OFFSET option_offset . ']' '=' string_or_value
']' shift, and go to state 47
State 27
15 option_offset: var_string_list .
29 var_string_list: var_string_list . cfg_var_ref
30 | var_string_list . constant_string
31 | var_string_list . '"' encapsed_list '"'
TC_RAW shift, and go to state 20
TC_CONSTANT shift, and go to state 21
TC_NUMBER shift, and go to state 22
TC_STRING shift, and go to state 23
TC_WHITESPACE shift, and go to state 24
TC_DOLLAR_CURLY shift, and go to state 13
'"' shift, and go to state 48
$default reduce using rule 15 (option_offset)
cfg_var_ref go to state 49
constant_string go to state 50
State 28
26 var_string_list: cfg_var_ref .
$default reduce using rule 26 (var_string_list)
State 29
27 var_string_list: constant_string .
$default reduce using rule 27 (var_string_list)
State 30
39 cfg_var_ref: TC_DOLLAR_CURLY TC_VARNAME . '}'
'}' shift, and go to state 51
State 31
17 encapsed_list: encapsed_list . cfg_var_ref
18 | encapsed_list . TC_QUOTED_STRING
22 var_string_list_section: '"' encapsed_list . '"'
TC_DOLLAR_CURLY shift, and go to state 13
TC_QUOTED_STRING shift, and go to state 52
'"' shift, and go to state 53
cfg_var_ref go to state 54
State 32
3 statement: TC_SECTION section_string_or_value ']' .
$default reduce using rule 3 (statement)
State 33
25 var_string_list_section: var_string_list_section '"' . encapsed_list '"'
$default reduce using rule 19 (encapsed_list)
encapsed_list go to state 55
State 34
23 var_string_list_section: var_string_list_section cfg_var_ref .
$default reduce using rule 23 (var_string_list_section)
State 35
24 var_string_list_section: var_string_list_section constant_literal .
$default reduce using rule 24 (var_string_list_section)
State 36
11 string_or_value: BOOL_TRUE .
$default reduce using rule 11 (string_or_value)
State 37
12 string_or_value: BOOL_FALSE .
$default reduce using rule 12 (string_or_value)
State 38
13 string_or_value: NULL_NULL .
$default reduce using rule 13 (string_or_value)
State 39
14 string_or_value: END_OF_LINE .
$default reduce using rule 14 (string_or_value)
State 40
36 expr: '~' . expr
TC_RAW shift, and go to state 20
TC_CONSTANT shift, and go to state 21
TC_NUMBER shift, and go to state 22
TC_STRING shift, and go to state 23
TC_WHITESPACE shift, and go to state 24
TC_DOLLAR_CURLY shift, and go to state 13
'"' shift, and go to state 25
'~' shift, and go to state 40
'!' shift, and go to state 41
'(' shift, and go to state 42
var_string_list go to state 44
expr go to state 56
cfg_var_ref go to state 28
constant_string go to state 29
State 41
37 expr: '!' . expr
TC_RAW shift, and go to state 20
TC_CONSTANT shift, and go to state 21
TC_NUMBER shift, and go to state 22
TC_STRING shift, and go to state 23
TC_WHITESPACE shift, and go to state 24
TC_DOLLAR_CURLY shift, and go to state 13
'"' shift, and go to state 25
'~' shift, and go to state 40
'!' shift, and go to state 41
'(' shift, and go to state 42
var_string_list go to state 44
expr go to state 57
cfg_var_ref go to state 28
constant_string go to state 29
State 42
38 expr: '(' . expr ')'
TC_RAW shift, and go to state 20
TC_CONSTANT shift, and go to state 21
TC_NUMBER shift, and go to state 22
TC_STRING shift, and go to state 23
TC_WHITESPACE shift, and go to state 24
TC_DOLLAR_CURLY shift, and go to state 13
'"' shift, and go to state 25
'~' shift, and go to state 40
'!' shift, and go to state 41
'(' shift, and go to state 42
var_string_list go to state 44
expr go to state 58
cfg_var_ref go to state 28
constant_string go to state 29
State 43
4 statement: TC_LABEL '=' string_or_value .
$default reduce using rule 4 (statement)
State 44
29 var_string_list: var_string_list . cfg_var_ref
30 | var_string_list . constant_string
31 | var_string_list . '"' encapsed_list '"'
32 expr: var_string_list .
TC_RAW shift, and go to state 20
TC_CONSTANT shift, and go to state 21
TC_NUMBER shift, and go to state 22
TC_STRING shift, and go to state 23
TC_WHITESPACE shift, and go to state 24
TC_DOLLAR_CURLY shift, and go to state 13
'"' shift, and go to state 48
$default reduce using rule 32 (expr)
cfg_var_ref go to state 49
constant_string go to state 50
State 45
10 string_or_value: expr .
33 expr: expr . '|' expr
34 | expr . '&' expr
35 | expr . '^' expr
'^' shift, and go to state 59
'|' shift, and go to state 60
'&' shift, and go to state 61
$default reduce using rule 10 (string_or_value)
State 46
17 encapsed_list: encapsed_list . cfg_var_ref
18 | encapsed_list . TC_QUOTED_STRING
28 var_string_list: '"' encapsed_list . '"'
TC_DOLLAR_CURLY shift, and go to state 13
TC_QUOTED_STRING shift, and go to state 52
'"' shift, and go to state 62
cfg_var_ref go to state 54
State 47
5 statement: TC_OFFSET option_offset ']' . '=' string_or_value
'=' shift, and go to state 63
State 48
31 var_string_list: var_string_list '"' . encapsed_list '"'
$default reduce using rule 19 (encapsed_list)
encapsed_list go to state 64
State 49
29 var_string_list: var_string_list cfg_var_ref .
$default reduce using rule 29 (var_string_list)
State 50
30 var_string_list: var_string_list constant_string .
$default reduce using rule 30 (var_string_list)
State 51
39 cfg_var_ref: TC_DOLLAR_CURLY TC_VARNAME '}' .
$default reduce using rule 39 (cfg_var_ref)
State 52
18 encapsed_list: encapsed_list TC_QUOTED_STRING .
$default reduce using rule 18 (encapsed_list)
State 53
22 var_string_list_section: '"' encapsed_list '"' .
$default reduce using rule 22 (var_string_list_section)
State 54
17 encapsed_list: encapsed_list cfg_var_ref .
$default reduce using rule 17 (encapsed_list)
State 55
17 encapsed_list: encapsed_list . cfg_var_ref
18 | encapsed_list . TC_QUOTED_STRING
25 var_string_list_section: var_string_list_section '"' encapsed_list . '"'
TC_DOLLAR_CURLY shift, and go to state 13
TC_QUOTED_STRING shift, and go to state 52
'"' shift, and go to state 65
cfg_var_ref go to state 54
State 56
33 expr: expr . '|' expr
34 | expr . '&' expr
35 | expr . '^' expr
36 | '~' expr .
$default reduce using rule 36 (expr)
State 57
33 expr: expr . '|' expr
34 | expr . '&' expr
35 | expr . '^' expr
37 | '!' expr .
$default reduce using rule 37 (expr)
State 58
33 expr: expr . '|' expr
34 | expr . '&' expr
35 | expr . '^' expr
38 | '(' expr . ')'
'^' shift, and go to state 59
'|' shift, and go to state 60
'&' shift, and go to state 61
')' shift, and go to state 66
State 59
35 expr: expr '^' . expr
TC_RAW shift, and go to state 20
TC_CONSTANT shift, and go to state 21
TC_NUMBER shift, and go to state 22
TC_STRING shift, and go to state 23
TC_WHITESPACE shift, and go to state 24
TC_DOLLAR_CURLY shift, and go to state 13
'"' shift, and go to state 25
'~' shift, and go to state 40
'!' shift, and go to state 41
'(' shift, and go to state 42
var_string_list go to state 44
expr go to state 67
cfg_var_ref go to state 28
constant_string go to state 29
State 60
33 expr: expr '|' . expr
TC_RAW shift, and go to state 20
TC_CONSTANT shift, and go to state 21
TC_NUMBER shift, and go to state 22
TC_STRING shift, and go to state 23
TC_WHITESPACE shift, and go to state 24
TC_DOLLAR_CURLY shift, and go to state 13
'"' shift, and go to state 25
'~' shift, and go to state 40
'!' shift, and go to state 41
'(' shift, and go to state 42
var_string_list go to state 44
expr go to state 68
cfg_var_ref go to state 28
constant_string go to state 29
State 61
34 expr: expr '&' . expr
TC_RAW shift, and go to state 20
TC_CONSTANT shift, and go to state 21
TC_NUMBER shift, and go to state 22
TC_STRING shift, and go to state 23
TC_WHITESPACE shift, and go to state 24
TC_DOLLAR_CURLY shift, and go to state 13
'"' shift, and go to state 25
'~' shift, and go to state 40
'!' shift, and go to state 41
'(' shift, and go to state 42
var_string_list go to state 44
expr go to state 69
cfg_var_ref go to state 28
constant_string go to state 29
State 62
28 var_string_list: '"' encapsed_list '"' .
$default reduce using rule 28 (var_string_list)
State 63
5 statement: TC_OFFSET option_offset ']' '=' . string_or_value
TC_RAW shift, and go to state 20
TC_CONSTANT shift, and go to state 21
TC_NUMBER shift, and go to state 22
TC_STRING shift, and go to state 23
TC_WHITESPACE shift, and go to state 24
TC_DOLLAR_CURLY shift, and go to state 13
BOOL_TRUE shift, and go to state 36
BOOL_FALSE shift, and go to state 37
NULL_NULL shift, and go to state 38
END_OF_LINE shift, and go to state 39
'"' shift, and go to state 25
'~' shift, and go to state 40
'!' shift, and go to state 41
'(' shift, and go to state 42
string_or_value go to state 70
var_string_list go to state 44
expr go to state 45
cfg_var_ref go to state 28
constant_string go to state 29
State 64
17 encapsed_list: encapsed_list . cfg_var_ref
18 | encapsed_list . TC_QUOTED_STRING
31 var_string_list: var_string_list '"' encapsed_list . '"'
TC_DOLLAR_CURLY shift, and go to state 13
TC_QUOTED_STRING shift, and go to state 52
'"' shift, and go to state 71
cfg_var_ref go to state 54
State 65
25 var_string_list_section: var_string_list_section '"' encapsed_list '"' .
$default reduce using rule 25 (var_string_list_section)
State 66
38 expr: '(' expr ')' .
$default reduce using rule 38 (expr)
State 67
33 expr: expr . '|' expr
34 | expr . '&' expr
35 | expr . '^' expr
35 | expr '^' expr .
$default reduce using rule 35 (expr)
State 68
33 expr: expr . '|' expr
33 | expr '|' expr .
34 | expr . '&' expr
35 | expr . '^' expr
$default reduce using rule 33 (expr)
State 69
33 expr: expr . '|' expr
34 | expr . '&' expr
34 | expr '&' expr .
35 | expr . '^' expr
$default reduce using rule 34 (expr)
State 70
5 statement: TC_OFFSET option_offset ']' '=' string_or_value .
$default reduce using rule 5 (statement)
State 71
31 var_string_list: var_string_list '"' encapsed_list '"' .
$default reduce using rule 31 (var_string_list)