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 : T.g
5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *     -                            On : 2011-05-06 19:14:23
6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver *     -                 for the lexer : TLexerLexer
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} T.g 2011-05-06 19:14:23
15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* -----------------------------------------
18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Include the ANTLR3 generated header file.
19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver */
20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#import "TLexer.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 TLexer // line 330
31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver+ (void) initialize
33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    [ANTLRBaseRecognizer setGrammarFileName:@"T.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+ (TLexer *)newTLexerWithCharStream:(id<ANTLRCharStream>)anInput
43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return [[TLexer 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:5+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 "T__7"
67324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) mT__7
68324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
69324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    //
70324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
71324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
72324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
73324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
74324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger _type = T__7;
75324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger _channel = ANTLRTokenChannelDefault;
76324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // T.g:7:6: ( 'enum' ) // ruleBlockSingleAlt
77324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // T.g:7:8: 'enum' // alt
78324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
79324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        [self matchString:@"enum"];
80324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
81324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
82324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
83324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
84324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
85324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
86324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
87324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        state.type = _type;
88324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        state.channel = _channel;
89324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
90324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
91324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        //
92324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
93324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
94324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
95324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return;
96324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
97324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end "T__7" */
98324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
99324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// $ANTLR start "ID"
100324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) mID
101324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
102324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    //
103324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
104324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
105324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
106324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
107324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger _type = ID;
108324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger _channel = ANTLRTokenChannelDefault;
109324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // T.g:37:5: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) // ruleBlockSingleAlt
110324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // T.g:37:9: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* // alt
111324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
112324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        if ((([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||[input LA:1] == '_'||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) {
113324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [input consume];
114324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } else {
115324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
116324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [self recover:mse];
117324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            @throw mse;
118324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
119324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
120324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
121324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        do {
122324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger alt1=2;
123324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger LA1_0 = [input LA:1];
124324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'Z')||LA1_0=='_'||(LA1_0 >= 'a' && LA1_0 <= 'z')) ) {
125324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt1=1;
126324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
127324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
128324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
129324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            switch (alt1) {
130324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                case 1 : ;
131324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // T.g: // alt
132324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
133324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))||(([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||[input LA:1] == '_'||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) {
134324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [input consume];
135324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    } else {
136324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
137324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [self recover:mse];
138324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        @throw mse;
139324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
140324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
141324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
142324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
143324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    break;
144324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
145324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                default :
146324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    goto loop1;
147324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
148324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } while (YES);
149324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        loop1: ;
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 "ID" */
167324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
168324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// $ANTLR start "INT"
169324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) mINT
170324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
171324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    //
172324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
173324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
174324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
175324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
176324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger _type = INT;
177324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger _channel = ANTLRTokenChannelDefault;
178324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // T.g:40:5: ( ( '0' .. '9' )+ ) // ruleBlockSingleAlt
179324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // T.g:40:7: ( '0' .. '9' )+ // alt
180324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
181324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // T.g:40:7: ( '0' .. '9' )+ // positiveClosureBlock
182324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger cnt2 = 0;
183324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        do {
184324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger alt2 = 2;
185324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger LA2_0 = [input LA:1];
186324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) {
187324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt2=1;
188324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
189324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
190324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
191324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            switch (alt2) {
192324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                case 1 : ;
193324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // T.g: // alt
194324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
195324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))) {
196324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [input consume];
197324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    } else {
198324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
199324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [self recover:mse];
200324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        @throw mse;
201324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
202324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
203324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
204324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
205324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    break;
206324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
207324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                default :
208324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    if ( cnt2 >= 1 )
209324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        goto loop2;
210324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    ANTLREarlyExitException *eee =
211324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [ANTLREarlyExitException newException:input decisionNumber:2];
212324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    @throw eee;
213324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
214324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            cnt2++;
215324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } while (YES);
216324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        loop2: ;
217324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
218324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
219324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
220324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
221324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
222324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
223324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        state.type = _type;
224324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        state.channel = _channel;
225324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
226324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
227324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        //
228324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
229324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
230324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
231324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return;
232324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
233324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end "INT" */
234324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
235324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// $ANTLR start "WS"
236324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) mWS
237324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
238324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    //
239324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* my ruleScopeSetUp */
240324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    /* Terence's stuff */
241324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
242324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @try {
243324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger _type = WS;
244324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger _channel = ANTLRTokenChannelDefault;
245324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // T.g:43:5: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) // ruleBlockSingleAlt
246324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // T.g:43:9: ( ' ' | '\\t' | '\\r' | '\\n' )+ // alt
247324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        {
248324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // T.g:43:9: ( ' ' | '\\t' | '\\r' | '\\n' )+ // positiveClosureBlock
249324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        NSInteger cnt3 = 0;
250324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        do {
251324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger alt3 = 2;
252324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger LA3_0 = [input LA:1];
253324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( ((LA3_0 >= '\t' && LA3_0 <= '\n')||LA3_0=='\r'||LA3_0==' ') ) {
254324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt3=1;
255324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
256324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
257324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
258324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            switch (alt3) {
259324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                case 1 : ;
260324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    // T.g: // alt
261324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    {
262324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    if ((([input LA:1] >= '\t') && ([input LA:1] <= '\n'))||[input LA:1] == '\r'||[input LA:1] == ' ') {
263324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [input consume];
264324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    } else {
265324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException newException:nil stream:input];
266324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [self recover:mse];
267324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        @throw mse;
268324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
269324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
270324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
271324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
272324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    break;
273324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
274324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                default :
275324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    if ( cnt3 >= 1 )
276324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        goto loop3;
277324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    ANTLREarlyExitException *eee =
278324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        [ANTLREarlyExitException newException:input decisionNumber:3];
279324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    @throw eee;
280324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
281324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            cnt3++;
282324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        } while (YES);
283324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        loop3: ;
284324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
285324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
286324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver         _channel=99;
287324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
288324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
289324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        }
290324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
291324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        // token+rule list labels
292324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
293324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        state.type = _type;
294324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        state.channel = _channel;
295324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
296324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    @finally {
297324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        //
298324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        /* Terence's stuff */
299324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
300324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
301324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    return;
302324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
303324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/* $ANTLR end "WS" */
304324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
305324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver- (void) mTokens
306324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{
307324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    // T.g:1:8: ( T__7 | ID | INT | WS ) //ruleblock
308324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    NSInteger alt4=4;
309324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    unichar charLA4 = [input LA:1];
310324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    switch (charLA4) {
311324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'e': ;
312324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
313324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            NSInteger LA4_1 = [input LA:2];
314324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
315324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            if ( (LA4_1=='n') ) {
316324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                NSInteger LA4_5 = [input LA:3];
317324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
318324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                if ( (LA4_5=='u') ) {
319324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    NSInteger LA4_6 = [input LA:4];
320324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
321324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    if ( (LA4_6=='m') ) {
322324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        NSInteger LA4_7 = [input LA:5];
323324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
324324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        if ( ((LA4_7 >= '0' && LA4_7 <= '9')||(LA4_7 >= 'A' && LA4_7 <= 'Z')||LA4_7=='_'||(LA4_7 >= 'a' && LA4_7 <= 'z')) ) {
325324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            alt4=2;
326324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        }
327324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        else {
328324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                            alt4 = 1;
329324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        }
330324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
331324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    else {
332324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                        alt4 = 2;
333324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    }
334324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
335324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                else {
336324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                    alt4 = 2;
337324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                }
338324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
339324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            else {
340324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver                alt4 = 2;
341324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
342324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
343324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            break;
344324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'A': ;
345324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'B': ;
346324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'C': ;
347324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'D': ;
348324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'E': ;
349324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'F': ;
350324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'G': ;
351324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'H': ;
352324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'I': ;
353324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'J': ;
354324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'K': ;
355324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'L': ;
356324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'M': ;
357324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'N': ;
358324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'O': ;
359324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'P': ;
360324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'Q': ;
361324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'R': ;
362324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'S': ;
363324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'T': ;
364324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'U': ;
365324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'V': ;
366324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'W': ;
367324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'X': ;
368324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'Y': ;
369324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'Z': ;
370324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case '_': ;
371324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'a': ;
372324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'b': ;
373324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'c': ;
374324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'd': ;
375324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'f': ;
376324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'g': ;
377324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'h': ;
378324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'i': ;
379324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'j': ;
380324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'k': ;
381324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'l': ;
382324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'm': ;
383324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'n': ;
384324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'o': ;
385324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'p': ;
386324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'q': ;
387324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'r': ;
388324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 's': ;
389324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 't': ;
390324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'u': ;
391324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'v': ;
392324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'w': ;
393324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'x': ;
394324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'y': ;
395324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 'z': ;
396324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
397324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt4=2;
398324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
399324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            break;
400324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case '0': ;
401324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case '1': ;
402324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case '2': ;
403324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case '3': ;
404324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case '4': ;
405324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case '5': ;
406324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case '6': ;
407324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case '7': ;
408324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case '8': ;
409324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case '9': ;
410324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
411324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt4=3;
412324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
413324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            break;
414324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case '\t': ;
415324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case '\n': ;
416324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case '\r': ;
417324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case ' ': ;
418324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
419324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            alt4=4;
420324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
421324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            break;
422324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
423324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    default: ;
424324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newException:4 state:0 stream:input];
425324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        nvae.c = charLA4;
426324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        @throw nvae;
427324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
428324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
429324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
430324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    switch (alt4) {
431324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 1 : ;
432324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            // T.g:1:10: T__7 // alt
433324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
434324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [self mT__7];
435324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
436324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
437324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
438324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
439324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            break;
440324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 2 : ;
441324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            // T.g:1:15: ID // alt
442324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
443324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [self mID];
444324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
445324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
446324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
447324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
448324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            break;
449324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 3 : ;
450324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            // T.g:1:18: INT // alt
451324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
452324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [self mINT];
453324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
454324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
455324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
456324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
457324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            break;
458324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver        case 4 : ;
459324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            // T.g:1:22: WS // alt
460324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            {
461324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            [self mWS];
462324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
463324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
464324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
465324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            }
466324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver            break;
467324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
468324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver    }
469324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
470324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}
471324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver
472324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver@end /* end of TLexer implementation line 397 */