rustlr 0.3.4

LR parser generator that can automatically create ASTs
Documentation
trace-level set to 2
parsing grammar from examples/cparser/c11.grammar
264 rules in grammar
Abstract syntax structures created in examples/cparser/src/c11_ast.rs
Generating Experimental LR-Selective Delay State Machine with Max Delay = 3
LRSD: total reachable states: 1889
ALL RULES OF TRANSFORMED GRAMMAR
(0) expression --> IDENTIFIER 
(1) expression --> I_CONSTANT 
(2) expression --> F_CONSTANT 
(3) expression --> ENUMERATION_CONSTANT 
(4) expression --> STRING_LITERAL 
(5) expression --> FUNC_NAME 
(6) expression --> ( expression ) 
(7) expression --> generic_selection 
(8) NEWSEPNT_8_0 --> generic_association 
(9) NEWSEPNT_8_0 --> NEWSEPNT_8_0 Comma generic_association 
(10) generic_selection --> GENERIC ( expression Comma NEWSEPNT_8_0 ) 
(11) generic_association --> type_name Colon expression 
(12) generic_association --> DEFAULT Colon expression 
(13) expression --> expression [ expression ] 
(14) expression --> expression ( ) 
(15) expression --> expression ( expression_list ) 
(16) expression --> expression Dot IDENTIFIER 
(17) expression --> expression PTR_OP IDENTIFIER 
(18) expression --> expression INC_OP 
(19) expression --> expression DEC_OP 
(20) NEWSEPNT_20_0 --> initializer_designation 
(21) NEWSEPNT_20_0 --> NEWSEPNT_20_0 Comma initializer_designation 
(22) NEWRENT_22_1 --> 
(23) NEWRENT_22_1 --> Comma 
(24) expression --> ( type_name ) Lbrace NEWSEPNT_20_0 NEWRENT_22_1 Rbrace 
(25) NEWSEPNT_25_0 --> expression 
(26) NEWSEPNT_25_0 --> NEWSEPNT_25_0 Comma expression 
(27) expression_list --> NEWSEPNT_25_0 
(28) expression --> INC_OP expression 
(29) expression --> DEC_OP expression 
(30) expression --> SIZEOF expression 
(31) expression --> SIZEOF ( type_name ) 
(32) expression --> ALIGNOF ( type_name ) 
(33) expression --> Bang expression 
(34) expression --> Amp expression 
(35) expression --> Star expression 
(36) expression --> + expression 
(37) expression --> - expression 
(38) expression --> ~ expression 
(39) expression --> ( type_name ) expression 
(40) expression --> expression Star expression 
(41) expression --> expression Div expression 
(42) expression --> expression Percent expression 
(43) expression --> expression + expression 
(44) expression --> expression - expression 
(45) expression --> expression LEFT_OP expression 
(46) expression --> expression RIGHT_OP expression 
(47) expression --> expression Lt expression 
(48) expression --> expression Gt expression 
(49) expression --> expression LE_OP expression 
(50) expression --> expression GE_OP expression 
(51) expression --> expression EQ_OP expression 
(52) expression --> expression NE_OP expression 
(53) expression --> expression Amp expression 
(54) expression --> expression Hat expression 
(55) expression --> expression Bar expression 
(56) expression --> expression AND_OP expression 
(57) expression --> expression OR_OP expression 
(58) expression --> expression Quest expression Colon expression 
(59) expression --> expression ASSIGN expression 
(60) expression --> expression MUL_ASSIGN expression 
(61) expression --> expression DIV_ASSIGN expression 
(62) expression --> expression MOD_ASSIGN expression 
(63) expression --> expression ADD_ASSIGN expression 
(64) expression --> expression SUB_ASSIGN expression 
(65) expression --> expression LEFT_ASSIGN expression 
(66) expression --> expression RIGHT_ASSIGN expression 
(67) expression --> expression AND_ASSIGN expression 
(68) expression --> expression XOR_ASSIGN expression 
(69) expression --> expression OR_ASSIGN expression 
(70) expressionS --> expression_list 
(71) NEWRENT_71_0 --> declaration_specifier 
(72) NEWRENT_71_0 --> NEWRENT_71_0 declaration_specifier 
(73) declaration --> NEWRENT_71_0 ; 
(74) NEWSEPNT_74_0 --> init_declarator 
(75) NEWSEPNT_74_0 --> NEWSEPNT_74_0 Comma init_declarator 
(76) declaration --> NEWRENT_71_0 NEWSEPNT_74_0 ; 
(77) declaration --> static_assert_declaration 
(78) declaration_specifier --> storage_class_specifier 
(79) declaration_specifier --> type_specifier 
(80) declaration_specifier --> type_qualifier 
(81) declaration_specifier --> function_specifier 
(82) declaration_specifier --> alignment_specifier 
(83) NEWSEQNT_83_0 --> ASSIGN initializer 
(84) NEWRENT_84_1 --> 
(85) NEWRENT_84_1 --> NEWSEQNT_83_0 
(86) init_declarator --> declarator NEWRENT_84_1 
(87) storage_class_specifier --> EXTERN 
(88) storage_class_specifier --> STATIC 
(89) storage_class_specifier --> AUTO 
(90) storage_class_specifier --> REGISTER 
(91) storage_class_specifier --> THREAD_LOCAL 
(92) storage_class_specifier --> TYPEDEF 
(93) type_specifier --> TYPEDEF_NAME 
(94) type_specifier --> VOID 
(95) type_specifier --> CHAR 
(96) type_specifier --> SHORT 
(97) type_specifier --> INT 
(98) type_specifier --> LONG 
(99) type_specifier --> FLOAT 
(100) type_specifier --> DOUBLE 
(101) type_specifier --> SIGNED 
(102) type_specifier --> UNSIGNED 
(103) type_specifier --> BOOL 
(104) type_specifier --> COMPLEX 
(105) type_specifier --> IMAGINARY 
(106) type_specifier --> struct_or_union_specifier 
(107) type_specifier --> enum_specifier 
(108) type_specifier --> atomic_type_specifier 
(109) NEWRENT_109_0 --> 
(110) NEWRENT_109_0 --> IDENTIFIER 
(111) NEWRENT_111_1 --> struct_declaration 
(112) NEWRENT_111_1 --> NEWRENT_111_1 struct_declaration 
(113) struct_or_union_specifier --> struct_or_union NEWRENT_109_0 Lbrace NEWRENT_111_1 Rbrace 
(114) struct_or_union_specifier --> struct_or_union IDENTIFIER 
(115) struct_or_union --> STRUCT 
(116) struct_or_union --> UNION 
(117) NEWRENT_117_0 --> specifier_qualifier 
(118) NEWRENT_117_0 --> NEWRENT_117_0 specifier_qualifier 
(119) NEWSEPNT_119_1 --> struct_declarator 
(120) NEWSEPNT_119_1 --> NEWSEPNT_119_1 Comma struct_declarator 
(121) NEWSEPNT2_121_2 --> 
(122) NEWSEPNT2_121_2 --> NEWSEPNT_119_1 
(123) struct_declaration --> NEWRENT_117_0 NEWSEPNT2_121_2 ; 
(124) struct_declaration --> static_assert_declaration 
(125) specifier_qualifier --> type_specifier 
(126) specifier_qualifier --> type_qualifier 
(127) struct_declarator --> declarator 
(128) struct_declarator --> Colon expression 
(129) struct_declarator --> declarator Colon expression 
(130) enum_specifier --> ENUM Lbrace enumerator_list NEWRENT_22_1 Rbrace 
(131) enum_specifier --> ENUM IDENTIFIER Lbrace enumerator_list NEWRENT_22_1 Rbrace 
(132) enum_specifier --> ENUM IDENTIFIER 
(133) NEWSEPNT_133_0 --> enumerator 
(134) NEWSEPNT_133_0 --> NEWSEPNT_133_0 Comma enumerator 
(135) enumerator_list --> NEWSEPNT_133_0 
(136) NEWSEQNT_136_0 --> ASSIGN expression 
(137) NEWRENT_137_1 --> 
(138) NEWRENT_137_1 --> NEWSEQNT_136_0 
(139) enumerator --> ENUMERATION_CONSTANT NEWRENT_137_1 
(140) atomic_type_specifier --> ATOMIC ( type_name ) 
(141) type_qualifier --> CONST 
(142) type_qualifier --> VOLATILE 
(143) type_qualifier --> ATOMIC 
(144) type_qualifier --> RESTRICT 
(145) function_specifier --> INLINE 
(146) function_specifier --> NORETURN 
(147) alignment_specifier --> ALIGNAS ( type_name ) 
(148) alignment_specifier --> ALIGNAS ( expression ) 
(149) NEWRENT_149_0 --> 
(150) NEWRENT_149_0 --> pointer 
(151) declarator --> NEWRENT_149_0 direct_declarator 
(152) direct_base --> IDENTIFIER 
(153) direct_base --> ( declarator ) 
(154) NEWRENT_154_0 --> 
(155) NEWRENT_154_0 --> Star 
(156) direct_contents --> [ NEWRENT_154_0 ] 
(157) NEWRENT_157_1 --> 
(158) NEWRENT_157_1 --> STATIC 
(159) direct_contents --> [ NEWRENT_157_1 expression ] 
(160) NEWRENT_160_2 --> type_qualifier 
(161) NEWRENT_160_2 --> NEWRENT_160_2 type_qualifier 
(162) direct_contents --> [ NEWRENT_160_2 Star ] 
(163) direct_contents --> [ NEWRENT_157_1 NEWRENT_160_2 expression ] 
(164) NEWSEQNT_164_3 --> STATIC expression 
(165) NEWRENT_165_4 --> 
(166) NEWRENT_165_4 --> NEWSEQNT_164_3 
(167) direct_contents --> [ NEWRENT_160_2 NEWRENT_165_4 ] 
(168) direct_contents --> ( parameter_type_list ) 
(169) NEWSEPNT_169_5 --> IDENTIFIER 
(170) NEWSEPNT_169_5 --> NEWSEPNT_169_5 Comma IDENTIFIER 
(171) NEWSEPNT2_171_6 --> 
(172) NEWSEPNT2_171_6 --> NEWSEPNT_169_5 
(173) direct_contents --> ( NEWSEPNT2_171_6 ) 
(174) NEWRENT_174_0 --> 
(175) NEWRENT_174_0 --> NEWRENT_174_0 direct_contents 
(176) direct_declarator --> direct_base NEWRENT_174_0 
(177) NEWRENT_177_0 --> 
(178) NEWRENT_177_0 --> NEWRENT_177_0 type_qualifier 
(179) pointer --> Star NEWRENT_177_0 NEWRENT_149_0 
(180) NEWSEPNT_180_0 --> parameter_declaration 
(181) NEWSEPNT_180_0 --> NEWSEPNT_180_0 Comma parameter_declaration 
(182) NEWSEQNT_182_1 --> Comma ELLIPSIS 
(183) NEWRENT_183_2 --> 
(184) NEWRENT_183_2 --> NEWSEQNT_182_1 
(185) parameter_type_list --> NEWSEPNT_180_0 NEWRENT_183_2 
(186) parameter_declaration --> NEWRENT_71_0 declarator 
(187) parameter_declaration --> NEWRENT_71_0 abstract_declarator 
(188) parameter_declaration --> NEWRENT_71_0 
(190) NEWRENT_190_0 --> 
(191) NEWRENT_190_0 --> abstract_declarator 
(192) type_name --> NEWRENT_117_0 NEWRENT_190_0 
(193) abstract_declarator --> pointer 
(194) abstract_declarator --> direct_abstract_declarator 
(195) abstract_declarator --> pointer direct_abstract_declarator 
(196) direct_abstract_declarator --> ( abstract_declarator ) 
(197) direct_abstract_declarator --> [ ] 
(198) direct_abstract_declarator --> [ Star ] 
(199) direct_abstract_declarator --> [ STATIC NEWRENT_177_0 expression ] 
(200) NEWRENT_200_0 --> 
(201) NEWRENT_200_0 --> expression 
(202) direct_abstract_declarator --> [ NEWRENT_160_2 NEWRENT_157_1 NEWRENT_200_0 ] 
(203) direct_abstract_declarator --> [ expression ] 
(204) direct_abstract_declarator --> direct_abstract_declarator [ ] 
(205) direct_abstract_declarator --> direct_abstract_declarator [ Star ] 
(206) direct_abstract_declarator --> direct_abstract_declarator [ STATIC NEWRENT_177_0 expression ] 
(207) direct_abstract_declarator --> direct_abstract_declarator [ NEWRENT_160_2 NEWRENT_157_1 expression ] 
(208) direct_abstract_declarator --> direct_abstract_declarator [ NEWRENT_160_2 ] 
(209) direct_abstract_declarator --> direct_abstract_declarator [ expression ] 
(210) direct_abstract_declarator --> ( ) 
(211) direct_abstract_declarator --> ( parameter_type_list ) 
(212) direct_abstract_declarator --> direct_abstract_declarator ( ) 
(213) direct_abstract_declarator --> direct_abstract_declarator ( parameter_type_list ) 
(214) initializer --> expression 
(215) initializer --> Lbrace NEWSEPNT_20_0 NEWRENT_22_1 Rbrace 
(216) NEWRENT_216_0 --> 
(217) NEWRENT_216_0 --> designation 
(218) initializer_designation --> NEWRENT_216_0 initializer 
(219) NEWRENT_219_0 --> designator 
(220) NEWRENT_219_0 --> NEWRENT_219_0 designator 
(221) designation --> NEWRENT_219_0 ASSIGN 
(222) designator --> [ expression ] 
(223) designator --> Dot IDENTIFIER 
(224) static_assert_declaration --> STATIC_ASSERT ( expression Comma STRING_LITERAL ) ; 
(225) statement --> labeled_statement 
(226) statement --> compound_statement 
(227) statement --> expression_statement 
(228) statement --> selection_statement 
(229) statement --> iteration_statement 
(230) statement --> jump_statement 
(231) labeled_statement --> IDENTIFIER Colon statement 
(232) labeled_statement --> CASE expression Colon statement 
(233) labeled_statement --> DEFAULT Colon statement 
(234) NEWRENT_234_0 --> 
(235) NEWRENT_234_0 --> NEWRENT_234_0 block_item 
(236) compound_statement --> Lbrace NEWRENT_234_0 Rbrace 
(237) block_item --> declaration 
(238) block_item --> statement 
(239) NEWRENT_239_0 --> 
(240) NEWRENT_239_0 --> expressionS 
(241) expression_statement --> NEWRENT_239_0 ; 
(242) selection_statement --> IF ( expressionS ) statement 
(243) selection_statement --> IF ( expressionS ) statement ELSE statement 
(244) selection_statement --> SWITCH ( expressionS ) statement 
(245) iteration_statement --> WHILE ( expressionS ) statement 
(246) iteration_statement --> DO statement WHILE ( expressionS ) ; 
(247) iteration_statement --> FOR ( expression_statement expression_statement NEWRENT_239_0 ) statement 
(248) iteration_statement --> FOR ( declaration expression_statement NEWRENT_239_0 ) statement 
(249) jump_statement --> GOTO IDENTIFIER ; 
(250) jump_statement --> CONTINUE ; 
(251) jump_statement --> BREAK ; 
(252) jump_statement --> RETURN ; 
(253) jump_statement --> RETURN expressionS ; 
(254) NEWRENT_254_0 --> external_declaration 
(255) NEWRENT_254_0 --> NEWRENT_254_0 external_declaration 
(256) translation_unit --> NEWRENT_254_0 
(257) external_declaration --> function_definition 
(258) external_declaration --> declaration 
(259) external_declaration --> COMPILER_DIRECTIVE 
(260) NEWRENT_260_0 --> 
(261) NEWRENT_260_0 --> NEWRENT_260_0 declaration 
(262) function_definition --> NEWRENT_71_0 declarator NEWRENT_260_0 compound_statement 
(263) START --> translation_unit EOF EOF EOF EOF EOF 
(267) [[NEWRENT_157_1 expression ]] --> expression 
(268) [[NEWRENT_157_1 expression ]] --> STATIC expression 
(269) direct_contents --> [ [[NEWRENT_157_1 expression ]] ] 
(270) [[NEWRENT_157_1 NEWRENT_160_2 expression ]] --> NEWRENT_160_2 expression 
(271) [[NEWRENT_157_1 NEWRENT_160_2 expression ]] --> STATIC NEWRENT_160_2 expression 
(272) direct_contents --> [ [[NEWRENT_157_1 NEWRENT_160_2 expression ]] ] 
(273) [[NEWRENT_149_0 direct_declarator ]] --> pointer direct_declarator 
(274) [[NEWRENT_149_0 direct_declarator ]] --> direct_declarator 
(275) declarator --> [[NEWRENT_149_0 direct_declarator ]] 
Re-Generating LR(1) machine for transformed grammar...
Shift-Reduce conflict between lookahead IDENTIFIER and rule 149 in state 8 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 149) NEWRENT_149_0 -->  , lookahead IDENTIFIER
Shift-Reduce conflict between lookahead ( and rule 149 in state 8 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 149) NEWRENT_149_0 -->  , lookahead (
Shift-Reduce conflict between lookahead ( and rule 150 in state 61 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 150) NEWRENT_149_0 --> pointer  , lookahead (
Shift-Reduce conflict between lookahead IDENTIFIER and rule 150 in state 61 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 150) NEWRENT_149_0 --> pointer  , lookahead IDENTIFIER
Shift-Reduce conflict between lookahead ( and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead (
Shift-Reduce conflict between lookahead STRING_LITERAL and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead STRING_LITERAL
Shift-Reduce conflict between lookahead - and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead -
Shift-Reduce conflict between lookahead CONST and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead CONST
Shift-Reduce conflict between lookahead FUNC_NAME and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead FUNC_NAME
Shift-Reduce conflict between lookahead F_CONSTANT and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead F_CONSTANT
Shift-Reduce conflict between lookahead IDENTIFIER and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead IDENTIFIER
Shift-Reduce conflict between lookahead SIZEOF and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead SIZEOF
Shift-Reduce conflict between lookahead Bang and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead Bang
Shift-Reduce conflict between lookahead ENUMERATION_CONSTANT and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead ENUMERATION_CONSTANT
Shift-Reduce conflict between lookahead ALIGNOF and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead ALIGNOF
Shift-Reduce conflict between lookahead DEC_OP and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead DEC_OP
Shift-Reduce conflict between lookahead Star and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead Star
Shift-Reduce conflict between lookahead Amp and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead Amp
Shift-Reduce conflict between lookahead I_CONSTANT and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead I_CONSTANT
Shift-Reduce conflict between lookahead GENERIC and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead GENERIC
Shift-Reduce conflict between lookahead INC_OP and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead INC_OP
Shift-Reduce conflict between lookahead ~ and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead ~
Shift-Reduce conflict between lookahead VOLATILE and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead VOLATILE
Shift-Reduce conflict between lookahead + and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead +
Shift-Reduce conflict between lookahead ATOMIC and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead ATOMIC
Shift-Reduce conflict between lookahead RESTRICT and rule 157 in state 227 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 157) NEWRENT_157_1 -->  , lookahead RESTRICT
Shift-Reduce conflict between lookahead ( and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead (
Shift-Reduce conflict between lookahead ~ and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead ~
Shift-Reduce conflict between lookahead STRING_LITERAL and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead STRING_LITERAL
Shift-Reduce conflict between lookahead Amp and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead Amp
Shift-Reduce conflict between lookahead DEC_OP and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead DEC_OP
Shift-Reduce conflict between lookahead Star and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead Star
Shift-Reduce conflict between lookahead CONST and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead CONST
Shift-Reduce conflict between lookahead ENUMERATION_CONSTANT and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead ENUMERATION_CONSTANT
Shift-Reduce conflict between lookahead VOLATILE and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead VOLATILE
Shift-Reduce conflict between lookahead INC_OP and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead INC_OP
Shift-Reduce conflict between lookahead GENERIC and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead GENERIC
Shift-Reduce conflict between lookahead I_CONSTANT and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead I_CONSTANT
Shift-Reduce conflict between lookahead FUNC_NAME and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead FUNC_NAME
Shift-Reduce conflict between lookahead RESTRICT and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead RESTRICT
Shift-Reduce conflict between lookahead ATOMIC and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead ATOMIC
Shift-Reduce conflict between lookahead SIZEOF and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead SIZEOF
Shift-Reduce conflict between lookahead IDENTIFIER and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead IDENTIFIER
Shift-Reduce conflict between lookahead ALIGNOF and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead ALIGNOF
Shift-Reduce conflict between lookahead F_CONSTANT and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead F_CONSTANT
Shift-Reduce conflict between lookahead - and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead -
Shift-Reduce conflict between lookahead Bang and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead Bang
Shift-Reduce conflict between lookahead + and rule 158 in state 481 not clearly resolved by precedence and associativity declarations, defaulting to Shift
  (Rule 158) NEWRENT_157_1 --> STATIC  , lookahead +

translation_unit([external_declaration_268(function_definition([typespec(INT)], declarator(None, direct_declarator(IDENTIFIER("main"), [direct_contents_194([])])), [], Blockstat([Statement(Ifstat(expressions([Lt(IDENTIFIER("x"), Constant(I_CONSTANT(0)))]), Expr_list(Some(expressions([Function_call(IDENTIFIER("printf"), [Stringlit(STRING_LITERAL("\"negative\""))])]))))), Statement(Ifelse(expressions([Gt(IDENTIFIER("x"), Constant(I_CONSTANT(0)))]), Expr_list(Some(expressions([Function_call(IDENTIFIER("printf"), [Stringlit(STRING_LITERAL("\"positive\""))])]))), Expr_list(Some(expressions([Function_call(IDENTIFIER("printf"), [Stringlit(STRING_LITERAL("\"zero\""))])])))))])))])

# if 40, else 30:
translation_unit([external_declaration_268(function_definition([typespec(INT)], declarator(None, direct_declarator(IDENTIFIER("main"), [direct_contents_194([])])), [], Blockstat([Statement(Ifstat(expressions([Lt(IDENTIFIER("x"), Constant(I_CONSTANT(0)))]), Expr_list(Some(expressions([Function_call(IDENTIFIER("printf"), [Stringlit(STRING_LITERAL("\"negative\""))])]))))), Statement(Ifelse(expressions([Gt(IDENTIFIER("x"), Constant(I_CONSTANT(0)))]), Expr_list(Some(expressions([Function_call(IDENTIFIER("printf"), [Stringlit(STRING_LITERAL("\"positive\""))])]))), Expr_list(Some(expressions([Function_call(IDENTIFIER("printf"), [Stringlit(STRING_LITERAL("\"zero\""))])])))))])))])