Home | History | Annotate | Download | only in output1
      1 /** \file
      2  *  This OBJC source file was generated by $ANTLR version 3.2 Aug 19, 2010 17:16:04
      3  *
      4  *     -  From the grammar source file : /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g
      5  *     -                            On : 2010-08-19 17:16:47
      6  *     -                for the parser : SymbolTableParserParser *
      7  * Editing it, at least manually, is not wise.
      8  *
      9  * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
     10  *
     11  *
     12 */
     13 // [The "BSD licence"]
     14 // Copyright (c) 2010 Alan Condit
     15 //
     16 // All rights reserved.
     17 //
     18 // Redistribution and use in source and binary forms, with or without
     19 // modification, are permitted provided that the following conditions
     20 // are met:
     21 // 1. Redistributions of source code must retain the above copyright
     22 //    notice, this list of conditions and the following disclaimer.
     23 // 2. Redistributions in binary form must reproduce the above copyright
     24 //    notice, this list of conditions and the following disclaimer in the
     25 //    documentation and/or other materials provided with the distribution.
     26 // 3. The name of the author may not be used to endorse or promote products
     27 //    derived from this software without specific prior written permission.
     28 //
     29 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     30 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     31 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     32 // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     33 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     34 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     35 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     36 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     37 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     38 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     39 
     40 // $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
     41 
     42 /* -----------------------------------------
     43  * Include the ANTLR3 generated header file.
     44  */
     45 #import "SymbolTableParser.h"
     46 /* ----------------------------------------- */
     47 
     48 
     49 /* ============================================================================= */
     50 
     51 /* =============================================================================
     52  * Start of recognizer
     53  */
     54 
     55 
     56 
     57 #pragma mark Bitsets
     58 static ANTLRBitSet *FOLLOW_globals_in_prog44;
     59 
     60 const unsigned long long FOLLOW_globals_in_prog44_data[] = { 0x0000000000000082LL};
     61 
     62 static ANTLRBitSet *FOLLOW_method_in_prog47;
     63 
     64 const unsigned long long FOLLOW_method_in_prog47_data[] = { 0x0000000000000082LL};
     65 
     66 static ANTLRBitSet *FOLLOW_decl_in_globals79;
     67 
     68 const unsigned long long FOLLOW_decl_in_globals79_data[] = { 0x0000000000004002LL};
     69 
     70 static ANTLRBitSet *FOLLOW_7_in_method110;
     71 
     72 const unsigned long long FOLLOW_7_in_method110_data[] = { 0x0000000000000010LL};
     73 
     74 static ANTLRBitSet *FOLLOW_ID_in_method112;
     75 
     76 const unsigned long long FOLLOW_ID_in_method112_data[] = { 0x0000000000000100LL};
     77 
     78 static ANTLRBitSet *FOLLOW_8_in_method114;
     79 
     80 const unsigned long long FOLLOW_8_in_method114_data[] = { 0x0000000000000200LL};
     81 
     82 static ANTLRBitSet *FOLLOW_9_in_method116;
     83 
     84 const unsigned long long FOLLOW_9_in_method116_data[] = { 0x0000000000000400LL};
     85 
     86 static ANTLRBitSet *FOLLOW_block_in_method118;
     87 
     88 const unsigned long long FOLLOW_block_in_method118_data[] = { 0x0000000000000002LL};
     89 
     90 static ANTLRBitSet *FOLLOW_10_in_block147;
     91 
     92 const unsigned long long FOLLOW_10_in_block147_data[] = { 0x0000000000004C10LL};
     93 
     94 static ANTLRBitSet *FOLLOW_decl_in_block150;
     95 
     96 const unsigned long long FOLLOW_decl_in_block150_data[] = { 0x0000000000004C10LL};
     97 
     98 static ANTLRBitSet *FOLLOW_stat_in_block155;
     99 
    100 const unsigned long long FOLLOW_stat_in_block155_data[] = { 0x0000000000000C10LL};
    101 
    102 static ANTLRBitSet *FOLLOW_11_in_block159;
    103 
    104 const unsigned long long FOLLOW_11_in_block159_data[] = { 0x0000000000000002LL};
    105 
    106 static ANTLRBitSet *FOLLOW_ID_in_stat183;
    107 
    108 const unsigned long long FOLLOW_ID_in_stat183_data[] = { 0x0000000000001000LL};
    109 
    110 static ANTLRBitSet *FOLLOW_12_in_stat185;
    111 
    112 const unsigned long long FOLLOW_12_in_stat185_data[] = { 0x0000000000000020LL};
    113 
    114 static ANTLRBitSet *FOLLOW_INT_in_stat187;
    115 
    116 const unsigned long long FOLLOW_INT_in_stat187_data[] = { 0x0000000000002000LL};
    117 
    118 static ANTLRBitSet *FOLLOW_13_in_stat189;
    119 
    120 const unsigned long long FOLLOW_13_in_stat189_data[] = { 0x0000000000000002LL};
    121 
    122 static ANTLRBitSet *FOLLOW_block_in_stat199;
    123 
    124 const unsigned long long FOLLOW_block_in_stat199_data[] = { 0x0000000000000002LL};
    125 
    126 static ANTLRBitSet *FOLLOW_14_in_decl213;
    127 
    128 const unsigned long long FOLLOW_14_in_decl213_data[] = { 0x0000000000000010LL};
    129 
    130 static ANTLRBitSet *FOLLOW_ID_in_decl215;
    131 
    132 const unsigned long long FOLLOW_ID_in_decl215_data[] = { 0x0000000000002000LL};
    133 
    134 static ANTLRBitSet *FOLLOW_13_in_decl217;
    135 
    136 const unsigned long long FOLLOW_13_in_decl217_data[] = { 0x0000000000000002LL};
    137 
    138 
    139 
    140 #pragma mark Dynamic Global Scopes
    141 @implementation Symbols_Scope  /* globalAttributeScopeImpl */
    142 /* start of synthesize -- OBJC-Line 1750 */
    143 
    144 @synthesize names;
    145 + (Symbols_Scope *)newSymbols_Scope
    146 {
    147     return [[[Symbols_Scope alloc] init] retain];
    148 }
    149 /* start of iterate get and set functions */
    150 
    151 - (ANTLRHashMap *)getnames { return( names ); }
    152 
    153 - (void)setnames:(ANTLRHashMap *)aVal { names = aVal; }
    154 
    155 
    156 
    157 /* End of iterate get and set functions */
    158 
    159 @end
    160 
    161 #pragma mark Dynamic Rule Scopes
    162 
    163 #pragma mark Rule return scopes start
    164 
    165 @implementation SymbolTableParser  // line 610
    166 
    167 + (void) initialize
    168 {
    169     FOLLOW_globals_in_prog44 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_globals_in_prog44_data Count:(NSUInteger)1] retain];
    170     FOLLOW_method_in_prog47 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_method_in_prog47_data Count:(NSUInteger)1] retain];
    171     FOLLOW_decl_in_globals79 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_decl_in_globals79_data Count:(NSUInteger)1] retain];
    172     FOLLOW_7_in_method110 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_7_in_method110_data Count:(NSUInteger)1] retain];
    173     FOLLOW_ID_in_method112 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_method112_data Count:(NSUInteger)1] retain];
    174     FOLLOW_8_in_method114 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_8_in_method114_data Count:(NSUInteger)1] retain];
    175     FOLLOW_9_in_method116 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_9_in_method116_data Count:(NSUInteger)1] retain];
    176     FOLLOW_block_in_method118 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_method118_data Count:(NSUInteger)1] retain];
    177     FOLLOW_10_in_block147 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_10_in_block147_data Count:(NSUInteger)1] retain];
    178     FOLLOW_decl_in_block150 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_decl_in_block150_data Count:(NSUInteger)1] retain];
    179     FOLLOW_stat_in_block155 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_stat_in_block155_data Count:(NSUInteger)1] retain];
    180     FOLLOW_11_in_block159 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_11_in_block159_data Count:(NSUInteger)1] retain];
    181     FOLLOW_ID_in_stat183 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_stat183_data Count:(NSUInteger)1] retain];
    182     FOLLOW_12_in_stat185 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_12_in_stat185_data Count:(NSUInteger)1] retain];
    183     FOLLOW_INT_in_stat187 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_INT_in_stat187_data Count:(NSUInteger)1] retain];
    184     FOLLOW_13_in_stat189 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_13_in_stat189_data Count:(NSUInteger)1] retain];
    185     FOLLOW_block_in_stat199 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_block_in_stat199_data Count:(NSUInteger)1] retain];
    186     FOLLOW_14_in_decl213 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_14_in_decl213_data Count:(NSUInteger)1] retain];
    187     FOLLOW_ID_in_decl215 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_decl215_data Count:(NSUInteger)1] retain];
    188     FOLLOW_13_in_decl217 = [[ANTLRBitSet newANTLRBitSetWithBits:(const unsigned long long *)FOLLOW_13_in_decl217_data Count:(NSUInteger)1] retain];
    189 
    190     [ANTLRBaseRecognizer setTokenNames:[[[NSArray alloc] initWithObjects:@"<invalid>", @"<EOR>", @"<DOWN>", @"<UP>",
    191  @"ID", @"INT", @"WS", @"'method'", @"'('", @"')'", @"'{'", @"'}'", @"'='",
    192  @"';'", @"'int'", nil] retain]];
    193 }
    194 
    195 + (SymbolTableParser *)newSymbolTableParser:(id<ANTLRTokenStream>)aStream
    196 {
    197     return [[SymbolTableParser alloc] initWithTokenStream:aStream];
    198 
    199 }
    200 
    201 - (id) initWithTokenStream:(id<ANTLRTokenStream>)aStream
    202 {
    203     if ((self = [super initWithTokenStream:aStream State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:6+1] retain]]) != nil) {
    204 
    205 
    206         (Symbols_Scope *)Symbols_scope = [Symbols_Scope newSymbols_Scope];
    207 
    208         // start of actions-actionScope-init
    209 
    210         level = 0;
    211 
    212         // start of init
    213     }
    214     return self;
    215 }
    216 
    217 - (void) dealloc
    218 {
    219     [Symbols_scope release];
    220     [super dealloc];
    221 }
    222 // start actions.actionScope.methods
    223 // start methods()
    224 // start rules
    225 /*
    226  * $ANTLR start prog
    227  * /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:25:1: prog : globals ( method )* ;
    228  */
    229 - (void) prog
    230 {
    231     // ruleScopeSetUp
    232 
    233     @try {
    234         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:25:5: ( globals ( method )* ) // ruleBlockSingleAlt
    235         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:25:9: globals ( method )* // alt
    236         {
    237         [self pushFollow:FOLLOW_globals_in_prog44];
    238         [self globals];
    239         [self popFollow];
    240 
    241           /* element() */
    242         do {
    243             NSInteger alt1=2;
    244             NSInteger LA1_0 = [input LA:1];
    245             if ( (LA1_0==7) ) {
    246                 alt1=1;
    247             }
    248 
    249 
    250             switch (alt1) {
    251                 case 1 : ;
    252                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:25:18: method // alt
    253                     {
    254                     [self pushFollow:FOLLOW_method_in_prog47];
    255                     [self method];
    256                     [self popFollow];
    257 
    258                       /* element() */
    259                      /* elements */
    260                     }
    261                     break;
    262 
    263                 default :
    264                     goto loop1;
    265             }
    266         } while (YES);
    267         loop1: ;
    268           /* element() */
    269          /* elements */
    270         }
    271 
    272         // token+rule list labels
    273 
    274     }
    275     @catch (ANTLRRecognitionException *re) {
    276         [self reportError:re];
    277         [self recover:input Exception:re];
    278     }    @finally {
    279     }
    280     return ;
    281 }
    282 /* $ANTLR end prog */
    283 /*
    284  * $ANTLR start globals
    285  * /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:28:1: globals : ( decl )* ;
    286  */
    287 - (void) globals
    288 {
    289     // ruleScopeSetUp
    290     gStack = [ANTLRSymbolStack newANTLRSymbolStackWithLen:30];
    291     Symbols_scope = [[Symbols_Scope newSymbols_Scope] retain];
    292     [gStack push:Symbols_scope];
    293 
    294 
    295         level++;
    296         /* scopeSetAttributeRef */
    297     ((Symbols_Scope *)[gStack peek]).names =  [ANTLRHashMap newANTLRHashMapWithLen:101];
    298 
    299     @try {
    300         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:34:5: ( ( decl )* ) // ruleBlockSingleAlt
    301         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:34:9: ( decl )* // alt
    302         {
    303         do {
    304             NSInteger alt2=2;
    305             NSInteger LA2_0 = [input LA:1];
    306             if ( (LA2_0==14) ) {
    307                 alt2=1;
    308             }
    309 
    310 
    311             switch (alt2) {
    312                 case 1 : ;
    313                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:34:10: decl // alt
    314                     {
    315                     [self pushFollow:FOLLOW_decl_in_globals79];
    316                     [self decl];
    317                     [self popFollow];
    318 
    319                       /* element() */
    320                      /* elements */
    321                     }
    322                     break;
    323 
    324                 default :
    325                     goto loop2;
    326             }
    327         } while (YES);
    328         loop2: ;
    329           /* element() */
    330 
    331                 NSLog(@"globals: %@", /* scopeAttributeRef */
    332         ((Symbols_Scope *)[gStack peek]).names);
    333                 level--;
    334                   /* element() */
    335          /* elements */
    336         }
    337 
    338         // token+rule list labels
    339 
    340     }
    341     @catch (ANTLRRecognitionException *re) {
    342         [self reportError:re];
    343         [self recover:input Exception:re];
    344     }    @finally {
    345         [gStack pop];
    346 
    347     }
    348     return ;
    349 }
    350 /* $ANTLR end globals */
    351 /*
    352  * $ANTLR start method
    353  * /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:41:1: method : 'method' ID '(' ')' block ;
    354  */
    355 - (void) method
    356 {
    357     // ruleScopeSetUp
    358 
    359     @try {
    360         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:42:5: ( 'method' ID '(' ')' block ) // ruleBlockSingleAlt
    361         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:42:9: 'method' ID '(' ')' block // alt
    362         {
    363         [self match:input TokenType:7 Follow:FOLLOW_7_in_method110];   /* element() */
    364         [self match:input TokenType:ID Follow:FOLLOW_ID_in_method112];   /* element() */
    365         [self match:input TokenType:8 Follow:FOLLOW_8_in_method114];   /* element() */
    366         [self match:input TokenType:9 Follow:FOLLOW_9_in_method116];   /* element() */
    367         [self pushFollow:FOLLOW_block_in_method118];
    368         [self block];
    369         [self popFollow];
    370 
    371           /* element() */
    372          /* elements */
    373         }
    374 
    375         // token+rule list labels
    376 
    377     }
    378     @catch (ANTLRRecognitionException *re) {
    379         [self reportError:re];
    380         [self recover:input Exception:re];
    381     }    @finally {
    382     }
    383     return ;
    384 }
    385 /* $ANTLR end method */
    386 /*
    387  * $ANTLR start block
    388  * /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:45:1: block : '{' ( decl )* ( stat )* '}' ;
    389  */
    390 - (void) block
    391 {
    392     // ruleScopeSetUp
    393     gStack = [ANTLRSymbolStack newANTLRSymbolStackWithLen:30];
    394     Symbols_scope = [[Symbols_Scope newSymbols_Scope] retain];
    395     [gStack push:Symbols_scope];
    396 
    397 
    398         level++;
    399         /* scopeSetAttributeRef */
    400     ((Symbols_Scope *)[gStack peek]).names =  [ANTLRHashMap newANTLRHashMapWithLen:101];
    401 
    402     @try {
    403         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:51:5: ( '{' ( decl )* ( stat )* '}' ) // ruleBlockSingleAlt
    404         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:51:9: '{' ( decl )* ( stat )* '}' // alt
    405         {
    406         [self match:input TokenType:10 Follow:FOLLOW_10_in_block147];   /* element() */
    407         do {
    408             NSInteger alt3=2;
    409             NSInteger LA3_0 = [input LA:1];
    410             if ( (LA3_0==14) ) {
    411                 alt3=1;
    412             }
    413 
    414 
    415             switch (alt3) {
    416                 case 1 : ;
    417                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:51:14: decl // alt
    418                     {
    419                     [self pushFollow:FOLLOW_decl_in_block150];
    420                     [self decl];
    421                     [self popFollow];
    422 
    423                       /* element() */
    424                      /* elements */
    425                     }
    426                     break;
    427 
    428                 default :
    429                     goto loop3;
    430             }
    431         } while (YES);
    432         loop3: ;
    433           /* element() */
    434         do {
    435             NSInteger alt4=2;
    436             NSInteger LA4_0 = [input LA:1];
    437             if ( (LA4_0==ID||LA4_0==10) ) {
    438                 alt4=1;
    439             }
    440 
    441 
    442             switch (alt4) {
    443                 case 1 : ;
    444                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:51:22: stat // alt
    445                     {
    446                     [self pushFollow:FOLLOW_stat_in_block155];
    447                     [self stat];
    448                     [self popFollow];
    449 
    450                       /* element() */
    451                      /* elements */
    452                     }
    453                     break;
    454 
    455                 default :
    456                     goto loop4;
    457             }
    458         } while (YES);
    459         loop4: ;
    460           /* element() */
    461         [self match:input TokenType:11 Follow:FOLLOW_11_in_block159];   /* element() */
    462 
    463                 NSLog(@"level %d symbols: %@", level, /* scopeAttributeRef */
    464         ((Symbols_Scope *)[gStack peek]).names);
    465                 level--;
    466                   /* element() */
    467          /* elements */
    468         }
    469 
    470         // token+rule list labels
    471 
    472     }
    473     @catch (ANTLRRecognitionException *re) {
    474         [self reportError:re];
    475         [self recover:input Exception:re];
    476     }    @finally {
    477         [gStack pop];
    478 
    479     }
    480     return ;
    481 }
    482 /* $ANTLR end block */
    483 /*
    484  * $ANTLR start stat
    485  * /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:58:1: stat : ( ID '=' INT ';' | block );
    486  */
    487 - (void) stat
    488 {
    489     // ruleScopeSetUp
    490 
    491     @try {
    492         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:58:5: ( ID '=' INT ';' | block ) //ruleblock
    493         NSInteger alt5=2;
    494         NSInteger LA5_0 = [input LA:1];
    495 
    496         if ( (LA5_0==ID) ) {
    497             alt5=1;
    498         }
    499         else if ( (LA5_0==10) ) {
    500             alt5=2;
    501         }
    502         else {
    503             ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:5 state:0 stream:input];
    504             @throw nvae;
    505         }
    506         switch (alt5) {
    507             case 1 : ;
    508                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:58:9: ID '=' INT ';' // alt
    509                 {
    510                 [self match:input TokenType:ID Follow:FOLLOW_ID_in_stat183];   /* element() */
    511                 [self match:input TokenType:12 Follow:FOLLOW_12_in_stat185];   /* element() */
    512                 [self match:input TokenType:INT Follow:FOLLOW_INT_in_stat187];   /* element() */
    513                 [self match:input TokenType:13 Follow:FOLLOW_13_in_stat189];   /* element() */
    514                  /* elements */
    515                 }
    516                 break;
    517             case 2 : ;
    518                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:59:9: block // alt
    519                 {
    520                 [self pushFollow:FOLLOW_block_in_stat199];
    521                 [self block];
    522                 [self popFollow];
    523 
    524                   /* element() */
    525                  /* elements */
    526                 }
    527                 break;
    528 
    529         }
    530         // token+rule list labels
    531 
    532     }
    533     @catch (ANTLRRecognitionException *re) {
    534         [self reportError:re];
    535         [self recover:input Exception:re];
    536     }    @finally {
    537     }
    538     return ;
    539 }
    540 /* $ANTLR end stat */
    541 /*
    542  * $ANTLR start decl
    543  * /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:62:1: decl : 'int' ID ';' ;
    544  */
    545 - (void) decl
    546 {
    547     // ruleScopeSetUp
    548 
    549     @try {
    550         id<ANTLRToken> ID1 = nil;
    551 
    552         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:62:5: ( 'int' ID ';' ) // ruleBlockSingleAlt
    553         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/scopes/SymbolTable.g:62:9: 'int' ID ';' // alt
    554         {
    555         [self match:input TokenType:14 Follow:FOLLOW_14_in_decl213];   /* element() */
    556         ID1=(id<ANTLRToken>)[self match:input TokenType:ID Follow:FOLLOW_ID_in_decl215];   /* element() */
    557         [self match:input TokenType:13 Follow:FOLLOW_13_in_decl217];   /* element() */
    558         [/* scopeAttributeRef */
    559         ((Symbols_Scope *)[gStack peek]).names addObject:ID1];  /* element() */
    560          /* elements */
    561         }
    562 
    563         // token+rule list labels
    564 
    565     }
    566     @catch (ANTLRRecognitionException *re) {
    567         [self reportError:re];
    568         [self recover:input Exception:re];
    569     }    @finally {
    570     }
    571     return ;
    572 }
    573 /* $ANTLR end decl */
    574 
    575 @end // end of SymbolTableParser implementation line 669
    576 
    577 /* End of code
    578  * =============================================================================
    579  */
    580