1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/** \file
2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *  This OBJC source file was generated by $ANTLR version ${project.version} ${buildNumber}
3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *
4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *     -  From the grammar source file : SimpleC.g
5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *     -                            On : 2011-05-06 15:09:17
6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *     -                for the parser : SimpleCParserParser
7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *
8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Editing it, at least manually, is not wise.
9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *
10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com.
11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *
12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *
13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver*/
14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// $ANTLR ${project.version} ${buildNumber} SimpleC.g 2011-05-06 15:09:17
15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* -----------------------------------------
18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Include the ANTLR3 generated header file.
19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import "SimpleCParser.h"
21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ----------------------------------------- */
22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ============================================================================= */
25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* =============================================================================
26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Start of recognizer
27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Cyclic DFA implementation start DFA2
29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation DFA2
30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static NSInteger dfa2_eot[13] =
31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static NSInteger dfa2_eof[13] =
33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static unichar dfa2_min[13] =
35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    {9,14,18,9,0,14,17,10,0,0,9,14,10};
36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static unichar dfa2_max[13] =
37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    {24,14,23,24,0,14,23,22,0,0,24,14,22};
38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static NSInteger dfa2_accept[13] =
39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    {-1,-1,-1,-1,1,-1,-1,-1,2,3,-1,-1,-1};
40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static NSInteger dfa2_special[13] =
41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static NSInteger dfa2_transition[] = {};
43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static NSInteger dfa2_transition0[] = {9, -1, -1, -1, -1, -1, 8};
44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static NSInteger dfa2_transition1[] = {10, -1, -1, -1, -1, -1, -1,
45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver -1, -1, -1, -1, -1, 6};
46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static NSInteger dfa2_transition2[] = {5, -1, -1, -1, -1, 5, -1, 5,
47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver -1, -1, -1, -1, -1, 6, -1, 5};
48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static NSInteger dfa2_transition3[] = {11, -1, -1, -1, -1, 11, -1,
49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 11, -1, -1, -1, -1, -1, -1, -1, 11};
50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static NSInteger dfa2_transition4[] = {3, -1, -1, -1, -1, 4};
51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static NSInteger dfa2_transition5[] = {1, -1, -1, -1, -1, 1, -1, 1,
52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver -1, -1, -1, -1, -1, -1, -1, 1};
53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static NSInteger dfa2_transition6[] = {7};
54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static NSInteger dfa2_transition7[] = {12};
55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst static NSInteger dfa2_transition8[] = {2};
56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (id) newDFA2WithRecognizer:(ANTLRBaseRecognizer *)aRecognizer
59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[DFA2 alloc] initWithRecognizer:aRecognizer] retain];
61324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
62324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
63324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) initWithRecognizer:(ANTLRBaseRecognizer *) theRecognizer
64324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
65324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super initWithRecognizer:theRecognizer];
66324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if ( self != nil ) {
67324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        decisionNumber = 2;
68324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        eot = dfa2_eot;
69324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        eof = dfa2_eof;
70324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        min = dfa2_min;
71324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        max = dfa2_max;
72324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        accept = dfa2_accept;
73324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        special = dfa2_special;
74324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (!(transition = calloc(13, sizeof(void*)))) {
75324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [self release];
76324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            return nil;
77324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
78324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        len = 13;
79324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        transition[0] = dfa2_transition5;
80324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        transition[1] = dfa2_transition8;
81324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        transition[2] = dfa2_transition4;
82324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        transition[3] = dfa2_transition2;
83324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
84324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        transition[4] = dfa2_transition6;
85324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        transition[5] = dfa2_transition0;
86324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        transition[6] = dfa2_transition1;
87324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
88324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
89324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        transition[7] = dfa2_transition3;
90324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        transition[8] = dfa2_transition7;
91324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        transition[9] = dfa2_transition1;
92324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
93324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
94324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
95324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
96324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
97324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
98324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    free(transition);
99324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (NSString *) description
103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return @"20:1: declaration : ( variable | functionHeader K_SEMICOLON -> ^( FUNC_DECL functionHeader ) | functionHeader block -> ^( FUNC_DEF functionHeader block ) );";
105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end DFA2 implementation */
109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Cyclic DFA implementation end DFA2
111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Bitsets
115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_declaration_in_program85;
116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_declaration_in_program85_data[] = { 0x0000000001014202LL};
117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_variable_in_declaration105;
118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_variable_in_declaration105_data[] = { 0x0000000000000002LL};
119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_functionHeader_in_declaration115;
120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_functionHeader_in_declaration115_data[] = { 0x0000000000800000LL};
121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_SEMICOLON_in_declaration117;
122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_SEMICOLON_in_declaration117_data[] = { 0x0000000000000002LL};
123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_functionHeader_in_declaration135;
124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_functionHeader_in_declaration135_data[] = { 0x0000000000020000LL};
125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_block_in_declaration137;
126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_block_in_declaration137_data[] = { 0x0000000000000002LL};
127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_type_in_variable166;
128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_type_in_variable166_data[] = { 0x0000000000004000LL};
129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_declarator_in_variable168;
130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_declarator_in_variable168_data[] = { 0x0000000000800000LL};
131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_SEMICOLON_in_variable170;
132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_SEMICOLON_in_variable170_data[] = { 0x0000000000000002LL};
133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_ID_in_declarator199;
134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_ID_in_declarator199_data[] = { 0x0000000000000002LL};
135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_type_in_functionHeader219;
136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_type_in_functionHeader219_data[] = { 0x0000000000004000LL};
137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_ID_in_functionHeader221;
138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_ID_in_functionHeader221_data[] = { 0x0000000000040000LL};
139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_LCURVE_in_functionHeader223;
140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_LCURVE_in_functionHeader223_data[] = { 0x0000000001414200LL};
141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_formalParameter_in_functionHeader227;
142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_formalParameter_in_functionHeader227_data[] = { 0x0000000000400400LL};
143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_COMMA_in_functionHeader231;
144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_COMMA_in_functionHeader231_data[] = { 0x0000000001014200LL};
145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_formalParameter_in_functionHeader233;
146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_formalParameter_in_functionHeader233_data[] = { 0x0000000000400400LL};
147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_RCURVE_in_functionHeader241;
148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_RCURVE_in_functionHeader241_data[] = { 0x0000000000000002LL};
149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_type_in_formalParameter281;
150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_type_in_formalParameter281_data[] = { 0x0000000000004000LL};
151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_declarator_in_formalParameter283;
152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_declarator_in_formalParameter283_data[] = { 0x0000000000000002LL};
153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_LCURLY_in_block376;
154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_LCURLY_in_block376_data[] = { 0x0000000001A7E200LL};
155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_variable_in_block390;
156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_variable_in_block390_data[] = { 0x0000000001A7E200LL};
157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_stat_in_block405;
158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_stat_in_block405_data[] = { 0x0000000000A6E000LL};
159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_RCURLY_in_block416;
160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_RCURLY_in_block416_data[] = { 0x0000000000000002LL};
161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_forStat_in_stat449;
162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_forStat_in_stat449_data[] = { 0x0000000000000002LL};
163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_stat457;
164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_stat457_data[] = { 0x0000000000800000LL};
165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_SEMICOLON_in_stat459;
166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_SEMICOLON_in_stat459_data[] = { 0x0000000000000002LL};
167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_block_in_stat468;
168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_block_in_stat468_data[] = { 0x0000000000000002LL};
169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_assignStat_in_stat476;
170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_assignStat_in_stat476_data[] = { 0x0000000000800000LL};
171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_SEMICOLON_in_stat478;
172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_SEMICOLON_in_stat478_data[] = { 0x0000000000000002LL};
173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_SEMICOLON_in_stat487;
174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_SEMICOLON_in_stat487_data[] = { 0x0000000000000002LL};
175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_FOR_in_forStat507;
176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_FOR_in_forStat507_data[] = { 0x0000000000040000LL};
177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_LCURVE_in_forStat509;
178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_LCURVE_in_forStat509_data[] = { 0x0000000000004000LL};
179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_assignStat_in_forStat513;
180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_assignStat_in_forStat513_data[] = { 0x0000000000800000LL};
181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_SEMICOLON_in_forStat515;
182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_SEMICOLON_in_forStat515_data[] = { 0x000000000004C000LL};
183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_forStat517;
184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_forStat517_data[] = { 0x0000000000800000LL};
185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_SEMICOLON_in_forStat519;
186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_SEMICOLON_in_forStat519_data[] = { 0x0000000000004000LL};
187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_assignStat_in_forStat523;
188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_assignStat_in_forStat523_data[] = { 0x0000000000400000LL};
189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_RCURVE_in_forStat525;
190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_RCURVE_in_forStat525_data[] = { 0x0000000000020000LL};
191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_block_in_forStat527;
192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_block_in_forStat527_data[] = { 0x0000000000000002LL};
193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_ID_in_assignStat570;
194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_ID_in_assignStat570_data[] = { 0x0000000000000800LL};
195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_EQ_in_assignStat572;
196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_EQ_in_assignStat572_data[] = { 0x000000000004C000LL};
197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_assignStat574;
198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_assignStat574_data[] = { 0x0000000000000002LL};
199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_condExpr_in_expr598;
200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_condExpr_in_expr598_data[] = { 0x0000000000000002LL};
201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_aexpr_in_condExpr617;
202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_aexpr_in_condExpr617_data[] = { 0x0000000000081002LL};
203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_EQEQ_in_condExpr622;
204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_EQEQ_in_condExpr622_data[] = { 0x000000000004C000LL};
205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_LT_in_condExpr627;
206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_LT_in_condExpr627_data[] = { 0x000000000004C000LL};
207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_aexpr_in_condExpr631;
208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_aexpr_in_condExpr631_data[] = { 0x0000000000000002LL};
209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_atom_in_aexpr653;
210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_atom_in_aexpr653_data[] = { 0x0000000000100002LL};
211324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_PLUS_in_aexpr657;
212324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_PLUS_in_aexpr657_data[] = { 0x000000000004C000LL};
213324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_atom_in_aexpr660;
214324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_atom_in_aexpr660_data[] = { 0x0000000000100002LL};
215324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_ID_in_atom680;
216324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_ID_in_atom680_data[] = { 0x0000000000000002LL};
217324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_INT_in_atom694;
218324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_INT_in_atom694_data[] = { 0x0000000000000002LL};
219324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_LCURVE_in_atom708;
220324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_LCURVE_in_atom708_data[] = { 0x000000000004C000LL};
221324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_atom710;
222324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_atom710_data[] = { 0x0000000000400000LL};
223324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_RCURVE_in_atom712;
224324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_RCURVE_in_atom712_data[] = { 0x0000000000000002LL};
225324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
226324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
227324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Dynamic Global Scopes
228324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
229324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Dynamic Rule Scopes
230324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
231324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Rule Return Scopes start
232324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_program_return /* returnScope */
233324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
234324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
235324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_program_return *)newSimpleCParser_program_return
236324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
237324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_program_return alloc] init] retain];
238324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
239324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
240324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
241324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
242324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
243324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
244324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
245324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
246324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
247324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
248324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
249324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
250324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
251324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
252324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
253324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
254324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
255324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
256324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
257324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
258324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
259324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
260324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
261324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
262324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
263324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
264324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
265324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
266324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
267324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
268324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
269324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
270324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
271324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
272324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_declaration_return /* returnScope */
273324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
274324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
275324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_declaration_return *)newSimpleCParser_declaration_return
276324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
277324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_declaration_return alloc] init] retain];
278324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
279324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
280324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
281324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
282324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
283324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
284324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
285324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
286324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
287324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
288324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
289324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
290324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
291324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
292324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
293324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
294324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
295324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
296324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
297324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
298324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
299324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
300324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
301324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
302324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
303324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
304324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
305324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
306324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
307324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
308324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
309324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
310324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
311324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
312324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_variable_return /* returnScope */
313324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
314324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
315324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_variable_return *)newSimpleCParser_variable_return
316324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
317324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_variable_return alloc] init] retain];
318324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
319324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
320324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
321324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
322324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
323324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
324324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
325324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
326324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
327324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
328324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
329324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
330324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
331324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
332324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
333324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
334324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
335324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
336324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
337324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
338324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
339324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
340324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
341324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
342324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
343324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
344324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
345324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
346324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
347324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
348324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
349324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
350324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
351324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
352324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_declarator_return /* returnScope */
353324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
354324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
355324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_declarator_return *)newSimpleCParser_declarator_return
356324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
357324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_declarator_return alloc] init] retain];
358324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
359324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
360324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
361324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
362324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
363324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
364324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
365324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
366324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
367324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
368324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
369324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
370324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
371324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
372324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
373324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
374324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
375324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
376324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
377324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
378324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
379324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
380324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
381324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
382324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
383324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
384324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
385324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
386324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
387324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
388324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
389324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
390324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
391324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
392324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_functionHeader_return /* returnScope */
393324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
394324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
395324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_functionHeader_return *)newSimpleCParser_functionHeader_return
396324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
397324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_functionHeader_return alloc] init] retain];
398324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
399324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
400324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
401324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
402324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
403324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
404324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
405324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
406324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
407324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
408324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
409324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
410324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
411324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
412324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
413324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
414324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
415324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
416324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
417324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
418324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
419324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
420324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
421324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
422324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
423324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
424324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
425324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
426324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
427324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
428324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
429324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
430324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
431324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
432324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_formalParameter_return /* returnScope */
433324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
434324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
435324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_formalParameter_return *)newSimpleCParser_formalParameter_return
436324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
437324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_formalParameter_return alloc] init] retain];
438324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
439324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
440324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
441324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
442324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
443324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
444324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
445324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
446324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
447324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
448324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
449324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
450324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
451324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
452324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
453324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
454324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
455324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
456324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
457324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
458324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
459324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
460324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
461324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
462324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
463324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
464324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
465324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
466324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
467324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
468324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
469324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
470324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
471324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
472324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_type_return /* returnScope */
473324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
474324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
475324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_type_return *)newSimpleCParser_type_return
476324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
477324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_type_return alloc] init] retain];
478324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
479324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
480324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
481324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
482324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
483324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
484324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
485324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
486324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
487324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
488324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
489324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
490324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
491324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
492324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
493324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
494324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
495324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
496324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
497324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
498324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
499324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
500324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
501324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
502324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
503324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
504324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
505324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
506324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
507324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
508324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
509324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
510324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
511324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
512324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_block_return /* returnScope */
513324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
514324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
515324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_block_return *)newSimpleCParser_block_return
516324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
517324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_block_return alloc] init] retain];
518324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
519324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
520324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
521324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
522324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
523324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
524324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
525324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
526324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
527324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
528324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
529324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
530324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
531324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
532324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
533324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
534324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
535324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
536324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
537324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
538324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
539324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
540324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
541324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
542324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
543324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
544324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
545324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
546324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
547324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
548324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
549324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
550324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
551324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
552324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_stat_return /* returnScope */
553324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
554324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
555324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_stat_return *)newSimpleCParser_stat_return
556324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
557324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_stat_return alloc] init] retain];
558324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
559324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
560324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
561324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
562324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
563324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
564324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
565324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
566324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
567324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
568324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
569324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
570324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
571324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
572324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
573324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
574324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
575324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
576324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
577324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
578324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
579324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
580324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
581324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
582324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
583324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
584324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
585324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
586324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
587324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
588324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
589324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
590324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
591324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
592324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_forStat_return /* returnScope */
593324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
594324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
595324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_forStat_return *)newSimpleCParser_forStat_return
596324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
597324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_forStat_return alloc] init] retain];
598324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
599324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
600324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
601324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
602324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
603324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
604324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
605324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
606324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
607324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
608324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
609324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
610324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
611324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
612324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
613324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
614324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
615324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
616324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
617324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
618324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
619324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
620324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
621324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
622324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
623324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
624324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
625324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
626324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
627324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
628324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
629324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
630324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
631324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
632324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_assignStat_return /* returnScope */
633324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
634324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
635324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_assignStat_return *)newSimpleCParser_assignStat_return
636324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
637324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_assignStat_return alloc] init] retain];
638324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
639324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
640324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
641324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
642324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
643324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
644324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
645324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
646324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
647324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
648324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
649324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
650324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
651324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
652324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
653324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
654324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
655324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
656324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
657324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
658324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
659324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
660324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
661324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
662324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
663324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
664324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
665324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
666324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
667324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
668324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
669324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
670324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
671324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
672324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_expr_return /* returnScope */
673324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
674324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
675324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_expr_return *)newSimpleCParser_expr_return
676324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
677324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_expr_return alloc] init] retain];
678324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
679324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
680324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
681324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
682324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
683324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
684324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
685324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
686324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
687324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
688324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
689324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
690324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
691324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
692324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
693324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
694324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
695324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
696324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
697324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
698324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
699324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
700324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
701324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
702324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
703324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
704324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
705324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
706324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
707324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
708324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
709324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
710324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
711324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
712324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_condExpr_return /* returnScope */
713324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
714324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
715324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_condExpr_return *)newSimpleCParser_condExpr_return
716324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
717324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_condExpr_return alloc] init] retain];
718324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
719324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
720324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
721324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
722324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
723324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
724324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
725324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
726324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
727324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
728324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
729324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
730324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
731324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
732324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
733324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
734324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
735324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
736324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
737324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
738324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
739324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
740324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
741324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
742324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
743324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
744324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
745324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
746324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
747324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
748324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
749324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
750324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
751324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
752324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_aexpr_return /* returnScope */
753324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
754324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
755324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_aexpr_return *)newSimpleCParser_aexpr_return
756324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
757324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_aexpr_return alloc] init] retain];
758324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
759324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
760324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
761324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
762324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
763324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
764324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
765324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
766324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
767324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
768324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
769324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
770324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
771324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
772324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
773324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
774324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
775324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
776324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
777324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
778324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
779324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
780324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
781324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
782324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
783324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
784324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
785324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
786324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
787324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
788324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
789324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
790324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
791324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
792324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser_atom_return /* returnScope */
793324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.synthesize */
794324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; /* start of synthesize -- OBJC-Line 1837 */
795324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser_atom_return *)newSimpleCParser_atom_return
796324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
797324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[SimpleCParser_atom_return alloc] init] retain];
798324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
799324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
800324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
801324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
802324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
803324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
804324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
805324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
806324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST returnScope.methods */
807324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)getTree
808324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
809324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return tree;
810324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
811324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
812324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTree:(ANTLRCommonTree *)aTree
813324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
814324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if (tree != aTree) {
815324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (tree != nil) [tree release];
816324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if (aTree != nil) [aTree retain];
817324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        tree = aTree;
818324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
819324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
820324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
821324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
822324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
823324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self.tree = nil;
824324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
825324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
826324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
827324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
828324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
829324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */
830324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
831324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
832324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//#pragma mark Rule return scopes start
833324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//
834324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
835324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Rule return scopes start
836324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
837324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCParser  // line 637
838324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
839324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start of ruleAttributeScope */
840324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Dynamic Rule Scopes
841324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end of ruleAttributeScope */
842324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark global Attribute Scopes
843324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start globalAttributeScope */
844324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end globalAttributeScope */
845324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start actions.(actionScope).synthesize */
846324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end actions.(actionScope).synthesize */
847324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start synthesize() */
848324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST genericParser.synthesize */
849324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST parserProperties */
850324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize treeAdaptor;
851324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end synthesize() */
852324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
853324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (void) initialize
854324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
855324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    #pragma mark Bitsets
856324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_declaration_in_program85 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declaration_in_program85_data Count:(NSUInteger)1] retain];
857324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_variable_in_declaration105 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_variable_in_declaration105_data Count:(NSUInteger)1] retain];
858324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_functionHeader_in_declaration115 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_functionHeader_in_declaration115_data Count:(NSUInteger)1] retain];
859324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_SEMICOLON_in_declaration117 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_SEMICOLON_in_declaration117_data Count:(NSUInteger)1] retain];
860324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_functionHeader_in_declaration135 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_functionHeader_in_declaration135_data Count:(NSUInteger)1] retain];
861324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_block_in_declaration137 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_declaration137_data Count:(NSUInteger)1] retain];
862324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_type_in_variable166 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_variable166_data Count:(NSUInteger)1] retain];
863324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_declarator_in_variable168 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declarator_in_variable168_data Count:(NSUInteger)1] retain];
864324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_SEMICOLON_in_variable170 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_SEMICOLON_in_variable170_data Count:(NSUInteger)1] retain];
865324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_ID_in_declarator199 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_ID_in_declarator199_data Count:(NSUInteger)1] retain];
866324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_type_in_functionHeader219 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_functionHeader219_data Count:(NSUInteger)1] retain];
867324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_ID_in_functionHeader221 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_ID_in_functionHeader221_data Count:(NSUInteger)1] retain];
868324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_LCURVE_in_functionHeader223 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_LCURVE_in_functionHeader223_data Count:(NSUInteger)1] retain];
869324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_formalParameter_in_functionHeader227 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_formalParameter_in_functionHeader227_data Count:(NSUInteger)1] retain];
870324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_COMMA_in_functionHeader231 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_COMMA_in_functionHeader231_data Count:(NSUInteger)1] retain];
871324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_formalParameter_in_functionHeader233 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_formalParameter_in_functionHeader233_data Count:(NSUInteger)1] retain];
872324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_RCURVE_in_functionHeader241 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_RCURVE_in_functionHeader241_data Count:(NSUInteger)1] retain];
873324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_type_in_formalParameter281 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_formalParameter281_data Count:(NSUInteger)1] retain];
874324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_declarator_in_formalParameter283 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declarator_in_formalParameter283_data Count:(NSUInteger)1] retain];
875324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_LCURLY_in_block376 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_LCURLY_in_block376_data Count:(NSUInteger)1] retain];
876324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_variable_in_block390 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_variable_in_block390_data Count:(NSUInteger)1] retain];
877324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_stat_in_block405 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_stat_in_block405_data Count:(NSUInteger)1] retain];
878324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_RCURLY_in_block416 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_RCURLY_in_block416_data Count:(NSUInteger)1] retain];
879324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_forStat_in_stat449 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_forStat_in_stat449_data Count:(NSUInteger)1] retain];
880324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_expr_in_stat457 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_stat457_data Count:(NSUInteger)1] retain];
881324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_SEMICOLON_in_stat459 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_SEMICOLON_in_stat459_data Count:(NSUInteger)1] retain];
882324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_block_in_stat468 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_stat468_data Count:(NSUInteger)1] retain];
883324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_assignStat_in_stat476 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_assignStat_in_stat476_data Count:(NSUInteger)1] retain];
884324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_SEMICOLON_in_stat478 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_SEMICOLON_in_stat478_data Count:(NSUInteger)1] retain];
885324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_SEMICOLON_in_stat487 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_SEMICOLON_in_stat487_data Count:(NSUInteger)1] retain];
886324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_FOR_in_forStat507 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_FOR_in_forStat507_data Count:(NSUInteger)1] retain];
887324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_LCURVE_in_forStat509 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_LCURVE_in_forStat509_data Count:(NSUInteger)1] retain];
888324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_assignStat_in_forStat513 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_assignStat_in_forStat513_data Count:(NSUInteger)1] retain];
889324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_SEMICOLON_in_forStat515 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_SEMICOLON_in_forStat515_data Count:(NSUInteger)1] retain];
890324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_expr_in_forStat517 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_forStat517_data Count:(NSUInteger)1] retain];
891324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_SEMICOLON_in_forStat519 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_SEMICOLON_in_forStat519_data Count:(NSUInteger)1] retain];
892324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_assignStat_in_forStat523 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_assignStat_in_forStat523_data Count:(NSUInteger)1] retain];
893324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_RCURVE_in_forStat525 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_RCURVE_in_forStat525_data Count:(NSUInteger)1] retain];
894324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_block_in_forStat527 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_forStat527_data Count:(NSUInteger)1] retain];
895324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_ID_in_assignStat570 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_ID_in_assignStat570_data Count:(NSUInteger)1] retain];
896324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_EQ_in_assignStat572 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_EQ_in_assignStat572_data Count:(NSUInteger)1] retain];
897324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_expr_in_assignStat574 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_assignStat574_data Count:(NSUInteger)1] retain];
898324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_condExpr_in_expr598 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_condExpr_in_expr598_data Count:(NSUInteger)1] retain];
899324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_aexpr_in_condExpr617 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_aexpr_in_condExpr617_data Count:(NSUInteger)1] retain];
900324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_EQEQ_in_condExpr622 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_EQEQ_in_condExpr622_data Count:(NSUInteger)1] retain];
901324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_LT_in_condExpr627 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_LT_in_condExpr627_data Count:(NSUInteger)1] retain];
902324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_aexpr_in_condExpr631 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_aexpr_in_condExpr631_data Count:(NSUInteger)1] retain];
903324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_atom_in_aexpr653 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_atom_in_aexpr653_data Count:(NSUInteger)1] retain];
904324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_PLUS_in_aexpr657 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_PLUS_in_aexpr657_data Count:(NSUInteger)1] retain];
905324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_atom_in_aexpr660 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_atom_in_aexpr660_data Count:(NSUInteger)1] retain];
906324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_ID_in_atom680 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_ID_in_atom680_data Count:(NSUInteger)1] retain];
907324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_INT_in_atom694 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_INT_in_atom694_data Count:(NSUInteger)1] retain];
908324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_LCURVE_in_atom708 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_LCURVE_in_atom708_data Count:(NSUInteger)1] retain];
909324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_expr_in_atom710 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_atom710_data Count:(NSUInteger)1] retain];
910324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_K_RCURVE_in_atom712 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_RCURVE_in_atom712_data Count:(NSUInteger)1] retain];
911324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
912324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [ANTLRBaseRecognizer setTokenNames:[[AMutableArray arrayWithObjects:@"<invalid>", @"<EOR>", @"<DOWN>", @"<UP>",
913324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @"ARG_DEF", @"BLOCK", @"FUNC_DECL", @"FUNC_DEF", @"FUNC_HDR", @"K_CHAR",
914324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @"K_COMMA", @"K_EQ", @"K_EQEQ", @"K_FOR", @"K_ID", @"K_INT", @"K_INT_TYPE",
915324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @"K_LCURLY", @"K_LCURVE", @"K_LT", @"K_PLUS", @"K_RCURLY", @"K_RCURVE",
916324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @"K_SEMICOLON", @"K_VOID", @"VAR_DEF", @"WS", nil] retain]];
917324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [ANTLRBaseRecognizer setGrammarFileName:@"SimpleC.g"];
918324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
919324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
920324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCParser *)newSimpleCParser:(id<ANTLRTokenStream>)aStream
921324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
922324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[SimpleCParser alloc] initWithTokenStream:aStream];
923324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
924324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
925324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
926324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
927324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) initWithTokenStream:(id<ANTLRTokenStream>)aStream
928324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
929324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:15+1] retain]];
930324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if ( self != nil ) {
931324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
932324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
933324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        dfa2 = [DFA2 newDFA2WithRecognizer:self];
934324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* start of actions-actionScope-init */
935324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* start of init */
936324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST genericParser.init */
937324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self setTreeAdaptor:[[ANTLRCommonTreeAdaptor newTreeAdaptor] retain]];
938324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
939324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
940324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
941324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
942324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
943324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
944324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [dfa2 release];
945324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST genericParser.dealloc */
946324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [self setTreeAdaptor:nil];
947324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
948324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
949324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
950324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
951324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start members */
952324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end members */
953324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start actions.(actionScope).methods */
954324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end actions.(actionScope).methods */
955324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start methods() */
956324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST genericParser.methods */
957324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* AST parserMethods */
958324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id<ANTLRTreeAdaptor>) getTreeAdaptor
959324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
960324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	return treeAdaptor;
961324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
962324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
963324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) setTreeAdaptor:(id<ANTLRTreeAdaptor>)aTreeAdaptor
964324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
965324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	if (aTreeAdaptor != treeAdaptor) {
966324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver		treeAdaptor = aTreeAdaptor;
967324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver	}
968324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
969324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end methods() */
970324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start rules */
971324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
972324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start program
973324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:16:1: program : ( declaration )+ ;
974324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
975324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_program_return *) program
976324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
977324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
978324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
979324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
980324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
981324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_program_return * retval = [SimpleCParser_program_return newSimpleCParser_program_return];
982324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
983324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
984324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
985324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
986324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
987324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
988324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
989324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_declaration_return * declaration1 = nil ;
990324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
991324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
992324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
993324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:17:5: ( ( declaration )+ ) // ruleBlockSingleAlt
994324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:17:9: ( declaration )+ // alt
995324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
996324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
997324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
998324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
999324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:17:9: ( declaration )+ // positiveClosureBlock
1000324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger cnt1 = 0;
1001324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        do {
1002324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger alt1 = 2;
1003324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger LA1_0 = [input LA:1];
1004324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( (LA1_0==K_CHAR||LA1_0==K_ID||LA1_0==K_INT_TYPE||LA1_0==K_VOID) ) {
1005324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt1=1;
1006324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
1007324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1008324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1009324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            switch (alt1) {
1010324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                case 1 : ;
1011324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // SimpleC.g:17:9: declaration // alt
1012324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
1013324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    /* ASTParser ruleRef */
1014324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    /* ruleRef */
1015324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self pushFollow:FOLLOW_declaration_in_program85];
1016324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    declaration1 = [self declaration];
1017324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1018324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self popFollow];
1019324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1020324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1021324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [treeAdaptor addChild:[declaration1 getTree] toTree:root_0];
1022324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1023324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
1024324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    break;
1025324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1026324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                default :
1027324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    if ( cnt1 >= 1 )
1028324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        goto loop1;
1029324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    ANTLREarlyExitException *eee =
1030324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [ANTLREarlyExitException newException:input decisionNumber:1];
1031324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    @throw eee;
1032324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
1033324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            cnt1++;
1034324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } while (YES);
1035324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        loop1: ;
1036324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1037324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1038324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
1039324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1040324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
1041324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
1042324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
1043324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
1044324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1045324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1046324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1047324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
1048324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
1049324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1050324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1051324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
1052324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
1053324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
1054324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
1055324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
1056324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1057324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1058324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1059324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
1060324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
1061324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1062324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1063324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
1064324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
1065324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end program */
1066324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1067324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
1068324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start declaration
1069324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:20:1: declaration : ( variable | functionHeader K_SEMICOLON -> ^( FUNC_DECL functionHeader ) | functionHeader block -> ^( FUNC_DEF functionHeader block ) );
1070324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
1071324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_declaration_return *) declaration
1072324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
1073324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
1074324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
1075324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1076324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
1077324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_declaration_return * retval = [SimpleCParser_declaration_return newSimpleCParser_declaration_return];
1078324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
1079324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1080324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1081324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
1082324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1083324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
1084324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
1085324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_SEMICOLON4 = nil;
1086324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_variable_return * variable2 = nil ;
1087324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1088324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_functionHeader_return * functionHeader3 = nil ;
1089324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1090324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_functionHeader_return * functionHeader5 = nil ;
1091324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1092324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_block_return * block6 = nil ;
1093324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1094324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1095324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_SEMICOLON4_tree=nil;
1096324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_SEMICOLON =
1097324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
1098324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_SEMICOLON"] retain];
1099324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_functionHeader =
1100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule functionHeader"] retain];
1102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_block =
1103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule block"] retain];
1105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:21:5: ( variable | functionHeader K_SEMICOLON -> ^( FUNC_DECL functionHeader ) | functionHeader block -> ^( FUNC_DEF functionHeader block ) ) //ruleblock
1106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger alt2=3;
1107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        alt2 = [dfa2 predict:input];
1108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        switch (alt2) {
1109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 1 : ;
1110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:21:9: variable // alt
1111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
1112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
1113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ASTParser ruleRef */
1116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ruleRef */
1117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self pushFollow:FOLLOW_variable_in_declaration105];
1118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                variable2 = [self variable];
1119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self popFollow];
1121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[variable2 getTree] toTree:root_0];
1124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
1126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
1127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 2 : ;
1128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:22:9: functionHeader K_SEMICOLON // alt
1129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
1130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ruleRef */
1131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self pushFollow:FOLLOW_functionHeader_in_declaration115];
1132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                functionHeader3 = [self functionHeader];
1133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self popFollow];
1135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [stream_functionHeader addElement:[functionHeader3 getTree]];
1138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                K_SEMICOLON4=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_declaration117];
1140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [stream_K_SEMICOLON addElement:K_SEMICOLON4];
1141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // AST REWRITE
1144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // elements: functionHeader
1145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // token labels:
1146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // rule labels: retval
1147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // token list labels:
1148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // rule list labels:
1149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // wildcard labels:
1150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                retval.tree = root_0;
1151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                ANTLRRewriteRuleSubtreeStream *stream_retval =
1153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain];
1155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
1157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // 22:36: -> ^( FUNC_DECL functionHeader )
1159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
1160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // SimpleC.g:22:39: ^( FUNC_DECL functionHeader )
1161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
1162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
1163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:
1164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                [treeAdaptor createTree:FUNC_DECL Text:@"FUNC_DECL"]
1165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                         old:root_1];
1166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [treeAdaptor addChild:[stream_functionHeader nextTree] toTree:root_1];
1168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [treeAdaptor addChild:root_1 toTree:root_0];
1170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
1171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
1173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                retval.tree = root_0;
1176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
1179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
1180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 3 : ;
1181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:23:9: functionHeader block // alt
1182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
1183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ruleRef */
1184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self pushFollow:FOLLOW_functionHeader_in_declaration135];
1185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                functionHeader5 = [self functionHeader];
1186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self popFollow];
1188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [stream_functionHeader addElement:[functionHeader5 getTree]];
1191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ruleRef */
1193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self pushFollow:FOLLOW_block_in_declaration137];
1194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                block6 = [self block];
1195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self popFollow];
1197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [stream_block addElement:[block6 getTree]];
1200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // AST REWRITE
1202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // elements: functionHeader, block
1203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // token labels:
1204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // rule labels: retval
1205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // token list labels:
1206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // rule list labels:
1207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // wildcard labels:
1208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                retval.tree = root_0;
1209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                ANTLRRewriteRuleSubtreeStream *stream_retval =
1211324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1212324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain];
1213324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1214324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
1215324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1216324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // 23:30: -> ^( FUNC_DEF functionHeader block )
1217324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
1218324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // SimpleC.g:23:33: ^( FUNC_DEF functionHeader block )
1219324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
1220324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
1221324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:
1222324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                [treeAdaptor createTree:FUNC_DEF Text:@"FUNC_DEF"]
1223324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                         old:root_1];
1224324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1225324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [treeAdaptor addChild:[stream_functionHeader nextTree] toTree:root_1];
1226324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1227324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [treeAdaptor addChild:[stream_block nextTree] toTree:root_1];
1228324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1229324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [treeAdaptor addChild:root_1 toTree:root_0];
1230324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
1231324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1232324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
1233324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1234324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1235324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                retval.tree = root_0;
1236324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1237324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1238324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
1239324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
1240324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1241324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
1242324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
1243324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
1244324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
1245324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
1246324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1247324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1248324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_SEMICOLON release];
1249324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_functionHeader release];
1250324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_block release];
1251324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1252324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
1253324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
1254324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1255324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1256324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
1257324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
1258324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
1259324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
1260324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
1261324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1262324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1263324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1264324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
1265324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
1266324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1267324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1268324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
1269324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
1270324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end declaration */
1271324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1272324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
1273324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start variable
1274324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:26:1: variable : type declarator K_SEMICOLON -> ^( VAR_DEF type declarator ) ;
1275324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
1276324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_variable_return *) variable
1277324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
1278324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
1279324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
1280324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1281324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
1282324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_variable_return * retval = [SimpleCParser_variable_return newSimpleCParser_variable_return];
1283324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
1284324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1285324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1286324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
1287324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1288324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
1289324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
1290324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_SEMICOLON9 = nil;
1291324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_type_return * type7 = nil ;
1292324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1293324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_declarator_return * declarator8 = nil ;
1294324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1295324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1296324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_SEMICOLON9_tree=nil;
1297324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_SEMICOLON =
1298324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
1299324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_SEMICOLON"] retain];
1300324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_declarator =
1301324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1302324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule declarator"] retain];
1303324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_type =
1304324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1305324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule type"] retain];
1306324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:27:5: ( type declarator K_SEMICOLON -> ^( VAR_DEF type declarator ) ) // ruleBlockSingleAlt
1307324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:27:9: type declarator K_SEMICOLON // alt
1308324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
1309324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
1310324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_type_in_variable166];
1311324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        type7 = [self type];
1312324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1313324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
1314324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1315324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1316324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_type addElement:[type7 getTree]];
1317324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1318324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
1319324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_declarator_in_variable168];
1320324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        declarator8 = [self declarator];
1321324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1322324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
1323324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1324324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1325324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_declarator addElement:[declarator8 getTree]];
1326324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1327324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        K_SEMICOLON9=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_variable170];
1328324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [stream_K_SEMICOLON addElement:K_SEMICOLON9];
1329324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1330324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1331324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // AST REWRITE
1332324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // elements: declarator, type
1333324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token labels:
1334324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // rule labels: retval
1335324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token list labels:
1336324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // rule list labels:
1337324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // wildcard labels:
1338324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = root_0;
1339324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1340324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_retval =
1341324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1342324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain];
1343324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1344324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
1345324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1346324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // 27:37: -> ^( VAR_DEF type declarator )
1347324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
1348324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            // SimpleC.g:27:40: ^( VAR_DEF type declarator )
1349324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
1350324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
1351324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:
1352324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [treeAdaptor createTree:VAR_DEF Text:@"VAR_DEF"]
1353324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                 old:root_1];
1354324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1355324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[stream_type nextTree] toTree:root_1];
1356324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1357324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[stream_declarator nextTree] toTree:root_1];
1358324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1359324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:root_1 toTree:root_0];
1360324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
1361324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1362324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
1363324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1364324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1365324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = root_0;
1366324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1367324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1368324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
1369324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1370324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
1371324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
1372324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
1373324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
1374324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1375324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1376324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_SEMICOLON release];
1377324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_declarator release];
1378324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_type release];
1379324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1380324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
1381324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
1382324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1383324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1384324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
1385324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
1386324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
1387324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
1388324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
1389324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1390324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1391324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1392324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
1393324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
1394324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1395324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1396324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
1397324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
1398324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end variable */
1399324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1400324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
1401324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start declarator
1402324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:30:1: declarator : K_ID ;
1403324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
1404324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_declarator_return *) declarator
1405324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
1406324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
1407324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
1408324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1409324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
1410324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_declarator_return * retval = [SimpleCParser_declarator_return newSimpleCParser_declarator_return];
1411324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
1412324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1413324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1414324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
1415324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1416324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
1417324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
1418324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_ID10 = nil;
1419324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1420324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_ID10_tree=nil;
1421324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1422324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:31:5: ( K_ID ) // ruleBlockSingleAlt
1423324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:31:9: K_ID // alt
1424324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
1425324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
1426324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1427324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1428324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser tokenRef */
1429324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        K_ID10=(ANTLRCommonToken *)[self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_declarator199];
1430324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        K_ID10_tree = /* ASTParser createNodeFromToken */
1431324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        (ANTLRCommonTree *)[[treeAdaptor create:K_ID10] retain]
1432324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ;
1433324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [treeAdaptor addChild:K_ID10_tree  toTree:root_0];
1434324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1435324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1436324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
1437324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1438324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
1439324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
1440324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
1441324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
1442324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1443324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1444324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1445324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
1446324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
1447324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1448324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1449324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
1450324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
1451324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
1452324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
1453324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
1454324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1455324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1456324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1457324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
1458324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
1459324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1460324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1461324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
1462324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
1463324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end declarator */
1464324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1465324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
1466324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start functionHeader
1467324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:34:1: functionHeader : type K_ID K_LCURVE ( formalParameter ( K_COMMA formalParameter )* )? K_RCURVE -> ^( FUNC_HDR type K_ID ( formalParameter )+ ) ;
1468324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
1469324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_functionHeader_return *) functionHeader
1470324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
1471324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
1472324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
1473324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1474324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
1475324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_functionHeader_return * retval = [SimpleCParser_functionHeader_return newSimpleCParser_functionHeader_return];
1476324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
1477324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1478324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1479324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
1480324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1481324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
1482324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
1483324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_ID12 = nil;
1484324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_LCURVE13 = nil;
1485324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_COMMA15 = nil;
1486324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_RCURVE17 = nil;
1487324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_type_return * type11 = nil ;
1488324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1489324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_formalParameter_return * formalParameter14 = nil ;
1490324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1491324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_formalParameter_return * formalParameter16 = nil ;
1492324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1493324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1494324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_ID12_tree=nil;
1495324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_LCURVE13_tree=nil;
1496324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_COMMA15_tree=nil;
1497324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_RCURVE17_tree=nil;
1498324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_ID =
1499324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
1500324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_ID"] retain];
1501324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_LCURVE =
1502324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
1503324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_LCURVE"] retain];
1504324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_RCURVE =
1505324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
1506324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_RCURVE"] retain];
1507324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_COMMA =
1508324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
1509324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_COMMA"] retain];
1510324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_formalParameter =
1511324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1512324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule formalParameter"] retain];
1513324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_type =
1514324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1515324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule type"] retain];
1516324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:35:5: ( type K_ID K_LCURVE ( formalParameter ( K_COMMA formalParameter )* )? K_RCURVE -> ^( FUNC_HDR type K_ID ( formalParameter )+ ) ) // ruleBlockSingleAlt
1517324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:35:9: type K_ID K_LCURVE ( formalParameter ( K_COMMA formalParameter )* )? K_RCURVE // alt
1518324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
1519324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
1520324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_type_in_functionHeader219];
1521324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        type11 = [self type];
1522324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1523324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
1524324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1525324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1526324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_type addElement:[type11 getTree]];
1527324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1528324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        K_ID12=(ANTLRCommonToken *)[self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_functionHeader221];
1529324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [stream_K_ID addElement:K_ID12];
1530324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1531324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1532324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        K_LCURVE13=(ANTLRCommonToken *)[self match:input TokenType:K_LCURVE Follow:FOLLOW_K_LCURVE_in_functionHeader223];
1533324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [stream_K_LCURVE addElement:K_LCURVE13];
1534324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1535324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1536324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:35:28: ( formalParameter ( K_COMMA formalParameter )* )? // block
1537324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger alt4=2;
1538324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger LA4_0 = [input LA:1];
1539324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1540324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if ( (LA4_0==K_CHAR||LA4_0==K_ID||LA4_0==K_INT_TYPE||LA4_0==K_VOID) ) {
1541324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt4=1;
1542324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
1543324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        switch (alt4) {
1544324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 1 : ;
1545324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:35:30: formalParameter ( K_COMMA formalParameter )* // alt
1546324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
1547324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ruleRef */
1548324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self pushFollow:FOLLOW_formalParameter_in_functionHeader227];
1549324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                formalParameter14 = [self formalParameter];
1550324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1551324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self popFollow];
1552324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1553324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1554324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [stream_formalParameter addElement:[formalParameter14 getTree]];
1555324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1556324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                do {
1557324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    NSInteger alt3=2;
1558324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    NSInteger LA3_0 = [input LA:1];
1559324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    if ( (LA3_0==K_COMMA) ) {
1560324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        alt3=1;
1561324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
1562324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1563324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1564324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    switch (alt3) {
1565324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        case 1 : ;
1566324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            // SimpleC.g:35:48: K_COMMA formalParameter // alt
1567324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            {
1568324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            K_COMMA15=(ANTLRCommonToken *)[self match:input TokenType:K_COMMA Follow:FOLLOW_K_COMMA_in_functionHeader231];
1569324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                [stream_K_COMMA addElement:K_COMMA15];
1570324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1571324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1572324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            /* ruleRef */
1573324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            [self pushFollow:FOLLOW_formalParameter_in_functionHeader233];
1574324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            formalParameter16 = [self formalParameter];
1575324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1576324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            [self popFollow];
1577324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1578324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1579324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            [stream_formalParameter addElement:[formalParameter16 getTree]];
1580324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1581324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            }
1582324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            break;
1583324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1584324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        default :
1585324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            goto loop3;
1586324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
1587324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                } while (YES);
1588324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                loop3: ;
1589324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1590324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1591324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
1592324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
1593324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1594324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
1595324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1596324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1597324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        K_RCURVE17=(ANTLRCommonToken *)[self match:input TokenType:K_RCURVE Follow:FOLLOW_K_RCURVE_in_functionHeader241];
1598324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [stream_K_RCURVE addElement:K_RCURVE17];
1599324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1600324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1601324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // AST REWRITE
1602324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // elements: formalParameter, type, K_ID
1603324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token labels:
1604324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // rule labels: retval
1605324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token list labels:
1606324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // rule list labels:
1607324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // wildcard labels:
1608324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = root_0;
1609324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1610324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_retval =
1611324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1612324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain];
1613324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1614324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
1615324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1616324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // 36:9: -> ^( FUNC_HDR type K_ID ( formalParameter )+ )
1617324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
1618324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            // SimpleC.g:36:12: ^( FUNC_HDR type K_ID ( formalParameter )+ )
1619324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
1620324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
1621324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:
1622324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [treeAdaptor createTree:FUNC_HDR Text:@"FUNC_HDR"]
1623324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                 old:root_1];
1624324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1625324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[stream_type nextTree] toTree:root_1];
1626324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1627324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                 // TODO: args:
1628324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:
1629324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            [stream_K_ID nextNode]
1630324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                 toTree:root_1];
1631324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1632324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:36:33: ( formalParameter )+
1633324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
1634324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                if ( !([stream_formalParameter hasNext]) ) {
1635324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    @throw [ANTLRRewriteEarlyExitException newException];
1636324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
1637324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                while ( [stream_formalParameter hasNext] ) {
1638324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [treeAdaptor addChild:[stream_formalParameter nextTree] toTree:root_1];
1639324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1640324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
1641324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [stream_formalParameter reset];
1642324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1643324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
1644324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:root_1 toTree:root_0];
1645324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
1646324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1647324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
1648324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1649324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1650324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = root_0;
1651324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1652324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1653324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
1654324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1655324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
1656324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
1657324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
1658324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
1659324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1660324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1661324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_ID release];
1662324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_LCURVE release];
1663324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_RCURVE release];
1664324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_COMMA release];
1665324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_formalParameter release];
1666324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_type release];
1667324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1668324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
1669324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
1670324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1671324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1672324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
1673324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
1674324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
1675324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
1676324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
1677324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1678324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1679324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1680324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
1681324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
1682324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1683324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1684324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
1685324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
1686324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end functionHeader */
1687324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1688324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
1689324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start formalParameter
1690324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:39:1: formalParameter : type declarator -> ^( ARG_DEF type declarator ) ;
1691324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
1692324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_formalParameter_return *) formalParameter
1693324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
1694324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
1695324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
1696324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1697324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
1698324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_formalParameter_return * retval = [SimpleCParser_formalParameter_return newSimpleCParser_formalParameter_return];
1699324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
1700324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1701324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1702324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
1703324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1704324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
1705324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
1706324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_type_return * type18 = nil ;
1707324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1708324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_declarator_return * declarator19 = nil ;
1709324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1710324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1711324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_declarator =
1712324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1713324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule declarator"] retain];
1714324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_type =
1715324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1716324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule type"] retain];
1717324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:40:5: ( type declarator -> ^( ARG_DEF type declarator ) ) // ruleBlockSingleAlt
1718324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:40:9: type declarator // alt
1719324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
1720324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
1721324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_type_in_formalParameter281];
1722324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        type18 = [self type];
1723324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1724324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
1725324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1726324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1727324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_type addElement:[type18 getTree]];
1728324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1729324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
1730324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_declarator_in_formalParameter283];
1731324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        declarator19 = [self declarator];
1732324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1733324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
1734324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1735324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1736324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_declarator addElement:[declarator19 getTree]];
1737324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1738324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // AST REWRITE
1739324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // elements: declarator, type
1740324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token labels:
1741324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // rule labels: retval
1742324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token list labels:
1743324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // rule list labels:
1744324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // wildcard labels:
1745324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = root_0;
1746324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1747324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_retval =
1748324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1749324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain];
1750324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1751324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
1752324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1753324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // 40:25: -> ^( ARG_DEF type declarator )
1754324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
1755324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            // SimpleC.g:40:28: ^( ARG_DEF type declarator )
1756324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
1757324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
1758324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:
1759324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [treeAdaptor createTree:ARG_DEF Text:@"ARG_DEF"]
1760324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                 old:root_1];
1761324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1762324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[stream_type nextTree] toTree:root_1];
1763324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1764324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[stream_declarator nextTree] toTree:root_1];
1765324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1766324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:root_1 toTree:root_0];
1767324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
1768324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1769324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
1770324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1771324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1772324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = root_0;
1773324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1774324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1775324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
1776324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1777324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
1778324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
1779324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
1780324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
1781324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1782324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1783324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_declarator release];
1784324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_type release];
1785324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1786324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
1787324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
1788324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1789324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1790324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
1791324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
1792324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
1793324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
1794324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
1795324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1796324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1797324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1798324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
1799324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
1800324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1801324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1802324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
1803324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
1804324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end formalParameter */
1805324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1806324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
1807324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start type
1808324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:43:1: type : ( K_INT_TYPE | K_CHAR | K_VOID | K_ID );
1809324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
1810324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_type_return *) type
1811324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
1812324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
1813324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
1814324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1815324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
1816324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_type_return * retval = [SimpleCParser_type_return newSimpleCParser_type_return];
1817324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
1818324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1819324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1820324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
1821324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1822324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
1823324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
1824324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *set20 = nil;
1825324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1826324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *set20_tree=nil;
1827324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1828324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:44:5: ( K_INT_TYPE | K_CHAR | K_VOID | K_ID ) // ruleBlockSingleAlt
1829324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g: // alt
1830324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
1831324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
1832324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1833324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1834324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser matchRuleBlockSet */
1835324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser matchSet */
1836324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        set20 = (ANTLRCommonToken *)[input LT:1]; /* matchSet */
1837324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1838324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if ([input LA:1] == K_CHAR||[input LA:1] == K_ID||[input LA:1] == K_INT_TYPE||[input LA:1] == K_VOID) {
1839324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [input consume];
1840324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor addChild:/* ASTParser createNodeFromToken */
1841324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            (ANTLRCommonTree *)[[treeAdaptor create:set20] retain]
1842324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver             toTree:root_0 ];
1843324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [state setIsErrorRecovery:NO];
1844324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } else {
1845324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
1846324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            @throw mse;
1847324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
1848324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1849324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1850324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
1851324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1852324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
1853324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
1854324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
1855324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
1856324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1857324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1858324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1859324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
1860324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
1861324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1862324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1863324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
1864324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
1865324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
1866324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
1867324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
1868324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1869324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1870324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1871324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
1872324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
1873324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1874324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
1875324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
1876324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
1877324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end type */
1878324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1879324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
1880324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start block
1881324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:50:1: block : lc= K_LCURLY ( variable )* ( stat )* K_RCURLY -> ^( BLOCK[$lc,@\"BLOCK\"] ( variable )* ( stat )* ) ;
1882324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
1883324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_block_return *) block
1884324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
1885324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
1886324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
1887324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1888324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
1889324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_block_return * retval = [SimpleCParser_block_return newSimpleCParser_block_return];
1890324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
1891324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1892324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1893324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
1894324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1895324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
1896324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
1897324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *lc = nil;
1898324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_RCURLY23 = nil;
1899324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_variable_return * variable21 = nil ;
1900324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1901324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_stat_return * stat22 = nil ;
1902324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1903324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1904324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *lc_tree=nil;
1905324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_RCURLY23_tree=nil;
1906324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_LCURLY =
1907324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
1908324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_LCURLY"] retain];
1909324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_RCURLY =
1910324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
1911324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_RCURLY"] retain];
1912324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_variable =
1913324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1914324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule variable"] retain];
1915324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_stat =
1916324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
1917324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule stat"] retain];
1918324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:51:5: (lc= K_LCURLY ( variable )* ( stat )* K_RCURLY -> ^( BLOCK[$lc,@\"BLOCK\"] ( variable )* ( stat )* ) ) // ruleBlockSingleAlt
1919324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:51:9: lc= K_LCURLY ( variable )* ( stat )* K_RCURLY // alt
1920324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
1921324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        lc=(ANTLRCommonToken *)[self match:input TokenType:K_LCURLY Follow:FOLLOW_K_LCURLY_in_block376];
1922324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [stream_K_LCURLY addElement:lc];
1923324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1924324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1925324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        do {
1926324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger alt5=2;
1927324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger LA5_0 = [input LA:1];
1928324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( (LA5_0==K_ID) ) {
1929324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                NSInteger LA5_2 = [input LA:2];
1930324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                if ( (LA5_2==K_ID) ) {
1931324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    alt5=1;
1932324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
1933324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1934324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1935324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
1936324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            else if ( (LA5_0==K_CHAR||LA5_0==K_INT_TYPE||LA5_0==K_VOID) ) {
1937324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt5=1;
1938324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
1939324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1940324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1941324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            switch (alt5) {
1942324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                case 1 : ;
1943324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // SimpleC.g:52:13: variable // alt
1944324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
1945324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    /* ruleRef */
1946324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self pushFollow:FOLLOW_variable_in_block390];
1947324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    variable21 = [self variable];
1948324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1949324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self popFollow];
1950324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1951324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1952324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [stream_variable addElement:[variable21 getTree]];
1953324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1954324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
1955324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    break;
1956324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1957324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                default :
1958324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    goto loop5;
1959324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
1960324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } while (YES);
1961324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        loop5: ;
1962324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1963324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1964324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        do {
1965324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger alt6=2;
1966324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger LA6_0 = [input LA:1];
1967324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( ((LA6_0 >= K_FOR && LA6_0 <= K_INT)||(LA6_0 >= K_LCURLY && LA6_0 <= K_LCURVE)||LA6_0==K_SEMICOLON) ) {
1968324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt6=1;
1969324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
1970324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1971324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1972324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            switch (alt6) {
1973324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                case 1 : ;
1974324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // SimpleC.g:53:13: stat // alt
1975324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
1976324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    /* ruleRef */
1977324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self pushFollow:FOLLOW_stat_in_block405];
1978324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    stat22 = [self stat];
1979324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1980324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self popFollow];
1981324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1982324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1983324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [stream_stat addElement:[stat22 getTree]];
1984324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1985324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
1986324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    break;
1987324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1988324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                default :
1989324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    goto loop6;
1990324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
1991324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } while (YES);
1992324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        loop6: ;
1993324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1994324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1995324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        K_RCURLY23=(ANTLRCommonToken *)[self match:input TokenType:K_RCURLY Follow:FOLLOW_K_RCURLY_in_block416];
1996324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [stream_K_RCURLY addElement:K_RCURLY23];
1997324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1998324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
1999324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // AST REWRITE
2000324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // elements: stat, variable
2001324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token labels:
2002324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // rule labels: retval
2003324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token list labels:
2004324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // rule list labels:
2005324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // wildcard labels:
2006324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = root_0;
2007324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2008324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_retval =
2009324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
2010324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain];
2011324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2012324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2013324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2014324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // 55:9: -> ^( BLOCK[$lc,@\"BLOCK\"] ( variable )* ( stat )* )
2015324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
2016324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            // SimpleC.g:55:12: ^( BLOCK[$lc,@\"BLOCK\"] ( variable )* ( stat )* )
2017324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
2018324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2019324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:
2020324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [treeAdaptor createTree:BLOCK FromToken:lc Text:@"BLOCK"]
2021324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                 old:root_1];
2022324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2023324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:55:34: ( variable )*
2024324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                while ( [stream_variable hasNext] ) {
2025324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [treeAdaptor addChild:[stream_variable nextTree] toTree:root_1];
2026324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2027324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2028324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [stream_variable reset];
2029324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2030324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:55:44: ( stat )*
2031324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                while ( [stream_stat hasNext] ) {
2032324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [treeAdaptor addChild:[stream_stat nextTree] toTree:root_1];
2033324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2034324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2035324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [stream_stat reset];
2036324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2037324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:root_1 toTree:root_0];
2038324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
2039324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2040324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
2041324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2042324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2043324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = root_0;
2044324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2045324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2046324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
2047324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2048324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
2049324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
2050324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
2051324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
2052324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2053324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2054324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_LCURLY release];
2055324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_RCURLY release];
2056324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_variable release];
2057324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_stat release];
2058324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2059324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
2060324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
2061324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2062324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2063324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
2064324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
2065324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
2066324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
2067324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
2068324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2069324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2070324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2071324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
2072324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
2073324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2074324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2075324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
2076324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
2077324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end block */
2078324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2079324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
2080324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start stat
2081324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:58:1: stat : ( forStat | expr K_SEMICOLON !| block | assignStat K_SEMICOLON !| K_SEMICOLON !);
2082324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
2083324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_stat_return *) stat
2084324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
2085324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
2086324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
2087324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2088324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
2089324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_stat_return * retval = [SimpleCParser_stat_return newSimpleCParser_stat_return];
2090324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
2091324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2092324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2093324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
2094324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2095324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
2096324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
2097324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_SEMICOLON26 = nil;
2098324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_SEMICOLON29 = nil;
2099324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_SEMICOLON30 = nil;
2100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_forStat_return * forStat24 = nil ;
2101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_expr_return * expr25 = nil ;
2103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_block_return * block27 = nil ;
2105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_assignStat_return * assignStat28 = nil ;
2107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_SEMICOLON26_tree=nil;
2110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_SEMICOLON29_tree=nil;
2111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_SEMICOLON30_tree=nil;
2112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:58:5: ( forStat | expr K_SEMICOLON !| block | assignStat K_SEMICOLON !| K_SEMICOLON !) //ruleblock
2114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger alt7=5;
2115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unichar charLA7 = [input LA:1];
2116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        switch (charLA7) {
2117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case K_FOR: ;
2118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt7=1;
2120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
2122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case K_ID: ;
2123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                NSInteger LA7_2 = [input LA:2];
2125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                if ( (LA7_2==K_EQ) ) {
2127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    alt7=4;
2128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                else if ( (LA7_2==K_EQEQ||(LA7_2 >= K_LT && LA7_2 <= K_PLUS)||LA7_2==K_SEMICOLON) ) {
2130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    alt7=2;
2131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                else {
2133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:7 state:2 stream:input];
2134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    nvae.c = LA7_2;
2135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    @throw nvae;
2136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
2140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case K_INT: ;
2141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case K_LCURVE: ;
2142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt7=2;
2144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
2146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case K_LCURLY: ;
2147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt7=3;
2149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
2151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case K_SEMICOLON: ;
2152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt7=5;
2154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
2156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        default: ;
2158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:7 state:0 stream:input];
2159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            nvae.c = charLA7;
2160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            @throw nvae;
2161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
2163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        switch (alt7) {
2165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 1 : ;
2166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:58:7: forStat // alt
2167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ASTParser ruleRef */
2172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ruleRef */
2173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self pushFollow:FOLLOW_forStat_in_stat449];
2174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                forStat24 = [self forStat];
2175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self popFollow];
2177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[forStat24 getTree] toTree:root_0];
2180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
2183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 2 : ;
2184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:59:7: expr K_SEMICOLON ! // alt
2185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ASTParser ruleRef */
2190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ruleRef */
2191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self pushFollow:FOLLOW_expr_in_stat457];
2192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                expr25 = [self expr];
2193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self popFollow];
2195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[expr25 getTree] toTree:root_0];
2198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                K_SEMICOLON26=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_stat459];
2200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
2203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 3 : ;
2204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:60:7: block // alt
2205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ASTParser ruleRef */
2210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ruleRef */
2211324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self pushFollow:FOLLOW_block_in_stat468];
2212324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                block27 = [self block];
2213324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2214324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self popFollow];
2215324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2216324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2217324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[block27 getTree] toTree:root_0];
2218324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2219324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2220324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
2221324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 4 : ;
2222324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:61:7: assignStat K_SEMICOLON ! // alt
2223324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2224324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2225324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2226324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2227324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ASTParser ruleRef */
2228324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ruleRef */
2229324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self pushFollow:FOLLOW_assignStat_in_stat476];
2230324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                assignStat28 = [self assignStat];
2231324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2232324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self popFollow];
2233324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2234324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2235324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[assignStat28 getTree] toTree:root_0];
2236324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2237324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                K_SEMICOLON29=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_stat478];
2238324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2239324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2240324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
2241324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 5 : ;
2242324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:62:7: K_SEMICOLON ! // alt
2243324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2244324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2245324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2246324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2247324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                K_SEMICOLON30=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_stat487];
2248324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2249324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2250324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
2251324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2252324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
2253324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
2254324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
2255324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
2256324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
2257324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2258324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2259324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2260324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
2261324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
2262324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2263324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2264324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
2265324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
2266324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
2267324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
2268324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
2269324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2270324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2271324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2272324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
2273324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
2274324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2275324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2276324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
2277324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
2278324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end stat */
2279324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2280324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
2281324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start forStat
2282324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:65:1: forStat : K_FOR K_LCURVE start= assignStat K_SEMICOLON expr K_SEMICOLON next= assignStat K_RCURVE block -> ^( K_FOR $start expr $next block ) ;
2283324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
2284324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_forStat_return *) forStat
2285324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
2286324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
2287324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
2288324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2289324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
2290324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_forStat_return * retval = [SimpleCParser_forStat_return newSimpleCParser_forStat_return];
2291324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
2292324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2293324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2294324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
2295324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2296324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
2297324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
2298324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_FOR31 = nil;
2299324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_LCURVE32 = nil;
2300324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_SEMICOLON33 = nil;
2301324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_SEMICOLON35 = nil;
2302324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_RCURVE36 = nil;
2303324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_assignStat_return * start = nil ;
2304324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2305324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_assignStat_return * next = nil ;
2306324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2307324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_expr_return * expr34 = nil ;
2308324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2309324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_block_return * block37 = nil ;
2310324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2311324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2312324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_FOR31_tree=nil;
2313324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_LCURVE32_tree=nil;
2314324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_SEMICOLON33_tree=nil;
2315324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_SEMICOLON35_tree=nil;
2316324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_RCURVE36_tree=nil;
2317324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_LCURVE =
2318324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
2319324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_LCURVE"] retain];
2320324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_RCURVE =
2321324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
2322324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_RCURVE"] retain];
2323324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_SEMICOLON =
2324324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
2325324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_SEMICOLON"] retain];
2326324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_FOR =
2327324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
2328324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_FOR"] retain];
2329324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_assignStat =
2330324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
2331324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule assignStat"] retain];
2332324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_block =
2333324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
2334324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule block"] retain];
2335324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_expr =
2336324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
2337324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule expr"] retain];
2338324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:66:5: ( K_FOR K_LCURVE start= assignStat K_SEMICOLON expr K_SEMICOLON next= assignStat K_RCURVE block -> ^( K_FOR $start expr $next block ) ) // ruleBlockSingleAlt
2339324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:66:9: K_FOR K_LCURVE start= assignStat K_SEMICOLON expr K_SEMICOLON next= assignStat K_RCURVE block // alt
2340324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
2341324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        K_FOR31=(ANTLRCommonToken *)[self match:input TokenType:K_FOR Follow:FOLLOW_K_FOR_in_forStat507];
2342324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [stream_K_FOR addElement:K_FOR31];
2343324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2344324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2345324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        K_LCURVE32=(ANTLRCommonToken *)[self match:input TokenType:K_LCURVE Follow:FOLLOW_K_LCURVE_in_forStat509];
2346324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [stream_K_LCURVE addElement:K_LCURVE32];
2347324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2348324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2349324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
2350324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_assignStat_in_forStat513];
2351324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        start = [self assignStat];
2352324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2353324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
2354324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2355324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2356324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_assignStat addElement:[start getTree]];
2357324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2358324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        K_SEMICOLON33=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_forStat515];
2359324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [stream_K_SEMICOLON addElement:K_SEMICOLON33];
2360324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2361324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2362324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
2363324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_expr_in_forStat517];
2364324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        expr34 = [self expr];
2365324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2366324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
2367324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2368324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2369324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_expr addElement:[expr34 getTree]];
2370324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2371324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        K_SEMICOLON35=(ANTLRCommonToken *)[self match:input TokenType:K_SEMICOLON Follow:FOLLOW_K_SEMICOLON_in_forStat519];
2372324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [stream_K_SEMICOLON addElement:K_SEMICOLON35];
2373324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2374324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2375324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
2376324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_assignStat_in_forStat523];
2377324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        next = [self assignStat];
2378324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2379324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
2380324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2381324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2382324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_assignStat addElement:[next getTree]];
2383324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2384324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        K_RCURVE36=(ANTLRCommonToken *)[self match:input TokenType:K_RCURVE Follow:FOLLOW_K_RCURVE_in_forStat525];
2385324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [stream_K_RCURVE addElement:K_RCURVE36];
2386324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2387324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2388324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
2389324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_block_in_forStat527];
2390324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        block37 = [self block];
2391324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2392324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
2393324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2394324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2395324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_block addElement:[block37 getTree]];
2396324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2397324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // AST REWRITE
2398324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // elements: start, next, expr, block, K_FOR
2399324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token labels:
2400324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // rule labels: retval, start, next
2401324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token list labels:
2402324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // rule list labels:
2403324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // wildcard labels:
2404324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = root_0;
2405324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2406324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_retval =
2407324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
2408324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain];
2409324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_start =
2410324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
2411324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                description:@"token start" element:start!=nil?[start getTree]:nil] retain];
2412324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_next =
2413324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
2414324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                description:@"token next" element:next!=nil?[next getTree]:nil] retain];
2415324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2416324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2417324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2418324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // 67:9: -> ^( K_FOR $start expr $next block )
2419324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
2420324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            // SimpleC.g:67:12: ^( K_FOR $start expr $next block )
2421324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
2422324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2423324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:
2424324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            [stream_K_FOR nextNode]
2425324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                 old:root_1];
2426324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2427324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[stream_start nextTree] toTree:root_1];
2428324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2429324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[stream_expr nextTree] toTree:root_1];
2430324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2431324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[stream_next nextTree] toTree:root_1];
2432324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2433324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[stream_block nextTree] toTree:root_1];
2434324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2435324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:root_1 toTree:root_0];
2436324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
2437324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2438324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
2439324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2440324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2441324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = root_0;
2442324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2443324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2444324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
2445324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2446324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
2447324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
2448324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
2449324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
2450324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2451324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2452324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_LCURVE release];
2453324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_RCURVE release];
2454324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_SEMICOLON release];
2455324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_FOR release];
2456324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_assignStat release];
2457324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_block release];
2458324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_expr release];
2459324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2460324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
2461324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
2462324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2463324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2464324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
2465324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
2466324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
2467324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
2468324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
2469324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2470324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2471324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2472324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
2473324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
2474324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2475324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2476324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
2477324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
2478324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end forStat */
2479324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2480324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
2481324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start assignStat
2482324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:70:1: assignStat : K_ID K_EQ expr -> ^( K_EQ K_ID expr ) ;
2483324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
2484324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_assignStat_return *) assignStat
2485324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
2486324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
2487324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
2488324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2489324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
2490324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_assignStat_return * retval = [SimpleCParser_assignStat_return newSimpleCParser_assignStat_return];
2491324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
2492324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2493324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2494324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
2495324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2496324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
2497324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
2498324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_ID38 = nil;
2499324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_EQ39 = nil;
2500324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_expr_return * expr40 = nil ;
2501324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2502324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2503324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_ID38_tree=nil;
2504324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_EQ39_tree=nil;
2505324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_ID =
2506324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
2507324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_ID"] retain];
2508324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_EQ =
2509324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
2510324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_EQ"] retain];
2511324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_expr =
2512324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
2513324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule expr"] retain];
2514324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:71:5: ( K_ID K_EQ expr -> ^( K_EQ K_ID expr ) ) // ruleBlockSingleAlt
2515324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:71:9: K_ID K_EQ expr // alt
2516324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
2517324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        K_ID38=(ANTLRCommonToken *)[self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_assignStat570];
2518324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [stream_K_ID addElement:K_ID38];
2519324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2520324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2521324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        K_EQ39=(ANTLRCommonToken *)[self match:input TokenType:K_EQ Follow:FOLLOW_K_EQ_in_assignStat572];
2522324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [stream_K_EQ addElement:K_EQ39];
2523324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2524324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2525324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
2526324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_expr_in_assignStat574];
2527324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        expr40 = [self expr];
2528324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2529324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
2530324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2531324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2532324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_expr addElement:[expr40 getTree]];
2533324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2534324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // AST REWRITE
2535324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // elements: K_ID, K_EQ, expr
2536324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token labels:
2537324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // rule labels: retval
2538324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token list labels:
2539324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // rule list labels:
2540324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // wildcard labels:
2541324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = root_0;
2542324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2543324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_retval =
2544324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
2545324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain];
2546324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2547324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2548324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2549324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // 71:24: -> ^( K_EQ K_ID expr )
2550324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
2551324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            // SimpleC.g:71:27: ^( K_EQ K_ID expr )
2552324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
2553324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                ANTLRCommonTree *root_1 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2554324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_1 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:
2555324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            [stream_K_EQ nextNode]
2556324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                 old:root_1];
2557324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2558324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                 // TODO: args:
2559324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:
2560324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            [stream_K_ID nextNode]
2561324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                 toTree:root_1];
2562324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2563324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[stream_expr nextTree] toTree:root_1];
2564324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2565324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:root_1 toTree:root_0];
2566324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
2567324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2568324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
2569324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2570324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2571324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = root_0;
2572324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2573324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2574324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
2575324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2576324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
2577324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
2578324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
2579324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
2580324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2581324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2582324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_ID release];
2583324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_EQ release];
2584324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_expr release];
2585324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2586324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
2587324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
2588324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2589324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2590324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
2591324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
2592324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
2593324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
2594324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
2595324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2596324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2597324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2598324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
2599324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
2600324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2601324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2602324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
2603324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
2604324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end assignStat */
2605324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2606324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
2607324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start expr
2608324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:74:1: expr : condExpr ;
2609324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
2610324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_expr_return *) expr
2611324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
2612324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
2613324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
2614324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2615324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
2616324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_expr_return * retval = [SimpleCParser_expr_return newSimpleCParser_expr_return];
2617324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
2618324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2619324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2620324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
2621324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2622324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
2623324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
2624324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_condExpr_return * condExpr41 = nil ;
2625324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2626324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2627324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2628324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:74:5: ( condExpr ) // ruleBlockSingleAlt
2629324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:74:9: condExpr // alt
2630324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
2631324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2632324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2633324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2634324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleRef */
2635324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
2636324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_condExpr_in_expr598];
2637324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        condExpr41 = [self condExpr];
2638324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2639324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
2640324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2641324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2642324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [treeAdaptor addChild:[condExpr41 getTree] toTree:root_0];
2643324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2644324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
2645324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2646324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
2647324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
2648324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
2649324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
2650324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2651324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2652324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2653324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
2654324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
2655324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2656324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2657324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
2658324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
2659324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
2660324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
2661324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
2662324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2663324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2664324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2665324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
2666324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
2667324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2668324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2669324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
2670324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
2671324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end expr */
2672324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2673324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
2674324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start condExpr
2675324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:77:1: condExpr : aexpr ( ( K_EQEQ ^| K_LT ^) aexpr )? ;
2676324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
2677324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_condExpr_return *) condExpr
2678324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
2679324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
2680324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
2681324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2682324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
2683324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_condExpr_return * retval = [SimpleCParser_condExpr_return newSimpleCParser_condExpr_return];
2684324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
2685324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2686324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2687324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
2688324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2689324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
2690324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
2691324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_EQEQ43 = nil;
2692324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_LT44 = nil;
2693324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_aexpr_return * aexpr42 = nil ;
2694324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2695324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_aexpr_return * aexpr45 = nil ;
2696324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2697324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2698324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_EQEQ43_tree=nil;
2699324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_LT44_tree=nil;
2700324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2701324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:78:5: ( aexpr ( ( K_EQEQ ^| K_LT ^) aexpr )? ) // ruleBlockSingleAlt
2702324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:78:9: aexpr ( ( K_EQEQ ^| K_LT ^) aexpr )? // alt
2703324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
2704324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2705324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2706324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2707324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleRef */
2708324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
2709324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_aexpr_in_condExpr617];
2710324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        aexpr42 = [self aexpr];
2711324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2712324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
2713324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2714324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2715324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [treeAdaptor addChild:[aexpr42 getTree] toTree:root_0];
2716324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2717324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:78:15: ( ( K_EQEQ ^| K_LT ^) aexpr )? // block
2718324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger alt9=2;
2719324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger LA9_0 = [input LA:1];
2720324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2721324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if ( (LA9_0==K_EQEQ||LA9_0==K_LT) ) {
2722324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt9=1;
2723324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
2724324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        switch (alt9) {
2725324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 1 : ;
2726324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:78:17: ( K_EQEQ ^| K_LT ^) aexpr // alt
2727324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2728324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:78:17: ( K_EQEQ ^| K_LT ^) // block
2729324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                NSInteger alt8=2;
2730324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                NSInteger LA8_0 = [input LA:1];
2731324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2732324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                if ( (LA8_0==K_EQEQ) ) {
2733324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    alt8=1;
2734324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2735324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                else if ( (LA8_0==K_LT) ) {
2736324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    alt8=2;
2737324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2738324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                else {
2739324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:8 state:0 stream:input];
2740324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    nvae.c = LA8_0;
2741324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    @throw nvae;
2742324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2743324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2744324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                switch (alt8) {
2745324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    case 1 : ;
2746324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        // SimpleC.g:78:18: K_EQEQ ^ // alt
2747324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        {
2748324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        K_EQEQ43=(ANTLRCommonToken *)[self match:input TokenType:K_EQEQ Follow:FOLLOW_K_EQEQ_in_condExpr622];
2749324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        K_EQEQ43_tree = /* ASTParser createNodeFromToken */
2750324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        (ANTLRCommonTree *)[[treeAdaptor create:K_EQEQ43] retain]
2751324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        ;
2752324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        root_0 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:K_EQEQ43_tree old:root_0];
2753324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2754324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2755324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        }
2756324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        break;
2757324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    case 2 : ;
2758324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        // SimpleC.g:78:28: K_LT ^ // alt
2759324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        {
2760324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        K_LT44=(ANTLRCommonToken *)[self match:input TokenType:K_LT Follow:FOLLOW_K_LT_in_condExpr627];
2761324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        K_LT44_tree = /* ASTParser createNodeFromToken */
2762324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        (ANTLRCommonTree *)[[treeAdaptor create:K_LT44] retain]
2763324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        ;
2764324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        root_0 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:K_LT44_tree old:root_0];
2765324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2766324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2767324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        }
2768324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        break;
2769324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2770324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2771324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2772324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2773324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ASTParser ruleRef */
2774324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ruleRef */
2775324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self pushFollow:FOLLOW_aexpr_in_condExpr631];
2776324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                aexpr45 = [self aexpr];
2777324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2778324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self popFollow];
2779324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2780324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2781324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:[aexpr45 getTree] toTree:root_0];
2782324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2783324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2784324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
2785324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2786324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
2787324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2788324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2789324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
2790324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2791324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
2792324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
2793324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
2794324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
2795324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2796324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2797324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2798324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
2799324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
2800324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2801324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2802324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
2803324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
2804324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
2805324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
2806324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
2807324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2808324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2809324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2810324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
2811324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
2812324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2813324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2814324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
2815324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
2816324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end condExpr */
2817324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2818324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
2819324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start aexpr
2820324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:81:1: aexpr : atom ( K_PLUS ^ atom )* ;
2821324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
2822324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_aexpr_return *) aexpr
2823324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
2824324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
2825324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
2826324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2827324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
2828324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_aexpr_return * retval = [SimpleCParser_aexpr_return newSimpleCParser_aexpr_return];
2829324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
2830324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2831324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2832324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
2833324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2834324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
2835324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
2836324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_PLUS47 = nil;
2837324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_atom_return * atom46 = nil ;
2838324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2839324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_atom_return * atom48 = nil ;
2840324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2841324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2842324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_PLUS47_tree=nil;
2843324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2844324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:82:5: ( atom ( K_PLUS ^ atom )* ) // ruleBlockSingleAlt
2845324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:82:9: atom ( K_PLUS ^ atom )* // alt
2846324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
2847324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2848324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2849324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2850324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleRef */
2851324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
2852324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_atom_in_aexpr653];
2853324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        atom46 = [self atom];
2854324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2855324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
2856324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2857324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2858324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [treeAdaptor addChild:[atom46 getTree] toTree:root_0];
2859324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2860324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        do {
2861324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger alt10=2;
2862324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger LA10_0 = [input LA:1];
2863324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( (LA10_0==K_PLUS) ) {
2864324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt10=1;
2865324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
2866324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2867324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2868324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            switch (alt10) {
2869324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                case 1 : ;
2870324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // SimpleC.g:82:16: K_PLUS ^ atom // alt
2871324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
2872324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    K_PLUS47=(ANTLRCommonToken *)[self match:input TokenType:K_PLUS Follow:FOLLOW_K_PLUS_in_aexpr657];
2873324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    K_PLUS47_tree = /* ASTParser createNodeFromToken */
2874324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    (ANTLRCommonTree *)[[treeAdaptor create:K_PLUS47] retain]
2875324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    ;
2876324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    root_0 = (ANTLRCommonTree *)[treeAdaptor becomeRoot:K_PLUS47_tree old:root_0];
2877324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2878324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2879324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    /* ASTParser ruleRef */
2880324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    /* ruleRef */
2881324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self pushFollow:FOLLOW_atom_in_aexpr660];
2882324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    atom48 = [self atom];
2883324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2884324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self popFollow];
2885324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2886324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2887324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [treeAdaptor addChild:[atom48 getTree] toTree:root_0];
2888324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2889324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
2890324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    break;
2891324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2892324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                default :
2893324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    goto loop10;
2894324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
2895324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } while (YES);
2896324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        loop10: ;
2897324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2898324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2899324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
2900324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2901324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
2902324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
2903324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
2904324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
2905324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2906324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2907324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2908324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
2909324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
2910324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2911324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2912324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
2913324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
2914324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
2915324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
2916324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
2917324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2918324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2919324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2920324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
2921324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
2922324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2923324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
2924324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
2925324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
2926324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end aexpr */
2927324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2928324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
2929324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start atom
2930324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleC.g:85:1: atom : ( K_ID | K_INT | K_LCURVE expr K_RCURVE -> expr );
2931324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
2932324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCParser_atom_return *) atom
2933324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
2934324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
2935324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
2936324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2937324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* AST ruleDeclarations */
2938324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    SimpleCParser_atom_return * retval = [SimpleCParser_atom_return newSimpleCParser_atom_return];
2939324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [retval setStart:[input LT:1]];
2940324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2941324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2942324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    ANTLRCommonTree *root_0 = nil;
2943324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2944324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
2945324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleLabelDefs */
2946324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_ID49 = nil;
2947324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_INT50 = nil;
2948324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_LCURVE51 = nil;
2949324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *K_RCURVE53 = nil;
2950324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         SimpleCParser_expr_return * expr52 = nil ;
2951324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2952324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2953324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_ID49_tree=nil;
2954324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_INT50_tree=nil;
2955324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_LCURVE51_tree=nil;
2956324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonTree *K_RCURVE53_tree=nil;
2957324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_LCURVE =
2958324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
2959324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_LCURVE"] retain];
2960324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleTokenStream *stream_K_RCURVE =
2961324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleTokenStream newANTLRRewriteRuleTokenStream:treeAdaptor
2962324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                             description:@"token K_RCURVE"] retain];
2963324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRRewriteRuleSubtreeStream *stream_expr =
2964324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
2965324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                                                                description:@"rule expr"] retain];
2966324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SimpleC.g:86:5: ( K_ID | K_INT | K_LCURVE expr K_RCURVE -> expr ) //ruleblock
2967324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger alt11=3;
2968324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        unichar charLA11 = [input LA:1];
2969324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        switch (charLA11) {
2970324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case K_ID: ;
2971324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2972324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt11=1;
2973324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2974324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
2975324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case K_INT: ;
2976324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2977324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt11=2;
2978324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2979324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
2980324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case K_LCURVE: ;
2981324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2982324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt11=3;
2983324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
2984324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
2985324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2986324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        default: ;
2987324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:11 state:0 stream:input];
2988324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            nvae.c = charLA11;
2989324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            @throw nvae;
2990324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2991324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
2992324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2993324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        switch (alt11) {
2994324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 1 : ;
2995324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:86:7: K_ID // alt
2996324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
2997324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
2998324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
2999324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3000324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ASTParser tokenRef */
3001324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                K_ID49=(ANTLRCommonToken *)[self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_atom680];
3002324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                K_ID49_tree = /* ASTParser createNodeFromToken */
3003324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                (ANTLRCommonTree *)[[treeAdaptor create:K_ID49] retain]
3004324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                ;
3005324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:K_ID49_tree  toTree:root_0];
3006324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3007324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3008324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
3009324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
3010324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 2 : ;
3011324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:87:7: K_INT // alt
3012324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
3013324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
3014324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3015324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3016324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ASTParser tokenRef */
3017324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                K_INT50=(ANTLRCommonToken *)[self match:input TokenType:K_INT Follow:FOLLOW_K_INT_in_atom694];
3018324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                K_INT50_tree = /* ASTParser createNodeFromToken */
3019324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                (ANTLRCommonTree *)[[treeAdaptor create:K_INT50] retain]
3020324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                ;
3021324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [treeAdaptor addChild:K_INT50_tree  toTree:root_0];
3022324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3023324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3024324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
3025324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
3026324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 3 : ;
3027324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SimpleC.g:88:7: K_LCURVE expr K_RCURVE // alt
3028324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
3029324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                K_LCURVE51=(ANTLRCommonToken *)[self match:input TokenType:K_LCURVE Follow:FOLLOW_K_LCURVE_in_atom708];
3030324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [stream_K_LCURVE addElement:K_LCURVE51];
3031324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3032324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3033324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ruleRef */
3034324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self pushFollow:FOLLOW_expr_in_atom710];
3035324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                expr52 = [self expr];
3036324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3037324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self popFollow];
3038324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3039324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3040324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [stream_expr addElement:[expr52 getTree]];
3041324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3042324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                K_RCURVE53=(ANTLRCommonToken *)[self match:input TokenType:K_RCURVE Follow:FOLLOW_K_RCURVE_in_atom712];
3043324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [stream_K_RCURVE addElement:K_RCURVE53];
3044324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3045324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3046324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // AST REWRITE
3047324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // elements: expr
3048324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // token labels:
3049324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // rule labels: retval
3050324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // token list labels:
3051324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // rule list labels:
3052324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // wildcard labels:
3053324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                retval.tree = root_0;
3054324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3055324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                ANTLRRewriteRuleSubtreeStream *stream_retval =
3056324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [[ANTLRRewriteRuleSubtreeStream newANTLRRewriteRuleSubtreeStream:treeAdaptor
3057324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        description:@"token retval" element:retval!=nil?[retval getTree]:nil] retain];
3058324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3059324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                root_0 = (ANTLRCommonTree *)[[[treeAdaptor class] newEmptyTree] retain];
3060324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3061324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // 88:30: -> expr
3062324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
3063324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [treeAdaptor addChild:[stream_expr nextTree] toTree:root_0];
3064324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3065324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
3066324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3067324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3068324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                retval.tree = root_0;
3069324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3070324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3071324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
3072324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
3073324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3074324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
3075324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser ruleCleanUp */
3076324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* AST ruleCleanUp */
3077324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
3078324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [retval setStop:[input LT:-1]];
3079324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3080324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3081324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_LCURVE release];
3082324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_K_RCURVE release];
3083324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [stream_expr release];
3084324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3085324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            retval.tree = (ANTLRCommonTree *)[treeAdaptor rulePostProcessing:root_0];
3086324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [treeAdaptor setTokenBoundaries:retval.tree From:retval.start To:retval.stopToken];
3087324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3088324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
3089324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
3090324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
3091324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
3092324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ASTParser rule.setErrorReturnValue */
3093324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        retval.tree = (ANTLRCommonTree *)[treeAdaptor errorNode:input From:retval.start To:[input LT:-1] Exception:re];
3094324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3095324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
3096324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3097324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
3098324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
3099324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
3101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return retval;
3102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
3103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end atom */
3104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end rules */
3105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
3106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of SimpleCParser implementation line 692 */
3107