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 : SymbolTable.g
5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *     -                            On : 2011-05-06 15:04:42
6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *     -                for the parser : SymbolTableParserParser
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} SymbolTable.g 2011-05-06 15:04:42
15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* -----------------------------------------
18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Include the ANTLR3 generated header file.
19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import "SymbolTableParser.h"
21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ----------------------------------------- */
22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ============================================================================= */
25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* =============================================================================
26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Start of recognizer
27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Bitsets
30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_globals_in_prog50;
31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_globals_in_prog50_data[] = { 0x0000000000001002LL};
32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_method_in_prog53;
33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_method_in_prog53_data[] = { 0x0000000000001002LL};
34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_decl_in_globals85;
35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_decl_in_globals85_data[] = { 0x0000000000000802LL};
36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_12_in_method116;
37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_12_in_method116_data[] = { 0x0000000000000010LL};
38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_ID_in_method118;
39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_ID_in_method118_data[] = { 0x0000000000000080LL};
40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_7_in_method120;
41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_7_in_method120_data[] = { 0x0000000000000100LL};
42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_8_in_method122;
43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_8_in_method122_data[] = { 0x0000000000002000LL};
44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_block_in_method124;
45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_block_in_method124_data[] = { 0x0000000000000002LL};
46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_13_in_block153;
47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_13_in_block153_data[] = { 0x0000000000006810LL};
48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_decl_in_block156;
49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_decl_in_block156_data[] = { 0x0000000000006810LL};
50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_stat_in_block161;
51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_stat_in_block161_data[] = { 0x0000000000006010LL};
52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_14_in_block165;
53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_14_in_block165_data[] = { 0x0000000000000002LL};
54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_ID_in_stat189;
55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_ID_in_stat189_data[] = { 0x0000000000000400LL};
56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_10_in_stat191;
57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_10_in_stat191_data[] = { 0x0000000000000020LL};
58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_INT_in_stat193;
59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_INT_in_stat193_data[] = { 0x0000000000000200LL};
60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_9_in_stat195;
61324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_9_in_stat195_data[] = { 0x0000000000000002LL};
62324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_block_in_stat205;
63324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_block_in_stat205_data[] = { 0x0000000000000002LL};
64324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_11_in_decl219;
65324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_11_in_decl219_data[] = { 0x0000000000000010LL};
66324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_ID_in_decl221;
67324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_ID_in_decl221_data[] = { 0x0000000000000200LL};
68324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_9_in_decl223;
69324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_9_in_decl223_data[] = { 0x0000000000000002LL};
70324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
71324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
72324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Dynamic Global Scopes
73324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation Symbols_Scope  /* globalAttributeScopeImplementation */
74324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* start of synthesize -- OBJC-Line 1750 */
75324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
76324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize names;
77324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
78324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (Symbols_Scope *)newSymbols_Scope
79324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
80324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[[Symbols_Scope alloc] init] retain];
81324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
82324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
83324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init
84324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
85324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super init];
86324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
87324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
88324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
89324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* start of iterate get and set functions */
90324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
91324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRPtrBuffer *)getnames { return( names ); }
92324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
93324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void)setnames:(ANTLRPtrBuffer *)aVal { names = aVal; }
94324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
95324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* End of iterate get and set functions */
96324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
97324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of Symbols_Scope implementation */
98324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
99324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Dynamic Rule Scopes
101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Rule Return Scopes start
103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//#pragma mark Rule return scopes start
104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//
105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Rule return scopes start
107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SymbolTableParser  // line 637
109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start of ruleAttributeScope */
111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Dynamic Rule Scopes
112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end of ruleAttributeScope */
113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark global Attribute Scopes
114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start globalAttributeScope */
115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic _stack;
116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end globalAttributeScope */
118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start actions.(actionScope).synthesize */
119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end actions.(actionScope).synthesize */
120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start synthesize() */
121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end synthesize() */
122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (void) initialize
124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    #pragma mark Bitsets
126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_globals_in_prog50 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_globals_in_prog50_data Count:(NSUInteger)1] retain];
127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_method_in_prog53 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_method_in_prog53_data Count:(NSUInteger)1] retain];
128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_decl_in_globals85 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_decl_in_globals85_data Count:(NSUInteger)1] retain];
129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_12_in_method116 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_12_in_method116_data Count:(NSUInteger)1] retain];
130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_ID_in_method118 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_method118_data Count:(NSUInteger)1] retain];
131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_7_in_method120 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_method120_data Count:(NSUInteger)1] retain];
132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_8_in_method122 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_8_in_method122_data Count:(NSUInteger)1] retain];
133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_block_in_method124 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_method124_data Count:(NSUInteger)1] retain];
134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_13_in_block153 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_13_in_block153_data Count:(NSUInteger)1] retain];
135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_decl_in_block156 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_decl_in_block156_data Count:(NSUInteger)1] retain];
136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_stat_in_block161 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_stat_in_block161_data Count:(NSUInteger)1] retain];
137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_14_in_block165 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_14_in_block165_data Count:(NSUInteger)1] retain];
138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_ID_in_stat189 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_stat189_data Count:(NSUInteger)1] retain];
139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_10_in_stat191 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_10_in_stat191_data Count:(NSUInteger)1] retain];
140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_INT_in_stat193 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_INT_in_stat193_data Count:(NSUInteger)1] retain];
141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_9_in_stat195 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_9_in_stat195_data Count:(NSUInteger)1] retain];
142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_block_in_stat205 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_stat205_data Count:(NSUInteger)1] retain];
143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_11_in_decl219 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_11_in_decl219_data Count:(NSUInteger)1] retain];
144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_ID_in_decl221 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_decl221_data Count:(NSUInteger)1] retain];
145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    FOLLOW_9_in_decl223 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_9_in_decl223_data Count:(NSUInteger)1] retain];
146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [ANTLRBaseRecognizer setTokenNames:[[AMutableArray arrayWithObjects:@"<invalid>", @"<EOR>", @"<DOWN>", @"<UP>",
148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @"ID", @"INT", @"WS", @"'('", @"')'", @"';'", @"'='", @"'int'", @"'method'",
149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @"'{'", @"'}'", nil] retain]];
150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [ANTLRBaseRecognizer setGrammarFileName:@"SymbolTable.g"];
151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SymbolTableParser *)newSymbolTableParser:(id<ANTLRTokenStream>)aStream
154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[SymbolTableParser alloc] initWithTokenStream:aStream];
156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) initWithTokenStream:(id<ANTLRTokenStream>)aStream
161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:6+1] retain]];
163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if ( self != nil ) {
164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* globalAttributeScopeInit */
167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        Symbols_scope = [Symbols_Scope newSymbols_Scope];
168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        Symbols_stack = [ANTLRSymbolStack newANTLRSymbolStackWithLen:30];
169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* start of actions-actionScope-init */
170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        level = 0;
172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* start of init */
174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [Symbols_stack release];
181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start members */
185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end members */
186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start actions.(actionScope).methods */
187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end actions.(actionScope).methods */
188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start methods() */
189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end methods() */
190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start rules */
191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start prog
193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SymbolTable.g:25:1: prog : globals ( method )* ;
194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) prog
196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SymbolTable.g:27:5: ( globals ( method )* ) // ruleBlockSingleAlt
202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SymbolTable.g:27:9: globals ( method )* // alt
203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_globals_in_prog50];
206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self globals];
207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
211324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
212324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        do {
213324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger alt1=2;
214324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger LA1_0 = [input LA:1];
215324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( (LA1_0==12) ) {
216324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt1=1;
217324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
218324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
219324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
220324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            switch (alt1) {
221324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                case 1 : ;
222324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // SymbolTable.g:27:18: method // alt
223324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
224324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    /* ruleRef */
225324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self pushFollow:FOLLOW_method_in_prog53];
226324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self method];
227324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
228324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self popFollow];
229324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
230324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
231324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
232324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
233324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    break;
234324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
235324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                default :
236324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    goto loop1;
237324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
238324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } while (YES);
239324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        loop1: ;
240324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
241324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
242324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
243324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
244324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
245324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
246324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
247324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
248324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
249324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
250324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
251324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
252324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
253324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
254324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
255324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
256324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return ;
257324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
258324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end prog */
259324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
260324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
261324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start globals
262324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SymbolTable.g:30:1: globals : ( decl )* ;
263324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
264324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) globals
265324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
266324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
267324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
268324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [Symbols_stack push:[[Symbols_Scope newSymbols_Scope] retain]];
269324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
270324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
271324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        level++;
272324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* scopeSetAttributeRef */((Symbols_Scope *)[Symbols_stack peek]).names =  [ANTLRPtrBuffer newANTLRPtrBufferWithLen:10];
273324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
274324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
275324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SymbolTable.g:36:5: ( ( decl )* ) // ruleBlockSingleAlt
276324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SymbolTable.g:36:9: ( decl )* // alt
277324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
278324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        do {
279324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger alt2=2;
280324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger LA2_0 = [input LA:1];
281324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( (LA2_0==11) ) {
282324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt2=1;
283324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
284324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
285324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
286324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            switch (alt2) {
287324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                case 1 : ;
288324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // SymbolTable.g:36:10: decl // alt
289324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
290324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    /* ruleRef */
291324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self pushFollow:FOLLOW_decl_in_globals85];
292324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self decl];
293324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
294324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self popFollow];
295324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
296324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
297324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
298324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
299324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    break;
300324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
301324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                default :
302324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    goto loop2;
303324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
304324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } while (YES);
305324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        loop2: ;
306324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
307324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
308324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
309324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    NSLog( @"globals: %@", [((Symbols_Scope *)[Symbols_stack peek]).names toString] );
310324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    level--;
311324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
312324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
313324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
314324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
315324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
316324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
317324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
318324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
319324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
320324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
321324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
322324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
323324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
324324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
325324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
326324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [Symbols_stack pop];
327324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
328324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
329324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return ;
330324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
331324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end globals */
332324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
333324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
334324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start method
335324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SymbolTable.g:43:1: method : 'method' ID '(' ')' block ;
336324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
337324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) method
338324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
339324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
340324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
341324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
342324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
343324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SymbolTable.g:44:5: ( 'method' ID '(' ')' block ) // ruleBlockSingleAlt
344324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SymbolTable.g:44:9: 'method' ID '(' ')' block // alt
345324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
346324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self match:input TokenType:12 Follow:FOLLOW_12_in_method116];
347324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
348324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self match:input TokenType:ID Follow:FOLLOW_ID_in_method118];
349324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
350324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self match:input TokenType:7 Follow:FOLLOW_7_in_method120];
351324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
352324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self match:input TokenType:8 Follow:FOLLOW_8_in_method122];
353324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
354324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* ruleRef */
355324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self pushFollow:FOLLOW_block_in_method124];
356324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self block];
357324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
358324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self popFollow];
359324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
360324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
361324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
362324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
363324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
364324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
365324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
366324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
367324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
368324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
369324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
370324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
371324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
372324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
373324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
374324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
375324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
376324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return ;
377324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
378324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end method */
379324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
380324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
381324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start block
382324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SymbolTable.g:47:1: block : '{' ( decl )* ( stat )* '}' ;
383324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
384324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) block
385324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
386324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
387324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
388324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [Symbols_stack push:[[Symbols_Scope newSymbols_Scope] retain]];
389324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
390324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
391324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        level++;
392324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* scopeSetAttributeRef */((Symbols_Scope *)[Symbols_stack peek]).names =  [ANTLRPtrBuffer newANTLRPtrBufferWithLen:10];
393324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
394324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
395324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SymbolTable.g:53:5: ( '{' ( decl )* ( stat )* '}' ) // ruleBlockSingleAlt
396324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SymbolTable.g:53:9: '{' ( decl )* ( stat )* '}' // alt
397324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
398324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self match:input TokenType:13 Follow:FOLLOW_13_in_block153];
399324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
400324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        do {
401324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger alt3=2;
402324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger LA3_0 = [input LA:1];
403324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( (LA3_0==11) ) {
404324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt3=1;
405324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
406324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
407324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
408324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            switch (alt3) {
409324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                case 1 : ;
410324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // SymbolTable.g:53:14: decl // alt
411324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
412324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    /* ruleRef */
413324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self pushFollow:FOLLOW_decl_in_block156];
414324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self decl];
415324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
416324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self popFollow];
417324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
418324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
419324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
420324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
421324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    break;
422324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
423324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                default :
424324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    goto loop3;
425324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
426324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } while (YES);
427324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        loop3: ;
428324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
429324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
430324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        do {
431324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger alt4=2;
432324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger LA4_0 = [input LA:1];
433324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( (LA4_0==ID||LA4_0==13) ) {
434324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt4=1;
435324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
436324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
437324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
438324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            switch (alt4) {
439324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                case 1 : ;
440324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // SymbolTable.g:53:22: stat // alt
441324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
442324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    /* ruleRef */
443324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self pushFollow:FOLLOW_stat_in_block161];
444324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self stat];
445324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
446324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    [self popFollow];
447324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
448324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
449324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
450324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
451324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    break;
452324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
453324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                default :
454324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    goto loop4;
455324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
456324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } while (YES);
457324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        loop4: ;
458324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
459324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
460324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self match:input TokenType:14 Follow:FOLLOW_14_in_block165];
461324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
462324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
463324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    NSLog( @"level %d symbols: %@", level, [((Symbols_Scope *)[Symbols_stack peek]).names toString] );
464324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    level--;
465324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
466324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
467324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
468324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
469324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
470324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
471324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
472324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
473324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
474324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
475324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
476324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
477324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
478324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
479324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
480324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [Symbols_stack pop];
481324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
482324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
483324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return ;
484324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
485324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end block */
486324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
487324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
488324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start stat
489324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SymbolTable.g:60:1: stat : ( ID '=' INT ';' | block );
490324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
491324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) stat
492324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
493324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
494324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
495324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
496324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
497324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SymbolTable.g:60:5: ( ID '=' INT ';' | block ) //ruleblock
498324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger alt5=2;
499324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger LA5_0 = [input LA:1];
500324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
501324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if ( (LA5_0==ID) ) {
502324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt5=1;
503324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
504324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        else if ( (LA5_0==13) ) {
505324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt5=2;
506324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
507324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        else {
508324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:5 state:0 stream:input];
509324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            nvae.c = LA5_0;
510324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            @throw nvae;
511324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
512324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
513324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        switch (alt5) {
514324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 1 : ;
515324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SymbolTable.g:60:9: ID '=' INT ';' // alt
516324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
517324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self match:input TokenType:ID Follow:FOLLOW_ID_in_stat189];
518324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
519324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self match:input TokenType:10 Follow:FOLLOW_10_in_stat191];
520324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
521324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self match:input TokenType:INT Follow:FOLLOW_INT_in_stat193];
522324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
523324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self match:input TokenType:9 Follow:FOLLOW_9_in_stat195];
524324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
525324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
526324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
527324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            case 2 : ;
528324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                // SymbolTable.g:61:9: block // alt
529324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                {
530324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                /* ruleRef */
531324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self pushFollow:FOLLOW_block_in_stat205];
532324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self block];
533324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
534324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                [self popFollow];
535324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
536324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
537324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
538324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
539324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                break;
540324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
541324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
542324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
543324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
544324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
545324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
546324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
547324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
548324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
549324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
550324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
551324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
552324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
553324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
554324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return ;
555324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
556324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end stat */
557324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
558324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/*
559324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start decl
560324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SymbolTable.g:64:1: decl : 'int' ID ';' ;
561324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
562324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) decl
563324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
564324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
565324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
566324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
567324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
568324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRCommonToken *ID1 = nil;
569324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
570324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SymbolTable.g:64:5: ( 'int' ID ';' ) // ruleBlockSingleAlt
571324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // SymbolTable.g:64:9: 'int' ID ';' // alt
572324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
573324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self match:input TokenType:11 Follow:FOLLOW_11_in_decl219];
574324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
575324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ID1=(ANTLRCommonToken *)[self match:input TokenType:ID Follow:FOLLOW_ID_in_decl221];
576324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
577324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self match:input TokenType:9 Follow:FOLLOW_9_in_decl223];
578324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
579324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [((Symbols_Scope *)[Symbols_stack peek]).names addObject:ID1];
580324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
581324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
582324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
583324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
584324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
585324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
586324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
587324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @catch (ANTLRRecognitionException *re) {
588324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self reportError:re];
589324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self recover:input Exception:re];
590324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
591324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
592324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
593324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
594324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
595324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
596324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return ;
597324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
598324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end decl */
599324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end rules */
600324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
601324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of SymbolTableParser implementation line 692 */
602