| /** \file |
| * This OBJC source file was generated by $ANTLR version 3.2 Aug 19, 2010 17:16:04 |
| * |
| * - From the grammar source file : /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g |
| * - On : 2010-08-19 17:16:47 |
| * - for the parser : SymbolTableParserParser * |
| * Editing it, at least manually, is not wise. |
| * |
| * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws. |
| * |
| * |
| */ |
| // [The "BSD licence"] |
| // Copyright (c) 2010 Alan Condit |
| // |
| // All rights reserved. |
| // |
| // Redistribution and use in source and binary forms, with or without |
| // modification, are permitted provided that the following conditions |
| // are met: |
| // 1. Redistributions of source code must retain the above copyright |
| // notice, this list of conditions and the following disclaimer. |
| // 2. Redistributions in binary form must reproduce the above copyright |
| // notice, this list of conditions and the following disclaimer in the |
| // documentation and/or other materials provided with the distribution. |
| // 3. The name of the author may not be used to endorse or promote products |
| // derived from this software without specific prior written permission. |
| // |
| // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
| // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
| // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
| // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
| // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
| // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| |
| // $ANTLR 3.2 Aug 19, 2010 17:16:04 /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g 2010-08-19 17:16:47 |
| |
| /* ----------------------------------------- |
| * Include the ANTLR3 generated header file. |
| */ |
| #import "SymbolTableParser.h" |
| /* ----------------------------------------- */ |
| |
| |
| /* ============================================================================= */ |
| |
| /* ============================================================================= |
| * Start of recognizer |
| */ |
| |
| |
| |
| #pragma mark Bitsets |
| static ANTLRBitSet *FOLLOW_globals_in_prog44; |
| |
| const unsigned long long FOLLOW_globals_in_prog44_data[] = { 0x0000000000000082LL}; |
| |
| static ANTLRBitSet *FOLLOW_method_in_prog47; |
| |
| const unsigned long long FOLLOW_method_in_prog47_data[] = { 0x0000000000000082LL}; |
| |
| static ANTLRBitSet *FOLLOW_decl_in_globals79; |
| |
| const unsigned long long FOLLOW_decl_in_globals79_data[] = { 0x0000000000004002LL}; |
| |
| static ANTLRBitSet *FOLLOW_7_in_method110; |
| |
| const unsigned long long FOLLOW_7_in_method110_data[] = { 0x0000000000000010LL}; |
| |
| static ANTLRBitSet *FOLLOW_ID_in_method112; |
| |
| const unsigned long long FOLLOW_ID_in_method112_data[] = { 0x0000000000000100LL}; |
| |
| static ANTLRBitSet *FOLLOW_8_in_method114; |
| |
| const unsigned long long FOLLOW_8_in_method114_data[] = { 0x0000000000000200LL}; |
| |
| static ANTLRBitSet *FOLLOW_9_in_method116; |
| |
| const unsigned long long FOLLOW_9_in_method116_data[] = { 0x0000000000000400LL}; |
| |
| static ANTLRBitSet *FOLLOW_block_in_method118; |
| |
| const unsigned long long FOLLOW_block_in_method118_data[] = { 0x0000000000000002LL}; |
| |
| static ANTLRBitSet *FOLLOW_10_in_block147; |
| |
| const unsigned long long FOLLOW_10_in_block147_data[] = { 0x0000000000004C10LL}; |
| |
| static ANTLRBitSet *FOLLOW_decl_in_block150; |
| |
| const unsigned long long FOLLOW_decl_in_block150_data[] = { 0x0000000000004C10LL}; |
| |
| static ANTLRBitSet *FOLLOW_stat_in_block155; |
| |
| const unsigned long long FOLLOW_stat_in_block155_data[] = { 0x0000000000000C10LL}; |
| |
| static ANTLRBitSet *FOLLOW_11_in_block159; |
| |
| const unsigned long long FOLLOW_11_in_block159_data[] = { 0x0000000000000002LL}; |
| |
| static ANTLRBitSet *FOLLOW_ID_in_stat183; |
| |
| const unsigned long long FOLLOW_ID_in_stat183_data[] = { 0x0000000000001000LL}; |
| |
| static ANTLRBitSet *FOLLOW_12_in_stat185; |
| |
| const unsigned long long FOLLOW_12_in_stat185_data[] = { 0x0000000000000020LL}; |
| |
| static ANTLRBitSet *FOLLOW_INT_in_stat187; |
| |
| const unsigned long long FOLLOW_INT_in_stat187_data[] = { 0x0000000000002000LL}; |
| |
| static ANTLRBitSet *FOLLOW_13_in_stat189; |
| |
| const unsigned long long FOLLOW_13_in_stat189_data[] = { 0x0000000000000002LL}; |
| |
| static ANTLRBitSet *FOLLOW_block_in_stat199; |
| |
| const unsigned long long FOLLOW_block_in_stat199_data[] = { 0x0000000000000002LL}; |
| |
| static ANTLRBitSet *FOLLOW_14_in_decl213; |
| |
| const unsigned long long FOLLOW_14_in_decl213_data[] = { 0x0000000000000010LL}; |
| |
| static ANTLRBitSet *FOLLOW_ID_in_decl215; |
| |
| const unsigned long long FOLLOW_ID_in_decl215_data[] = { 0x0000000000002000LL}; |
| |
| static ANTLRBitSet *FOLLOW_13_in_decl217; |
| |
| const unsigned long long FOLLOW_13_in_decl217_data[] = { 0x0000000000000002LL}; |
| |
| |
| |
| #pragma mark Dynamic Global Scopes |
| @implementation Symbols_Scope /* globalAttributeScopeImpl */ |
| /* start of synthesize -- OBJC-Line 1750 */ |
| |
| @synthesize names; |
| + (Symbols_Scope *)newSymbols_Scope |
| { |
| return [[[Symbols_Scope alloc] init] retain]; |
| } |
| /* start of iterate get and set functions */ |
| |
| - (ANTLRHashMap *)getnames { return( names ); } |
| |
| - (void)setnames:(ANTLRHashMap *)aVal { names = aVal; } |
| |
| |
| |
| /* End of iterate get and set functions */ |
| |
| @end |
| |
| #pragma mark Dynamic Rule Scopes |
| |
| #pragma mark Rule return scopes start |
| |
| @implementation SymbolTableParser // line 610 |
| |
| + (void) initialize |
| { |
| FOLLOW_globals_in_prog44 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_globals_in_prog44_data Count:(NSUInteger)1] retain]; |
| FOLLOW_method_in_prog47 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_method_in_prog47_data Count:(NSUInteger)1] retain]; |
| FOLLOW_decl_in_globals79 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_decl_in_globals79_data Count:(NSUInteger)1] retain]; |
| FOLLOW_7_in_method110 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_method110_data Count:(NSUInteger)1] retain]; |
| FOLLOW_ID_in_method112 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_method112_data Count:(NSUInteger)1] retain]; |
| FOLLOW_8_in_method114 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_8_in_method114_data Count:(NSUInteger)1] retain]; |
| FOLLOW_9_in_method116 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_9_in_method116_data Count:(NSUInteger)1] retain]; |
| FOLLOW_block_in_method118 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_method118_data Count:(NSUInteger)1] retain]; |
| FOLLOW_10_in_block147 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_10_in_block147_data Count:(NSUInteger)1] retain]; |
| FOLLOW_decl_in_block150 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_decl_in_block150_data Count:(NSUInteger)1] retain]; |
| FOLLOW_stat_in_block155 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_stat_in_block155_data Count:(NSUInteger)1] retain]; |
| FOLLOW_11_in_block159 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_11_in_block159_data Count:(NSUInteger)1] retain]; |
| FOLLOW_ID_in_stat183 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_stat183_data Count:(NSUInteger)1] retain]; |
| FOLLOW_12_in_stat185 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_12_in_stat185_data Count:(NSUInteger)1] retain]; |
| FOLLOW_INT_in_stat187 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_INT_in_stat187_data Count:(NSUInteger)1] retain]; |
| FOLLOW_13_in_stat189 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_13_in_stat189_data Count:(NSUInteger)1] retain]; |
| FOLLOW_block_in_stat199 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_stat199_data Count:(NSUInteger)1] retain]; |
| FOLLOW_14_in_decl213 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_14_in_decl213_data Count:(NSUInteger)1] retain]; |
| FOLLOW_ID_in_decl215 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_decl215_data Count:(NSUInteger)1] retain]; |
| FOLLOW_13_in_decl217 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_13_in_decl217_data Count:(NSUInteger)1] retain]; |
| |
| [ANTLRBaseRecognizer setTokenNames:[[[NSArray alloc] initWithObjects:@"<invalid>", @"<EOR>", @"<DOWN>", @"<UP>", |
| @"ID", @"INT", @"WS", @"'method'", @"'('", @"')'", @"'{'", @"'}'", @"'='", |
| @"';'", @"'int'", nil] retain]]; |
| } |
| |
| + (SymbolTableParser *)newSymbolTableParser:(id<ANTLRTokenStream>)aStream |
| { |
| return [[SymbolTableParser alloc] initWithTokenStream:aStream]; |
| |
| } |
| |
| - (id) initWithTokenStream:(id<ANTLRTokenStream>)aStream |
| { |
| if ((self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:6+1] retain]]) != nil) { |
| |
| |
| (Symbols_Scope *)Symbols_scope = [Symbols_Scope newSymbols_Scope]; |
| |
| // start of actions-actionScope-init |
| |
| level = 0; |
| |
| // start of init |
| } |
| return self; |
| } |
| |
| - (void) dealloc |
| { |
| [Symbols_scope release]; |
| [super dealloc]; |
| } |
| // start actions.actionScope.methods |
| // start methods() |
| // start rules |
| /* |
| * $ANTLR start prog |
| * /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:25:1: prog : globals ( method )* ; |
| */ |
| - (void) prog |
| { |
| // ruleScopeSetUp |
| |
| @try { |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:25:5: ( globals ( method )* ) // ruleBlockSingleAlt |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:25:9: globals ( method )* // alt |
| { |
| [self pushFollow:FOLLOW_globals_in_prog44]; |
| [self globals]; |
| [self popFollow]; |
| |
| /* element() */ |
| do { |
| NSInteger alt1=2; |
| NSInteger LA1_0 = [input LA:1]; |
| if ( (LA1_0==7) ) { |
| alt1=1; |
| } |
| |
| |
| switch (alt1) { |
| case 1 : ; |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:25:18: method // alt |
| { |
| [self pushFollow:FOLLOW_method_in_prog47]; |
| [self method]; |
| [self popFollow]; |
| |
| /* element() */ |
| /* elements */ |
| } |
| break; |
| |
| default : |
| goto loop1; |
| } |
| } while (YES); |
| loop1: ; |
| /* element() */ |
| /* elements */ |
| } |
| |
| // token+rule list labels |
| |
| } |
| @catch (ANTLRRecognitionException *re) { |
| [self reportError:re]; |
| [self recover:input Exception:re]; |
| } @finally { |
| } |
| return ; |
| } |
| /* $ANTLR end prog */ |
| /* |
| * $ANTLR start globals |
| * /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:28:1: globals : ( decl )* ; |
| */ |
| - (void) globals |
| { |
| // ruleScopeSetUp |
| gStack = [ANTLRSymbolStack newANTLRSymbolStackWithLen:30]; |
| Symbols_scope = [[Symbols_Scope newSymbols_Scope] retain]; |
| [gStack push:Symbols_scope]; |
| |
| |
| level++; |
| /* scopeSetAttributeRef */ |
| ((Symbols_Scope *)[gStack peek]).names = [ANTLRHashMap newANTLRHashMapWithLen:101]; |
| |
| @try { |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:34:5: ( ( decl )* ) // ruleBlockSingleAlt |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:34:9: ( decl )* // alt |
| { |
| do { |
| NSInteger alt2=2; |
| NSInteger LA2_0 = [input LA:1]; |
| if ( (LA2_0==14) ) { |
| alt2=1; |
| } |
| |
| |
| switch (alt2) { |
| case 1 : ; |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:34:10: decl // alt |
| { |
| [self pushFollow:FOLLOW_decl_in_globals79]; |
| [self decl]; |
| [self popFollow]; |
| |
| /* element() */ |
| /* elements */ |
| } |
| break; |
| |
| default : |
| goto loop2; |
| } |
| } while (YES); |
| loop2: ; |
| /* element() */ |
| |
| NSLog(@"globals: %@", /* scopeAttributeRef */ |
| ((Symbols_Scope *)[gStack peek]).names); |
| level--; |
| /* element() */ |
| /* elements */ |
| } |
| |
| // token+rule list labels |
| |
| } |
| @catch (ANTLRRecognitionException *re) { |
| [self reportError:re]; |
| [self recover:input Exception:re]; |
| } @finally { |
| [gStack pop]; |
| |
| } |
| return ; |
| } |
| /* $ANTLR end globals */ |
| /* |
| * $ANTLR start method |
| * /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:41:1: method : 'method' ID '(' ')' block ; |
| */ |
| - (void) method |
| { |
| // ruleScopeSetUp |
| |
| @try { |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:42:5: ( 'method' ID '(' ')' block ) // ruleBlockSingleAlt |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:42:9: 'method' ID '(' ')' block // alt |
| { |
| [self match:input TokenType:7 Follow:FOLLOW_7_in_method110]; /* element() */ |
| [self match:input TokenType:ID Follow:FOLLOW_ID_in_method112]; /* element() */ |
| [self match:input TokenType:8 Follow:FOLLOW_8_in_method114]; /* element() */ |
| [self match:input TokenType:9 Follow:FOLLOW_9_in_method116]; /* element() */ |
| [self pushFollow:FOLLOW_block_in_method118]; |
| [self block]; |
| [self popFollow]; |
| |
| /* element() */ |
| /* elements */ |
| } |
| |
| // token+rule list labels |
| |
| } |
| @catch (ANTLRRecognitionException *re) { |
| [self reportError:re]; |
| [self recover:input Exception:re]; |
| } @finally { |
| } |
| return ; |
| } |
| /* $ANTLR end method */ |
| /* |
| * $ANTLR start block |
| * /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:45:1: block : '{' ( decl )* ( stat )* '}' ; |
| */ |
| - (void) block |
| { |
| // ruleScopeSetUp |
| gStack = [ANTLRSymbolStack newANTLRSymbolStackWithLen:30]; |
| Symbols_scope = [[Symbols_Scope newSymbols_Scope] retain]; |
| [gStack push:Symbols_scope]; |
| |
| |
| level++; |
| /* scopeSetAttributeRef */ |
| ((Symbols_Scope *)[gStack peek]).names = [ANTLRHashMap newANTLRHashMapWithLen:101]; |
| |
| @try { |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:51:5: ( '{' ( decl )* ( stat )* '}' ) // ruleBlockSingleAlt |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:51:9: '{' ( decl )* ( stat )* '}' // alt |
| { |
| [self match:input TokenType:10 Follow:FOLLOW_10_in_block147]; /* element() */ |
| do { |
| NSInteger alt3=2; |
| NSInteger LA3_0 = [input LA:1]; |
| if ( (LA3_0==14) ) { |
| alt3=1; |
| } |
| |
| |
| switch (alt3) { |
| case 1 : ; |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:51:14: decl // alt |
| { |
| [self pushFollow:FOLLOW_decl_in_block150]; |
| [self decl]; |
| [self popFollow]; |
| |
| /* element() */ |
| /* elements */ |
| } |
| break; |
| |
| default : |
| goto loop3; |
| } |
| } while (YES); |
| loop3: ; |
| /* element() */ |
| do { |
| NSInteger alt4=2; |
| NSInteger LA4_0 = [input LA:1]; |
| if ( (LA4_0==ID||LA4_0==10) ) { |
| alt4=1; |
| } |
| |
| |
| switch (alt4) { |
| case 1 : ; |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:51:22: stat // alt |
| { |
| [self pushFollow:FOLLOW_stat_in_block155]; |
| [self stat]; |
| [self popFollow]; |
| |
| /* element() */ |
| /* elements */ |
| } |
| break; |
| |
| default : |
| goto loop4; |
| } |
| } while (YES); |
| loop4: ; |
| /* element() */ |
| [self match:input TokenType:11 Follow:FOLLOW_11_in_block159]; /* element() */ |
| |
| NSLog(@"level %d symbols: %@", level, /* scopeAttributeRef */ |
| ((Symbols_Scope *)[gStack peek]).names); |
| level--; |
| /* element() */ |
| /* elements */ |
| } |
| |
| // token+rule list labels |
| |
| } |
| @catch (ANTLRRecognitionException *re) { |
| [self reportError:re]; |
| [self recover:input Exception:re]; |
| } @finally { |
| [gStack pop]; |
| |
| } |
| return ; |
| } |
| /* $ANTLR end block */ |
| /* |
| * $ANTLR start stat |
| * /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:58:1: stat : ( ID '=' INT ';' | block ); |
| */ |
| - (void) stat |
| { |
| // ruleScopeSetUp |
| |
| @try { |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:58:5: ( ID '=' INT ';' | block ) //ruleblock |
| NSInteger alt5=2; |
| NSInteger LA5_0 = [input LA:1]; |
| |
| if ( (LA5_0==ID) ) { |
| alt5=1; |
| } |
| else if ( (LA5_0==10) ) { |
| alt5=2; |
| } |
| else { |
| ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:5 state:0 stream:input]; |
| @throw nvae; |
| } |
| switch (alt5) { |
| case 1 : ; |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:58:9: ID '=' INT ';' // alt |
| { |
| [self match:input TokenType:ID Follow:FOLLOW_ID_in_stat183]; /* element() */ |
| [self match:input TokenType:12 Follow:FOLLOW_12_in_stat185]; /* element() */ |
| [self match:input TokenType:INT Follow:FOLLOW_INT_in_stat187]; /* element() */ |
| [self match:input TokenType:13 Follow:FOLLOW_13_in_stat189]; /* element() */ |
| /* elements */ |
| } |
| break; |
| case 2 : ; |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:59:9: block // alt |
| { |
| [self pushFollow:FOLLOW_block_in_stat199]; |
| [self block]; |
| [self popFollow]; |
| |
| /* element() */ |
| /* elements */ |
| } |
| break; |
| |
| } |
| // token+rule list labels |
| |
| } |
| @catch (ANTLRRecognitionException *re) { |
| [self reportError:re]; |
| [self recover:input Exception:re]; |
| } @finally { |
| } |
| return ; |
| } |
| /* $ANTLR end stat */ |
| /* |
| * $ANTLR start decl |
| * /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:62:1: decl : 'int' ID ';' ; |
| */ |
| - (void) decl |
| { |
| // ruleScopeSetUp |
| |
| @try { |
| id<ANTLRToken> ID1 = nil; |
| |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:62:5: ( 'int' ID ';' ) // ruleBlockSingleAlt |
| // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:62:9: 'int' ID ';' // alt |
| { |
| [self match:input TokenType:14 Follow:FOLLOW_14_in_decl213]; /* element() */ |
| ID1=(id<ANTLRToken>)[self match:input TokenType:ID Follow:FOLLOW_ID_in_decl215]; /* element() */ |
| [self match:input TokenType:13 Follow:FOLLOW_13_in_decl217]; /* element() */ |
| [/* scopeAttributeRef */ |
| ((Symbols_Scope *)[gStack peek]).names addObject:ID1]; /* element() */ |
| /* elements */ |
| } |
| |
| // token+rule list labels |
| |
| } |
| @catch (ANTLRRecognitionException *re) { |
| [self reportError:re]; |
| [self recover:input Exception:re]; |
| } @finally { |
| } |
| return ; |
| } |
| /* $ANTLR end decl */ |
| |
| @end // end of SymbolTableParser implementation line 669 |
| |
| /* End of code |
| * ============================================================================= |
| */ |