1/** \file
2 *  This OBJC source file was generated by $ANTLR version 3.4
3 *
4 *     -  From the grammar source file : /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g
5 *     -                            On : 2012-02-16 17:59:08
6 *     -           for the tree parser : LangDumpDeclTreeParser
7 *
8 * Editing it, at least manually, is not wise.
9 *
10 * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com.
11 *
12 *
13*/
14// $ANTLR 3.4 /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g 2012-02-16 17:59:08
15
16
17/* -----------------------------------------
18 * Include the ANTLR3 generated header file.
19 */
20#import "LangDumpDecl.h"
21/* ----------------------------------------- */
22
23
24/* ============================================================================= */
25/* =============================================================================
26 * Start of recognizer
27 */
28
29#pragma mark Bitsets
30static ANTLRBitSet *FOLLOW_DECL_in_decl45;
31static const unsigned long long FOLLOW_DECL_in_decl45_data[] = { 0x0000000000000004LL};
32static ANTLRBitSet *FOLLOW_type_in_decl47;
33static const unsigned long long FOLLOW_type_in_decl47_data[] = { 0x0000000000000040LL};
34static ANTLRBitSet *FOLLOW_declarator_in_decl49;
35static const unsigned long long FOLLOW_declarator_in_decl49_data[] = { 0x0000000000000008LL};
36static ANTLRBitSet *FOLLOW_INTTYPE_in_type81;
37static const unsigned long long FOLLOW_INTTYPE_in_type81_data[] = { 0x0000000000000002LL};
38static ANTLRBitSet *FOLLOW_ID_in_declarator95;
39static const unsigned long long FOLLOW_ID_in_declarator95_data[] = { 0x0000000000000002LL};
40
41
42#pragma mark Dynamic Global globalAttributeScopeImplementation
43
44#pragma mark Dynamic Rule Scopes ruleAttributeScopeImplementation
45
46#pragma mark Rule Return Scopes returnScopeImplementation
47@implementation LangDumpDecl_declarator_return /* returnScopeImplementation */
48 /* start of synthesize -- OBJC-Line 1837 */
49+ (LangDumpDecl_declarator_return *)newLangDumpDecl_declarator_return
50{
51return [[[LangDumpDecl_declarator_return alloc] init] retain];
52}
53
54- (id) init
55{
56self = [super init];
57return self;
58}
59
60
61
62@end /* end of returnScope implementation */
63
64
65
66@implementation LangDumpDecl  // line 637
67
68/* ObjC start of ruleAttributeScope */
69#pragma mark Dynamic Rule Scopes ruleAttributeScope
70/* ObjC end of ruleAttributeScope */
71#pragma mark global Attribute Scopes globalAttributeScope
72/* ObjC start globalAttributeScope */
73/* ObjC end globalAttributeScope */
74/* ObjC start actions.(actionScope).synthesize */
75/* ObjC start synthesize() */
76
77+ (void) initialize
78{
79    #pragma mark Bitsets
80    FOLLOW_DECL_in_decl45 = [[ANTLRBitSet newBitSetWithBits:(const unsigned long long *)FOLLOW_DECL_in_decl45_data Count:(NSUInteger)1] retain];
81    FOLLOW_type_in_decl47 = [[ANTLRBitSet newBitSetWithBits:(const unsigned long long *)FOLLOW_type_in_decl47_data Count:(NSUInteger)1] retain];
82    FOLLOW_declarator_in_decl49 = [[ANTLRBitSet newBitSetWithBits:(const unsigned long long *)FOLLOW_declarator_in_decl49_data Count:(NSUInteger)1] retain];
83    FOLLOW_INTTYPE_in_type81 = [[ANTLRBitSet newBitSetWithBits:(const unsigned long long *)FOLLOW_INTTYPE_in_type81_data Count:(NSUInteger)1] retain];
84    FOLLOW_ID_in_declarator95 = [[ANTLRBitSet newBitSetWithBits:(const unsigned long long *)FOLLOW_ID_in_declarator95_data Count:(NSUInteger)1] retain];
85
86    [BaseRecognizer setTokenNames:[[AMutableArray arrayWithObjects:@"<invalid>", @"<EOR>", @"<DOWN>", @"<UP>",
87 @"DECL", @"FLOATTYPE", @"ID", @"INT", @"INTTYPE", @"WS", @"';'", nil] retain]];
88    [BaseRecognizer setGrammarFileName:@"/Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g"];
89}
90
91+ (LangDumpDecl *)newLangDumpDecl:(id<TreeNodeStream>)aStream
92{
93    return [[LangDumpDecl alloc] initWithStream:aStream];
94}
95
96- (id) initWithStream:(id<TreeNodeStream>)aStream
97{
98    self = [super initWithStream:aStream State:[[RecognizerSharedState newRecognizerSharedStateWithRuleLen:3+1] retain]];
99    if ( self != nil ) {
100        /* start of actions-actionScope-init */
101        /* start of init */
102    }
103    return self;
104}
105
106- (void) dealloc
107{
108    [super dealloc];
109}
110
111/* ObjC start actions.(actionScope).methods */
112/* ObjC end actions.(actionScope).methods */
113/* ObjC start methods() */
114/* ObjC end methods() */
115/* ObjC start rules */
116/*
117 * $ANTLR start decl
118 * /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g:8:1: decl : ^( DECL type declarator ) ;
119 */
120- (void) decl
121{
122    /* ruleScopeSetUp */
123
124    /* ruleDeclarations */
125
126    @try {
127        /* ruleLabelDefs entry */
128        LangDumpDecl_declarator_return * declarator1 = nil ;
129
130
131        // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g:8:6: ( ^( DECL type declarator ) ) // ruleBlockSingleAlt
132        // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g:8:8: ^( DECL type declarator ) // alt
133        {
134
135
136        [self match:input TokenType:DECL Follow:FOLLOW_DECL_in_decl45];
137
138            [self match:input TokenType:DOWN Follow:nil];
139
140            /* ruleRef */
141            [self pushFollow:FOLLOW_type_in_decl47];
142            [self type];
143
144            [self popFollow];
145
146
147
148            /* ruleRef */
149            [self pushFollow:FOLLOW_declarator_in_decl49];
150            declarator1 = [self declarator];
151
152            [self popFollow];
153
154
155
156            [self match:input TokenType:UP Follow:nil];
157
158
159
160         NSLog(@"int %@", (declarator1!=nil?[[input getTokenStream] toStringFromStart:[[input getTreeAdaptor] getTokenStartIndex:[declarator1 getStart]]ToEnd:[[input getTreeAdaptor] getTokenStopIndex:[declarator1 getStart]]]:0));
161
162
163        }
164
165        /* token+rule list labels */
166
167    }
168    @catch (RecognitionException *re) {
169        [self reportError:re];
170        [self recover:input Exception:re];
171    }
172
173    @finally {
174        /* ruleScopeCleanUp */
175
176    }
177    return ;
178}
179/* $ANTLR end decl */
180
181/*
182 * $ANTLR start type
183 * /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g:13:1: type : INTTYPE ;
184 */
185- (void) type
186{
187    /* ruleScopeSetUp */
188
189    /* ruleDeclarations */
190
191    @try {
192        /* ruleLabelDefs entry */
193
194
195        // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g:13:6: ( INTTYPE ) // ruleBlockSingleAlt
196        // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g:13:8: INTTYPE // alt
197        {
198
199        [self match:input TokenType:INTTYPE Follow:FOLLOW_INTTYPE_in_type81];
200
201        }
202
203        /* token+rule list labels */
204
205    }
206    @catch (RecognitionException *re) {
207        [self reportError:re];
208        [self recover:input Exception:re];
209    }
210
211    @finally {
212        /* ruleScopeCleanUp */
213
214    }
215    return ;
216}
217/* $ANTLR end type */
218
219/*
220 * $ANTLR start declarator
221 * /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g:15:1: declarator : ID ;
222 */
223- (LangDumpDecl_declarator_return *) declarator
224{
225    /* ruleScopeSetUp */
226
227    /* ruleDeclarations */
228    LangDumpDecl_declarator_return * retval = [LangDumpDecl_declarator_return newLangDumpDecl_declarator_return];
229    [retval setStart:[input LT:1]];
230
231
232    @try {
233        /* ruleLabelDefs entry */
234
235
236        // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g:16:6: ( ID ) // ruleBlockSingleAlt
237        // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/treeparser/LangDumpDecl.g:16:8: ID // alt
238        {
239
240        [self match:input TokenType:ID Follow:FOLLOW_ID_in_declarator95];
241
242        }
243
244        /* token+rule list labels */
245
246    }
247    @catch (RecognitionException *re) {
248        [self reportError:re];
249        [self recover:input Exception:re];
250    }
251
252    @finally {
253        /* ruleScopeCleanUp */
254
255    }
256    return retval;
257}
258/* $ANTLR end declarator */
259/* ObjC end rules */
260
261@end /* end of LangDumpDecl implementation line 692 */
262