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 : SimpleCTP.g 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * - On : 2011-05-06 15:09:28 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * - for the tree parser : SimpleCTPTreeParser 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} SimpleCTP.g 2011-05-06 15:09:28 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ----------------------------------------- 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Include the ANTLR3 generated header file. 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import "SimpleCTP.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_declaration_in_program56; 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_declaration_in_program56_data[] = { 0x00000000020000C2LL}; 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_variable_in_declaration76; 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_variable_in_declaration76_data[] = { 0x0000000000000002LL}; 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_FUNC_DECL_in_declaration87; 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_FUNC_DECL_in_declaration87_data[] = { 0x0000000000000004LL}; 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_functionHeader_in_declaration89; 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_functionHeader_in_declaration89_data[] = { 0x0000000000000008LL}; 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_FUNC_DEF_in_declaration101; 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_FUNC_DEF_in_declaration101_data[] = { 0x0000000000000004LL}; 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_functionHeader_in_declaration103; 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_functionHeader_in_declaration103_data[] = { 0x0000000000000020LL}; 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_block_in_declaration105; 43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_block_in_declaration105_data[] = { 0x0000000000000008LL}; 44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_VAR_DEF_in_variable126; 45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_VAR_DEF_in_variable126_data[] = { 0x0000000000000004LL}; 46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_type_in_variable128; 47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_type_in_variable128_data[] = { 0x0000000000004000LL}; 48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_declarator_in_variable130; 49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_declarator_in_variable130_data[] = { 0x0000000000000008LL}; 50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_ID_in_declarator150; 51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_ID_in_declarator150_data[] = { 0x0000000000000002LL}; 52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_FUNC_HDR_in_functionHeader171; 53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_FUNC_HDR_in_functionHeader171_data[] = { 0x0000000000000004LL}; 54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_type_in_functionHeader173; 55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_type_in_functionHeader173_data[] = { 0x0000000000004000LL}; 56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_ID_in_functionHeader175; 57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_ID_in_functionHeader175_data[] = { 0x0000000000000010LL}; 58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_formalParameter_in_functionHeader177; 59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_formalParameter_in_functionHeader177_data[] = { 0x0000000000000018LL}; 60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_ARG_DEF_in_formalParameter199; 61324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_ARG_DEF_in_formalParameter199_data[] = { 0x0000000000000004LL}; 62324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_type_in_formalParameter201; 63324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_type_in_formalParameter201_data[] = { 0x0000000000004000LL}; 64324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_declarator_in_formalParameter203; 65324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_declarator_in_formalParameter203_data[] = { 0x0000000000000008LL}; 66324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_BLOCK_in_block283; 67324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_BLOCK_in_block283_data[] = { 0x0000000000000004LL}; 68324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_variable_in_block285; 69324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_variable_in_block285_data[] = { 0x000000000218F828LL}; 70324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_stat_in_block288; 71324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_stat_in_block288_data[] = { 0x000000000018F828LL}; 72324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_forStat_in_stat302; 73324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_forStat_in_stat302_data[] = { 0x0000000000000002LL}; 74324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_stat310; 75324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_stat310_data[] = { 0x0000000000000002LL}; 76324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_block_in_stat318; 77324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_block_in_stat318_data[] = { 0x0000000000000002LL}; 78324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_FOR_in_forStat338; 79324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_FOR_in_forStat338_data[] = { 0x0000000000000004LL}; 80324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_forStat340; 81324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_forStat340_data[] = { 0x000000000018D800LL}; 82324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_forStat342; 83324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_forStat342_data[] = { 0x000000000018D800LL}; 84324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_forStat344; 85324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_forStat344_data[] = { 0x0000000000000020LL}; 86324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_block_in_forStat346; 87324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_block_in_forStat346_data[] = { 0x0000000000000008LL}; 88324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_EQEQ_in_expr362; 89324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_EQEQ_in_expr362_data[] = { 0x0000000000000004LL}; 90324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_expr364; 91324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_expr364_data[] = { 0x000000000018D800LL}; 92324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_expr366; 93324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_expr366_data[] = { 0x0000000000000008LL}; 94324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_LT_in_expr378; 95324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_LT_in_expr378_data[] = { 0x0000000000000004LL}; 96324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_expr380; 97324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_expr380_data[] = { 0x000000000018D800LL}; 98324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_expr382; 99324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_expr382_data[] = { 0x0000000000000008LL}; 100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_PLUS_in_expr394; 101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_PLUS_in_expr394_data[] = { 0x0000000000000004LL}; 102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_expr396; 103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_expr396_data[] = { 0x000000000018D800LL}; 104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_expr398; 105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_expr398_data[] = { 0x0000000000000008LL}; 106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_EQ_in_expr410; 107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_EQ_in_expr410_data[] = { 0x0000000000000004LL}; 108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_K_ID_in_expr412; 109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_K_ID_in_expr412_data[] = { 0x000000000018D800LL}; 110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_expr_in_expr416; 111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_expr_in_expr416_data[] = { 0x0000000000000008LL}; 112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic ANTLRBitSet *FOLLOW_atom_in_expr429; 113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic const unsigned long long FOLLOW_atom_in_expr429_data[] = { 0x0000000000000002LL}; 114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Dynamic Global Scopes 117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation Symbols_Scope /* globalAttributeScopeImplementation */ 118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* start of synthesize -- OBJC-Line 1750 */ 119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@synthesize tree; 121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (Symbols_Scope *)newSymbols_Scope 123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return [[[Symbols_Scope alloc] init] retain]; 125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init 128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver self = [super init]; 130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return self; 131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* start of iterate get and set functions */ 134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (ANTLRCommonTree *)gettree { return( tree ); } 136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void)settree:(ANTLRCommonTree *)aVal { tree = aVal; } 138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* End of iterate get and set functions */ 140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of Symbols_Scope implementation */ 142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Dynamic Rule Scopes 145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Rule Return Scopes start 147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCTP_expr_return /* returnScope */ 148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* start of synthesize -- OBJC-Line 1837 */ 149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCTP_expr_return *)newSimpleCTP_expr_return 150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return [[[SimpleCTP_expr_return alloc] init] retain]; 152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) init 155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver self = [super init]; 157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return self; 158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of returnScope implementation */ 163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//#pragma mark Rule return scopes start 166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Rule return scopes start 169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation SimpleCTP // line 637 171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start of ruleAttributeScope */ 173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark Dynamic Rule Scopes 174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end of ruleAttributeScope */ 175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#pragma mark global Attribute Scopes 176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start globalAttributeScope */ 177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverstatic _stack; 178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end globalAttributeScope */ 180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start actions.(actionScope).synthesize */ 181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end actions.(actionScope).synthesize */ 182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start synthesize() */ 183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end synthesize() */ 184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (void) initialize 186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver #pragma mark Bitsets 188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_declaration_in_program56 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declaration_in_program56_data Count:(NSUInteger)1] retain]; 189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_variable_in_declaration76 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_variable_in_declaration76_data Count:(NSUInteger)1] retain]; 190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_FUNC_DECL_in_declaration87 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_FUNC_DECL_in_declaration87_data Count:(NSUInteger)1] retain]; 191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_functionHeader_in_declaration89 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_functionHeader_in_declaration89_data Count:(NSUInteger)1] retain]; 192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_FUNC_DEF_in_declaration101 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_FUNC_DEF_in_declaration101_data Count:(NSUInteger)1] retain]; 193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_functionHeader_in_declaration103 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_functionHeader_in_declaration103_data Count:(NSUInteger)1] retain]; 194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_block_in_declaration105 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_declaration105_data Count:(NSUInteger)1] retain]; 195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_VAR_DEF_in_variable126 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_VAR_DEF_in_variable126_data Count:(NSUInteger)1] retain]; 196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_type_in_variable128 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_variable128_data Count:(NSUInteger)1] retain]; 197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_declarator_in_variable130 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declarator_in_variable130_data Count:(NSUInteger)1] retain]; 198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_K_ID_in_declarator150 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_ID_in_declarator150_data Count:(NSUInteger)1] retain]; 199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_FUNC_HDR_in_functionHeader171 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_FUNC_HDR_in_functionHeader171_data Count:(NSUInteger)1] retain]; 200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_type_in_functionHeader173 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_functionHeader173_data Count:(NSUInteger)1] retain]; 201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_K_ID_in_functionHeader175 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_ID_in_functionHeader175_data Count:(NSUInteger)1] retain]; 202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_formalParameter_in_functionHeader177 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_formalParameter_in_functionHeader177_data Count:(NSUInteger)1] retain]; 203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_ARG_DEF_in_formalParameter199 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ARG_DEF_in_formalParameter199_data Count:(NSUInteger)1] retain]; 204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_type_in_formalParameter201 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_formalParameter201_data Count:(NSUInteger)1] retain]; 205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_declarator_in_formalParameter203 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_declarator_in_formalParameter203_data Count:(NSUInteger)1] retain]; 206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_BLOCK_in_block283 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_BLOCK_in_block283_data Count:(NSUInteger)1] retain]; 207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_variable_in_block285 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_variable_in_block285_data Count:(NSUInteger)1] retain]; 208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_stat_in_block288 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_stat_in_block288_data Count:(NSUInteger)1] retain]; 209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_forStat_in_stat302 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_forStat_in_stat302_data Count:(NSUInteger)1] retain]; 210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_expr_in_stat310 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_stat310_data Count:(NSUInteger)1] retain]; 211324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_block_in_stat318 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_stat318_data Count:(NSUInteger)1] retain]; 212324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_K_FOR_in_forStat338 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_FOR_in_forStat338_data Count:(NSUInteger)1] retain]; 213324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_expr_in_forStat340 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_forStat340_data Count:(NSUInteger)1] retain]; 214324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_expr_in_forStat342 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_forStat342_data Count:(NSUInteger)1] retain]; 215324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_expr_in_forStat344 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_forStat344_data Count:(NSUInteger)1] retain]; 216324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_block_in_forStat346 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_forStat346_data Count:(NSUInteger)1] retain]; 217324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_K_EQEQ_in_expr362 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_EQEQ_in_expr362_data Count:(NSUInteger)1] retain]; 218324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_expr_in_expr364 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_expr364_data Count:(NSUInteger)1] retain]; 219324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_expr_in_expr366 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_expr366_data Count:(NSUInteger)1] retain]; 220324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_K_LT_in_expr378 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_LT_in_expr378_data Count:(NSUInteger)1] retain]; 221324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_expr_in_expr380 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_expr380_data Count:(NSUInteger)1] retain]; 222324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_expr_in_expr382 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_expr382_data Count:(NSUInteger)1] retain]; 223324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_K_PLUS_in_expr394 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_PLUS_in_expr394_data Count:(NSUInteger)1] retain]; 224324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_expr_in_expr396 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_expr396_data Count:(NSUInteger)1] retain]; 225324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_expr_in_expr398 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_expr398_data Count:(NSUInteger)1] retain]; 226324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_K_EQ_in_expr410 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_EQ_in_expr410_data Count:(NSUInteger)1] retain]; 227324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_K_ID_in_expr412 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_K_ID_in_expr412_data Count:(NSUInteger)1] retain]; 228324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_expr_in_expr416 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_expr_in_expr416_data Count:(NSUInteger)1] retain]; 229324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver FOLLOW_atom_in_expr429 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_atom_in_expr429_data Count:(NSUInteger)1] retain]; 230324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 231324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [ANTLRBaseRecognizer setTokenNames:[[AMutableArray arrayWithObjects:@"<invalid>", @"<EOR>", @"<DOWN>", @"<UP>", 232324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @"ARG_DEF", @"BLOCK", @"FUNC_DECL", @"FUNC_DEF", @"FUNC_HDR", @"K_CHAR", 233324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @"K_COMMA", @"K_EQ", @"K_EQEQ", @"K_FOR", @"K_ID", @"K_INT", @"K_INT_TYPE", 234324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @"K_LCURLY", @"K_LCURVE", @"K_LT", @"K_PLUS", @"K_RCURLY", @"K_RCURVE", 235324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @"K_SEMICOLON", @"K_VOID", @"VAR_DEF", @"WS", nil] retain]]; 236324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [ANTLRBaseRecognizer setGrammarFileName:@"SimpleCTP.g"]; 237324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 238324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 239324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (SimpleCTP *)newSimpleCTP:(id<ANTLRTreeNodeStream>)aStream 240324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 241324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return [[SimpleCTP alloc] initWithStream:aStream]; 242324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 243324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 244324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 245324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 246324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) initWithStream:(id<ANTLRTreeNodeStream>)aStream 247324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 248324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver self = [super initWithStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:12+1] retain]]; 249324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( self != nil ) { 250324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 251324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 252324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* globalAttributeScopeInit */ 253324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Symbols_scope = [Symbols_Scope newSymbols_Scope]; 254324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver Symbols_stack = [ANTLRSymbolStack newANTLRSymbolStackWithLen:30]; 255324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* start of actions-actionScope-init */ 256324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* start of init */ 257324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 258324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return self; 259324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 260324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 261324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc 262324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 263324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [Symbols_stack release]; 264324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [super dealloc]; 265324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 266324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 267324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start members */ 268324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end members */ 269324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start actions.(actionScope).methods */ 270324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end actions.(actionScope).methods */ 271324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start methods() */ 272324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end methods() */ 273324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start rules */ 274324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* 275324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start program 276324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleCTP.g:13:1: program : ( declaration )+ ; 277324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 278324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) program 279324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 280324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* my ruleScopeSetUp */ 281324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 282324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 283324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @try { 284324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:14:5: ( ( declaration )+ ) // ruleBlockSingleAlt 285324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:14:9: ( declaration )+ // alt 286324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 287324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:14:9: ( declaration )+ // positiveClosureBlock 288324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger cnt1 = 0; 289324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver do { 290324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger alt1 = 2; 291324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger LA1_0 = [input LA:1]; 292324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( ((LA1_0 >= FUNC_DECL && LA1_0 <= FUNC_DEF)||LA1_0==VAR_DEF) ) { 293324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt1=1; 294324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 295324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 296324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 297324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt1) { 298324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : ; 299324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:14:9: declaration // alt 300324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 301324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 302324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_declaration_in_program56]; 303324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self declaration]; 304324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 305324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 306324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 307324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 308324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 309324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 310324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 311324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 312324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default : 313324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( cnt1 >= 1 ) 314324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver goto loop1; 315324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ANTLREarlyExitException *eee = 316324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [ANTLREarlyExitException newException:input decisionNumber:1]; 317324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @throw eee; 318324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 319324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver cnt1++; 320324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } while (YES); 321324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver loop1: ; 322324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 323324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 324324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 325324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 326324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token+rule list labels 327324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 328324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 329324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @catch (ANTLRRecognitionException *re) { 330324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self reportError:re]; 331324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self recover:input Exception:re]; 332324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 333324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 334324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @finally { 335324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 336324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 337324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 338324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 339324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 340324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end program */ 341324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 342324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* 343324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start declaration 344324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleCTP.g:17:1: declaration : ( variable | ^( FUNC_DECL functionHeader ) | ^( FUNC_DEF functionHeader block ) ); 345324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 346324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) declaration 347324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 348324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* my ruleScopeSetUp */ 349324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 350324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 351324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @try { 352324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:18:5: ( variable | ^( FUNC_DECL functionHeader ) | ^( FUNC_DEF functionHeader block ) ) //ruleblock 353324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger alt2=3; 354324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver unichar charLA2 = [input LA:1]; 355324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (charLA2) { 356324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case VAR_DEF: ; 357324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 358324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt2=1; 359324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 360324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 361324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case FUNC_DECL: ; 362324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 363324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt2=2; 364324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 365324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 366324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case FUNC_DEF: ; 367324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 368324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt2=3; 369324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 370324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 371324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 372324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default: ; 373324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:2 state:0 stream:input]; 374324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver nvae.c = charLA2; 375324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @throw nvae; 376324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 377324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 378324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 379324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt2) { 380324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : ; 381324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:18:9: variable // alt 382324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 383324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 384324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_variable_in_declaration76]; 385324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self variable]; 386324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 387324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 388324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 389324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 390324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 391324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 392324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 393324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 2 : ; 394324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:19:9: ^( FUNC_DECL functionHeader ) // alt 395324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 396324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:FUNC_DECL Follow:FOLLOW_FUNC_DECL_in_declaration87]; 397324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 398324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:DOWN Follow:nil]; 399324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 400324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_functionHeader_in_declaration89]; 401324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self functionHeader]; 402324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 403324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 404324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 405324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 406324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 407324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:UP Follow:nil]; 408324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 409324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 410324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 411324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 412324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 3 : ; 413324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:20:9: ^( FUNC_DEF functionHeader block ) // alt 414324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 415324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:FUNC_DEF Follow:FOLLOW_FUNC_DEF_in_declaration101]; 416324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 417324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:DOWN Follow:nil]; 418324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 419324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_functionHeader_in_declaration103]; 420324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self functionHeader]; 421324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 422324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 423324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 424324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 425324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 426324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 427324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_block_in_declaration105]; 428324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self block]; 429324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 430324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 431324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 432324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 433324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 434324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:UP Follow:nil]; 435324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 436324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 437324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 438324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 439324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 440324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 441324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token+rule list labels 442324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 443324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 444324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @catch (ANTLRRecognitionException *re) { 445324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self reportError:re]; 446324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self recover:input Exception:re]; 447324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 448324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 449324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @finally { 450324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 451324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 452324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 453324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 454324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 455324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end declaration */ 456324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 457324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* 458324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start variable 459324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleCTP.g:23:1: variable : ^( VAR_DEF type declarator ) ; 460324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 461324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) variable 462324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 463324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* my ruleScopeSetUp */ 464324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 465324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 466324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @try { 467324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:24:5: ( ^( VAR_DEF type declarator ) ) // ruleBlockSingleAlt 468324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:24:9: ^( VAR_DEF type declarator ) // alt 469324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 470324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:VAR_DEF Follow:FOLLOW_VAR_DEF_in_variable126]; 471324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 472324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:DOWN Follow:nil]; 473324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 474324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_type_in_variable128]; 475324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self type]; 476324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 477324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 478324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 479324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 480324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 481324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 482324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_declarator_in_variable130]; 483324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self declarator]; 484324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 485324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 486324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 487324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 488324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 489324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:UP Follow:nil]; 490324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 491324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 492324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 493324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 494324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token+rule list labels 495324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 496324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 497324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @catch (ANTLRRecognitionException *re) { 498324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self reportError:re]; 499324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self recover:input Exception:re]; 500324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 501324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 502324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @finally { 503324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 504324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 505324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 506324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 507324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 508324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end variable */ 509324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 510324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* 511324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start declarator 512324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleCTP.g:27:1: declarator : K_ID ; 513324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 514324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) declarator 515324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 516324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* my ruleScopeSetUp */ 517324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 518324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 519324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @try { 520324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:28:5: ( K_ID ) // ruleBlockSingleAlt 521324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:28:9: K_ID // alt 522324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 523324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_declarator150]; 524324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 525324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 526324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 527324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token+rule list labels 528324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 529324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 530324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @catch (ANTLRRecognitionException *re) { 531324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self reportError:re]; 532324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self recover:input Exception:re]; 533324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 534324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 535324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @finally { 536324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 537324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 538324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 539324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 540324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 541324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end declarator */ 542324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 543324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* 544324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start functionHeader 545324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleCTP.g:31:1: functionHeader : ^( FUNC_HDR type K_ID ( formalParameter )+ ) ; 546324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 547324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) functionHeader 548324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 549324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* my ruleScopeSetUp */ 550324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 551324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 552324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @try { 553324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:32:5: ( ^( FUNC_HDR type K_ID ( formalParameter )+ ) ) // ruleBlockSingleAlt 554324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:32:9: ^( FUNC_HDR type K_ID ( formalParameter )+ ) // alt 555324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 556324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:FUNC_HDR Follow:FOLLOW_FUNC_HDR_in_functionHeader171]; 557324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 558324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:DOWN Follow:nil]; 559324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 560324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_type_in_functionHeader173]; 561324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self type]; 562324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 563324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 564324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 565324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 566324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 567324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_functionHeader175]; 568324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 569324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:32:30: ( formalParameter )+ // positiveClosureBlock 570324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger cnt3 = 0; 571324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver do { 572324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger alt3 = 2; 573324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger LA3_0 = [input LA:1]; 574324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA3_0==ARG_DEF) ) { 575324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt3=1; 576324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 577324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 578324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 579324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt3) { 580324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : ; 581324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:32:30: formalParameter // alt 582324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 583324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 584324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_formalParameter_in_functionHeader177]; 585324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self formalParameter]; 586324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 587324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 588324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 589324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 590324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 591324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 592324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 593324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 594324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default : 595324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( cnt3 >= 1 ) 596324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver goto loop3; 597324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ANTLREarlyExitException *eee = 598324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [ANTLREarlyExitException newException:input decisionNumber:3]; 599324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @throw eee; 600324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 601324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver cnt3++; 602324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } while (YES); 603324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver loop3: ; 604324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 605324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 606324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:UP Follow:nil]; 607324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 608324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 609324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 610324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 611324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token+rule list labels 612324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 613324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 614324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @catch (ANTLRRecognitionException *re) { 615324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self reportError:re]; 616324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self recover:input Exception:re]; 617324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 618324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 619324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @finally { 620324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 621324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 622324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 623324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 624324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 625324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end functionHeader */ 626324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 627324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* 628324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start formalParameter 629324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleCTP.g:35:1: formalParameter : ^( ARG_DEF type declarator ) ; 630324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 631324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) formalParameter 632324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 633324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* my ruleScopeSetUp */ 634324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 635324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 636324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @try { 637324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:36:5: ( ^( ARG_DEF type declarator ) ) // ruleBlockSingleAlt 638324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:36:9: ^( ARG_DEF type declarator ) // alt 639324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 640324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:ARG_DEF Follow:FOLLOW_ARG_DEF_in_formalParameter199]; 641324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 642324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:DOWN Follow:nil]; 643324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 644324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_type_in_formalParameter201]; 645324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self type]; 646324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 647324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 648324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 649324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 650324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 651324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 652324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_declarator_in_formalParameter203]; 653324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self declarator]; 654324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 655324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 656324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 657324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 658324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 659324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:UP Follow:nil]; 660324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 661324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 662324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 663324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 664324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token+rule list labels 665324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 666324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 667324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @catch (ANTLRRecognitionException *re) { 668324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self reportError:re]; 669324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self recover:input Exception:re]; 670324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 671324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 672324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @finally { 673324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 674324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 675324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 676324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 677324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 678324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end formalParameter */ 679324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 680324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* 681324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start type 682324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleCTP.g:39:1: type : ( K_INT_TYPE | K_CHAR | K_VOID | K_ID ); 683324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 684324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) type 685324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 686324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* my ruleScopeSetUp */ 687324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 688324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 689324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @try { 690324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:40:5: ( K_INT_TYPE | K_CHAR | K_VOID | K_ID ) // ruleBlockSingleAlt 691324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g: // alt 692324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 693324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ([input LA:1] == K_CHAR||[input LA:1] == K_ID||[input LA:1] == K_INT_TYPE||[input LA:1] == K_VOID) { 694324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [input consume]; 695324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [state setIsErrorRecovery:NO]; 696324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } else { 697324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; 698324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @throw mse; 699324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 700324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 701324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 702324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 703324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 704324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token+rule list labels 705324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 706324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 707324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @catch (ANTLRRecognitionException *re) { 708324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self reportError:re]; 709324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self recover:input Exception:re]; 710324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 711324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 712324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @finally { 713324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 714324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 715324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 716324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 717324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 718324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end type */ 719324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 720324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* 721324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start block 722324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleCTP.g:46:1: block : ^( BLOCK ( variable )* ( stat )* ) ; 723324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 724324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) block 725324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 726324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* my ruleScopeSetUp */ 727324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 728324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 729324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @try { 730324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:47:5: ( ^( BLOCK ( variable )* ( stat )* ) ) // ruleBlockSingleAlt 731324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:47:9: ^( BLOCK ( variable )* ( stat )* ) // alt 732324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 733324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:BLOCK Follow:FOLLOW_BLOCK_in_block283]; 734324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 735324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( [input LA:1] == DOWN ) { 736324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:DOWN Follow:nil]; 737324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver do { 738324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger alt4=2; 739324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger LA4_0 = [input LA:1]; 740324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA4_0==VAR_DEF) ) { 741324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt4=1; 742324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 743324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 744324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 745324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt4) { 746324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : ; 747324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:47:17: variable // alt 748324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 749324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 750324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_variable_in_block285]; 751324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self variable]; 752324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 753324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 754324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 755324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 756324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 757324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 758324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 759324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 760324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default : 761324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver goto loop4; 762324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 763324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } while (YES); 764324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver loop4: ; 765324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 766324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 767324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver do { 768324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger alt5=2; 769324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger LA5_0 = [input LA:1]; 770324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ( (LA5_0==BLOCK||(LA5_0 >= K_EQ && LA5_0 <= K_INT)||(LA5_0 >= K_LT && LA5_0 <= K_PLUS)) ) { 771324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt5=1; 772324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 773324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 774324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 775324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt5) { 776324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : ; 777324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:47:27: stat // alt 778324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 779324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 780324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_stat_in_block288]; 781324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self stat]; 782324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 783324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 784324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 785324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 786324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 787324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 788324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 789324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 790324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default : 791324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver goto loop5; 792324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 793324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } while (YES); 794324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver loop5: ; 795324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 796324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 797324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:UP Follow:nil]; 798324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 799324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 800324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 801324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 802324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 803324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token+rule list labels 804324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 805324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 806324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @catch (ANTLRRecognitionException *re) { 807324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self reportError:re]; 808324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self recover:input Exception:re]; 809324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 810324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 811324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @finally { 812324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 813324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 814324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 815324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 816324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 817324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end block */ 818324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 819324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* 820324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start stat 821324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleCTP.g:50:1: stat : ( forStat | expr | block ); 822324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 823324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) stat 824324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 825324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* my ruleScopeSetUp */ 826324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 827324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 828324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @try { 829324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:50:5: ( forStat | expr | block ) //ruleblock 830324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger alt6=3; 831324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver unichar charLA6 = [input LA:1]; 832324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (charLA6) { 833324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case K_FOR: ; 834324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 835324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt6=1; 836324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 837324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 838324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case K_EQ: ; 839324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case K_EQEQ: ; 840324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case K_ID: ; 841324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case K_INT: ; 842324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case K_LT: ; 843324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case K_PLUS: ; 844324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 845324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt6=2; 846324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 847324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 848324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case BLOCK: ; 849324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 850324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt6=3; 851324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 852324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 853324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 854324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default: ; 855324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:6 state:0 stream:input]; 856324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver nvae.c = charLA6; 857324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @throw nvae; 858324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 859324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 860324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 861324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt6) { 862324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : ; 863324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:50:7: forStat // alt 864324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 865324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 866324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_forStat_in_stat302]; 867324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self forStat]; 868324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 869324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 870324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 871324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 872324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 873324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 874324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 875324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 2 : ; 876324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:51:7: expr // alt 877324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 878324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 879324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_expr_in_stat310]; 880324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self expr]; 881324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 882324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 883324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 884324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 885324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 886324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 887324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 888324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 3 : ; 889324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:52:7: block // alt 890324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 891324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 892324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_block_in_stat318]; 893324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self block]; 894324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 895324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 896324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 897324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 898324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 899324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 900324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 901324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 902324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 903324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token+rule list labels 904324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 905324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 906324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @catch (ANTLRRecognitionException *re) { 907324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self reportError:re]; 908324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self recover:input Exception:re]; 909324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 910324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 911324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @finally { 912324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 913324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 914324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 915324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 916324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 917324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end stat */ 918324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 919324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* 920324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start forStat 921324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleCTP.g:55:1: forStat : ^( K_FOR expr expr expr block ) ; 922324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 923324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) forStat 924324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 925324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* my ruleScopeSetUp */ 926324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 927324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 928324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @try { 929324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:56:5: ( ^( K_FOR expr expr expr block ) ) // ruleBlockSingleAlt 930324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:56:9: ^( K_FOR expr expr expr block ) // alt 931324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 932324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:K_FOR Follow:FOLLOW_K_FOR_in_forStat338]; 933324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 934324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:DOWN Follow:nil]; 935324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 936324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_expr_in_forStat340]; 937324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self expr]; 938324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 939324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 940324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 941324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 942324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 943324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 944324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_expr_in_forStat342]; 945324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self expr]; 946324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 947324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 948324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 949324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 950324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 951324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 952324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_expr_in_forStat344]; 953324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self expr]; 954324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 955324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 956324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 957324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 958324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 959324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 960324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_block_in_forStat346]; 961324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self block]; 962324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 963324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 964324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 965324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 966324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 967324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:UP Follow:nil]; 968324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 969324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 970324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 971324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 972324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token+rule list labels 973324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 974324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 975324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @catch (ANTLRRecognitionException *re) { 976324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self reportError:re]; 977324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self recover:input Exception:re]; 978324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 979324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 980324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @finally { 981324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 982324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 983324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 984324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 985324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 986324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end forStat */ 987324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 988324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* 989324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start expr 990324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleCTP.g:59:1: expr : ( ^( K_EQEQ expr expr ) | ^( K_LT expr expr ) | ^( K_PLUS expr expr ) | ^( K_EQ K_ID e= expr ) | atom ); 991324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 992324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (SimpleCTP_expr_return *) expr 993324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 994324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* my ruleScopeSetUp */ 995324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 996324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 997324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCTP_expr_return * retval = [SimpleCTP_expr_return newSimpleCTP_expr_return]; 998324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [retval setStart:[input LT:1]]; 999324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1000324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1001324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @try { 1002324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ANTLRCommonTree *K_ID1 = nil; 1003324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver SimpleCTP_expr_return * e = nil ; 1004324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1005324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1006324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:59:5: ( ^( K_EQEQ expr expr ) | ^( K_LT expr expr ) | ^( K_PLUS expr expr ) | ^( K_EQ K_ID e= expr ) | atom ) //ruleblock 1007324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSInteger alt7=5; 1008324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver unichar charLA7 = [input LA:1]; 1009324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (charLA7) { 1010324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case K_EQEQ: ; 1011324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1012324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=1; 1013324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1014324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1015324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case K_LT: ; 1016324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1017324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=2; 1018324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1019324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1020324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case K_PLUS: ; 1021324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1022324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=3; 1023324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1024324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1025324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case K_EQ: ; 1026324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1027324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=4; 1028324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1029324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1030324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case K_ID: ; 1031324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case K_INT: ; 1032324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1033324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver alt7=5; 1034324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1035324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1036324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1037324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver default: ; 1038324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:7 state:0 stream:input]; 1039324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver nvae.c = charLA7; 1040324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @throw nvae; 1041324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1042324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1043324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1044324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver switch (alt7) { 1045324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 1 : ; 1046324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:59:9: ^( K_EQEQ expr expr ) // alt 1047324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1048324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:K_EQEQ Follow:FOLLOW_K_EQEQ_in_expr362]; 1049324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1050324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:DOWN Follow:nil]; 1051324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 1052324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_expr_in_expr364]; 1053324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self expr]; 1054324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1055324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 1056324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1057324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1058324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1059324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 1060324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_expr_in_expr366]; 1061324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self expr]; 1062324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1063324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 1064324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1065324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1066324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1067324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:UP Follow:nil]; 1068324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1069324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1070324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1071324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1072324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 2 : ; 1073324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:60:9: ^( K_LT expr expr ) // alt 1074324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1075324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:K_LT Follow:FOLLOW_K_LT_in_expr378]; 1076324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1077324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:DOWN Follow:nil]; 1078324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 1079324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_expr_in_expr380]; 1080324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self expr]; 1081324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1082324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 1083324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1084324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1085324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1086324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 1087324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_expr_in_expr382]; 1088324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self expr]; 1089324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1090324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 1091324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1092324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1093324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1094324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:UP Follow:nil]; 1095324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1096324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1097324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1098324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1099324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 3 : ; 1100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:61:9: ^( K_PLUS expr expr ) // alt 1101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:K_PLUS Follow:FOLLOW_K_PLUS_in_expr394]; 1103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:DOWN Follow:nil]; 1105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 1106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_expr_in_expr396]; 1107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self expr]; 1108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 1110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 1114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_expr_in_expr398]; 1115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self expr]; 1116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 1118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:UP Follow:nil]; 1122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 4 : ; 1127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:62:9: ^( K_EQ K_ID e= expr ) // alt 1128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:K_EQ Follow:FOLLOW_K_EQ_in_expr410]; 1130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:DOWN Follow:nil]; 1132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver K_ID1=(ANTLRCommonTree *)[self match:input TokenType:K_ID Follow:FOLLOW_K_ID_in_expr412]; 1133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 1135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_expr_in_expr416]; 1136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver e = [self expr]; 1137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 1139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self match:input TokenType:UP Follow:nil]; 1143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver NSLog(@"assigning %@ to variable %@", (e!=nil?[[input getTokenStream] toStringFromStart:[[input getTreeAdaptor] getTokenStartIndex:[e getStart]]ToEnd:[[input getTreeAdaptor] getTokenStopIndex:[e getStart]]]:0), (K_ID1!=nil?K_ID1.text:nil)); 1146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver case 5 : ; 1151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:63:9: atom // alt 1152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* ruleRef */ 1154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self pushFollow:FOLLOW_atom_in_expr429]; 1155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self atom]; 1156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self popFollow]; 1158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver break; 1163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token+rule list labels 1166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @catch (ANTLRRecognitionException *re) { 1169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self reportError:re]; 1170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self recover:input Exception:re]; 1171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @finally { 1174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 1175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return retval; 1178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 1179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end expr */ 1180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* 1182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * $ANTLR start atom 1183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SimpleCTP.g:66:1: atom : ( K_ID | K_INT ); 1184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */ 1185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) atom 1186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 1187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* my ruleScopeSetUp */ 1188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 1189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @try { 1191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g:67:5: ( K_ID | K_INT ) // ruleBlockSingleAlt 1192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // SimpleCTP.g: // alt 1193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 1194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver if ((([input LA:1] >= K_ID) && ([input LA:1] <= K_INT))) { 1195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [input consume]; 1196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [state setIsErrorRecovery:NO]; 1197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } else { 1198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input]; 1199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @throw mse; 1200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver // token+rule list labels 1206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @catch (ANTLRRecognitionException *re) { 1209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self reportError:re]; 1210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver [self recover:input Exception:re]; 1211324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1212324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1213324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver @finally { 1214324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver /* Terence's stuff */ 1215324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1216324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 1217324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver return ; 1218324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 1219324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end atom */ 1220324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end rules */ 1221324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 1222324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of SimpleCTP implementation line 692 */ 1223