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