📄 c-parse.output
字号:
rule 62 expr_no_commas -> expr_no_commas ARITHCOMPARE expr_no_commasrule 63 expr_no_commas -> expr_no_commas EQCOMPARE expr_no_commasrule 64 expr_no_commas -> expr_no_commas '&' expr_no_commasrule 65 expr_no_commas -> expr_no_commas '|' expr_no_commasrule 66 expr_no_commas -> expr_no_commas '^' expr_no_commasrule 67 expr_no_commas -> expr_no_commas ANDAND expr_no_commasrule 68 expr_no_commas -> expr_no_commas OROR expr_no_commasrule 69 expr_no_commas -> expr_no_commas '?' xexpr ':' expr_no_commasrule 70 expr_no_commas -> expr_no_commas '=' expr_no_commasrule 71 expr_no_commas -> expr_no_commas ASSIGN expr_no_commasrule 72 primary -> IDENTIFIERrule 73 primary -> CONSTANTrule 74 primary -> stringrule 75 primary -> '(' expr ')'rule 76 primary -> '(' error ')'rule 77 @9 -> /* empty */rule 78 primary -> '(' @9 compstmt ')'rule 79 primary -> primary '(' exprlist ')'rule 80 primary -> primary '[' expr ']'rule 81 primary -> primary '.' identifierrule 82 primary -> primary POINTSAT identifierrule 83 primary -> primary PLUSPLUSrule 84 primary -> primary MINUSMINUSrule 85 string -> STRINGrule 86 string -> string STRINGrule 87 xdecls -> /* empty */rule 88 xdecls -> declsrule 89 decls -> declrule 90 decls -> errstmtrule 91 decls -> decls declrule 92 decls -> decl errstmtrule 93 setspecs -> /* empty */rule 94 decl -> typed_declspecs setspecs initdecls ';'rule 95 decl -> declmods setspecs notype_initdecls ';'rule 96 decl -> typed_declspecs ';'rule 97 decl -> declmods ';'rule 98 typed_declspecs -> typespec reserved_declspecsrule 99 typed_declspecs -> declmods typespec reserved_declspecsrule 100 reserved_declspecs -> /* empty */rule 101 reserved_declspecs -> reserved_declspecs typespecqual_reservedrule 102 reserved_declspecs -> reserved_declspecs SCSPECrule 103 declmods -> TYPE_QUALrule 104 declmods -> SCSPECrule 105 declmods -> declmods TYPE_QUALrule 106 declmods -> declmods SCSPECrule 107 typed_typespecs -> typespec reserved_typespecqualsrule 108 typed_typespecs -> nonempty_type_quals typespec reserved_typespecqualsrule 109 reserved_typespecquals -> /* empty */rule 110 reserved_typespecquals -> reserved_typespecquals typespecqual_reservedrule 111 typespec -> TYPESPECrule 112 typespec -> structsprule 113 typespec -> TYPENAMErule 114 typespec -> TYPEOF '(' expr ')'rule 115 typespec -> TYPEOF '(' typename ')'rule 116 typespecqual_reserved -> TYPESPECrule 117 typespecqual_reserved -> TYPE_QUALrule 118 typespecqual_reserved -> structsprule 119 initdecls -> initdclrule 120 initdecls -> initdecls ',' initdclrule 121 notype_initdecls -> notype_initdclrule 122 notype_initdecls -> notype_initdecls ',' initdclrule 123 maybeasm -> /* empty */rule 124 maybeasm -> ASM '(' string ')'rule 125 @10 -> /* empty */rule 126 initdcl -> declarator maybeasm maybe_attribute '=' @10 initrule 127 initdcl -> declarator maybeasm maybe_attributerule 128 @11 -> /* empty */rule 129 notype_initdcl -> notype_declarator maybeasm maybe_attribute '=' @11 initrule 130 notype_initdcl -> notype_declarator maybeasm maybe_attributerule 131 maybe_attribute -> /* empty */rule 132 maybe_attribute -> ATTRIBUTE '(' '(' attribute_list ')' ')'rule 133 attribute_list -> attribrule 134 attribute_list -> attribute_list ',' attribrule 135 attrib -> IDENTIFIERrule 136 attrib -> IDENTIFIER '(' CONSTANT ')'rule 137 attrib -> IDENTIFIER '(' identifiers ')'rule 138 init -> expr_no_commasrule 139 init -> '{' '}'rule 140 init -> '{' initlist '}'rule 141 init -> '{' initlist ',' '}'rule 142 init -> errorrule 143 initlist -> initrule 144 initlist -> initlist ',' initrule 145 declarator -> after_type_declaratorrule 146 declarator -> notype_declaratorrule 147 after_type_declarator -> '(' after_type_declarator ')'rule 148 after_type_declarator -> after_type_declarator '(' parmlist_or_identifiersrule 149 after_type_declarator -> after_type_declarator '[' expr ']'rule 150 after_type_declarator -> after_type_declarator '[' ']'rule 151 after_type_declarator -> '*' type_quals after_type_declaratorrule 152 after_type_declarator -> TYPENAMErule 153 parm_declarator -> parm_declarator '(' parmlist_or_identifiersrule 154 parm_declarator -> parm_declarator '[' expr ']'rule 155 parm_declarator -> parm_declarator '[' ']'rule 156 parm_declarator -> '*' type_quals parm_declaratorrule 157 parm_declarator -> TYPENAMErule 158 notype_declarator -> notype_declarator '(' parmlist_or_identifiersrule 159 notype_declarator -> '(' notype_declarator ')'rule 160 notype_declarator -> '*' type_quals notype_declaratorrule 161 notype_declarator -> notype_declarator '[' expr ']'rule 162 notype_declarator -> notype_declarator '[' ']'rule 163 notype_declarator -> IDENTIFIERrule 164 @12 -> /* empty */rule 165 structsp -> STRUCT identifier '{' @12 component_decl_list '}'rule 166 structsp -> STRUCT '{' component_decl_list '}'rule 167 structsp -> STRUCT identifierrule 168 @13 -> /* empty */rule 169 structsp -> UNION identifier '{' @13 component_decl_list '}'rule 170 structsp -> UNION '{' component_decl_list '}'rule 171 structsp -> UNION identifierrule 172 @14 -> /* empty */rule 173 structsp -> ENUM identifier '{' @14 enumlist maybecomma_warn '}'rule 174 @15 -> /* empty */rule 175 structsp -> ENUM '{' @15 enumlist maybecomma_warn '}'rule 176 structsp -> ENUM identifierrule 177 maybecomma -> /* empty */rule 178 maybecomma -> ','rule 179 maybecomma_warn -> /* empty */rule 180 maybecomma_warn -> ','rule 181 component_decl_list -> component_decl_list2rule 182 component_decl_list -> component_decl_list2 component_declrule 183 component_decl_list2 -> /* empty */rule 184 component_decl_list2 -> component_decl_list2 component_decl ';'rule 185 component_decl_list2 -> component_decl_list2 ';'rule 186 component_decl -> typed_typespecs setspecs componentsrule 187 component_decl -> nonempty_type_quals setspecs componentsrule 188 component_decl -> errorrule 189 components -> /* empty */rule 190 components -> component_declaratorrule 191 components -> components ',' component_declaratorrule 192 component_declarator -> declarator maybe_attributerule 193 component_declarator -> declarator ':' expr_no_commas maybe_attributerule 194 component_declarator -> ':' expr_no_commasrule 195 enumlist -> enumeratorrule 196 enumlist -> enumlist ',' enumeratorrule 197 enumerator -> identifierrule 198 enumerator -> identifier '=' expr_no_commasrule 199 typename -> typed_typespecs absdclrule 200 typename -> nonempty_type_quals absdclrule 201 absdcl -> /* empty */rule 202 absdcl -> absdcl1rule 203 nonempty_type_quals -> TYPE_QUALrule 204 nonempty_type_quals -> nonempty_type_quals TYPE_QUALrule 205 type_quals -> /* empty */rule 206 type_quals -> type_quals TYPE_QUALrule 207 absdcl1 -> '(' absdcl1 ')'rule 208 absdcl1 -> '*' type_quals absdcl1rule 209 absdcl1 -> '*' type_qualsrule 210 absdcl1 -> absdcl1 '(' parmlistrule 211 absdcl1 -> absdcl1 '[' expr ']'rule 212 absdcl1 -> absdcl1 '[' ']'rule 213 absdcl1 -> '(' parmlistrule 214 absdcl1 -> '[' expr ']'rule 215 absdcl1 -> '[' ']'rule 216 stmts -> stmtrule 217 stmts -> stmts stmtrule 218 stmts -> stmts errstmtrule 219 xstmts -> /* empty */rule 220 xstmts -> stmtsrule 221 errstmt -> error ';'rule 222 pushlevel -> /* empty */rule 223 compstmt_or_error -> compstmtrule 224 compstmt_or_error -> error compstmtrule 225 compstmt -> '{' '}'rule 226 compstmt -> '{' pushlevel decls xstmts '}'rule 227 compstmt -> '{' pushlevel error '}'rule 228 compstmt -> '{' pushlevel stmts '}'rule 229 @16 -> /* empty */rule 230 simple_if -> IF '(' expr ')' @16 stmtrule 231 stmt -> compstmtrule 232 stmt -> expr ';'rule 233 @17 -> /* empty */rule 234 stmt -> simple_if ELSE @17 stmtrule 235 stmt -> simple_ifrule 236 @18 -> /* empty */rule 237 @19 -> /* empty */rule 238 stmt -> WHILE @18 '(' expr ')' @19 stmtrule 239 @20 -> /* empty */rule 240 @21 -> /* empty */rule 241 stmt -> DO @20 stmt WHILE @21 '(' expr ')' ';'rule 242 @22 -> /* empty */rule 243 @23 -> /* empty */rule 244 @24 -> /* empty */rule 245 stmt -> FOR '(' xexpr ';' @22 xexpr ';' @23 xexpr ')' @24 stmtrule 246 @25 -> /* empty */rule 247 stmt -> SWITCH '(' expr ')' @25 stmtrule 248 @26 -> /* empty */rule 249 stmt -> CASE expr ':' @26 stmtrule 250 @27 -> /* empty */rule 251 stmt -> DEFAULT ':' @27 stmtrule 252 stmt -> BREAK ';'rule 253 stmt -> CONTINUE ';'rule 254 stmt -> RETURN ';'rule 255 stmt -> RETURN expr ';'rule 256 stmt -> ASM maybe_type_qual '(' string ')' ';'rule 257 stmt -> ASM maybe_type_qual '(' string ':' asm_operands ')' ';'rule 258 stmt -> ASM maybe_type_qual '(' string ':' asm_operands ':' asm_operands ')' ';'rule 259 stmt -> ASM maybe_type_qual '(' string ':' asm_operands ':' asm_operands ':' asm_clobbers ')' ';'rule 260 stmt -> GOTO identifier ';'rule 261 @28 -> /* empty */rule 262 stmt -> identifier ':' @28 stmtrule 263 stmt -> ';'rule 264 maybe_type_qual -> /* empty */rule 265 maybe_type_qual -> TYPE_QUALrule 266 xexpr -> /* empty */rule 267 xexpr -> exprrule 268 asm_operands -> /* empty */rule 269 asm_operands -> nonnull_asm_operandsrule 270 nonnull_asm_operands -> asm_operandrule 271 nonnull_asm_operands -> nonnull_asm_operands ',' asm_operandrule 272 asm_operand -> STRING '(' expr ')'rule 273 asm_clobbers -> stringrule 274 asm_clobbers -> asm_clobbers ',' stringrule 275 @29 -> /* empty */rule 276 parmlist -> @29 parmlist_1rule 277 @30 -> /* empty */rule 278 parmlist_or_identifiers -> @30 parmlist_or_identifiers_1rule 279 parmlist_or_identifiers_1 -> parmlist_2 ')'rule 280 parmlist_or_identifiers_1 -> identifiers ')'rule 281 parmlist_or_identifiers_1 -> error ')'rule 282 parmlist_1 -> parmlist_2 ')'rule 283 parmlist_1 -> error ')'rule 284 parmlist_2 -> /* empty */rule 285 parmlist_2 -> parmsrule 286 parmlist_2 -> parms ',' ELLIPSISrule 287 parms -> parmrule 288 parms -> parms ',' parmrule 289 parm -> typed_declspecs parm_declaratorrule 290 parm -> typed_declspecs notype_declaratorrule 291 parm -> typed_declspecs absdclrule 292 parm -> declmods notype_declaratorrule 293 parm -> declmods absdclrule 294 identifiers -> IDENTIFIERrule 295 identifiers -> identifiers ',' IDENTIFIERTerminals, with rules where they appear$ (-1)'!' (33) 38'%' (37) 59'&' (38) 32 64'(' (40) 9 48 50 52 53 75 76 78 79 114 115 124 132 136 137 147 148 153 158 159 207 210 213 230 238 241 245 247 256 257 258 259 272')' (41) 9 48 50 52 53 75 76 78 79 114 115 124 132 136 137 147 159 207 230 238 241 245 247 256 257 258 259 272 279 280 281 282 283'*' (42) 45 57 151 156 160 208 209'+' (43) 34 55',' (44) 43 120 122 134 141 144 178 180 191 196 271 274 286 288 295'-' (45) 33 56'.' (46) 81'/' (47) 58':' (58) 69 193 194 249 251 257 258 259 262';' (59) 9 10 11 12 13 14 15 17 94 95 96 97 184 185 221 232 241 245 252 253 254 255 256 257 258 259 260 263'=' (61) 70 126 129 198'?' (63) 69'[' (91) 80 149 150 154 155 161 162 211 212 214 215']' (93) 80 149 150 154 155 161 162 211 212 214 215'^' (94) 66'{' (123) 53 139 140 141 165 166 169 170 173 175 225 226 227 228'|' (124) 65'}' (125) 16 53 139 140 141 165 166 169 170 173 175 225 226 227 228'~' (126) 37error (256) 15 16 21 25 29 76 142 188 221 224 227 281 283IDENTIFIER (258) 30 72 135 136 137 163 294 295TYPENAME (259) 31 113 152 157SCSPEC (260) 102 104 106TYPESPEC (261) 111 116TYPE_QUAL (262) 103 105 117 203 204 206 265CONSTANT (263) 73 136STRING (264) 85 86 272ELLIPSIS (265) 286SIZEOF (266) 47 48ENUM (267) 173 175 176STRUCT (268) 165 166 167UNION (269) 169 170 171IF (270) 230ELSE (271) 234WHILE (272) 238 241DO (273) 241FOR (274) 245SWITCH (275) 247CASE (276) 249DEFAULT (277) 251BREAK (278) 252CONTINUE (279) 253RETURN (280) 254 255GOTO (281) 260ASM (282) 9 124 256 257 258 259TYPEOF (283) 114 115ALIGNOF (284) 49 50ATTRIBUTE (285) 132ASSIGN (286) 71OROR (287) 68ANDAND (288) 67EQCOMPARE (289) 63ARITHCOMPARE (290) 62LSHIFT (291) 60RSHIFT (292) 61UNARY (293)PLUSPLUS (294) 35 83MINUSMINUS (295) 36 84HYPERUNARY (296)POINTSAT (297) 82Nonterminals, with rules where they appearprogram (65) on left: 1 2extdefs (66) on left: 4 6, on right: 2 6@1 (67) on left: 3, on right: 4@2 (68) on left: 5, on right: 6extdef (69) on left: 7 8 9, on right: 4 6datadef (70) on left: 10 11 12 13 14 15 16 17, on right: 8fndef (71) on left: 20 21 24 25 28 29, on right: 7@3 (72) on left: 18, on right: 20@4 (73) on left: 19, on right: 20@5 (74) on left: 22, on right: 24@6 (75) on left: 23, on right: 24@7 (76) on left: 26, on right: 28@8 (77) on left: 27, on right: 28identifier (78) on left: 30 31, on right: 81 82 165 167 169 171 173 176 197 198 260 262unop (79) on left: 32 33 34 35 36 37 38, on right: 46expr (80) on left: 39, on right: 75 80 114 149 154 161 211 214 230 232 238 241 247 249 255 267 272exprlist (81) on left: 40 41, on right: 79nonnull_exprlist (82) on left: 42 43, on right: 39 41 43unary_expr (83) on left: 44 45 46 47 48 49 50, on right: 47 49 51cast_expr (84) on left: 51 52 53, on right: 45 46 52 54expr_no_commas (85) on left: 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 , on right: 42 43 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 138 193 194 198primary (86) on left: 72 73 74 75 76 78 79 80 81 82 83 84, on right: 44 79 80 81 82 83 84@9 (87) on left: 77, on right: 78string (88) on left: 85 86, on right: 9 74 86 124 256 257 258 259 273 274xdecls (89) on left: 87 88, on right: 20 24 28decls (90) on left: 89 90 91 92, on right: 88 91 226setspecs (91) on left: 93, on right: 10 11 12 20 21 24 25 28 29 94 95 186 187decl (92) on left: 94 95 96 97, on right: 89 91 92typed_declspecs (93) on left: 98 99, on right: 12 14 20 21 94 96 289 290 291reserved_declspecs (94) on left: 100 101 102, on right: 98 99 101 102declmods (95) on left: 103 104 105 106, on right: 11 13 24 25 95 97 99 105 106 292 293
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -