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
58static ANTLRBitSet *FOLLOW_globals_in_prog44;
59
60const unsigned long long FOLLOW_globals_in_prog44_data[] = { 0x0000000000000082LL};
61
62static ANTLRBitSet *FOLLOW_method_in_prog47;
63
64const unsigned long long FOLLOW_method_in_prog47_data[] = { 0x0000000000000082LL};
65
66static ANTLRBitSet *FOLLOW_decl_in_globals79;
67
68const unsigned long long FOLLOW_decl_in_globals79_data[] = { 0x0000000000004002LL};
69
70static ANTLRBitSet *FOLLOW_7_in_method110;
71
72const unsigned long long FOLLOW_7_in_method110_data[] = { 0x0000000000000010LL};
73
74static ANTLRBitSet *FOLLOW_ID_in_method112;
75
76const unsigned long long FOLLOW_ID_in_method112_data[] = { 0x0000000000000100LL};
77
78static ANTLRBitSet *FOLLOW_8_in_method114;
79
80const unsigned long long FOLLOW_8_in_method114_data[] = { 0x0000000000000200LL};
81
82static ANTLRBitSet *FOLLOW_9_in_method116;
83
84const unsigned long long FOLLOW_9_in_method116_data[] = { 0x0000000000000400LL};
85
86static ANTLRBitSet *FOLLOW_block_in_method118;
87
88const unsigned long long FOLLOW_block_in_method118_data[] = { 0x0000000000000002LL};
89
90static ANTLRBitSet *FOLLOW_10_in_block147;
91
92const unsigned long long FOLLOW_10_in_block147_data[] = { 0x0000000000004C10LL};
93
94static ANTLRBitSet *FOLLOW_decl_in_block150;
95
96const unsigned long long FOLLOW_decl_in_block150_data[] = { 0x0000000000004C10LL};
97
98static ANTLRBitSet *FOLLOW_stat_in_block155;
99
100const unsigned long long FOLLOW_stat_in_block155_data[] = { 0x0000000000000C10LL};
101
102static ANTLRBitSet *FOLLOW_11_in_block159;
103
104const unsigned long long FOLLOW_11_in_block159_data[] = { 0x0000000000000002LL};
105
106static ANTLRBitSet *FOLLOW_ID_in_stat183;
107
108const unsigned long long FOLLOW_ID_in_stat183_data[] = { 0x0000000000001000LL};
109
110static ANTLRBitSet *FOLLOW_12_in_stat185;
111
112const unsigned long long FOLLOW_12_in_stat185_data[] = { 0x0000000000000020LL};
113
114static ANTLRBitSet *FOLLOW_INT_in_stat187;
115
116const unsigned long long FOLLOW_INT_in_stat187_data[] = { 0x0000000000002000LL};
117
118static ANTLRBitSet *FOLLOW_13_in_stat189;
119
120const unsigned long long FOLLOW_13_in_stat189_data[] = { 0x0000000000000002LL};
121
122static ANTLRBitSet *FOLLOW_block_in_stat199;
123
124const unsigned long long FOLLOW_block_in_stat199_data[] = { 0x0000000000000002LL};
125
126static ANTLRBitSet *FOLLOW_14_in_decl213;
127
128const unsigned long long FOLLOW_14_in_decl213_data[] = { 0x0000000000000010LL};
129
130static ANTLRBitSet *FOLLOW_ID_in_decl215;
131
132const unsigned long long FOLLOW_ID_in_decl215_data[] = { 0x0000000000002000LL};
133
134static ANTLRBitSet *FOLLOW_13_in_decl217;
135
136const 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