diff options
Diffstat (limited to 'src/uscxml/plugins/datamodel/c89/parser/c89.output')
-rw-r--r-- | src/uscxml/plugins/datamodel/c89/parser/c89.output | 6137 |
1 files changed, 0 insertions, 6137 deletions
diff --git a/src/uscxml/plugins/datamodel/c89/parser/c89.output b/src/uscxml/plugins/datamodel/c89/parser/c89.output deleted file mode 100644 index a83648b..0000000 --- a/src/uscxml/plugins/datamodel/c89/parser/c89.output +++ /dev/null @@ -1,6137 +0,0 @@ -State 333 conflicts: 1 shift/reduce - - -Grammar - - 0 $accept: translation_unit $end - - 1 primary_expression: IDENTIFIER - 2 | CONSTANT - 3 | STRING_LITERAL - 4 | '(' expression ')' - - 5 postfix_expression: primary_expression - 6 | postfix_expression '[' expression ']' - 7 | postfix_expression '(' ')' - 8 | postfix_expression '(' argument_expression_list ')' - 9 | postfix_expression '.' IDENTIFIER - 10 | postfix_expression PTR_OP IDENTIFIER - 11 | postfix_expression INC_OP - 12 | postfix_expression DEC_OP - - 13 argument_expression_list: assignment_expression - 14 | argument_expression_list ',' assignment_expression - - 15 unary_expression: postfix_expression - 16 | INC_OP unary_expression - 17 | DEC_OP unary_expression - 18 | unary_operator cast_expression - 19 | SIZEOF unary_expression - 20 | SIZEOF '(' type_name ')' - - 21 unary_operator: '&' - 22 | '*' - 23 | '+' - 24 | '-' - 25 | '~' - 26 | '!' - - 27 cast_expression: unary_expression - 28 | '(' type_name ')' cast_expression - - 29 multiplicative_expression: cast_expression - 30 | multiplicative_expression '*' cast_expression - 31 | multiplicative_expression '/' cast_expression - 32 | multiplicative_expression '%' cast_expression - - 33 additive_expression: multiplicative_expression - 34 | additive_expression '+' multiplicative_expression - 35 | additive_expression '-' multiplicative_expression - - 36 shift_expression: additive_expression - 37 | shift_expression LEFT_OP additive_expression - 38 | shift_expression RIGHT_OP additive_expression - - 39 relational_expression: shift_expression - 40 | relational_expression '<' shift_expression - 41 | relational_expression '>' shift_expression - 42 | relational_expression LE_OP shift_expression - 43 | relational_expression GE_OP shift_expression - - 44 equality_expression: relational_expression - 45 | equality_expression EQ_OP relational_expression - 46 | equality_expression NE_OP relational_expression - - 47 and_expression: equality_expression - 48 | and_expression '&' equality_expression - - 49 exclusive_or_expression: and_expression - 50 | exclusive_or_expression '^' and_expression - - 51 inclusive_or_expression: exclusive_or_expression - 52 | inclusive_or_expression '|' exclusive_or_expression - - 53 logical_and_expression: inclusive_or_expression - 54 | logical_and_expression AND_OP inclusive_or_expression - - 55 logical_or_expression: logical_and_expression - 56 | logical_or_expression OR_OP logical_and_expression - - 57 conditional_expression: logical_or_expression - 58 | logical_or_expression '?' expression ':' conditional_expression - - 59 assignment_expression: conditional_expression - 60 | unary_expression assignment_operator assignment_expression - - 61 assignment_operator: '=' - 62 | MUL_ASSIGN - 63 | DIV_ASSIGN - 64 | MOD_ASSIGN - 65 | ADD_ASSIGN - 66 | SUB_ASSIGN - 67 | LEFT_ASSIGN - 68 | RIGHT_ASSIGN - 69 | AND_ASSIGN - 70 | XOR_ASSIGN - 71 | OR_ASSIGN - - 72 expression: assignment_expression - 73 | expression ',' assignment_expression - - 74 constant_expression: conditional_expression - - 75 declaration: declaration_specifiers ';' - 76 | declaration_specifiers init_declarator_list ';' - - 77 declaration_specifiers: storage_class_specifier - 78 | storage_class_specifier declaration_specifiers - 79 | type_specifier - 80 | type_specifier declaration_specifiers - 81 | type_qualifier - 82 | type_qualifier declaration_specifiers - - 83 init_declarator_list: init_declarator - 84 | init_declarator_list ',' init_declarator - - 85 init_declarator: declarator - 86 | declarator '=' initializer - - 87 storage_class_specifier: TYPEDEF - 88 | EXTERN - 89 | STATIC - 90 | AUTO - 91 | REGISTER - - 92 type_specifier: VOID - 93 | CHAR - 94 | SHORT - 95 | INT - 96 | LONG - 97 | FLOAT - 98 | DOUBLE - 99 | SIGNED - 100 | UNSIGNED - 101 | struct_or_union_specifier - 102 | enum_specifier - 103 | TYPE_NAME - - 104 struct_or_union_specifier: struct_or_union IDENTIFIER '{' struct_declaration_list '}' - 105 | struct_or_union '{' struct_declaration_list '}' - 106 | struct_or_union IDENTIFIER - - 107 struct_or_union: STRUCT - 108 | UNION - - 109 struct_declaration_list: struct_declaration - 110 | struct_declaration_list struct_declaration - - 111 struct_declaration: specifier_qualifier_list struct_declarator_list ';' - - 112 specifier_qualifier_list: type_specifier specifier_qualifier_list - 113 | type_specifier - 114 | type_qualifier specifier_qualifier_list - 115 | type_qualifier - - 116 struct_declarator_list: struct_declarator - 117 | struct_declarator_list ',' struct_declarator - - 118 struct_declarator: declarator - 119 | ':' constant_expression - 120 | declarator ':' constant_expression - - 121 enum_specifier: ENUM '{' enumerator_list '}' - 122 | ENUM IDENTIFIER '{' enumerator_list '}' - 123 | ENUM IDENTIFIER - - 124 enumerator_list: enumerator - 125 | enumerator_list ',' enumerator - - 126 enumerator: IDENTIFIER - 127 | IDENTIFIER '=' constant_expression - - 128 type_qualifier: CONST - 129 | VOLATILE - - 130 declarator: pointer direct_declarator - 131 | direct_declarator - - 132 direct_declarator: IDENTIFIER - 133 | '(' declarator ')' - 134 | direct_declarator '[' constant_expression ']' - 135 | direct_declarator '[' ']' - 136 | direct_declarator '(' parameter_type_list ')' - 137 | direct_declarator '(' identifier_list ')' - 138 | direct_declarator '(' ')' - - 139 pointer: '*' - 140 | '*' type_qualifier_list - 141 | '*' pointer - 142 | '*' type_qualifier_list pointer - - 143 type_qualifier_list: type_qualifier - 144 | type_qualifier_list type_qualifier - - 145 parameter_type_list: parameter_list - 146 | parameter_list ',' ELLIPSIS - - 147 parameter_list: parameter_declaration - 148 | parameter_list ',' parameter_declaration - - 149 parameter_declaration: declaration_specifiers declarator - 150 | declaration_specifiers abstract_declarator - 151 | declaration_specifiers - - 152 identifier_list: IDENTIFIER - 153 | identifier_list ',' IDENTIFIER - - 154 type_name: specifier_qualifier_list - 155 | specifier_qualifier_list abstract_declarator - - 156 abstract_declarator: pointer - 157 | direct_abstract_declarator - 158 | pointer direct_abstract_declarator - - 159 direct_abstract_declarator: '(' abstract_declarator ')' - 160 | '[' ']' - 161 | '[' constant_expression ']' - 162 | direct_abstract_declarator '[' ']' - 163 | direct_abstract_declarator '[' constant_expression ']' - 164 | '(' ')' - 165 | '(' parameter_type_list ')' - 166 | direct_abstract_declarator '(' ')' - 167 | direct_abstract_declarator '(' parameter_type_list ')' - - 168 initializer: assignment_expression - 169 | '{' initializer_list '}' - 170 | '{' initializer_list ',' '}' - - 171 initializer_list: initializer - 172 | initializer_list ',' initializer - - 173 statement: labeled_statement - 174 | compound_statement - 175 | expression_statement - 176 | selection_statement - 177 | iteration_statement - 178 | jump_statement - - 179 labeled_statement: IDENTIFIER ':' statement - 180 | CASE constant_expression ':' statement - 181 | DEFAULT ':' statement - - 182 compound_statement: '{' '}' - 183 | '{' statement_list '}' - 184 | '{' declaration_list '}' - 185 | '{' declaration_list statement_list '}' - - 186 declaration_list: declaration - 187 | declaration_list declaration - - 188 statement_list: statement - 189 | statement_list statement - - 190 expression_statement: ';' - 191 | expression ';' - - 192 selection_statement: IF '(' expression ')' statement - 193 | IF '(' expression ')' statement ELSE statement - 194 | SWITCH '(' expression ')' statement - - 195 iteration_statement: WHILE '(' expression ')' statement - 196 | DO statement WHILE '(' expression ')' ';' - 197 | FOR '(' expression_statement expression_statement ')' statement - 198 | FOR '(' expression_statement expression_statement expression ')' statement - - 199 jump_statement: GOTO IDENTIFIER ';' - 200 | CONTINUE ';' - 201 | BREAK ';' - 202 | RETURN ';' - 203 | RETURN expression ';' - - 204 translation_unit: external_declaration - 205 | translation_unit external_declaration - - 206 external_declaration: function_definition - 207 | declaration - - 208 function_definition: declaration_specifiers declarator declaration_list compound_statement - 209 | declaration_specifiers declarator compound_statement - 210 | declarator declaration_list compound_statement - 211 | declarator compound_statement - - -Terminals, with rules where they appear - -$end (0) 0 -'!' (33) 26 -'%' (37) 32 -'&' (38) 21 48 -'(' (40) 4 7 8 20 28 133 136 137 138 159 164 165 166 167 192 193 194 - 195 196 197 198 -')' (41) 4 7 8 20 28 133 136 137 138 159 164 165 166 167 192 193 194 - 195 196 197 198 -'*' (42) 22 30 139 140 141 142 -'+' (43) 23 34 -',' (44) 14 73 84 117 125 146 148 153 170 172 -'-' (45) 24 35 -'.' (46) 9 -'/' (47) 31 -':' (58) 58 119 120 179 180 181 -';' (59) 75 76 111 190 191 196 199 200 201 202 203 -'<' (60) 40 -'=' (61) 61 86 127 -'>' (62) 41 -'?' (63) 58 -'[' (91) 6 134 135 160 161 162 163 -']' (93) 6 134 135 160 161 162 163 -'^' (94) 50 -'{' (123) 104 105 121 122 169 170 182 183 184 185 -'|' (124) 52 -'}' (125) 104 105 121 122 169 170 182 183 184 185 -'~' (126) 25 -error (256) -IDENTIFIER (258) 1 9 10 104 106 122 123 126 127 132 152 153 179 199 -CONSTANT (259) 2 -STRING_LITERAL (260) 3 -SIZEOF (261) 19 20 -PTR_OP (262) 10 -INC_OP (263) 11 16 -DEC_OP (264) 12 17 -LEFT_OP (265) 37 -RIGHT_OP (266) 38 -LE_OP (267) 42 -GE_OP (268) 43 -EQ_OP (269) 45 -NE_OP (270) 46 -AND_OP (271) 54 -OR_OP (272) 56 -MUL_ASSIGN (273) 62 -DIV_ASSIGN (274) 63 -MOD_ASSIGN (275) 64 -ADD_ASSIGN (276) 65 -SUB_ASSIGN (277) 66 -LEFT_ASSIGN (278) 67 -RIGHT_ASSIGN (279) 68 -AND_ASSIGN (280) 69 -XOR_ASSIGN (281) 70 -OR_ASSIGN (282) 71 -TYPE_NAME (283) 103 -TYPEDEF (284) 87 -EXTERN (285) 88 -STATIC (286) 89 -AUTO (287) 90 -REGISTER (288) 91 -CHAR (289) 93 -SHORT (290) 94 -INT (291) 95 -LONG (292) 96 -SIGNED (293) 99 -UNSIGNED (294) 100 -FLOAT (295) 97 -DOUBLE (296) 98 -CONST (297) 128 -VOLATILE (298) 129 -VOID (299) 92 -STRUCT (300) 107 -UNION (301) 108 -ENUM (302) 121 122 123 -ELLIPSIS (303) 146 -CASE (304) 180 -DEFAULT (305) 181 -IF (306) 192 193 -ELSE (307) 193 -SWITCH (308) 194 -WHILE (309) 195 196 -DO (310) 196 -FOR (311) 197 198 -GOTO (312) 199 -CONTINUE (313) 200 -BREAK (314) 201 -RETURN (315) 202 203 - - -Nonterminals, with rules where they appear - -$accept (85) - on left: 0 -primary_expression (86) - on left: 1 2 3 4, on right: 5 -postfix_expression (87) - on left: 5 6 7 8 9 10 11 12, on right: 6 7 8 9 10 11 12 15 -argument_expression_list (88) - on left: 13 14, on right: 8 14 -unary_expression (89) - on left: 15 16 17 18 19 20, on right: 16 17 19 27 60 -unary_operator (90) - on left: 21 22 23 24 25 26, on right: 18 -cast_expression (91) - on left: 27 28, on right: 18 28 29 30 31 32 -multiplicative_expression (92) - on left: 29 30 31 32, on right: 30 31 32 33 34 35 -additive_expression (93) - on left: 33 34 35, on right: 34 35 36 37 38 -shift_expression (94) - on left: 36 37 38, on right: 37 38 39 40 41 42 43 -relational_expression (95) - on left: 39 40 41 42 43, on right: 40 41 42 43 44 45 46 -equality_expression (96) - on left: 44 45 46, on right: 45 46 47 48 -and_expression (97) - on left: 47 48, on right: 48 49 50 -exclusive_or_expression (98) - on left: 49 50, on right: 50 51 52 -inclusive_or_expression (99) - on left: 51 52, on right: 52 53 54 -logical_and_expression (100) - on left: 53 54, on right: 54 55 56 -logical_or_expression (101) - on left: 55 56, on right: 56 57 58 -conditional_expression (102) - on left: 57 58, on right: 58 59 74 -assignment_expression (103) - on left: 59 60, on right: 13 14 60 72 73 168 -assignment_operator (104) - on left: 61 62 63 64 65 66 67 68 69 70 71, on right: 60 -expression (105) - on left: 72 73, on right: 4 6 58 73 191 192 193 194 195 196 198 - 203 -constant_expression (106) - on left: 74, on right: 119 120 127 134 161 163 180 -declaration (107) - on left: 75 76, on right: 186 187 207 -declaration_specifiers (108) - on left: 77 78 79 80 81 82, on right: 75 76 78 80 82 149 150 151 - 208 209 -init_declarator_list (109) - on left: 83 84, on right: 76 84 -init_declarator (110) - on left: 85 86, on right: 83 84 -storage_class_specifier (111) - on left: 87 88 89 90 91, on right: 77 78 -type_specifier (112) - on left: 92 93 94 95 96 97 98 99 100 101 102 103, on right: 79 - 80 112 113 -struct_or_union_specifier (113) - on left: 104 105 106, on right: 101 -struct_or_union (114) - on left: 107 108, on right: 104 105 106 -struct_declaration_list (115) - on left: 109 110, on right: 104 105 110 -struct_declaration (116) - on left: 111, on right: 109 110 -specifier_qualifier_list (117) - on left: 112 113 114 115, on right: 111 112 114 154 155 -struct_declarator_list (118) - on left: 116 117, on right: 111 117 -struct_declarator (119) - on left: 118 119 120, on right: 116 117 -enum_specifier (120) - on left: 121 122 123, on right: 102 -enumerator_list (121) - on left: 124 125, on right: 121 122 125 -enumerator (122) - on left: 126 127, on right: 124 125 -type_qualifier (123) - on left: 128 129, on right: 81 82 114 115 143 144 -declarator (124) - on left: 130 131, on right: 85 86 118 120 133 149 208 209 210 211 -direct_declarator (125) - on left: 132 133 134 135 136 137 138, on right: 130 131 134 135 - 136 137 138 -pointer (126) - on left: 139 140 141 142, on right: 130 141 142 156 158 -type_qualifier_list (127) - on left: 143 144, on right: 140 142 144 -parameter_type_list (128) - on left: 145 146, on right: 136 165 167 -parameter_list (129) - on left: 147 148, on right: 145 146 148 -parameter_declaration (130) - on left: 149 150 151, on right: 147 148 -identifier_list (131) - on left: 152 153, on right: 137 153 -type_name (132) - on left: 154 155, on right: 20 28 -abstract_declarator (133) - on left: 156 157 158, on right: 150 155 159 -direct_abstract_declarator (134) - on left: 159 160 161 162 163 164 165 166 167, on right: 157 158 - 162 163 166 167 -initializer (135) - on left: 168 169 170, on right: 86 171 172 -initializer_list (136) - on left: 171 172, on right: 169 170 172 -statement (137) - on left: 173 174 175 176 177 178, on right: 179 180 181 188 189 - 192 193 194 195 196 197 198 -labeled_statement (138) - on left: 179 180 181, on right: 173 -compound_statement (139) - on left: 182 183 184 185, on right: 174 208 209 210 211 -declaration_list (140) - on left: 186 187, on right: 184 185 187 208 210 -statement_list (141) - on left: 188 189, on right: 183 185 189 -expression_statement (142) - on left: 190 191, on right: 175 197 198 -selection_statement (143) - on left: 192 193 194, on right: 176 -iteration_statement (144) - on left: 195 196 197 198, on right: 177 -jump_statement (145) - on left: 199 200 201 202 203, on right: 178 -translation_unit (146) - on left: 204 205, on right: 0 205 -external_declaration (147) - on left: 206 207, on right: 204 205 -function_definition (148) - on left: 208 209 210 211, on right: 206 - - -State 0 - - 0 $accept: . translation_unit $end - - IDENTIFIER shift, and go to state 1 - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - '(' shift, and go to state 22 - '*' shift, and go to state 23 - - declaration go to state 24 - declaration_specifiers go to state 25 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - declarator go to state 32 - direct_declarator go to state 33 - pointer go to state 34 - translation_unit go to state 35 - external_declaration go to state 36 - function_definition go to state 37 - - -State 1 - - 132 direct_declarator: IDENTIFIER . - - $default reduce using rule 132 (direct_declarator) - - -State 2 - - 103 type_specifier: TYPE_NAME . - - $default reduce using rule 103 (type_specifier) - - -State 3 - - 87 storage_class_specifier: TYPEDEF . - - $default reduce using rule 87 (storage_class_specifier) - - -State 4 - - 88 storage_class_specifier: EXTERN . - - $default reduce using rule 88 (storage_class_specifier) - - -State 5 - - 89 storage_class_specifier: STATIC . - - $default reduce using rule 89 (storage_class_specifier) - - -State 6 - - 90 storage_class_specifier: AUTO . - - $default reduce using rule 90 (storage_class_specifier) - - -State 7 - - 91 storage_class_specifier: REGISTER . - - $default reduce using rule 91 (storage_class_specifier) - - -State 8 - - 93 type_specifier: CHAR . - - $default reduce using rule 93 (type_specifier) - - -State 9 - - 94 type_specifier: SHORT . - - $default reduce using rule 94 (type_specifier) - - -State 10 - - 95 type_specifier: INT . - - $default reduce using rule 95 (type_specifier) - - -State 11 - - 96 type_specifier: LONG . - - $default reduce using rule 96 (type_specifier) - - -State 12 - - 99 type_specifier: SIGNED . - - $default reduce using rule 99 (type_specifier) - - -State 13 - - 100 type_specifier: UNSIGNED . - - $default reduce using rule 100 (type_specifier) - - -State 14 - - 97 type_specifier: FLOAT . - - $default reduce using rule 97 (type_specifier) - - -State 15 - - 98 type_specifier: DOUBLE . - - $default reduce using rule 98 (type_specifier) - - -State 16 - - 128 type_qualifier: CONST . - - $default reduce using rule 128 (type_qualifier) - - -State 17 - - 129 type_qualifier: VOLATILE . - - $default reduce using rule 129 (type_qualifier) - - -State 18 - - 92 type_specifier: VOID . - - $default reduce using rule 92 (type_specifier) - - -State 19 - - 107 struct_or_union: STRUCT . - - $default reduce using rule 107 (struct_or_union) - - -State 20 - - 108 struct_or_union: UNION . - - $default reduce using rule 108 (struct_or_union) - - -State 21 - - 121 enum_specifier: ENUM . '{' enumerator_list '}' - 122 | ENUM . IDENTIFIER '{' enumerator_list '}' - 123 | ENUM . IDENTIFIER - - IDENTIFIER shift, and go to state 38 - '{' shift, and go to state 39 - - -State 22 - - 133 direct_declarator: '(' . declarator ')' - - IDENTIFIER shift, and go to state 1 - '(' shift, and go to state 22 - '*' shift, and go to state 23 - - declarator go to state 40 - direct_declarator go to state 33 - pointer go to state 34 - - -State 23 - - 139 pointer: '*' . - 140 | '*' . type_qualifier_list - 141 | '*' . pointer - 142 | '*' . type_qualifier_list pointer - - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - '*' shift, and go to state 23 - - $default reduce using rule 139 (pointer) - - type_qualifier go to state 41 - pointer go to state 42 - type_qualifier_list go to state 43 - - -State 24 - - 207 external_declaration: declaration . - - $default reduce using rule 207 (external_declaration) - - -State 25 - - 75 declaration: declaration_specifiers . ';' - 76 | declaration_specifiers . init_declarator_list ';' - 208 function_definition: declaration_specifiers . declarator declaration_list compound_statement - 209 | declaration_specifiers . declarator compound_statement - - IDENTIFIER shift, and go to state 1 - '(' shift, and go to state 22 - '*' shift, and go to state 23 - ';' shift, and go to state 44 - - init_declarator_list go to state 45 - init_declarator go to state 46 - declarator go to state 47 - direct_declarator go to state 33 - pointer go to state 34 - - -State 26 - - 77 declaration_specifiers: storage_class_specifier . - 78 | storage_class_specifier . declaration_specifiers - - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - - $default reduce using rule 77 (declaration_specifiers) - - declaration_specifiers go to state 48 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - - -State 27 - - 79 declaration_specifiers: type_specifier . - 80 | type_specifier . declaration_specifiers - - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - - $default reduce using rule 79 (declaration_specifiers) - - declaration_specifiers go to state 49 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - - -State 28 - - 101 type_specifier: struct_or_union_specifier . - - $default reduce using rule 101 (type_specifier) - - -State 29 - - 104 struct_or_union_specifier: struct_or_union . IDENTIFIER '{' struct_declaration_list '}' - 105 | struct_or_union . '{' struct_declaration_list '}' - 106 | struct_or_union . IDENTIFIER - - IDENTIFIER shift, and go to state 50 - '{' shift, and go to state 51 - - -State 30 - - 102 type_specifier: enum_specifier . - - $default reduce using rule 102 (type_specifier) - - -State 31 - - 81 declaration_specifiers: type_qualifier . - 82 | type_qualifier . declaration_specifiers - - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - - $default reduce using rule 81 (declaration_specifiers) - - declaration_specifiers go to state 52 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - - -State 32 - - 210 function_definition: declarator . declaration_list compound_statement - 211 | declarator . compound_statement - - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - '{' shift, and go to state 53 - - declaration go to state 54 - declaration_specifiers go to state 55 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - compound_statement go to state 56 - declaration_list go to state 57 - - -State 33 - - 131 declarator: direct_declarator . - 134 direct_declarator: direct_declarator . '[' constant_expression ']' - 135 | direct_declarator . '[' ']' - 136 | direct_declarator . '(' parameter_type_list ')' - 137 | direct_declarator . '(' identifier_list ')' - 138 | direct_declarator . '(' ')' - - '(' shift, and go to state 58 - '[' shift, and go to state 59 - - $default reduce using rule 131 (declarator) - - -State 34 - - 130 declarator: pointer . direct_declarator - - IDENTIFIER shift, and go to state 1 - '(' shift, and go to state 22 - - direct_declarator go to state 60 - - -State 35 - - 0 $accept: translation_unit . $end - 205 translation_unit: translation_unit . external_declaration - - $end shift, and go to state 61 - IDENTIFIER shift, and go to state 1 - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - '(' shift, and go to state 22 - '*' shift, and go to state 23 - - declaration go to state 24 - declaration_specifiers go to state 25 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - declarator go to state 32 - direct_declarator go to state 33 - pointer go to state 34 - external_declaration go to state 62 - function_definition go to state 37 - - -State 36 - - 204 translation_unit: external_declaration . - - $default reduce using rule 204 (translation_unit) - - -State 37 - - 206 external_declaration: function_definition . - - $default reduce using rule 206 (external_declaration) - - -State 38 - - 122 enum_specifier: ENUM IDENTIFIER . '{' enumerator_list '}' - 123 | ENUM IDENTIFIER . - - '{' shift, and go to state 63 - - $default reduce using rule 123 (enum_specifier) - - -State 39 - - 121 enum_specifier: ENUM '{' . enumerator_list '}' - - IDENTIFIER shift, and go to state 64 - - enumerator_list go to state 65 - enumerator go to state 66 - - -State 40 - - 133 direct_declarator: '(' declarator . ')' - - ')' shift, and go to state 67 - - -State 41 - - 143 type_qualifier_list: type_qualifier . - - $default reduce using rule 143 (type_qualifier_list) - - -State 42 - - 141 pointer: '*' pointer . - - $default reduce using rule 141 (pointer) - - -State 43 - - 140 pointer: '*' type_qualifier_list . - 142 | '*' type_qualifier_list . pointer - 144 type_qualifier_list: type_qualifier_list . type_qualifier - - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - '*' shift, and go to state 23 - - $default reduce using rule 140 (pointer) - - type_qualifier go to state 68 - pointer go to state 69 - - -State 44 - - 75 declaration: declaration_specifiers ';' . - - $default reduce using rule 75 (declaration) - - -State 45 - - 76 declaration: declaration_specifiers init_declarator_list . ';' - 84 init_declarator_list: init_declarator_list . ',' init_declarator - - ',' shift, and go to state 70 - ';' shift, and go to state 71 - - -State 46 - - 83 init_declarator_list: init_declarator . - - $default reduce using rule 83 (init_declarator_list) - - -State 47 - - 85 init_declarator: declarator . - 86 | declarator . '=' initializer - 208 function_definition: declaration_specifiers declarator . declaration_list compound_statement - 209 | declaration_specifiers declarator . compound_statement - - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - '=' shift, and go to state 72 - '{' shift, and go to state 53 - - $default reduce using rule 85 (init_declarator) - - declaration go to state 54 - declaration_specifiers go to state 55 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - compound_statement go to state 73 - declaration_list go to state 74 - - -State 48 - - 78 declaration_specifiers: storage_class_specifier declaration_specifiers . - - $default reduce using rule 78 (declaration_specifiers) - - -State 49 - - 80 declaration_specifiers: type_specifier declaration_specifiers . - - $default reduce using rule 80 (declaration_specifiers) - - -State 50 - - 104 struct_or_union_specifier: struct_or_union IDENTIFIER . '{' struct_declaration_list '}' - 106 | struct_or_union IDENTIFIER . - - '{' shift, and go to state 75 - - $default reduce using rule 106 (struct_or_union_specifier) - - -State 51 - - 105 struct_or_union_specifier: struct_or_union '{' . struct_declaration_list '}' - - TYPE_NAME shift, and go to state 2 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - - type_specifier go to state 76 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - struct_declaration_list go to state 77 - struct_declaration go to state 78 - specifier_qualifier_list go to state 79 - enum_specifier go to state 30 - type_qualifier go to state 80 - - -State 52 - - 82 declaration_specifiers: type_qualifier declaration_specifiers . - - $default reduce using rule 82 (declaration_specifiers) - - -State 53 - - 182 compound_statement: '{' . '}' - 183 | '{' . statement_list '}' - 184 | '{' . declaration_list '}' - 185 | '{' . declaration_list statement_list '}' - - IDENTIFIER shift, and go to state 81 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - CASE shift, and go to state 87 - DEFAULT shift, and go to state 88 - IF shift, and go to state 89 - SWITCH shift, and go to state 90 - WHILE shift, and go to state 91 - DO shift, and go to state 92 - FOR shift, and go to state 93 - GOTO shift, and go to state 94 - CONTINUE shift, and go to state 95 - BREAK shift, and go to state 96 - RETURN shift, and go to state 97 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - '{' shift, and go to state 53 - '}' shift, and go to state 106 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - declaration go to state 54 - declaration_specifiers go to state 55 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - statement go to state 125 - labeled_statement go to state 126 - compound_statement go to state 127 - declaration_list go to state 128 - statement_list go to state 129 - expression_statement go to state 130 - selection_statement go to state 131 - iteration_statement go to state 132 - jump_statement go to state 133 - - -State 54 - - 186 declaration_list: declaration . - - $default reduce using rule 186 (declaration_list) - - -State 55 - - 75 declaration: declaration_specifiers . ';' - 76 | declaration_specifiers . init_declarator_list ';' - - IDENTIFIER shift, and go to state 1 - '(' shift, and go to state 22 - '*' shift, and go to state 23 - ';' shift, and go to state 44 - - init_declarator_list go to state 45 - init_declarator go to state 46 - declarator go to state 134 - direct_declarator go to state 33 - pointer go to state 34 - - -State 56 - - 211 function_definition: declarator compound_statement . - - $default reduce using rule 211 (function_definition) - - -State 57 - - 187 declaration_list: declaration_list . declaration - 210 function_definition: declarator declaration_list . compound_statement - - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - '{' shift, and go to state 53 - - declaration go to state 135 - declaration_specifiers go to state 55 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - compound_statement go to state 136 - - -State 58 - - 136 direct_declarator: direct_declarator '(' . parameter_type_list ')' - 137 | direct_declarator '(' . identifier_list ')' - 138 | direct_declarator '(' . ')' - - IDENTIFIER shift, and go to state 137 - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - ')' shift, and go to state 138 - - declaration_specifiers go to state 139 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - parameter_type_list go to state 140 - parameter_list go to state 141 - parameter_declaration go to state 142 - identifier_list go to state 143 - - -State 59 - - 134 direct_declarator: direct_declarator '[' . constant_expression ']' - 135 | direct_declarator '[' . ']' - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - ']' shift, and go to state 145 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 147 - constant_expression go to state 148 - - -State 60 - - 130 declarator: pointer direct_declarator . - 134 direct_declarator: direct_declarator . '[' constant_expression ']' - 135 | direct_declarator . '[' ']' - 136 | direct_declarator . '(' parameter_type_list ')' - 137 | direct_declarator . '(' identifier_list ')' - 138 | direct_declarator . '(' ')' - - '(' shift, and go to state 58 - '[' shift, and go to state 59 - - $default reduce using rule 130 (declarator) - - -State 61 - - 0 $accept: translation_unit $end . - - $default accept - - -State 62 - - 205 translation_unit: translation_unit external_declaration . - - $default reduce using rule 205 (translation_unit) - - -State 63 - - 122 enum_specifier: ENUM IDENTIFIER '{' . enumerator_list '}' - - IDENTIFIER shift, and go to state 64 - - enumerator_list go to state 149 - enumerator go to state 66 - - -State 64 - - 126 enumerator: IDENTIFIER . - 127 | IDENTIFIER . '=' constant_expression - - '=' shift, and go to state 150 - - $default reduce using rule 126 (enumerator) - - -State 65 - - 121 enum_specifier: ENUM '{' enumerator_list . '}' - 125 enumerator_list: enumerator_list . ',' enumerator - - ',' shift, and go to state 151 - '}' shift, and go to state 152 - - -State 66 - - 124 enumerator_list: enumerator . - - $default reduce using rule 124 (enumerator_list) - - -State 67 - - 133 direct_declarator: '(' declarator ')' . - - $default reduce using rule 133 (direct_declarator) - - -State 68 - - 144 type_qualifier_list: type_qualifier_list type_qualifier . - - $default reduce using rule 144 (type_qualifier_list) - - -State 69 - - 142 pointer: '*' type_qualifier_list pointer . - - $default reduce using rule 142 (pointer) - - -State 70 - - 84 init_declarator_list: init_declarator_list ',' . init_declarator - - IDENTIFIER shift, and go to state 1 - '(' shift, and go to state 22 - '*' shift, and go to state 23 - - init_declarator go to state 153 - declarator go to state 134 - direct_declarator go to state 33 - pointer go to state 34 - - -State 71 - - 76 declaration: declaration_specifiers init_declarator_list ';' . - - $default reduce using rule 76 (declaration) - - -State 72 - - 86 init_declarator: declarator '=' . initializer - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - '{' shift, and go to state 154 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 155 - initializer go to state 156 - - -State 73 - - 209 function_definition: declaration_specifiers declarator compound_statement . - - $default reduce using rule 209 (function_definition) - - -State 74 - - 187 declaration_list: declaration_list . declaration - 208 function_definition: declaration_specifiers declarator declaration_list . compound_statement - - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - '{' shift, and go to state 53 - - declaration go to state 135 - declaration_specifiers go to state 55 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - compound_statement go to state 157 - - -State 75 - - 104 struct_or_union_specifier: struct_or_union IDENTIFIER '{' . struct_declaration_list '}' - - TYPE_NAME shift, and go to state 2 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - - type_specifier go to state 76 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - struct_declaration_list go to state 158 - struct_declaration go to state 78 - specifier_qualifier_list go to state 79 - enum_specifier go to state 30 - type_qualifier go to state 80 - - -State 76 - - 112 specifier_qualifier_list: type_specifier . specifier_qualifier_list - 113 | type_specifier . - - TYPE_NAME shift, and go to state 2 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - - $default reduce using rule 113 (specifier_qualifier_list) - - type_specifier go to state 76 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - specifier_qualifier_list go to state 159 - enum_specifier go to state 30 - type_qualifier go to state 80 - - -State 77 - - 105 struct_or_union_specifier: struct_or_union '{' struct_declaration_list . '}' - 110 struct_declaration_list: struct_declaration_list . struct_declaration - - TYPE_NAME shift, and go to state 2 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - '}' shift, and go to state 160 - - type_specifier go to state 76 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - struct_declaration go to state 161 - specifier_qualifier_list go to state 79 - enum_specifier go to state 30 - type_qualifier go to state 80 - - -State 78 - - 109 struct_declaration_list: struct_declaration . - - $default reduce using rule 109 (struct_declaration_list) - - -State 79 - - 111 struct_declaration: specifier_qualifier_list . struct_declarator_list ';' - - IDENTIFIER shift, and go to state 1 - '(' shift, and go to state 22 - '*' shift, and go to state 23 - ':' shift, and go to state 162 - - struct_declarator_list go to state 163 - struct_declarator go to state 164 - declarator go to state 165 - direct_declarator go to state 33 - pointer go to state 34 - - -State 80 - - 114 specifier_qualifier_list: type_qualifier . specifier_qualifier_list - 115 | type_qualifier . - - TYPE_NAME shift, and go to state 2 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - - $default reduce using rule 115 (specifier_qualifier_list) - - type_specifier go to state 76 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - specifier_qualifier_list go to state 166 - enum_specifier go to state 30 - type_qualifier go to state 80 - - -State 81 - - 1 primary_expression: IDENTIFIER . - 179 labeled_statement: IDENTIFIER . ':' statement - - ':' shift, and go to state 167 - - $default reduce using rule 1 (primary_expression) - - -State 82 - - 2 primary_expression: CONSTANT . - - $default reduce using rule 2 (primary_expression) - - -State 83 - - 3 primary_expression: STRING_LITERAL . - - $default reduce using rule 3 (primary_expression) - - -State 84 - - 19 unary_expression: SIZEOF . unary_expression - 20 | SIZEOF . '(' type_name ')' - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 168 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 169 - unary_operator go to state 110 - - -State 85 - - 16 unary_expression: INC_OP . unary_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 170 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 171 - unary_operator go to state 110 - - -State 86 - - 17 unary_expression: DEC_OP . unary_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 170 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 172 - unary_operator go to state 110 - - -State 87 - - 180 labeled_statement: CASE . constant_expression ':' statement - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 147 - constant_expression go to state 173 - - -State 88 - - 181 labeled_statement: DEFAULT . ':' statement - - ':' shift, and go to state 174 - - -State 89 - - 192 selection_statement: IF . '(' expression ')' statement - 193 | IF . '(' expression ')' statement ELSE statement - - '(' shift, and go to state 175 - - -State 90 - - 194 selection_statement: SWITCH . '(' expression ')' statement - - '(' shift, and go to state 176 - - -State 91 - - 195 iteration_statement: WHILE . '(' expression ')' statement - - '(' shift, and go to state 177 - - -State 92 - - 196 iteration_statement: DO . statement WHILE '(' expression ')' ';' - - IDENTIFIER shift, and go to state 81 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - CASE shift, and go to state 87 - DEFAULT shift, and go to state 88 - IF shift, and go to state 89 - SWITCH shift, and go to state 90 - WHILE shift, and go to state 91 - DO shift, and go to state 92 - FOR shift, and go to state 93 - GOTO shift, and go to state 94 - CONTINUE shift, and go to state 95 - BREAK shift, and go to state 96 - RETURN shift, and go to state 97 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - '{' shift, and go to state 53 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - statement go to state 178 - labeled_statement go to state 126 - compound_statement go to state 127 - expression_statement go to state 130 - selection_statement go to state 131 - iteration_statement go to state 132 - jump_statement go to state 133 - - -State 93 - - 197 iteration_statement: FOR . '(' expression_statement expression_statement ')' statement - 198 | FOR . '(' expression_statement expression_statement expression ')' statement - - '(' shift, and go to state 179 - - -State 94 - - 199 jump_statement: GOTO . IDENTIFIER ';' - - IDENTIFIER shift, and go to state 180 - - -State 95 - - 200 jump_statement: CONTINUE . ';' - - ';' shift, and go to state 181 - - -State 96 - - 201 jump_statement: BREAK . ';' - - ';' shift, and go to state 182 - - -State 97 - - 202 jump_statement: RETURN . ';' - 203 | RETURN . expression ';' - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 183 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 184 - - -State 98 - - 4 primary_expression: '(' . expression ')' - 28 cast_expression: '(' . type_name ')' cast_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - TYPE_NAME shift, and go to state 2 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 185 - type_specifier go to state 76 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - specifier_qualifier_list go to state 186 - enum_specifier go to state 30 - type_qualifier go to state 80 - type_name go to state 187 - - -State 99 - - 21 unary_operator: '&' . - - $default reduce using rule 21 (unary_operator) - - -State 100 - - 22 unary_operator: '*' . - - $default reduce using rule 22 (unary_operator) - - -State 101 - - 23 unary_operator: '+' . - - $default reduce using rule 23 (unary_operator) - - -State 102 - - 24 unary_operator: '-' . - - $default reduce using rule 24 (unary_operator) - - -State 103 - - 25 unary_operator: '~' . - - $default reduce using rule 25 (unary_operator) - - -State 104 - - 26 unary_operator: '!' . - - $default reduce using rule 26 (unary_operator) - - -State 105 - - 190 expression_statement: ';' . - - $default reduce using rule 190 (expression_statement) - - -State 106 - - 182 compound_statement: '{' '}' . - - $default reduce using rule 182 (compound_statement) - - -State 107 - - 5 postfix_expression: primary_expression . - - $default reduce using rule 5 (postfix_expression) - - -State 108 - - 6 postfix_expression: postfix_expression . '[' expression ']' - 7 | postfix_expression . '(' ')' - 8 | postfix_expression . '(' argument_expression_list ')' - 9 | postfix_expression . '.' IDENTIFIER - 10 | postfix_expression . PTR_OP IDENTIFIER - 11 | postfix_expression . INC_OP - 12 | postfix_expression . DEC_OP - 15 unary_expression: postfix_expression . - - PTR_OP shift, and go to state 188 - INC_OP shift, and go to state 189 - DEC_OP shift, and go to state 190 - '(' shift, and go to state 191 - '[' shift, and go to state 192 - '.' shift, and go to state 193 - - $default reduce using rule 15 (unary_expression) - - -State 109 - - 27 cast_expression: unary_expression . - 60 assignment_expression: unary_expression . assignment_operator assignment_expression - - MUL_ASSIGN shift, and go to state 194 - DIV_ASSIGN shift, and go to state 195 - MOD_ASSIGN shift, and go to state 196 - ADD_ASSIGN shift, and go to state 197 - SUB_ASSIGN shift, and go to state 198 - LEFT_ASSIGN shift, and go to state 199 - RIGHT_ASSIGN shift, and go to state 200 - AND_ASSIGN shift, and go to state 201 - XOR_ASSIGN shift, and go to state 202 - OR_ASSIGN shift, and go to state 203 - '=' shift, and go to state 204 - - $default reduce using rule 27 (cast_expression) - - assignment_operator go to state 205 - - -State 110 - - 18 unary_expression: unary_operator . cast_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 206 - - -State 111 - - 29 multiplicative_expression: cast_expression . - - $default reduce using rule 29 (multiplicative_expression) - - -State 112 - - 30 multiplicative_expression: multiplicative_expression . '*' cast_expression - 31 | multiplicative_expression . '/' cast_expression - 32 | multiplicative_expression . '%' cast_expression - 33 additive_expression: multiplicative_expression . - - '*' shift, and go to state 207 - '/' shift, and go to state 208 - '%' shift, and go to state 209 - - $default reduce using rule 33 (additive_expression) - - -State 113 - - 34 additive_expression: additive_expression . '+' multiplicative_expression - 35 | additive_expression . '-' multiplicative_expression - 36 shift_expression: additive_expression . - - '+' shift, and go to state 210 - '-' shift, and go to state 211 - - $default reduce using rule 36 (shift_expression) - - -State 114 - - 37 shift_expression: shift_expression . LEFT_OP additive_expression - 38 | shift_expression . RIGHT_OP additive_expression - 39 relational_expression: shift_expression . - - LEFT_OP shift, and go to state 212 - RIGHT_OP shift, and go to state 213 - - $default reduce using rule 39 (relational_expression) - - -State 115 - - 40 relational_expression: relational_expression . '<' shift_expression - 41 | relational_expression . '>' shift_expression - 42 | relational_expression . LE_OP shift_expression - 43 | relational_expression . GE_OP shift_expression - 44 equality_expression: relational_expression . - - LE_OP shift, and go to state 214 - GE_OP shift, and go to state 215 - '<' shift, and go to state 216 - '>' shift, and go to state 217 - - $default reduce using rule 44 (equality_expression) - - -State 116 - - 45 equality_expression: equality_expression . EQ_OP relational_expression - 46 | equality_expression . NE_OP relational_expression - 47 and_expression: equality_expression . - - EQ_OP shift, and go to state 218 - NE_OP shift, and go to state 219 - - $default reduce using rule 47 (and_expression) - - -State 117 - - 48 and_expression: and_expression . '&' equality_expression - 49 exclusive_or_expression: and_expression . - - '&' shift, and go to state 220 - - $default reduce using rule 49 (exclusive_or_expression) - - -State 118 - - 50 exclusive_or_expression: exclusive_or_expression . '^' and_expression - 51 inclusive_or_expression: exclusive_or_expression . - - '^' shift, and go to state 221 - - $default reduce using rule 51 (inclusive_or_expression) - - -State 119 - - 52 inclusive_or_expression: inclusive_or_expression . '|' exclusive_or_expression - 53 logical_and_expression: inclusive_or_expression . - - '|' shift, and go to state 222 - - $default reduce using rule 53 (logical_and_expression) - - -State 120 - - 54 logical_and_expression: logical_and_expression . AND_OP inclusive_or_expression - 55 logical_or_expression: logical_and_expression . - - AND_OP shift, and go to state 223 - - $default reduce using rule 55 (logical_or_expression) - - -State 121 - - 56 logical_or_expression: logical_or_expression . OR_OP logical_and_expression - 57 conditional_expression: logical_or_expression . - 58 | logical_or_expression . '?' expression ':' conditional_expression - - OR_OP shift, and go to state 224 - '?' shift, and go to state 225 - - $default reduce using rule 57 (conditional_expression) - - -State 122 - - 59 assignment_expression: conditional_expression . - - $default reduce using rule 59 (assignment_expression) - - -State 123 - - 72 expression: assignment_expression . - - $default reduce using rule 72 (expression) - - -State 124 - - 73 expression: expression . ',' assignment_expression - 191 expression_statement: expression . ';' - - ',' shift, and go to state 226 - ';' shift, and go to state 227 - - -State 125 - - 188 statement_list: statement . - - $default reduce using rule 188 (statement_list) - - -State 126 - - 173 statement: labeled_statement . - - $default reduce using rule 173 (statement) - - -State 127 - - 174 statement: compound_statement . - - $default reduce using rule 174 (statement) - - -State 128 - - 184 compound_statement: '{' declaration_list . '}' - 185 | '{' declaration_list . statement_list '}' - 187 declaration_list: declaration_list . declaration - - IDENTIFIER shift, and go to state 81 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - CASE shift, and go to state 87 - DEFAULT shift, and go to state 88 - IF shift, and go to state 89 - SWITCH shift, and go to state 90 - WHILE shift, and go to state 91 - DO shift, and go to state 92 - FOR shift, and go to state 93 - GOTO shift, and go to state 94 - CONTINUE shift, and go to state 95 - BREAK shift, and go to state 96 - RETURN shift, and go to state 97 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - '{' shift, and go to state 53 - '}' shift, and go to state 228 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - declaration go to state 135 - declaration_specifiers go to state 55 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - statement go to state 125 - labeled_statement go to state 126 - compound_statement go to state 127 - statement_list go to state 229 - expression_statement go to state 130 - selection_statement go to state 131 - iteration_statement go to state 132 - jump_statement go to state 133 - - -State 129 - - 183 compound_statement: '{' statement_list . '}' - 189 statement_list: statement_list . statement - - IDENTIFIER shift, and go to state 81 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - CASE shift, and go to state 87 - DEFAULT shift, and go to state 88 - IF shift, and go to state 89 - SWITCH shift, and go to state 90 - WHILE shift, and go to state 91 - DO shift, and go to state 92 - FOR shift, and go to state 93 - GOTO shift, and go to state 94 - CONTINUE shift, and go to state 95 - BREAK shift, and go to state 96 - RETURN shift, and go to state 97 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - '{' shift, and go to state 53 - '}' shift, and go to state 230 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - statement go to state 231 - labeled_statement go to state 126 - compound_statement go to state 127 - expression_statement go to state 130 - selection_statement go to state 131 - iteration_statement go to state 132 - jump_statement go to state 133 - - -State 130 - - 175 statement: expression_statement . - - $default reduce using rule 175 (statement) - - -State 131 - - 176 statement: selection_statement . - - $default reduce using rule 176 (statement) - - -State 132 - - 177 statement: iteration_statement . - - $default reduce using rule 177 (statement) - - -State 133 - - 178 statement: jump_statement . - - $default reduce using rule 178 (statement) - - -State 134 - - 85 init_declarator: declarator . - 86 | declarator . '=' initializer - - '=' shift, and go to state 72 - - $default reduce using rule 85 (init_declarator) - - -State 135 - - 187 declaration_list: declaration_list declaration . - - $default reduce using rule 187 (declaration_list) - - -State 136 - - 210 function_definition: declarator declaration_list compound_statement . - - $default reduce using rule 210 (function_definition) - - -State 137 - - 152 identifier_list: IDENTIFIER . - - $default reduce using rule 152 (identifier_list) - - -State 138 - - 138 direct_declarator: direct_declarator '(' ')' . - - $default reduce using rule 138 (direct_declarator) - - -State 139 - - 149 parameter_declaration: declaration_specifiers . declarator - 150 | declaration_specifiers . abstract_declarator - 151 | declaration_specifiers . - - IDENTIFIER shift, and go to state 1 - '(' shift, and go to state 232 - '[' shift, and go to state 233 - '*' shift, and go to state 23 - - $default reduce using rule 151 (parameter_declaration) - - declarator go to state 234 - direct_declarator go to state 33 - pointer go to state 235 - abstract_declarator go to state 236 - direct_abstract_declarator go to state 237 - - -State 140 - - 136 direct_declarator: direct_declarator '(' parameter_type_list . ')' - - ')' shift, and go to state 238 - - -State 141 - - 145 parameter_type_list: parameter_list . - 146 | parameter_list . ',' ELLIPSIS - 148 parameter_list: parameter_list . ',' parameter_declaration - - ',' shift, and go to state 239 - - $default reduce using rule 145 (parameter_type_list) - - -State 142 - - 147 parameter_list: parameter_declaration . - - $default reduce using rule 147 (parameter_list) - - -State 143 - - 137 direct_declarator: direct_declarator '(' identifier_list . ')' - 153 identifier_list: identifier_list . ',' IDENTIFIER - - ')' shift, and go to state 240 - ',' shift, and go to state 241 - - -State 144 - - 1 primary_expression: IDENTIFIER . - - $default reduce using rule 1 (primary_expression) - - -State 145 - - 135 direct_declarator: direct_declarator '[' ']' . - - $default reduce using rule 135 (direct_declarator) - - -State 146 - - 27 cast_expression: unary_expression . - - $default reduce using rule 27 (cast_expression) - - -State 147 - - 74 constant_expression: conditional_expression . - - $default reduce using rule 74 (constant_expression) - - -State 148 - - 134 direct_declarator: direct_declarator '[' constant_expression . ']' - - ']' shift, and go to state 242 - - -State 149 - - 122 enum_specifier: ENUM IDENTIFIER '{' enumerator_list . '}' - 125 enumerator_list: enumerator_list . ',' enumerator - - ',' shift, and go to state 151 - '}' shift, and go to state 243 - - -State 150 - - 127 enumerator: IDENTIFIER '=' . constant_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 147 - constant_expression go to state 244 - - -State 151 - - 125 enumerator_list: enumerator_list ',' . enumerator - - IDENTIFIER shift, and go to state 64 - - enumerator go to state 245 - - -State 152 - - 121 enum_specifier: ENUM '{' enumerator_list '}' . - - $default reduce using rule 121 (enum_specifier) - - -State 153 - - 84 init_declarator_list: init_declarator_list ',' init_declarator . - - $default reduce using rule 84 (init_declarator_list) - - -State 154 - - 169 initializer: '{' . initializer_list '}' - 170 | '{' . initializer_list ',' '}' - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - '{' shift, and go to state 154 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 155 - initializer go to state 246 - initializer_list go to state 247 - - -State 155 - - 168 initializer: assignment_expression . - - $default reduce using rule 168 (initializer) - - -State 156 - - 86 init_declarator: declarator '=' initializer . - - $default reduce using rule 86 (init_declarator) - - -State 157 - - 208 function_definition: declaration_specifiers declarator declaration_list compound_statement . - - $default reduce using rule 208 (function_definition) - - -State 158 - - 104 struct_or_union_specifier: struct_or_union IDENTIFIER '{' struct_declaration_list . '}' - 110 struct_declaration_list: struct_declaration_list . struct_declaration - - TYPE_NAME shift, and go to state 2 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - '}' shift, and go to state 248 - - type_specifier go to state 76 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - struct_declaration go to state 161 - specifier_qualifier_list go to state 79 - enum_specifier go to state 30 - type_qualifier go to state 80 - - -State 159 - - 112 specifier_qualifier_list: type_specifier specifier_qualifier_list . - - $default reduce using rule 112 (specifier_qualifier_list) - - -State 160 - - 105 struct_or_union_specifier: struct_or_union '{' struct_declaration_list '}' . - - $default reduce using rule 105 (struct_or_union_specifier) - - -State 161 - - 110 struct_declaration_list: struct_declaration_list struct_declaration . - - $default reduce using rule 110 (struct_declaration_list) - - -State 162 - - 119 struct_declarator: ':' . constant_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 147 - constant_expression go to state 249 - - -State 163 - - 111 struct_declaration: specifier_qualifier_list struct_declarator_list . ';' - 117 struct_declarator_list: struct_declarator_list . ',' struct_declarator - - ',' shift, and go to state 250 - ';' shift, and go to state 251 - - -State 164 - - 116 struct_declarator_list: struct_declarator . - - $default reduce using rule 116 (struct_declarator_list) - - -State 165 - - 118 struct_declarator: declarator . - 120 | declarator . ':' constant_expression - - ':' shift, and go to state 252 - - $default reduce using rule 118 (struct_declarator) - - -State 166 - - 114 specifier_qualifier_list: type_qualifier specifier_qualifier_list . - - $default reduce using rule 114 (specifier_qualifier_list) - - -State 167 - - 179 labeled_statement: IDENTIFIER ':' . statement - - IDENTIFIER shift, and go to state 81 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - CASE shift, and go to state 87 - DEFAULT shift, and go to state 88 - IF shift, and go to state 89 - SWITCH shift, and go to state 90 - WHILE shift, and go to state 91 - DO shift, and go to state 92 - FOR shift, and go to state 93 - GOTO shift, and go to state 94 - CONTINUE shift, and go to state 95 - BREAK shift, and go to state 96 - RETURN shift, and go to state 97 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - '{' shift, and go to state 53 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - statement go to state 253 - labeled_statement go to state 126 - compound_statement go to state 127 - expression_statement go to state 130 - selection_statement go to state 131 - iteration_statement go to state 132 - jump_statement go to state 133 - - -State 168 - - 4 primary_expression: '(' . expression ')' - 20 unary_expression: SIZEOF '(' . type_name ')' - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - TYPE_NAME shift, and go to state 2 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 185 - type_specifier go to state 76 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - specifier_qualifier_list go to state 186 - enum_specifier go to state 30 - type_qualifier go to state 80 - type_name go to state 254 - - -State 169 - - 19 unary_expression: SIZEOF unary_expression . - - $default reduce using rule 19 (unary_expression) - - -State 170 - - 4 primary_expression: '(' . expression ')' - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 185 - - -State 171 - - 16 unary_expression: INC_OP unary_expression . - - $default reduce using rule 16 (unary_expression) - - -State 172 - - 17 unary_expression: DEC_OP unary_expression . - - $default reduce using rule 17 (unary_expression) - - -State 173 - - 180 labeled_statement: CASE constant_expression . ':' statement - - ':' shift, and go to state 255 - - -State 174 - - 181 labeled_statement: DEFAULT ':' . statement - - IDENTIFIER shift, and go to state 81 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - CASE shift, and go to state 87 - DEFAULT shift, and go to state 88 - IF shift, and go to state 89 - SWITCH shift, and go to state 90 - WHILE shift, and go to state 91 - DO shift, and go to state 92 - FOR shift, and go to state 93 - GOTO shift, and go to state 94 - CONTINUE shift, and go to state 95 - BREAK shift, and go to state 96 - RETURN shift, and go to state 97 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - '{' shift, and go to state 53 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - statement go to state 256 - labeled_statement go to state 126 - compound_statement go to state 127 - expression_statement go to state 130 - selection_statement go to state 131 - iteration_statement go to state 132 - jump_statement go to state 133 - - -State 175 - - 192 selection_statement: IF '(' . expression ')' statement - 193 | IF '(' . expression ')' statement ELSE statement - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 257 - - -State 176 - - 194 selection_statement: SWITCH '(' . expression ')' statement - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 258 - - -State 177 - - 195 iteration_statement: WHILE '(' . expression ')' statement - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 259 - - -State 178 - - 196 iteration_statement: DO statement . WHILE '(' expression ')' ';' - - WHILE shift, and go to state 260 - - -State 179 - - 197 iteration_statement: FOR '(' . expression_statement expression_statement ')' statement - 198 | FOR '(' . expression_statement expression_statement expression ')' statement - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - expression_statement go to state 261 - - -State 180 - - 199 jump_statement: GOTO IDENTIFIER . ';' - - ';' shift, and go to state 262 - - -State 181 - - 200 jump_statement: CONTINUE ';' . - - $default reduce using rule 200 (jump_statement) - - -State 182 - - 201 jump_statement: BREAK ';' . - - $default reduce using rule 201 (jump_statement) - - -State 183 - - 202 jump_statement: RETURN ';' . - - $default reduce using rule 202 (jump_statement) - - -State 184 - - 73 expression: expression . ',' assignment_expression - 203 jump_statement: RETURN expression . ';' - - ',' shift, and go to state 226 - ';' shift, and go to state 263 - - -State 185 - - 4 primary_expression: '(' expression . ')' - 73 expression: expression . ',' assignment_expression - - ')' shift, and go to state 264 - ',' shift, and go to state 226 - - -State 186 - - 154 type_name: specifier_qualifier_list . - 155 | specifier_qualifier_list . abstract_declarator - - '(' shift, and go to state 265 - '[' shift, and go to state 233 - '*' shift, and go to state 23 - - $default reduce using rule 154 (type_name) - - pointer go to state 266 - abstract_declarator go to state 267 - direct_abstract_declarator go to state 237 - - -State 187 - - 28 cast_expression: '(' type_name . ')' cast_expression - - ')' shift, and go to state 268 - - -State 188 - - 10 postfix_expression: postfix_expression PTR_OP . IDENTIFIER - - IDENTIFIER shift, and go to state 269 - - -State 189 - - 11 postfix_expression: postfix_expression INC_OP . - - $default reduce using rule 11 (postfix_expression) - - -State 190 - - 12 postfix_expression: postfix_expression DEC_OP . - - $default reduce using rule 12 (postfix_expression) - - -State 191 - - 7 postfix_expression: postfix_expression '(' . ')' - 8 | postfix_expression '(' . argument_expression_list ')' - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - ')' shift, and go to state 270 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - argument_expression_list go to state 271 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 272 - - -State 192 - - 6 postfix_expression: postfix_expression '[' . expression ']' - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 273 - - -State 193 - - 9 postfix_expression: postfix_expression '.' . IDENTIFIER - - IDENTIFIER shift, and go to state 274 - - -State 194 - - 62 assignment_operator: MUL_ASSIGN . - - $default reduce using rule 62 (assignment_operator) - - -State 195 - - 63 assignment_operator: DIV_ASSIGN . - - $default reduce using rule 63 (assignment_operator) - - -State 196 - - 64 assignment_operator: MOD_ASSIGN . - - $default reduce using rule 64 (assignment_operator) - - -State 197 - - 65 assignment_operator: ADD_ASSIGN . - - $default reduce using rule 65 (assignment_operator) - - -State 198 - - 66 assignment_operator: SUB_ASSIGN . - - $default reduce using rule 66 (assignment_operator) - - -State 199 - - 67 assignment_operator: LEFT_ASSIGN . - - $default reduce using rule 67 (assignment_operator) - - -State 200 - - 68 assignment_operator: RIGHT_ASSIGN . - - $default reduce using rule 68 (assignment_operator) - - -State 201 - - 69 assignment_operator: AND_ASSIGN . - - $default reduce using rule 69 (assignment_operator) - - -State 202 - - 70 assignment_operator: XOR_ASSIGN . - - $default reduce using rule 70 (assignment_operator) - - -State 203 - - 71 assignment_operator: OR_ASSIGN . - - $default reduce using rule 71 (assignment_operator) - - -State 204 - - 61 assignment_operator: '=' . - - $default reduce using rule 61 (assignment_operator) - - -State 205 - - 60 assignment_expression: unary_expression assignment_operator . assignment_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 275 - - -State 206 - - 18 unary_expression: unary_operator cast_expression . - - $default reduce using rule 18 (unary_expression) - - -State 207 - - 30 multiplicative_expression: multiplicative_expression '*' . cast_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 276 - - -State 208 - - 31 multiplicative_expression: multiplicative_expression '/' . cast_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 277 - - -State 209 - - 32 multiplicative_expression: multiplicative_expression '%' . cast_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 278 - - -State 210 - - 34 additive_expression: additive_expression '+' . multiplicative_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 279 - - -State 211 - - 35 additive_expression: additive_expression '-' . multiplicative_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 280 - - -State 212 - - 37 shift_expression: shift_expression LEFT_OP . additive_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 281 - - -State 213 - - 38 shift_expression: shift_expression RIGHT_OP . additive_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 282 - - -State 214 - - 42 relational_expression: relational_expression LE_OP . shift_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 283 - - -State 215 - - 43 relational_expression: relational_expression GE_OP . shift_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 284 - - -State 216 - - 40 relational_expression: relational_expression '<' . shift_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 285 - - -State 217 - - 41 relational_expression: relational_expression '>' . shift_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 286 - - -State 218 - - 45 equality_expression: equality_expression EQ_OP . relational_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 287 - - -State 219 - - 46 equality_expression: equality_expression NE_OP . relational_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 288 - - -State 220 - - 48 and_expression: and_expression '&' . equality_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 289 - - -State 221 - - 50 exclusive_or_expression: exclusive_or_expression '^' . and_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 290 - - -State 222 - - 52 inclusive_or_expression: inclusive_or_expression '|' . exclusive_or_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 291 - - -State 223 - - 54 logical_and_expression: logical_and_expression AND_OP . inclusive_or_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 292 - - -State 224 - - 56 logical_or_expression: logical_or_expression OR_OP . logical_and_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 293 - - -State 225 - - 58 conditional_expression: logical_or_expression '?' . expression ':' conditional_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 294 - - -State 226 - - 73 expression: expression ',' . assignment_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 295 - - -State 227 - - 191 expression_statement: expression ';' . - - $default reduce using rule 191 (expression_statement) - - -State 228 - - 184 compound_statement: '{' declaration_list '}' . - - $default reduce using rule 184 (compound_statement) - - -State 229 - - 185 compound_statement: '{' declaration_list statement_list . '}' - 189 statement_list: statement_list . statement - - IDENTIFIER shift, and go to state 81 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - CASE shift, and go to state 87 - DEFAULT shift, and go to state 88 - IF shift, and go to state 89 - SWITCH shift, and go to state 90 - WHILE shift, and go to state 91 - DO shift, and go to state 92 - FOR shift, and go to state 93 - GOTO shift, and go to state 94 - CONTINUE shift, and go to state 95 - BREAK shift, and go to state 96 - RETURN shift, and go to state 97 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - '{' shift, and go to state 53 - '}' shift, and go to state 296 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - statement go to state 231 - labeled_statement go to state 126 - compound_statement go to state 127 - expression_statement go to state 130 - selection_statement go to state 131 - iteration_statement go to state 132 - jump_statement go to state 133 - - -State 230 - - 183 compound_statement: '{' statement_list '}' . - - $default reduce using rule 183 (compound_statement) - - -State 231 - - 189 statement_list: statement_list statement . - - $default reduce using rule 189 (statement_list) - - -State 232 - - 133 direct_declarator: '(' . declarator ')' - 159 direct_abstract_declarator: '(' . abstract_declarator ')' - 164 | '(' . ')' - 165 | '(' . parameter_type_list ')' - - IDENTIFIER shift, and go to state 1 - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - '(' shift, and go to state 232 - ')' shift, and go to state 297 - '[' shift, and go to state 233 - '*' shift, and go to state 23 - - declaration_specifiers go to state 139 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - declarator go to state 40 - direct_declarator go to state 33 - pointer go to state 235 - parameter_type_list go to state 298 - parameter_list go to state 141 - parameter_declaration go to state 142 - abstract_declarator go to state 299 - direct_abstract_declarator go to state 237 - - -State 233 - - 160 direct_abstract_declarator: '[' . ']' - 161 | '[' . constant_expression ']' - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - ']' shift, and go to state 300 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 147 - constant_expression go to state 301 - - -State 234 - - 149 parameter_declaration: declaration_specifiers declarator . - - $default reduce using rule 149 (parameter_declaration) - - -State 235 - - 130 declarator: pointer . direct_declarator - 156 abstract_declarator: pointer . - 158 | pointer . direct_abstract_declarator - - IDENTIFIER shift, and go to state 1 - '(' shift, and go to state 232 - '[' shift, and go to state 233 - - $default reduce using rule 156 (abstract_declarator) - - direct_declarator go to state 60 - direct_abstract_declarator go to state 302 - - -State 236 - - 150 parameter_declaration: declaration_specifiers abstract_declarator . - - $default reduce using rule 150 (parameter_declaration) - - -State 237 - - 157 abstract_declarator: direct_abstract_declarator . - 162 direct_abstract_declarator: direct_abstract_declarator . '[' ']' - 163 | direct_abstract_declarator . '[' constant_expression ']' - 166 | direct_abstract_declarator . '(' ')' - 167 | direct_abstract_declarator . '(' parameter_type_list ')' - - '(' shift, and go to state 303 - '[' shift, and go to state 304 - - $default reduce using rule 157 (abstract_declarator) - - -State 238 - - 136 direct_declarator: direct_declarator '(' parameter_type_list ')' . - - $default reduce using rule 136 (direct_declarator) - - -State 239 - - 146 parameter_type_list: parameter_list ',' . ELLIPSIS - 148 parameter_list: parameter_list ',' . parameter_declaration - - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - ELLIPSIS shift, and go to state 305 - - declaration_specifiers go to state 139 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - parameter_declaration go to state 306 - - -State 240 - - 137 direct_declarator: direct_declarator '(' identifier_list ')' . - - $default reduce using rule 137 (direct_declarator) - - -State 241 - - 153 identifier_list: identifier_list ',' . IDENTIFIER - - IDENTIFIER shift, and go to state 307 - - -State 242 - - 134 direct_declarator: direct_declarator '[' constant_expression ']' . - - $default reduce using rule 134 (direct_declarator) - - -State 243 - - 122 enum_specifier: ENUM IDENTIFIER '{' enumerator_list '}' . - - $default reduce using rule 122 (enum_specifier) - - -State 244 - - 127 enumerator: IDENTIFIER '=' constant_expression . - - $default reduce using rule 127 (enumerator) - - -State 245 - - 125 enumerator_list: enumerator_list ',' enumerator . - - $default reduce using rule 125 (enumerator_list) - - -State 246 - - 171 initializer_list: initializer . - - $default reduce using rule 171 (initializer_list) - - -State 247 - - 169 initializer: '{' initializer_list . '}' - 170 | '{' initializer_list . ',' '}' - 172 initializer_list: initializer_list . ',' initializer - - ',' shift, and go to state 308 - '}' shift, and go to state 309 - - -State 248 - - 104 struct_or_union_specifier: struct_or_union IDENTIFIER '{' struct_declaration_list '}' . - - $default reduce using rule 104 (struct_or_union_specifier) - - -State 249 - - 119 struct_declarator: ':' constant_expression . - - $default reduce using rule 119 (struct_declarator) - - -State 250 - - 117 struct_declarator_list: struct_declarator_list ',' . struct_declarator - - IDENTIFIER shift, and go to state 1 - '(' shift, and go to state 22 - '*' shift, and go to state 23 - ':' shift, and go to state 162 - - struct_declarator go to state 310 - declarator go to state 165 - direct_declarator go to state 33 - pointer go to state 34 - - -State 251 - - 111 struct_declaration: specifier_qualifier_list struct_declarator_list ';' . - - $default reduce using rule 111 (struct_declaration) - - -State 252 - - 120 struct_declarator: declarator ':' . constant_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 147 - constant_expression go to state 311 - - -State 253 - - 179 labeled_statement: IDENTIFIER ':' statement . - - $default reduce using rule 179 (labeled_statement) - - -State 254 - - 20 unary_expression: SIZEOF '(' type_name . ')' - - ')' shift, and go to state 312 - - -State 255 - - 180 labeled_statement: CASE constant_expression ':' . statement - - IDENTIFIER shift, and go to state 81 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - CASE shift, and go to state 87 - DEFAULT shift, and go to state 88 - IF shift, and go to state 89 - SWITCH shift, and go to state 90 - WHILE shift, and go to state 91 - DO shift, and go to state 92 - FOR shift, and go to state 93 - GOTO shift, and go to state 94 - CONTINUE shift, and go to state 95 - BREAK shift, and go to state 96 - RETURN shift, and go to state 97 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - '{' shift, and go to state 53 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - statement go to state 313 - labeled_statement go to state 126 - compound_statement go to state 127 - expression_statement go to state 130 - selection_statement go to state 131 - iteration_statement go to state 132 - jump_statement go to state 133 - - -State 256 - - 181 labeled_statement: DEFAULT ':' statement . - - $default reduce using rule 181 (labeled_statement) - - -State 257 - - 73 expression: expression . ',' assignment_expression - 192 selection_statement: IF '(' expression . ')' statement - 193 | IF '(' expression . ')' statement ELSE statement - - ')' shift, and go to state 314 - ',' shift, and go to state 226 - - -State 258 - - 73 expression: expression . ',' assignment_expression - 194 selection_statement: SWITCH '(' expression . ')' statement - - ')' shift, and go to state 315 - ',' shift, and go to state 226 - - -State 259 - - 73 expression: expression . ',' assignment_expression - 195 iteration_statement: WHILE '(' expression . ')' statement - - ')' shift, and go to state 316 - ',' shift, and go to state 226 - - -State 260 - - 196 iteration_statement: DO statement WHILE . '(' expression ')' ';' - - '(' shift, and go to state 317 - - -State 261 - - 197 iteration_statement: FOR '(' expression_statement . expression_statement ')' statement - 198 | FOR '(' expression_statement . expression_statement expression ')' statement - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - expression_statement go to state 318 - - -State 262 - - 199 jump_statement: GOTO IDENTIFIER ';' . - - $default reduce using rule 199 (jump_statement) - - -State 263 - - 203 jump_statement: RETURN expression ';' . - - $default reduce using rule 203 (jump_statement) - - -State 264 - - 4 primary_expression: '(' expression ')' . - - $default reduce using rule 4 (primary_expression) - - -State 265 - - 159 direct_abstract_declarator: '(' . abstract_declarator ')' - 164 | '(' . ')' - 165 | '(' . parameter_type_list ')' - - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - '(' shift, and go to state 265 - ')' shift, and go to state 297 - '[' shift, and go to state 233 - '*' shift, and go to state 23 - - declaration_specifiers go to state 139 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - pointer go to state 266 - parameter_type_list go to state 298 - parameter_list go to state 141 - parameter_declaration go to state 142 - abstract_declarator go to state 299 - direct_abstract_declarator go to state 237 - - -State 266 - - 156 abstract_declarator: pointer . - 158 | pointer . direct_abstract_declarator - - '(' shift, and go to state 265 - '[' shift, and go to state 233 - - $default reduce using rule 156 (abstract_declarator) - - direct_abstract_declarator go to state 302 - - -State 267 - - 155 type_name: specifier_qualifier_list abstract_declarator . - - $default reduce using rule 155 (type_name) - - -State 268 - - 28 cast_expression: '(' type_name ')' . cast_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 319 - - -State 269 - - 10 postfix_expression: postfix_expression PTR_OP IDENTIFIER . - - $default reduce using rule 10 (postfix_expression) - - -State 270 - - 7 postfix_expression: postfix_expression '(' ')' . - - $default reduce using rule 7 (postfix_expression) - - -State 271 - - 8 postfix_expression: postfix_expression '(' argument_expression_list . ')' - 14 argument_expression_list: argument_expression_list . ',' assignment_expression - - ')' shift, and go to state 320 - ',' shift, and go to state 321 - - -State 272 - - 13 argument_expression_list: assignment_expression . - - $default reduce using rule 13 (argument_expression_list) - - -State 273 - - 6 postfix_expression: postfix_expression '[' expression . ']' - 73 expression: expression . ',' assignment_expression - - ']' shift, and go to state 322 - ',' shift, and go to state 226 - - -State 274 - - 9 postfix_expression: postfix_expression '.' IDENTIFIER . - - $default reduce using rule 9 (postfix_expression) - - -State 275 - - 60 assignment_expression: unary_expression assignment_operator assignment_expression . - - $default reduce using rule 60 (assignment_expression) - - -State 276 - - 30 multiplicative_expression: multiplicative_expression '*' cast_expression . - - $default reduce using rule 30 (multiplicative_expression) - - -State 277 - - 31 multiplicative_expression: multiplicative_expression '/' cast_expression . - - $default reduce using rule 31 (multiplicative_expression) - - -State 278 - - 32 multiplicative_expression: multiplicative_expression '%' cast_expression . - - $default reduce using rule 32 (multiplicative_expression) - - -State 279 - - 30 multiplicative_expression: multiplicative_expression . '*' cast_expression - 31 | multiplicative_expression . '/' cast_expression - 32 | multiplicative_expression . '%' cast_expression - 34 additive_expression: additive_expression '+' multiplicative_expression . - - '*' shift, and go to state 207 - '/' shift, and go to state 208 - '%' shift, and go to state 209 - - $default reduce using rule 34 (additive_expression) - - -State 280 - - 30 multiplicative_expression: multiplicative_expression . '*' cast_expression - 31 | multiplicative_expression . '/' cast_expression - 32 | multiplicative_expression . '%' cast_expression - 35 additive_expression: additive_expression '-' multiplicative_expression . - - '*' shift, and go to state 207 - '/' shift, and go to state 208 - '%' shift, and go to state 209 - - $default reduce using rule 35 (additive_expression) - - -State 281 - - 34 additive_expression: additive_expression . '+' multiplicative_expression - 35 | additive_expression . '-' multiplicative_expression - 37 shift_expression: shift_expression LEFT_OP additive_expression . - - '+' shift, and go to state 210 - '-' shift, and go to state 211 - - $default reduce using rule 37 (shift_expression) - - -State 282 - - 34 additive_expression: additive_expression . '+' multiplicative_expression - 35 | additive_expression . '-' multiplicative_expression - 38 shift_expression: shift_expression RIGHT_OP additive_expression . - - '+' shift, and go to state 210 - '-' shift, and go to state 211 - - $default reduce using rule 38 (shift_expression) - - -State 283 - - 37 shift_expression: shift_expression . LEFT_OP additive_expression - 38 | shift_expression . RIGHT_OP additive_expression - 42 relational_expression: relational_expression LE_OP shift_expression . - - LEFT_OP shift, and go to state 212 - RIGHT_OP shift, and go to state 213 - - $default reduce using rule 42 (relational_expression) - - -State 284 - - 37 shift_expression: shift_expression . LEFT_OP additive_expression - 38 | shift_expression . RIGHT_OP additive_expression - 43 relational_expression: relational_expression GE_OP shift_expression . - - LEFT_OP shift, and go to state 212 - RIGHT_OP shift, and go to state 213 - - $default reduce using rule 43 (relational_expression) - - -State 285 - - 37 shift_expression: shift_expression . LEFT_OP additive_expression - 38 | shift_expression . RIGHT_OP additive_expression - 40 relational_expression: relational_expression '<' shift_expression . - - LEFT_OP shift, and go to state 212 - RIGHT_OP shift, and go to state 213 - - $default reduce using rule 40 (relational_expression) - - -State 286 - - 37 shift_expression: shift_expression . LEFT_OP additive_expression - 38 | shift_expression . RIGHT_OP additive_expression - 41 relational_expression: relational_expression '>' shift_expression . - - LEFT_OP shift, and go to state 212 - RIGHT_OP shift, and go to state 213 - - $default reduce using rule 41 (relational_expression) - - -State 287 - - 40 relational_expression: relational_expression . '<' shift_expression - 41 | relational_expression . '>' shift_expression - 42 | relational_expression . LE_OP shift_expression - 43 | relational_expression . GE_OP shift_expression - 45 equality_expression: equality_expression EQ_OP relational_expression . - - LE_OP shift, and go to state 214 - GE_OP shift, and go to state 215 - '<' shift, and go to state 216 - '>' shift, and go to state 217 - - $default reduce using rule 45 (equality_expression) - - -State 288 - - 40 relational_expression: relational_expression . '<' shift_expression - 41 | relational_expression . '>' shift_expression - 42 | relational_expression . LE_OP shift_expression - 43 | relational_expression . GE_OP shift_expression - 46 equality_expression: equality_expression NE_OP relational_expression . - - LE_OP shift, and go to state 214 - GE_OP shift, and go to state 215 - '<' shift, and go to state 216 - '>' shift, and go to state 217 - - $default reduce using rule 46 (equality_expression) - - -State 289 - - 45 equality_expression: equality_expression . EQ_OP relational_expression - 46 | equality_expression . NE_OP relational_expression - 48 and_expression: and_expression '&' equality_expression . - - EQ_OP shift, and go to state 218 - NE_OP shift, and go to state 219 - - $default reduce using rule 48 (and_expression) - - -State 290 - - 48 and_expression: and_expression . '&' equality_expression - 50 exclusive_or_expression: exclusive_or_expression '^' and_expression . - - '&' shift, and go to state 220 - - $default reduce using rule 50 (exclusive_or_expression) - - -State 291 - - 50 exclusive_or_expression: exclusive_or_expression . '^' and_expression - 52 inclusive_or_expression: inclusive_or_expression '|' exclusive_or_expression . - - '^' shift, and go to state 221 - - $default reduce using rule 52 (inclusive_or_expression) - - -State 292 - - 52 inclusive_or_expression: inclusive_or_expression . '|' exclusive_or_expression - 54 logical_and_expression: logical_and_expression AND_OP inclusive_or_expression . - - '|' shift, and go to state 222 - - $default reduce using rule 54 (logical_and_expression) - - -State 293 - - 54 logical_and_expression: logical_and_expression . AND_OP inclusive_or_expression - 56 logical_or_expression: logical_or_expression OR_OP logical_and_expression . - - AND_OP shift, and go to state 223 - - $default reduce using rule 56 (logical_or_expression) - - -State 294 - - 58 conditional_expression: logical_or_expression '?' expression . ':' conditional_expression - 73 expression: expression . ',' assignment_expression - - ',' shift, and go to state 226 - ':' shift, and go to state 323 - - -State 295 - - 73 expression: expression ',' assignment_expression . - - $default reduce using rule 73 (expression) - - -State 296 - - 185 compound_statement: '{' declaration_list statement_list '}' . - - $default reduce using rule 185 (compound_statement) - - -State 297 - - 164 direct_abstract_declarator: '(' ')' . - - $default reduce using rule 164 (direct_abstract_declarator) - - -State 298 - - 165 direct_abstract_declarator: '(' parameter_type_list . ')' - - ')' shift, and go to state 324 - - -State 299 - - 159 direct_abstract_declarator: '(' abstract_declarator . ')' - - ')' shift, and go to state 325 - - -State 300 - - 160 direct_abstract_declarator: '[' ']' . - - $default reduce using rule 160 (direct_abstract_declarator) - - -State 301 - - 161 direct_abstract_declarator: '[' constant_expression . ']' - - ']' shift, and go to state 326 - - -State 302 - - 158 abstract_declarator: pointer direct_abstract_declarator . - 162 direct_abstract_declarator: direct_abstract_declarator . '[' ']' - 163 | direct_abstract_declarator . '[' constant_expression ']' - 166 | direct_abstract_declarator . '(' ')' - 167 | direct_abstract_declarator . '(' parameter_type_list ')' - - '(' shift, and go to state 303 - '[' shift, and go to state 304 - - $default reduce using rule 158 (abstract_declarator) - - -State 303 - - 166 direct_abstract_declarator: direct_abstract_declarator '(' . ')' - 167 | direct_abstract_declarator '(' . parameter_type_list ')' - - TYPE_NAME shift, and go to state 2 - TYPEDEF shift, and go to state 3 - EXTERN shift, and go to state 4 - STATIC shift, and go to state 5 - AUTO shift, and go to state 6 - REGISTER shift, and go to state 7 - CHAR shift, and go to state 8 - SHORT shift, and go to state 9 - INT shift, and go to state 10 - LONG shift, and go to state 11 - SIGNED shift, and go to state 12 - UNSIGNED shift, and go to state 13 - FLOAT shift, and go to state 14 - DOUBLE shift, and go to state 15 - CONST shift, and go to state 16 - VOLATILE shift, and go to state 17 - VOID shift, and go to state 18 - STRUCT shift, and go to state 19 - UNION shift, and go to state 20 - ENUM shift, and go to state 21 - ')' shift, and go to state 327 - - declaration_specifiers go to state 139 - storage_class_specifier go to state 26 - type_specifier go to state 27 - struct_or_union_specifier go to state 28 - struct_or_union go to state 29 - enum_specifier go to state 30 - type_qualifier go to state 31 - parameter_type_list go to state 328 - parameter_list go to state 141 - parameter_declaration go to state 142 - - -State 304 - - 162 direct_abstract_declarator: direct_abstract_declarator '[' . ']' - 163 | direct_abstract_declarator '[' . constant_expression ']' - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - ']' shift, and go to state 329 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 147 - constant_expression go to state 330 - - -State 305 - - 146 parameter_type_list: parameter_list ',' ELLIPSIS . - - $default reduce using rule 146 (parameter_type_list) - - -State 306 - - 148 parameter_list: parameter_list ',' parameter_declaration . - - $default reduce using rule 148 (parameter_list) - - -State 307 - - 153 identifier_list: identifier_list ',' IDENTIFIER . - - $default reduce using rule 153 (identifier_list) - - -State 308 - - 170 initializer: '{' initializer_list ',' . '}' - 172 initializer_list: initializer_list ',' . initializer - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - '{' shift, and go to state 154 - '}' shift, and go to state 331 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 155 - initializer go to state 332 - - -State 309 - - 169 initializer: '{' initializer_list '}' . - - $default reduce using rule 169 (initializer) - - -State 310 - - 117 struct_declarator_list: struct_declarator_list ',' struct_declarator . - - $default reduce using rule 117 (struct_declarator_list) - - -State 311 - - 120 struct_declarator: declarator ':' constant_expression . - - $default reduce using rule 120 (struct_declarator) - - -State 312 - - 20 unary_expression: SIZEOF '(' type_name ')' . - - $default reduce using rule 20 (unary_expression) - - -State 313 - - 180 labeled_statement: CASE constant_expression ':' statement . - - $default reduce using rule 180 (labeled_statement) - - -State 314 - - 192 selection_statement: IF '(' expression ')' . statement - 193 | IF '(' expression ')' . statement ELSE statement - - IDENTIFIER shift, and go to state 81 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - CASE shift, and go to state 87 - DEFAULT shift, and go to state 88 - IF shift, and go to state 89 - SWITCH shift, and go to state 90 - WHILE shift, and go to state 91 - DO shift, and go to state 92 - FOR shift, and go to state 93 - GOTO shift, and go to state 94 - CONTINUE shift, and go to state 95 - BREAK shift, and go to state 96 - RETURN shift, and go to state 97 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - '{' shift, and go to state 53 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - statement go to state 333 - labeled_statement go to state 126 - compound_statement go to state 127 - expression_statement go to state 130 - selection_statement go to state 131 - iteration_statement go to state 132 - jump_statement go to state 133 - - -State 315 - - 194 selection_statement: SWITCH '(' expression ')' . statement - - IDENTIFIER shift, and go to state 81 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - CASE shift, and go to state 87 - DEFAULT shift, and go to state 88 - IF shift, and go to state 89 - SWITCH shift, and go to state 90 - WHILE shift, and go to state 91 - DO shift, and go to state 92 - FOR shift, and go to state 93 - GOTO shift, and go to state 94 - CONTINUE shift, and go to state 95 - BREAK shift, and go to state 96 - RETURN shift, and go to state 97 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - '{' shift, and go to state 53 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - statement go to state 334 - labeled_statement go to state 126 - compound_statement go to state 127 - expression_statement go to state 130 - selection_statement go to state 131 - iteration_statement go to state 132 - jump_statement go to state 133 - - -State 316 - - 195 iteration_statement: WHILE '(' expression ')' . statement - - IDENTIFIER shift, and go to state 81 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - CASE shift, and go to state 87 - DEFAULT shift, and go to state 88 - IF shift, and go to state 89 - SWITCH shift, and go to state 90 - WHILE shift, and go to state 91 - DO shift, and go to state 92 - FOR shift, and go to state 93 - GOTO shift, and go to state 94 - CONTINUE shift, and go to state 95 - BREAK shift, and go to state 96 - RETURN shift, and go to state 97 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - '{' shift, and go to state 53 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - statement go to state 335 - labeled_statement go to state 126 - compound_statement go to state 127 - expression_statement go to state 130 - selection_statement go to state 131 - iteration_statement go to state 132 - jump_statement go to state 133 - - -State 317 - - 196 iteration_statement: DO statement WHILE '(' . expression ')' ';' - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 336 - - -State 318 - - 197 iteration_statement: FOR '(' expression_statement expression_statement . ')' statement - 198 | FOR '(' expression_statement expression_statement . expression ')' statement - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - ')' shift, and go to state 337 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 338 - - -State 319 - - 28 cast_expression: '(' type_name ')' cast_expression . - - $default reduce using rule 28 (cast_expression) - - -State 320 - - 8 postfix_expression: postfix_expression '(' argument_expression_list ')' . - - $default reduce using rule 8 (postfix_expression) - - -State 321 - - 14 argument_expression_list: argument_expression_list ',' . assignment_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 339 - - -State 322 - - 6 postfix_expression: postfix_expression '[' expression ']' . - - $default reduce using rule 6 (postfix_expression) - - -State 323 - - 58 conditional_expression: logical_or_expression '?' expression ':' . conditional_expression - - IDENTIFIER shift, and go to state 144 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 146 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 340 - - -State 324 - - 165 direct_abstract_declarator: '(' parameter_type_list ')' . - - $default reduce using rule 165 (direct_abstract_declarator) - - -State 325 - - 159 direct_abstract_declarator: '(' abstract_declarator ')' . - - $default reduce using rule 159 (direct_abstract_declarator) - - -State 326 - - 161 direct_abstract_declarator: '[' constant_expression ']' . - - $default reduce using rule 161 (direct_abstract_declarator) - - -State 327 - - 166 direct_abstract_declarator: direct_abstract_declarator '(' ')' . - - $default reduce using rule 166 (direct_abstract_declarator) - - -State 328 - - 167 direct_abstract_declarator: direct_abstract_declarator '(' parameter_type_list . ')' - - ')' shift, and go to state 341 - - -State 329 - - 162 direct_abstract_declarator: direct_abstract_declarator '[' ']' . - - $default reduce using rule 162 (direct_abstract_declarator) - - -State 330 - - 163 direct_abstract_declarator: direct_abstract_declarator '[' constant_expression . ']' - - ']' shift, and go to state 342 - - -State 331 - - 170 initializer: '{' initializer_list ',' '}' . - - $default reduce using rule 170 (initializer) - - -State 332 - - 172 initializer_list: initializer_list ',' initializer . - - $default reduce using rule 172 (initializer_list) - - -State 333 - - 192 selection_statement: IF '(' expression ')' statement . - 193 | IF '(' expression ')' statement . ELSE statement - - ELSE shift, and go to state 343 - - ELSE [reduce using rule 192 (selection_statement)] - $default reduce using rule 192 (selection_statement) - - -State 334 - - 194 selection_statement: SWITCH '(' expression ')' statement . - - $default reduce using rule 194 (selection_statement) - - -State 335 - - 195 iteration_statement: WHILE '(' expression ')' statement . - - $default reduce using rule 195 (iteration_statement) - - -State 336 - - 73 expression: expression . ',' assignment_expression - 196 iteration_statement: DO statement WHILE '(' expression . ')' ';' - - ')' shift, and go to state 344 - ',' shift, and go to state 226 - - -State 337 - - 197 iteration_statement: FOR '(' expression_statement expression_statement ')' . statement - - IDENTIFIER shift, and go to state 81 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - CASE shift, and go to state 87 - DEFAULT shift, and go to state 88 - IF shift, and go to state 89 - SWITCH shift, and go to state 90 - WHILE shift, and go to state 91 - DO shift, and go to state 92 - FOR shift, and go to state 93 - GOTO shift, and go to state 94 - CONTINUE shift, and go to state 95 - BREAK shift, and go to state 96 - RETURN shift, and go to state 97 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - '{' shift, and go to state 53 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - statement go to state 345 - labeled_statement go to state 126 - compound_statement go to state 127 - expression_statement go to state 130 - selection_statement go to state 131 - iteration_statement go to state 132 - jump_statement go to state 133 - - -State 338 - - 73 expression: expression . ',' assignment_expression - 198 iteration_statement: FOR '(' expression_statement expression_statement expression . ')' statement - - ')' shift, and go to state 346 - ',' shift, and go to state 226 - - -State 339 - - 14 argument_expression_list: argument_expression_list ',' assignment_expression . - - $default reduce using rule 14 (argument_expression_list) - - -State 340 - - 58 conditional_expression: logical_or_expression '?' expression ':' conditional_expression . - - $default reduce using rule 58 (conditional_expression) - - -State 341 - - 167 direct_abstract_declarator: direct_abstract_declarator '(' parameter_type_list ')' . - - $default reduce using rule 167 (direct_abstract_declarator) - - -State 342 - - 163 direct_abstract_declarator: direct_abstract_declarator '[' constant_expression ']' . - - $default reduce using rule 163 (direct_abstract_declarator) - - -State 343 - - 193 selection_statement: IF '(' expression ')' statement ELSE . statement - - IDENTIFIER shift, and go to state 81 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - CASE shift, and go to state 87 - DEFAULT shift, and go to state 88 - IF shift, and go to state 89 - SWITCH shift, and go to state 90 - WHILE shift, and go to state 91 - DO shift, and go to state 92 - FOR shift, and go to state 93 - GOTO shift, and go to state 94 - CONTINUE shift, and go to state 95 - BREAK shift, and go to state 96 - RETURN shift, and go to state 97 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - '{' shift, and go to state 53 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - statement go to state 347 - labeled_statement go to state 126 - compound_statement go to state 127 - expression_statement go to state 130 - selection_statement go to state 131 - iteration_statement go to state 132 - jump_statement go to state 133 - - -State 344 - - 196 iteration_statement: DO statement WHILE '(' expression ')' . ';' - - ';' shift, and go to state 348 - - -State 345 - - 197 iteration_statement: FOR '(' expression_statement expression_statement ')' statement . - - $default reduce using rule 197 (iteration_statement) - - -State 346 - - 198 iteration_statement: FOR '(' expression_statement expression_statement expression ')' . statement - - IDENTIFIER shift, and go to state 81 - CONSTANT shift, and go to state 82 - STRING_LITERAL shift, and go to state 83 - SIZEOF shift, and go to state 84 - INC_OP shift, and go to state 85 - DEC_OP shift, and go to state 86 - CASE shift, and go to state 87 - DEFAULT shift, and go to state 88 - IF shift, and go to state 89 - SWITCH shift, and go to state 90 - WHILE shift, and go to state 91 - DO shift, and go to state 92 - FOR shift, and go to state 93 - GOTO shift, and go to state 94 - CONTINUE shift, and go to state 95 - BREAK shift, and go to state 96 - RETURN shift, and go to state 97 - '(' shift, and go to state 98 - '&' shift, and go to state 99 - '*' shift, and go to state 100 - '+' shift, and go to state 101 - '-' shift, and go to state 102 - '~' shift, and go to state 103 - '!' shift, and go to state 104 - ';' shift, and go to state 105 - '{' shift, and go to state 53 - - primary_expression go to state 107 - postfix_expression go to state 108 - unary_expression go to state 109 - unary_operator go to state 110 - cast_expression go to state 111 - multiplicative_expression go to state 112 - additive_expression go to state 113 - shift_expression go to state 114 - relational_expression go to state 115 - equality_expression go to state 116 - and_expression go to state 117 - exclusive_or_expression go to state 118 - inclusive_or_expression go to state 119 - logical_and_expression go to state 120 - logical_or_expression go to state 121 - conditional_expression go to state 122 - assignment_expression go to state 123 - expression go to state 124 - statement go to state 349 - labeled_statement go to state 126 - compound_statement go to state 127 - expression_statement go to state 130 - selection_statement go to state 131 - iteration_statement go to state 132 - jump_statement go to state 133 - - -State 347 - - 193 selection_statement: IF '(' expression ')' statement ELSE statement . - - $default reduce using rule 193 (selection_statement) - - -State 348 - - 196 iteration_statement: DO statement WHILE '(' expression ')' ';' . - - $default reduce using rule 196 (iteration_statement) - - -State 349 - - 198 iteration_statement: FOR '(' expression_statement expression_statement expression ')' statement . - - $default reduce using rule 198 (iteration_statement) |