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)