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 : TreeRewrite.g
5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *     -                            On : 2011-05-06 18:56:28
6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *     -                 for the lexer : TreeRewriteLexerLexer
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} TreeRewrite.g 2011-05-06 18:56:28
15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* -----------------------------------------
18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Include the ANTLR3 generated header file.
19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import "TreeRewriteLexer.h"
21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ----------------------------------------- */
22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ============================================================================= */
25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* =============================================================================
26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Start of recognizer
27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/** As per Terence: No returns for lexer rules! */
30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@implementation TreeRewriteLexer // line 330
31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (void) initialize
33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [ANTLRBaseRecognizer setGrammarFileName:@"TreeRewrite.g"];
35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (NSString *) tokenNameForType:(NSInteger)aTokenType
38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[self getTokenNames] objectAtIndex:aTokenType];
40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (TreeRewriteLexer *)newTreeRewriteLexerWithCharStream:(id<ANTLRCharStream>)anInput
43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[TreeRewriteLexer alloc] initWithCharStream:anInput];
45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (id) initWithCharStream:(id<ANTLRCharStream>)anInput
48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    self = [super initWithCharStream:anInput State:[[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:3+1] retain]];
50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if ( self != nil ) {
51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return self;
53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) dealloc
56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [super dealloc];
58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC Start of actions.lexer.methods */
61324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end of actions.lexer.methods */
62324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC start methods() */
63324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* ObjC end methods() */
64324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
65324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* Start of Rules */
66324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// $ANTLR start "INT"
67324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) mINT
68324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
69324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    //
70324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
71324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
72324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
73324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
74324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger _type = INT;
75324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger _channel = ANTLRTokenChannelDefault;
76324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // TreeRewrite.g:15:5: ( ( '0' .. '9' )+ ) // ruleBlockSingleAlt
77324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // TreeRewrite.g:15:7: ( '0' .. '9' )+ // alt
78324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
79324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // TreeRewrite.g:15:7: ( '0' .. '9' )+ // positiveClosureBlock
80324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger cnt1 = 0;
81324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        do {
82324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger alt1 = 2;
83324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger LA1_0 = [input LA:1];
84324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( ((LA1_0 >= '0' && LA1_0 <= '9')) ) {
85324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt1=1;
86324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
87324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
88324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
89324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            switch (alt1) {
90324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                case 1 : ;
91324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // TreeRewrite.g: // alt
92324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
93324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))) {
94324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [input consume];
95324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    } else {
96324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
97324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [self recover:mse];
98324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        @throw mse;
99324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    break;
104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                default :
106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    if ( cnt1 >= 1 )
107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        goto loop1;
108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    ANTLREarlyExitException *eee =
109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [ANTLREarlyExitException newException:input decisionNumber:1];
110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    @throw eee;
111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            cnt1++;
113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } while (YES);
114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        loop1: ;
115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        state.type = _type;
122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        state.channel = _channel;
123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        //
126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return;
130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end "INT" */
132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// $ANTLR start "WS"
134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) mWS
135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    //
137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger _type = WS;
142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger _channel = ANTLRTokenChannelDefault;
143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // TreeRewrite.g:18:5: ( ' ' ) // ruleBlockSingleAlt
144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // TreeRewrite.g:18:9: ' ' // alt
145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self matchChar:' '];
147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        _channel=HIDDEN;
150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        state.type = _type;
157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        state.channel = _channel;
158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        //
161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return;
165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end "WS" */
167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) mTokens
169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    // TreeRewrite.g:1:8: ( INT | WS ) //ruleblock
171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    NSInteger alt2=2;
172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    NSInteger LA2_0 = [input LA:1];
173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) {
175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        alt2=1;
176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    else if ( (LA2_0==' ') ) {
178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        alt2=2;
179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    else {
181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:2 state:0 stream:input];
182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        nvae.c = LA2_0;
183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        @throw nvae;
184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    switch (alt2) {
187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 1 : ;
188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            // TreeRewrite.g:1:10: INT // alt
189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [self mINT];
191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            break;
196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 2 : ;
197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            // TreeRewrite.g:1:14: WS // alt
198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [self mWS];
200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            break;
205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of TreeRewriteLexer implementation line 397 */