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