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 : TestLexer.g
5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *     -                            On : 2011-05-06 19:16:22
6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *     -                 for the lexer : TestLexerLexer
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} TestLexer.g 2011-05-06 19:16:22
15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* -----------------------------------------
18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Include the ANTLR3 generated header file.
19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import "TestLexer.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 TestLexer // line 330
31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (void) initialize
33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [ANTLRBaseRecognizer setGrammarFileName:@"TestLexer.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+ (TestLexer *)newTestLexerWithCharStream:(id<ANTLRCharStream>)anInput
43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[TestLexer 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:4+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 "ID"
67324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) mID
68324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
69324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    //
70324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
71324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
72324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
73324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
74324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger _type = ID;
75324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger _channel = ANTLRTokenChannelDefault;
76324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // TestLexer.g:8:4: ( LETTER ( LETTER | DIGIT )* ) // ruleBlockSingleAlt
77324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // TestLexer.g:8:6: LETTER ( LETTER | DIGIT )* // alt
78324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
79324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self mLETTER];
80324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
81324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
82324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
83324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        do {
84324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger alt1=2;
85324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger LA1_0 = [input LA:1];
86324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'Z')||(LA1_0 >= 'a' && LA1_0 <= 'z')) ) {
87324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt1=1;
88324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
89324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
90324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
91324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            switch (alt1) {
92324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                case 1 : ;
93324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // TestLexer.g: // alt
94324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
95324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))||(([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) {
96324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [input consume];
97324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    } else {
98324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
99324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [self recover:mse];
100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        @throw mse;
101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    break;
106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                default :
108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    goto loop1;
109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } while (YES);
111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        loop1: ;
112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        state.type = _type;
119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        state.channel = _channel;
120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        //
123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return;
127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end "ID" */
129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// $ANTLR start "DIGIT"
131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) mDIGIT
132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    //
134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // TestLexer.g:11:16: ( '0' .. '9' ) // ruleBlockSingleAlt
139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // TestLexer.g: // alt
140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))) {
142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [input consume];
143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } else {
144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [self recover:mse];
146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            @throw mse;
147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
150324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
151324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
152324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
153324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
154324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
155324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        //
156324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
157324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
158324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
159324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return;
160324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
161324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end "DIGIT" */
162324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
163324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// $ANTLR start "LETTER"
164324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) mLETTER
165324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
166324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    //
167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // TestLexer.g:15:2: ( 'a' .. 'z' | 'A' .. 'Z' ) // ruleBlockSingleAlt
172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // TestLexer.g: // alt
173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if ((([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) {
175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [input consume];
176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } else {
177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [self recover:mse];
179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            @throw mse;
180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        //
189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return;
193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end "LETTER" */
195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) mTokens
197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    // TestLexer.g:1:8: ( ID ) // ruleBlockSingleAlt
199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    // TestLexer.g:1:10: ID // alt
200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    {
201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [self mID];
202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of TestLexer implementation line 397 */