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