Home | History | Annotate | Download | only in output1
      1 /** \file
      2  *  This OBJC source file was generated by $ANTLR version 3.2 Aug 20, 2010 13:39:32
      3  *
      4  *     -  From the grammar source file : /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g
      5  *     -                            On : 2010-08-20 13:40:15
      6  *     -                 for the lexer : FuzzyLexer *
      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 20, 2010 13:39:32 /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g 2010-08-20 13:40:15
     41 
     42 /* -----------------------------------------
     43  * Include the ANTLR3 generated header file.
     44  */
     45 #import "Fuzzy.h"
     46 /* ----------------------------------------- */
     47 
     48 
     49 /* ============================================================================= */
     50 
     51 /* =============================================================================
     52  * Start of recognizer
     53  */
     54 
     55 #pragma mark Cyclic DFA implementation start DFA38
     56 @implementation DFA38
     57 const static NSInteger dfa38_eot[19] =
     58     {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
     59 const static NSInteger dfa38_eof[19] =
     60     {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
     61 const static unichar dfa38_min[19] =
     62     {9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
     63 const static unichar dfa38_max[19] =
     64     {122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
     65 const static NSInteger dfa38_accept[19] =
     66     {-1,-1,4,5,7,-1,2,-1,8,9,-1,3,-1,1,6,10,-1,12,11};
     67 const static NSInteger dfa38_special[19] =
     68     {-1,0,-1,-1,-1,1,-1,2,-1,-1,3,-1,4,-1,-1,-1,5,-1,-1};
     69 const static NSInteger dfa38_transition[] = {};
     70 const static NSInteger dfa38_transition0[] = {17, 17, -1, -1, -1, -1, -1,
     71  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 17, -1,
     72  15, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, -1, -1,
     73  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1,
     74  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1,
     75  1, -1, 1, 1, 10, 1, 1, 16, 1, 1, 12, 1, 1, 1, 1, 1, 1, 1, 1, 5, 16, 1,
     76  1, 1, 16, 1, 1, 1};
     77 const static NSInteger dfa38_transition1[] = {-1};
     78 
     79 
     80 + () newDFA38WithRecognizer:(ANTLRBaseRecognizer *)aRecognizer
     81 {
     82     return [[[DFA38 alloc] initWithRecognizer:aRecognizer] retain];
     83 }
     84 
     85 - (id) initWithRecognizer:(ANTLRBaseRecognizer *) theRecognizer
     86 {
     87     if ((self = [super initWithRecognizer:theRecognizer]) != nil) {
     88         decisionNumber = 38;
     89         eot = dfa38_eot;
     90         eof = dfa38_eof;
     91         min = dfa38_min;
     92         max = dfa38_max;
     93         accept = dfa38_accept;
     94         special = dfa38_special;
     95         if (!(transition = calloc(19, sizeof(void*)))) {
     96             [self release];
     97             return nil;
     98         }
     99         len = 19;
    100         transition[0] = dfa38_transition0;
    101         transition[1] = dfa38_transition1;
    102         transition[2] = dfa38_transition;
    103         transition[3] = dfa38_transition;
    104         transition[4] = dfa38_transition;
    105         transition[5] = dfa38_transition1;
    106         transition[6] = dfa38_transition;
    107         transition[7] = dfa38_transition1;
    108         transition[8] = dfa38_transition;
    109         transition[9] = dfa38_transition;
    110         transition[10] = dfa38_transition1;
    111         transition[11] = dfa38_transition;
    112         transition[12] = dfa38_transition1;
    113         transition[13] = dfa38_transition;
    114         transition[14] = dfa38_transition;
    115         transition[15] = dfa38_transition;
    116         transition[16] = dfa38_transition1;
    117         transition[17] = dfa38_transition;
    118         transition[18] = dfa38_transition;
    119     }
    120     return self;
    121 }
    122 
    123 /* start dfa.specialStateSTs */
    124 - (NSInteger) specialStateTransition:(NSInteger)s Stream:(id<ANTLRIntStream>)anInput
    125 {
    126     id<ANTLRIntStream> input = anInput;
    127     switch (s) {
    128                 case 0 : ;
    129                     /* cyclicDFAState */
    130                     NSInteger LA38_1 = [input LA:1];
    131 
    132 
    133                     NSInteger index38_1 = [input getIndex];
    134                     [input rewind];
    135                     s = -1;
    136                     /* cyclicDFAEdge */
    137                     if ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) { s = 2;}
    138 
    139                     else /* cyclicDFAEdge */
    140                     if ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) { s = 3;}
    141 
    142                     else /* cyclicDFAEdge */
    143                     if ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) { s = 4;}
    144 
    145 
    146                     [input seek:index38_1];
    147                     if ( s >= 0 )
    148                         return s;
    149                      break;
    150                 case 1 : ;
    151                     /* cyclicDFAState */
    152                     NSInteger LA38_5 = [input LA:1];
    153 
    154 
    155                     NSInteger index38_5 = [input getIndex];
    156                     [input rewind];
    157                     s = -1;
    158                     /* cyclicDFAEdge */
    159                     if ([self evaluateSyntacticPredicate:@selector(synpred2_Fuzzy_fragment)]) { s = 6;}
    160 
    161                     else /* cyclicDFAEdge */
    162                     if ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) { s = 2;}
    163 
    164                     else /* cyclicDFAEdge */
    165                     if ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) { s = 3;}
    166 
    167                     else /* cyclicDFAEdge */
    168                     if ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) { s = 4;}
    169 
    170 
    171                     [input seek:index38_5];
    172                     if ( s >= 0 )
    173                         return s;
    174                      break;
    175                 case 2 : ;
    176                     /* cyclicDFAState */
    177                     NSInteger LA38_7 = [input LA:1];
    178 
    179 
    180                     NSInteger index38_7 = [input getIndex];
    181                     [input rewind];
    182                     s = -1;
    183                     /* cyclicDFAEdge */
    184                     if ([self evaluateSyntacticPredicate:@selector(synpred8_Fuzzy_fragment)]) { s = 8;}
    185 
    186                     else /* cyclicDFAEdge */
    187                     if ([self evaluateSyntacticPredicate:@selector(synpred9_Fuzzy_fragment)]) { s = 9;}
    188 
    189 
    190                     [input seek:index38_7];
    191                     if ( s >= 0 )
    192                         return s;
    193                      break;
    194                 case 3 : ;
    195                     /* cyclicDFAState */
    196                     NSInteger LA38_10 = [input LA:1];
    197 
    198 
    199                     NSInteger index38_10 = [input getIndex];
    200                     [input rewind];
    201                     s = -1;
    202                     /* cyclicDFAEdge */
    203                     if ([self evaluateSyntacticPredicate:@selector(synpred3_Fuzzy_fragment)]) { s = 11;}
    204 
    205                     else /* cyclicDFAEdge */
    206                     if ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) { s = 2;}
    207 
    208                     else /* cyclicDFAEdge */
    209                     if ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) { s = 3;}
    210 
    211                     else /* cyclicDFAEdge */
    212                     if ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) { s = 4;}
    213 
    214 
    215                     [input seek:index38_10];
    216                     if ( s >= 0 )
    217                         return s;
    218                      break;
    219                 case 4 : ;
    220                     /* cyclicDFAState */
    221                     NSInteger LA38_12 = [input LA:1];
    222 
    223 
    224                     NSInteger index38_12 = [input getIndex];
    225                     [input rewind];
    226                     s = -1;
    227                     /* cyclicDFAEdge */
    228                     if ([self evaluateSyntacticPredicate:@selector(synpred1_Fuzzy_fragment)]) { s = 13;}
    229 
    230                     else /* cyclicDFAEdge */
    231                     if ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) { s = 2;}
    232 
    233                     else /* cyclicDFAEdge */
    234                     if ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) { s = 3;}
    235 
    236                     else /* cyclicDFAEdge */
    237                     if ([self evaluateSyntacticPredicate:@selector(synpred6_Fuzzy_fragment)]) { s = 14;}
    238 
    239                     else /* cyclicDFAEdge */
    240                     if ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) { s = 4;}
    241 
    242 
    243                     [input seek:index38_12];
    244                     if ( s >= 0 )
    245                         return s;
    246                      break;
    247                 case 5 : ;
    248                     /* cyclicDFAState */
    249                     NSInteger LA38_16 = [input LA:1];
    250 
    251 
    252                     NSInteger index38_16 = [input getIndex];
    253                     [input rewind];
    254                     s = -1;
    255                     /* cyclicDFAEdge */
    256                     if ([self evaluateSyntacticPredicate:@selector(synpred4_Fuzzy_fragment)]) { s = 2;}
    257 
    258                     else /* cyclicDFAEdge */
    259                     if ([self evaluateSyntacticPredicate:@selector(synpred5_Fuzzy_fragment)]) { s = 3;}
    260 
    261                     else /* cyclicDFAEdge */
    262                     if ([self evaluateSyntacticPredicate:@selector(synpred6_Fuzzy_fragment)]) { s = 14;}
    263 
    264                     else /* cyclicDFAEdge */
    265                     if ([self evaluateSyntacticPredicate:@selector(synpred7_Fuzzy_fragment)]) { s = 4;}
    266 
    267 
    268                     [input seek:index38_16];
    269                     if ( s >= 0 )
    270                         return s;
    271                      break;
    272     }
    273     if ( [recognizer getBacktrackingLevel] > 0 ) { [recognizer setFailed:YES]; return -1; }
    274     ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:38 state:s stream:[recognizer getInput]];
    275     /* [self error:nvae]; */
    276     @throw nvae;
    277 }
    278 
    279 /* end dfa.specialStateSTs */
    280 - (void) dealloc
    281 {
    282     free(transition);
    283     [super dealloc];
    284 }
    285 
    286 - (NSString *) description
    287 {
    288     return @"1:1: Tokens options {k=1; backtrack=true; } : ( IMPORT | RETURN | CLASS | METHOD | FIELD | STAT | CALL | COMMENT | SL_COMMENT | STRING | CHAR | WS );";
    289 }
    290 
    291 
    292 @end
    293 #pragma mark Cyclic DFA implementation end DFA38
    294 
    295 
    296 
    297 /** As per Terence: No returns for lexer rules!
    298 #pragma mark Rule return scopes start
    299 #pragma mark Rule return scopes end
    300 */
    301 @implementation Fuzzy // line 330
    302 
    303 + (void) initialize
    304 {
    305     [ANTLRBaseRecognizer setGrammarFileName:@"/usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g"];
    306 }
    307 
    308 + (NSString *) tokenNameForType:(NSInteger)aTokenType
    309 {
    310     return [[self getTokenNames] objectAtIndex:aTokenType];
    311 }
    312 
    313 + (Fuzzy *)newFuzzy:(id<ANTLRCharStream>)anInput
    314 {
    315     return [[Fuzzy alloc] initWithCharStream:anInput];
    316 }
    317 
    318 - (id) initWithCharStream:(id<ANTLRCharStream>)anInput
    319 {
    320     if ((self = [super initWithCharStream:anInput State:[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:30+1]]) != nil) {
    321         SEL synpred9_FuzzySelector = @selector(synpred9_Fuzzy_fragment);
    322 
    323         SEL synpred2_FuzzySelector = @selector(synpred2_Fuzzy_fragment);
    324 
    325         SEL synpred7_FuzzySelector = @selector(synpred7_Fuzzy_fragment);
    326 
    327         SEL synpred4_FuzzySelector = @selector(synpred4_Fuzzy_fragment);
    328 
    329         SEL synpred8_FuzzySelector = @selector(synpred8_Fuzzy_fragment);
    330 
    331         SEL synpred6_FuzzySelector = @selector(synpred6_Fuzzy_fragment);
    332 
    333         SEL synpred5_FuzzySelector = @selector(synpred5_Fuzzy_fragment);
    334 
    335         SEL synpred3_FuzzySelector = @selector(synpred3_Fuzzy_fragment);
    336 
    337         SEL synpred1_FuzzySelector = @selector(synpred1_Fuzzy_fragment);
    338 
    339         dfa38 = [DFA38 newDFA38WithRecognizer:self];
    340     }
    341     return self;
    342 }
    343 
    344 - (void) dealloc
    345 {
    346     [dfa38 release];
    347     [super dealloc];
    348 }
    349 
    350 // Start of actions.lexer.methods
    351 // start methods()
    352 
    353 - (id<ANTLRToken>) nextToken
    354 {
    355     while (YES) {
    356         if ( [input LA:1] == ANTLRCharStreamEOF ) {
    357             return [ANTLRCommonToken eofToken]; // should really be a +eofToken call here -> go figure
    358         }
    359         state.token = nil;
    360         state.channel = ANTLRTokenChannelDefault;
    361         state.tokenStartCharIndex = [input getIndex];
    362         state.tokenStartCharPositionInLine = [input getCharPositionInLine];
    363         state.tokenStartLine = [input getLine];
    364         state.text = nil;
    365         @try {
    366             NSInteger m = [input mark];
    367             state.backtracking = 1; /* means we won't throw slow exception */
    368             state.failed = NO;
    369             [self mTokens];
    370             state.backtracking = 0;
    371             /* mTokens backtracks with synpred at backtracking==2
    372                and we set the synpredgate to allow actions at level 1. */
    373             if ( state.failed == YES ) {
    374                 [input rewind:m];
    375                 [input consume]; /* advance one char and try again */
    376             } else {
    377                 [self emit];
    378                 return state.token;
    379             }
    380         }
    381         @catch (ANTLRRecognitionException *re) {
    382             // shouldn't happen in backtracking mode, but...
    383             [self reportError:re];
    384             [self recover:re];
    385         }
    386     }
    387 }
    388 
    389 - (void)memoize:(id<ANTLRIntStream>)anInput
    390       RuleIndex:(NSInteger)ruleIndex
    391      StartIndex:(NSInteger)ruleStartIndex
    392 {
    393     if ( state.backtracking > 1 ) [super memoize:anInput RuleIndex:ruleIndex StartIndex:ruleStartIndex];
    394 }
    395 
    396 - (BOOL)alreadyParsedRule:(id<ANTLRIntStream>)anInput RuleIndex:(NSInteger)ruleIndex
    397 {
    398     if ( state.backtracking > 1 ) return [super alreadyParsedRule:anInput RuleIndex:ruleIndex];
    399     return NO;
    400 }
    401 // Start of Rules
    402 // $ANTLR start "IMPORT"
    403 - (void) mIMPORT
    404 {
    405     //
    406     // ruleScopeSetUp
    407 
    408     @try {
    409         NSInteger _type = IMPORT;
    410         NSInteger _channel = ANTLRTokenChannelDefault;
    411         id<ANTLRToken> name=nil;
    412 
    413         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:5:2: ( 'import' WS name= QIDStar ( WS )? ';' ) // ruleBlockSingleAlt
    414         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:5:4: 'import' WS name= QIDStar ( WS )? ';' // alt
    415         {
    416         [self matchString:@"import"]; if ( state.failed == YES ) return ;
    417           /* element() */
    418             [self mWS]; if ( state.failed == YES ) return ;
    419           /* element() */
    420         NSInteger nameStart31 = [self getIndex];
    421         [self mQIDStar]; if ( state.failed == YES ) return ;
    422 
    423         name = [[ANTLRCommonToken newANTLRCommonToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart31 Stop:[self getIndex]-1] retain];
    424         [name setLine:[self getLine]];  /* element() */
    425         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:5:29: ( WS )? // block
    426         NSInteger alt1=2;
    427         NSInteger LA1_0 = [input LA:1];
    428 
    429         if ( ((LA1_0>='\t' && LA1_0<='\n')||LA1_0==' ') ) {
    430             alt1=1;
    431         }
    432         switch (alt1) {
    433             case 1 : ;
    434                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:5:29: WS // alt
    435                 {
    436                     [self mWS]; if ( state.failed == YES ) return ;
    437                   /* element() */
    438                  /* elements */
    439                 }
    440                 break;
    441 
    442         }
    443           /* element() */
    444         [self matchChar:';']; if ( state.failed == YES ) return ;
    445           /* element() */
    446          /* elements */
    447         }
    448 
    449         // token+rule list labels
    450 
    451         [state setType:_type];
    452 
    453         state.channel = _channel;
    454     }
    455     @finally {
    456         //
    457     }
    458     return;
    459 }
    460 // $ANTLR end "IMPORT"
    461 
    462 // $ANTLR start "RETURN"
    463 - (void) mRETURN
    464 {
    465     //
    466     // ruleScopeSetUp
    467 
    468     @try {
    469         NSInteger _type = RETURN;
    470         NSInteger _channel = ANTLRTokenChannelDefault;
    471         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:10:2: ( 'return' ( options {greedy=false; } : . )* ';' ) // ruleBlockSingleAlt
    472         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:10:4: 'return' ( options {greedy=false; } : . )* ';' // alt
    473         {
    474         [self matchString:@"return"]; if ( state.failed == YES ) return ;
    475           /* element() */
    476         do {
    477             NSInteger alt2=2;
    478             NSInteger LA2_0 = [input LA:1];
    479             if ( (LA2_0==';') ) {
    480                 alt2=2;
    481             }
    482             else if ( ((LA2_0>=0x0000 && LA2_0<=':')||(LA2_0>='<' && LA2_0<=0xFFFF)) ) {
    483                 alt2=1;
    484             }
    485 
    486 
    487             switch (alt2) {
    488                 case 1 : ;
    489                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:10:38: . // alt
    490                     {
    491                     [self matchAny]; if ( state.failed == YES ) return ;
    492                       /* element() */
    493                      /* elements */
    494                     }
    495                     break;
    496 
    497                 default :
    498                     goto loop2;
    499             }
    500         } while (YES);
    501         loop2: ;
    502           /* element() */
    503         [self matchChar:';']; if ( state.failed == YES ) return ;
    504           /* element() */
    505          /* elements */
    506         }
    507 
    508         // token+rule list labels
    509 
    510         [state setType:_type];
    511 
    512         state.channel = _channel;
    513     }
    514     @finally {
    515         //
    516     }
    517     return;
    518 }
    519 // $ANTLR end "RETURN"
    520 
    521 // $ANTLR start "CLASS"
    522 - (void) mCLASS
    523 {
    524     //
    525     // ruleScopeSetUp
    526 
    527     @try {
    528         NSInteger _type = CLASS;
    529         NSInteger _channel = ANTLRTokenChannelDefault;
    530         id<ANTLRToken> name=nil;
    531 
    532         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:14:2: ( 'class' WS name= ID ( WS )? ( 'extends' WS QID ( WS )? )? ( 'implements' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* )? '{' ) // ruleBlockSingleAlt
    533         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:14:4: 'class' WS name= ID ( WS )? ( 'extends' WS QID ( WS )? )? ( 'implements' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* )? '{' // alt
    534         {
    535         [self matchString:@"class"]; if ( state.failed == YES ) return ;
    536           /* element() */
    537             [self mWS]; if ( state.failed == YES ) return ;
    538           /* element() */
    539         NSInteger nameStart81 = [self getIndex];
    540         [self mID]; if ( state.failed == YES ) return ;
    541 
    542         name = [[ANTLRCommonToken newANTLRCommonToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart81 Stop:[self getIndex]-1] retain];
    543         [name setLine:[self getLine]];  /* element() */
    544         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:14:23: ( WS )? // block
    545         NSInteger alt3=2;
    546         NSInteger LA3_0 = [input LA:1];
    547 
    548         if ( ((LA3_0>='\t' && LA3_0<='\n')||LA3_0==' ') ) {
    549             alt3=1;
    550         }
    551         switch (alt3) {
    552             case 1 : ;
    553                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:14:23: WS // alt
    554                 {
    555                     [self mWS]; if ( state.failed == YES ) return ;
    556                   /* element() */
    557                  /* elements */
    558                 }
    559                 break;
    560 
    561         }
    562           /* element() */
    563         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:14:27: ( 'extends' WS QID ( WS )? )? // block
    564         NSInteger alt5=2;
    565         NSInteger LA5_0 = [input LA:1];
    566 
    567         if ( (LA5_0=='e') ) {
    568             alt5=1;
    569         }
    570         switch (alt5) {
    571             case 1 : ;
    572                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:14:28: 'extends' WS QID ( WS )? // alt
    573                 {
    574                 [self matchString:@"extends"]; if ( state.failed == YES ) return ;
    575                   /* element() */
    576                     [self mWS]; if ( state.failed == YES ) return ;
    577                   /* element() */
    578                     [self mQID]; if ( state.failed == YES ) return ;
    579                   /* element() */
    580                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:14:45: ( WS )? // block
    581                 NSInteger alt4=2;
    582                 NSInteger LA4_0 = [input LA:1];
    583 
    584                 if ( ((LA4_0>='\t' && LA4_0<='\n')||LA4_0==' ') ) {
    585                     alt4=1;
    586                 }
    587                 switch (alt4) {
    588                     case 1 : ;
    589                         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:14:45: WS // alt
    590                         {
    591                             [self mWS]; if ( state.failed == YES ) return ;
    592                           /* element() */
    593                          /* elements */
    594                         }
    595                         break;
    596 
    597                 }
    598                   /* element() */
    599                  /* elements */
    600                 }
    601                 break;
    602 
    603         }
    604           /* element() */
    605         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:15:3: ( 'implements' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* )? // block
    606         NSInteger alt10=2;
    607         NSInteger LA10_0 = [input LA:1];
    608 
    609         if ( (LA10_0=='i') ) {
    610             alt10=1;
    611         }
    612         switch (alt10) {
    613             case 1 : ;
    614                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:15:4: 'implements' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* // alt
    615                 {
    616                 [self matchString:@"implements"]; if ( state.failed == YES ) return ;
    617                   /* element() */
    618                     [self mWS]; if ( state.failed == YES ) return ;
    619                   /* element() */
    620                     [self mQID]; if ( state.failed == YES ) return ;
    621                   /* element() */
    622                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:15:24: ( WS )? // block
    623                 NSInteger alt6=2;
    624                 NSInteger LA6_0 = [input LA:1];
    625 
    626                 if ( ((LA6_0>='\t' && LA6_0<='\n')||LA6_0==' ') ) {
    627                     alt6=1;
    628                 }
    629                 switch (alt6) {
    630                     case 1 : ;
    631                         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:15:24: WS // alt
    632                         {
    633                             [self mWS]; if ( state.failed == YES ) return ;
    634                           /* element() */
    635                          /* elements */
    636                         }
    637                         break;
    638 
    639                 }
    640                   /* element() */
    641                 do {
    642                     NSInteger alt9=2;
    643                     NSInteger LA9_0 = [input LA:1];
    644                     if ( (LA9_0==',') ) {
    645                         alt9=1;
    646                     }
    647 
    648 
    649                     switch (alt9) {
    650                         case 1 : ;
    651                             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:15:29: ',' ( WS )? QID ( WS )? // alt
    652                             {
    653                             [self matchChar:',']; if ( state.failed == YES ) return ;
    654                               /* element() */
    655                             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:15:33: ( WS )? // block
    656                             NSInteger alt7=2;
    657                             NSInteger LA7_0 = [input LA:1];
    658 
    659                             if ( ((LA7_0>='\t' && LA7_0<='\n')||LA7_0==' ') ) {
    660                                 alt7=1;
    661                             }
    662                             switch (alt7) {
    663                                 case 1 : ;
    664                                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:15:33: WS // alt
    665                                     {
    666                                         [self mWS]; if ( state.failed == YES ) return ;
    667                                       /* element() */
    668                                      /* elements */
    669                                     }
    670                                     break;
    671 
    672                             }
    673                               /* element() */
    674                                 [self mQID]; if ( state.failed == YES ) return ;
    675                               /* element() */
    676                             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:15:41: ( WS )? // block
    677                             NSInteger alt8=2;
    678                             NSInteger LA8_0 = [input LA:1];
    679 
    680                             if ( ((LA8_0>='\t' && LA8_0<='\n')||LA8_0==' ') ) {
    681                                 alt8=1;
    682                             }
    683                             switch (alt8) {
    684                                 case 1 : ;
    685                                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:15:41: WS // alt
    686                                     {
    687                                         [self mWS]; if ( state.failed == YES ) return ;
    688                                       /* element() */
    689                                      /* elements */
    690                                     }
    691                                     break;
    692 
    693                             }
    694                               /* element() */
    695                              /* elements */
    696                             }
    697                             break;
    698 
    699                         default :
    700                             goto loop9;
    701                     }
    702                 } while (YES);
    703                 loop9: ;
    704                   /* element() */
    705                  /* elements */
    706                 }
    707                 break;
    708 
    709         }
    710           /* element() */
    711         [self matchChar:'{']; if ( state.failed == YES ) return ;
    712           /* element() */
    713         if ( state.backtracking == 1 ) {
    714             NSLog(@"found class %@", (name!=nil?[name getText]:0));
    715         }  /* element() */
    716          /* elements */
    717         }
    718 
    719         // token+rule list labels
    720 
    721         [state setType:_type];
    722 
    723         state.channel = _channel;
    724     }
    725     @finally {
    726         //
    727     }
    728     return;
    729 }
    730 // $ANTLR end "CLASS"
    731 
    732 // $ANTLR start "METHOD"
    733 - (void) mMETHOD
    734 {
    735     //
    736     // ruleScopeSetUp
    737 
    738     @try {
    739         NSInteger _type = METHOD;
    740         NSInteger _channel = ANTLRTokenChannelDefault;
    741         id<ANTLRToken> name=nil;
    742 
    743         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:5: ( TYPE WS name= ID ( WS )? '(' ( ARG ( WS )? ( ',' ( WS )? ARG ( WS )? )* )? ')' ( WS )? ( 'throws' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* )? '{' ) // ruleBlockSingleAlt
    744         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:9: TYPE WS name= ID ( WS )? '(' ( ARG ( WS )? ( ',' ( WS )? ARG ( WS )? )* )? ')' ( WS )? ( 'throws' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* )? '{' // alt
    745         {
    746             [self mTYPE]; if ( state.failed == YES ) return ;
    747           /* element() */
    748             [self mWS]; if ( state.failed == YES ) return ;
    749           /* element() */
    750         NSInteger nameStart158 = [self getIndex];
    751         [self mID]; if ( state.failed == YES ) return ;
    752 
    753         name = [[ANTLRCommonToken newANTLRCommonToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart158 Stop:[self getIndex]-1] retain];
    754         [name setLine:[self getLine]];  /* element() */
    755         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:25: ( WS )? // block
    756         NSInteger alt11=2;
    757         NSInteger LA11_0 = [input LA:1];
    758 
    759         if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0==' ') ) {
    760             alt11=1;
    761         }
    762         switch (alt11) {
    763             case 1 : ;
    764                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:25: WS // alt
    765                 {
    766                     [self mWS]; if ( state.failed == YES ) return ;
    767                   /* element() */
    768                  /* elements */
    769                 }
    770                 break;
    771 
    772         }
    773           /* element() */
    774         [self matchChar:'(']; if ( state.failed == YES ) return ;
    775           /* element() */
    776         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:33: ( ARG ( WS )? ( ',' ( WS )? ARG ( WS )? )* )? // block
    777         NSInteger alt16=2;
    778         NSInteger LA16_0 = [input LA:1];
    779 
    780         if ( ((LA16_0>='A' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='a' && LA16_0<='z')) ) {
    781             alt16=1;
    782         }
    783         switch (alt16) {
    784             case 1 : ;
    785                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:35: ARG ( WS )? ( ',' ( WS )? ARG ( WS )? )* // alt
    786                 {
    787                     [self mARG]; if ( state.failed == YES ) return ;
    788                   /* element() */
    789                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:39: ( WS )? // block
    790                 NSInteger alt12=2;
    791                 NSInteger LA12_0 = [input LA:1];
    792 
    793                 if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0==' ') ) {
    794                     alt12=1;
    795                 }
    796                 switch (alt12) {
    797                     case 1 : ;
    798                         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:39: WS // alt
    799                         {
    800                             [self mWS]; if ( state.failed == YES ) return ;
    801                           /* element() */
    802                          /* elements */
    803                         }
    804                         break;
    805 
    806                 }
    807                   /* element() */
    808                 do {
    809                     NSInteger alt15=2;
    810                     NSInteger LA15_0 = [input LA:1];
    811                     if ( (LA15_0==',') ) {
    812                         alt15=1;
    813                     }
    814 
    815 
    816                     switch (alt15) {
    817                         case 1 : ;
    818                             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:44: ',' ( WS )? ARG ( WS )? // alt
    819                             {
    820                             [self matchChar:',']; if ( state.failed == YES ) return ;
    821                               /* element() */
    822                             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:48: ( WS )? // block
    823                             NSInteger alt13=2;
    824                             NSInteger LA13_0 = [input LA:1];
    825 
    826                             if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0==' ') ) {
    827                                 alt13=1;
    828                             }
    829                             switch (alt13) {
    830                                 case 1 : ;
    831                                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:48: WS // alt
    832                                     {
    833                                         [self mWS]; if ( state.failed == YES ) return ;
    834                                       /* element() */
    835                                      /* elements */
    836                                     }
    837                                     break;
    838 
    839                             }
    840                               /* element() */
    841                                 [self mARG]; if ( state.failed == YES ) return ;
    842                               /* element() */
    843                             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:56: ( WS )? // block
    844                             NSInteger alt14=2;
    845                             NSInteger LA14_0 = [input LA:1];
    846 
    847                             if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0==' ') ) {
    848                                 alt14=1;
    849                             }
    850                             switch (alt14) {
    851                                 case 1 : ;
    852                                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:56: WS // alt
    853                                     {
    854                                         [self mWS]; if ( state.failed == YES ) return ;
    855                                       /* element() */
    856                                      /* elements */
    857                                     }
    858                                     break;
    859 
    860                             }
    861                               /* element() */
    862                              /* elements */
    863                             }
    864                             break;
    865 
    866                         default :
    867                             goto loop15;
    868                     }
    869                 } while (YES);
    870                 loop15: ;
    871                   /* element() */
    872                  /* elements */
    873                 }
    874                 break;
    875 
    876         }
    877           /* element() */
    878         [self matchChar:')']; if ( state.failed == YES ) return ;
    879           /* element() */
    880         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:69: ( WS )? // block
    881         NSInteger alt17=2;
    882         NSInteger LA17_0 = [input LA:1];
    883 
    884         if ( ((LA17_0>='\t' && LA17_0<='\n')||LA17_0==' ') ) {
    885             alt17=1;
    886         }
    887         switch (alt17) {
    888             case 1 : ;
    889                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:20:69: WS // alt
    890                 {
    891                     [self mWS]; if ( state.failed == YES ) return ;
    892                   /* element() */
    893                  /* elements */
    894                 }
    895                 break;
    896 
    897         }
    898           /* element() */
    899         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:21:8: ( 'throws' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* )? // block
    900         NSInteger alt22=2;
    901         NSInteger LA22_0 = [input LA:1];
    902 
    903         if ( (LA22_0=='t') ) {
    904             alt22=1;
    905         }
    906         switch (alt22) {
    907             case 1 : ;
    908                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:21:9: 'throws' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* // alt
    909                 {
    910                 [self matchString:@"throws"]; if ( state.failed == YES ) return ;
    911                   /* element() */
    912                     [self mWS]; if ( state.failed == YES ) return ;
    913                   /* element() */
    914                     [self mQID]; if ( state.failed == YES ) return ;
    915                   /* element() */
    916                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:21:25: ( WS )? // block
    917                 NSInteger alt18=2;
    918                 NSInteger LA18_0 = [input LA:1];
    919 
    920                 if ( ((LA18_0>='\t' && LA18_0<='\n')||LA18_0==' ') ) {
    921                     alt18=1;
    922                 }
    923                 switch (alt18) {
    924                     case 1 : ;
    925                         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:21:25: WS // alt
    926                         {
    927                             [self mWS]; if ( state.failed == YES ) return ;
    928                           /* element() */
    929                          /* elements */
    930                         }
    931                         break;
    932 
    933                 }
    934                   /* element() */
    935                 do {
    936                     NSInteger alt21=2;
    937                     NSInteger LA21_0 = [input LA:1];
    938                     if ( (LA21_0==',') ) {
    939                         alt21=1;
    940                     }
    941 
    942 
    943                     switch (alt21) {
    944                         case 1 : ;
    945                             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:21:30: ',' ( WS )? QID ( WS )? // alt
    946                             {
    947                             [self matchChar:',']; if ( state.failed == YES ) return ;
    948                               /* element() */
    949                             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:21:34: ( WS )? // block
    950                             NSInteger alt19=2;
    951                             NSInteger LA19_0 = [input LA:1];
    952 
    953                             if ( ((LA19_0>='\t' && LA19_0<='\n')||LA19_0==' ') ) {
    954                                 alt19=1;
    955                             }
    956                             switch (alt19) {
    957                                 case 1 : ;
    958                                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:21:34: WS // alt
    959                                     {
    960                                         [self mWS]; if ( state.failed == YES ) return ;
    961                                       /* element() */
    962                                      /* elements */
    963                                     }
    964                                     break;
    965 
    966                             }
    967                               /* element() */
    968                                 [self mQID]; if ( state.failed == YES ) return ;
    969                               /* element() */
    970                             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:21:42: ( WS )? // block
    971                             NSInteger alt20=2;
    972                             NSInteger LA20_0 = [input LA:1];
    973 
    974                             if ( ((LA20_0>='\t' && LA20_0<='\n')||LA20_0==' ') ) {
    975                                 alt20=1;
    976                             }
    977                             switch (alt20) {
    978                                 case 1 : ;
    979                                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:21:42: WS // alt
    980                                     {
    981                                         [self mWS]; if ( state.failed == YES ) return ;
    982                                       /* element() */
    983                                      /* elements */
    984                                     }
    985                                     break;
    986 
    987                             }
    988                               /* element() */
    989                              /* elements */
    990                             }
    991                             break;
    992 
    993                         default :
    994                             goto loop21;
    995                     }
    996                 } while (YES);
    997                 loop21: ;
    998                   /* element() */
    999                  /* elements */
   1000                 }
   1001                 break;
   1002 
   1003         }
   1004           /* element() */
   1005         [self matchChar:'{']; if ( state.failed == YES ) return ;
   1006           /* element() */
   1007         if ( state.backtracking == 1 ) {
   1008             NSLog(@"found method %@", (name!=nil?[name getText]:0));
   1009         }  /* element() */
   1010          /* elements */
   1011         }
   1012 
   1013         // token+rule list labels
   1014 
   1015         [state setType:_type];
   1016 
   1017         state.channel = _channel;
   1018     }
   1019     @finally {
   1020         //
   1021     }
   1022     return;
   1023 }
   1024 // $ANTLR end "METHOD"
   1025 
   1026 // $ANTLR start "FIELD"
   1027 - (void) mFIELD
   1028 {
   1029     //
   1030     // ruleScopeSetUp
   1031 
   1032     @try {
   1033         NSInteger _type = FIELD;
   1034         NSInteger _channel = ANTLRTokenChannelDefault;
   1035         id<ANTLRToken> name=nil;
   1036 
   1037         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:26:5: ( TYPE WS name= ID ( '[]' )? ( WS )? ( ';' | '=' ) ) // ruleBlockSingleAlt
   1038         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:26:9: TYPE WS name= ID ( '[]' )? ( WS )? ( ';' | '=' ) // alt
   1039         {
   1040             [self mTYPE]; if ( state.failed == YES ) return ;
   1041           /* element() */
   1042             [self mWS]; if ( state.failed == YES ) return ;
   1043           /* element() */
   1044         NSInteger nameStart261 = [self getIndex];
   1045         [self mID]; if ( state.failed == YES ) return ;
   1046 
   1047         name = [[ANTLRCommonToken newANTLRCommonToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart261 Stop:[self getIndex]-1] retain];
   1048         [name setLine:[self getLine]];  /* element() */
   1049         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:26:25: ( '[]' )? // block
   1050         NSInteger alt23=2;
   1051         NSInteger LA23_0 = [input LA:1];
   1052 
   1053         if ( (LA23_0=='[') ) {
   1054             alt23=1;
   1055         }
   1056         switch (alt23) {
   1057             case 1 : ;
   1058                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:26:25: '[]' // alt
   1059                 {
   1060                 [self matchString:@"[]"]; if ( state.failed == YES ) return ;
   1061                   /* element() */
   1062                  /* elements */
   1063                 }
   1064                 break;
   1065 
   1066         }
   1067           /* element() */
   1068         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:26:31: ( WS )? // block
   1069         NSInteger alt24=2;
   1070         NSInteger LA24_0 = [input LA:1];
   1071 
   1072         if ( ((LA24_0>='\t' && LA24_0<='\n')||LA24_0==' ') ) {
   1073             alt24=1;
   1074         }
   1075         switch (alt24) {
   1076             case 1 : ;
   1077                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:26:31: WS // alt
   1078                 {
   1079                     [self mWS]; if ( state.failed == YES ) return ;
   1080                   /* element() */
   1081                  /* elements */
   1082                 }
   1083                 break;
   1084 
   1085         }
   1086           /* element() */
   1087         if ([input LA:1] == ';'||[input LA:1] == '=') {
   1088             [input consume];
   1089         state.failed = NO;
   1090 
   1091         } else {
   1092             if ( state.backtracking > 0 ) { state.failed = YES; return ; }
   1093             ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input];
   1094             [self recover:mse];
   1095             @throw mse;}
   1096           /* element() */
   1097         if ( state.backtracking == 1 ) {
   1098             NSLog(@"found var %@", (name!=nil?[name getText]:0));
   1099         }  /* element() */
   1100          /* elements */
   1101         }
   1102 
   1103         // token+rule list labels
   1104 
   1105         [state setType:_type];
   1106 
   1107         state.channel = _channel;
   1108     }
   1109     @finally {
   1110         //
   1111     }
   1112     return;
   1113 }
   1114 // $ANTLR end "FIELD"
   1115 
   1116 // $ANTLR start "STAT"
   1117 - (void) mSTAT
   1118 {
   1119     //
   1120     // ruleScopeSetUp
   1121 
   1122     @try {
   1123         NSInteger _type = STAT;
   1124         NSInteger _channel = ANTLRTokenChannelDefault;
   1125         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:30:5: ( ( 'if' | 'while' | 'switch' | 'for' ) ( WS )? '(' ) // ruleBlockSingleAlt
   1126         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:30:7: ( 'if' | 'while' | 'switch' | 'for' ) ( WS )? '(' // alt
   1127         {
   1128         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:30:7: ( 'if' | 'while' | 'switch' | 'for' ) // block
   1129         NSInteger alt25=4;
   1130         switch ([input LA:1]) {
   1131             case 'i': ;
   1132                 {
   1133                 alt25=1;
   1134                 }
   1135                 break;
   1136             case 'w': ;
   1137                 {
   1138                 alt25=2;
   1139                 }
   1140                 break;
   1141             case 's': ;
   1142                 {
   1143                 alt25=3;
   1144                 }
   1145                 break;
   1146             case 'f': ;
   1147                 {
   1148                 alt25=4;
   1149                 }
   1150                 break;
   1151 
   1152         default: ;
   1153             if ( state.backtracking > 0 ) { state.failed = YES; return ; }
   1154             ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:25 state:0 stream:input];
   1155             @throw nvae;
   1156         }
   1157 
   1158         switch (alt25) {
   1159             case 1 : ;
   1160                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:30:8: 'if' // alt
   1161                 {
   1162                 [self matchString:@"if"]; if ( state.failed == YES ) return ;
   1163                   /* element() */
   1164                  /* elements */
   1165                 }
   1166                 break;
   1167             case 2 : ;
   1168                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:30:13: 'while' // alt
   1169                 {
   1170                 [self matchString:@"while"]; if ( state.failed == YES ) return ;
   1171                   /* element() */
   1172                  /* elements */
   1173                 }
   1174                 break;
   1175             case 3 : ;
   1176                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:30:21: 'switch' // alt
   1177                 {
   1178                 [self matchString:@"switch"]; if ( state.failed == YES ) return ;
   1179                   /* element() */
   1180                  /* elements */
   1181                 }
   1182                 break;
   1183             case 4 : ;
   1184                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:30:30: 'for' // alt
   1185                 {
   1186                 [self matchString:@"for"]; if ( state.failed == YES ) return ;
   1187                   /* element() */
   1188                  /* elements */
   1189                 }
   1190                 break;
   1191 
   1192         }
   1193           /* element() */
   1194         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:30:37: ( WS )? // block
   1195         NSInteger alt26=2;
   1196         NSInteger LA26_0 = [input LA:1];
   1197 
   1198         if ( ((LA26_0>='\t' && LA26_0<='\n')||LA26_0==' ') ) {
   1199             alt26=1;
   1200         }
   1201         switch (alt26) {
   1202             case 1 : ;
   1203                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:30:37: WS // alt
   1204                 {
   1205                     [self mWS]; if ( state.failed == YES ) return ;
   1206                   /* element() */
   1207                  /* elements */
   1208                 }
   1209                 break;
   1210 
   1211         }
   1212           /* element() */
   1213         [self matchChar:'(']; if ( state.failed == YES ) return ;
   1214           /* element() */
   1215          /* elements */
   1216         }
   1217 
   1218         // token+rule list labels
   1219 
   1220         [state setType:_type];
   1221 
   1222         state.channel = _channel;
   1223     }
   1224     @finally {
   1225         //
   1226     }
   1227     return;
   1228 }
   1229 // $ANTLR end "STAT"
   1230 
   1231 // $ANTLR start "CALL"
   1232 - (void) mCALL
   1233 {
   1234     //
   1235     // ruleScopeSetUp
   1236 
   1237     @try {
   1238         NSInteger _type = CALL;
   1239         NSInteger _channel = ANTLRTokenChannelDefault;
   1240         id<ANTLRToken> name=nil;
   1241 
   1242         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:33:5: (name= QID ( WS )? '(' ) // ruleBlockSingleAlt
   1243         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:33:9: name= QID ( WS )? '(' // alt
   1244         {
   1245         NSInteger nameStart326 = [self getIndex];
   1246         [self mQID]; if ( state.failed == YES ) return ;
   1247 
   1248         name = [[ANTLRCommonToken newANTLRCommonToken:input Type:ANTLRTokenTypeInvalid Channel:ANTLRTokenChannelDefault Start:nameStart326 Stop:[self getIndex]-1] retain];
   1249         [name setLine:[self getLine]];  /* element() */
   1250         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:33:18: ( WS )? // block
   1251         NSInteger alt27=2;
   1252         NSInteger LA27_0 = [input LA:1];
   1253 
   1254         if ( ((LA27_0>='\t' && LA27_0<='\n')||LA27_0==' ') ) {
   1255             alt27=1;
   1256         }
   1257         switch (alt27) {
   1258             case 1 : ;
   1259                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:33:18: WS // alt
   1260                 {
   1261                     [self mWS]; if ( state.failed == YES ) return ;
   1262                   /* element() */
   1263                  /* elements */
   1264                 }
   1265                 break;
   1266 
   1267         }
   1268           /* element() */
   1269         [self matchChar:'(']; if ( state.failed == YES ) return ;
   1270           /* element() */
   1271         if ( state.backtracking == 1 ) {
   1272             /*ignore if this/super */ NSLog(@"found call %@",(name!=nil?[name getText]:0));
   1273         }  /* element() */
   1274          /* elements */
   1275         }
   1276 
   1277         // token+rule list labels
   1278 
   1279         [state setType:_type];
   1280 
   1281         state.channel = _channel;
   1282     }
   1283     @finally {
   1284         //
   1285     }
   1286     return;
   1287 }
   1288 // $ANTLR end "CALL"
   1289 
   1290 // $ANTLR start "COMMENT"
   1291 - (void) mCOMMENT
   1292 {
   1293     //
   1294     // ruleScopeSetUp
   1295 
   1296     @try {
   1297         NSInteger _type = COMMENT;
   1298         NSInteger _channel = ANTLRTokenChannelDefault;
   1299         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:38:5: ( '/*' ( options {greedy=false; } : . )* '*/' ) // ruleBlockSingleAlt
   1300         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:38:9: '/*' ( options {greedy=false; } : . )* '*/' // alt
   1301         {
   1302         [self matchString:@"/*"]; if ( state.failed == YES ) return ;
   1303           /* element() */
   1304         do {
   1305             NSInteger alt28=2;
   1306             NSInteger LA28_0 = [input LA:1];
   1307             if ( (LA28_0=='*') ) {
   1308                 NSInteger LA28_1 = [input LA:2];
   1309                 if ( (LA28_1=='/') ) {
   1310                     alt28=2;
   1311                 }
   1312                 else if ( ((LA28_1>=0x0000 && LA28_1<='.')||(LA28_1>='0' && LA28_1<=0xFFFF)) ) {
   1313                     alt28=1;
   1314                 }
   1315 
   1316 
   1317             }
   1318             else if ( ((LA28_0>=0x0000 && LA28_0<=')')||(LA28_0>='+' && LA28_0<=0xFFFF)) ) {
   1319                 alt28=1;
   1320             }
   1321 
   1322 
   1323             switch (alt28) {
   1324                 case 1 : ;
   1325                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:38:41: . // alt
   1326                     {
   1327                     [self matchAny]; if ( state.failed == YES ) return ;
   1328                       /* element() */
   1329                      /* elements */
   1330                     }
   1331                     break;
   1332 
   1333                 default :
   1334                     goto loop28;
   1335             }
   1336         } while (YES);
   1337         loop28: ;
   1338           /* element() */
   1339         [self matchString:@"*/"]; if ( state.failed == YES ) return ;
   1340           /* element() */
   1341         if ( state.backtracking == 1 ) {
   1342             NSLog(@"found comment %@", [self getText]);
   1343         }  /* element() */
   1344          /* elements */
   1345         }
   1346 
   1347         // token+rule list labels
   1348 
   1349         [state setType:_type];
   1350 
   1351         state.channel = _channel;
   1352     }
   1353     @finally {
   1354         //
   1355     }
   1356     return;
   1357 }
   1358 // $ANTLR end "COMMENT"
   1359 
   1360 // $ANTLR start "SL_COMMENT"
   1361 - (void) mSL_COMMENT
   1362 {
   1363     //
   1364     // ruleScopeSetUp
   1365 
   1366     @try {
   1367         NSInteger _type = SL_COMMENT;
   1368         NSInteger _channel = ANTLRTokenChannelDefault;
   1369         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:43:5: ( '//' ( options {greedy=false; } : . )* '\\n' ) // ruleBlockSingleAlt
   1370         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:43:9: '//' ( options {greedy=false; } : . )* '\\n' // alt
   1371         {
   1372         [self matchString:@"//"]; if ( state.failed == YES ) return ;
   1373           /* element() */
   1374         do {
   1375             NSInteger alt29=2;
   1376             NSInteger LA29_0 = [input LA:1];
   1377             if ( (LA29_0=='\n') ) {
   1378                 alt29=2;
   1379             }
   1380             else if ( ((LA29_0>=0x0000 && LA29_0<='\t')||(LA29_0>=0x000B && LA29_0<=0xFFFF)) ) {
   1381                 alt29=1;
   1382             }
   1383 
   1384 
   1385             switch (alt29) {
   1386                 case 1 : ;
   1387                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:43:41: . // alt
   1388                     {
   1389                     [self matchAny]; if ( state.failed == YES ) return ;
   1390                       /* element() */
   1391                      /* elements */
   1392                     }
   1393                     break;
   1394 
   1395                 default :
   1396                     goto loop29;
   1397             }
   1398         } while (YES);
   1399         loop29: ;
   1400           /* element() */
   1401         [self matchChar:'\n']; if ( state.failed == YES ) return ;
   1402           /* element() */
   1403         if ( state.backtracking == 1 ) {
   1404             NSLog(@"found // comment %@", [self getText]);
   1405         }  /* element() */
   1406          /* elements */
   1407         }
   1408 
   1409         // token+rule list labels
   1410 
   1411         [state setType:_type];
   1412 
   1413         state.channel = _channel;
   1414     }
   1415     @finally {
   1416         //
   1417     }
   1418     return;
   1419 }
   1420 // $ANTLR end "SL_COMMENT"
   1421 
   1422 // $ANTLR start "STRING"
   1423 - (void) mSTRING
   1424 {
   1425     //
   1426     // ruleScopeSetUp
   1427 
   1428     @try {
   1429         NSInteger _type = STRING;
   1430         NSInteger _channel = ANTLRTokenChannelDefault;
   1431         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:48:2: ( '\"' ( options {greedy=false; } : ESC | . )* '\"' ) // ruleBlockSingleAlt
   1432         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:48:4: '\"' ( options {greedy=false; } : ESC | . )* '\"' // alt
   1433         {
   1434         [self matchChar:'"']; if ( state.failed == YES ) return ;
   1435           /* element() */
   1436         do {
   1437             NSInteger alt30=3;
   1438             NSInteger LA30_0 = [input LA:1];
   1439             if ( (LA30_0=='"') ) {
   1440                 alt30=3;
   1441             }
   1442             else if ( (LA30_0=='\\') ) {
   1443                 NSInteger LA30_2 = [input LA:2];
   1444                 if ( (LA30_2=='"') ) {
   1445                     alt30=1;
   1446                 }
   1447                 else if ( (LA30_2=='\\') ) {
   1448                     alt30=1;
   1449                 }
   1450                 else if ( (LA30_2=='\'') ) {
   1451                     alt30=1;
   1452                 }
   1453                 else if ( ((LA30_2>=0x0000 && LA30_2<='!')||(LA30_2>='#' && LA30_2<='&')||(LA30_2>='(' && LA30_2<='[')||(LA30_2>=']' && LA30_2<=0xFFFF)) ) {
   1454                     alt30=2;
   1455                 }
   1456 
   1457 
   1458             }
   1459             else if ( ((LA30_0>=0x0000 && LA30_0<='!')||(LA30_0>='#' && LA30_0<='[')||(LA30_0>=']' && LA30_0<=0xFFFF)) ) {
   1460                 alt30=2;
   1461             }
   1462 
   1463 
   1464             switch (alt30) {
   1465                 case 1 : ;
   1466                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:48:34: ESC // alt
   1467                     {
   1468                         [self mESC]; if ( state.failed == YES ) return ;
   1469                       /* element() */
   1470                      /* elements */
   1471                     }
   1472                     break;
   1473                 case 2 : ;
   1474                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:48:40: . // alt
   1475                     {
   1476                     [self matchAny]; if ( state.failed == YES ) return ;
   1477                       /* element() */
   1478                      /* elements */
   1479                     }
   1480                     break;
   1481 
   1482                 default :
   1483                     goto loop30;
   1484             }
   1485         } while (YES);
   1486         loop30: ;
   1487           /* element() */
   1488         [self matchChar:'"']; if ( state.failed == YES ) return ;
   1489           /* element() */
   1490          /* elements */
   1491         }
   1492 
   1493         // token+rule list labels
   1494 
   1495         [state setType:_type];
   1496 
   1497         state.channel = _channel;
   1498     }
   1499     @finally {
   1500         //
   1501     }
   1502     return;
   1503 }
   1504 // $ANTLR end "STRING"
   1505 
   1506 // $ANTLR start "CHAR"
   1507 - (void) mCHAR
   1508 {
   1509     //
   1510     // ruleScopeSetUp
   1511 
   1512     @try {
   1513         NSInteger _type = CHAR;
   1514         NSInteger _channel = ANTLRTokenChannelDefault;
   1515         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:52:2: ( '\\'' ( options {greedy=false; } : ESC | . )* '\\'' ) // ruleBlockSingleAlt
   1516         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:52:4: '\\'' ( options {greedy=false; } : ESC | . )* '\\'' // alt
   1517         {
   1518         [self matchChar:'\'']; if ( state.failed == YES ) return ;
   1519           /* element() */
   1520         do {
   1521             NSInteger alt31=3;
   1522             NSInteger LA31_0 = [input LA:1];
   1523             if ( (LA31_0=='\'') ) {
   1524                 alt31=3;
   1525             }
   1526             else if ( (LA31_0=='\\') ) {
   1527                 NSInteger LA31_2 = [input LA:2];
   1528                 if ( (LA31_2=='\'') ) {
   1529                     alt31=1;
   1530                 }
   1531                 else if ( (LA31_2=='\\') ) {
   1532                     alt31=1;
   1533                 }
   1534                 else if ( (LA31_2=='"') ) {
   1535                     alt31=1;
   1536                 }
   1537                 else if ( ((LA31_2>=0x0000 && LA31_2<='!')||(LA31_2>='#' && LA31_2<='&')||(LA31_2>='(' && LA31_2<='[')||(LA31_2>=']' && LA31_2<=0xFFFF)) ) {
   1538                     alt31=2;
   1539                 }
   1540 
   1541 
   1542             }
   1543             else if ( ((LA31_0>=0x0000 && LA31_0<='&')||(LA31_0>='(' && LA31_0<='[')||(LA31_0>=']' && LA31_0<=0xFFFF)) ) {
   1544                 alt31=2;
   1545             }
   1546 
   1547 
   1548             switch (alt31) {
   1549                 case 1 : ;
   1550                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:52:35: ESC // alt
   1551                     {
   1552                         [self mESC]; if ( state.failed == YES ) return ;
   1553                       /* element() */
   1554                      /* elements */
   1555                     }
   1556                     break;
   1557                 case 2 : ;
   1558                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:52:41: . // alt
   1559                     {
   1560                     [self matchAny]; if ( state.failed == YES ) return ;
   1561                       /* element() */
   1562                      /* elements */
   1563                     }
   1564                     break;
   1565 
   1566                 default :
   1567                     goto loop31;
   1568             }
   1569         } while (YES);
   1570         loop31: ;
   1571           /* element() */
   1572         [self matchChar:'\'']; if ( state.failed == YES ) return ;
   1573           /* element() */
   1574          /* elements */
   1575         }
   1576 
   1577         // token+rule list labels
   1578 
   1579         [state setType:_type];
   1580 
   1581         state.channel = _channel;
   1582     }
   1583     @finally {
   1584         //
   1585     }
   1586     return;
   1587 }
   1588 // $ANTLR end "CHAR"
   1589 
   1590 // $ANTLR start "WS"
   1591 - (void) mWS
   1592 {
   1593     //
   1594     // ruleScopeSetUp
   1595 
   1596     @try {
   1597         NSInteger _type = WS;
   1598         NSInteger _channel = ANTLRTokenChannelDefault;
   1599         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:55:5: ( ( ' ' | '\\t' | '\\n' )+ ) // ruleBlockSingleAlt
   1600         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:55:9: ( ' ' | '\\t' | '\\n' )+ // alt
   1601         {
   1602         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:55:9: ( ' ' | '\\t' | '\\n' )+ // positiveClosureBlock
   1603         NSInteger cnt32=0;
   1604         do {
   1605             NSInteger alt32=2;
   1606             NSInteger LA32_0 = [input LA:1];
   1607             if ( ((LA32_0>='\t' && LA32_0<='\n')||LA32_0==' ') ) {
   1608                 alt32=1;
   1609             }
   1610 
   1611 
   1612             switch (alt32) {
   1613                 case 1 : ;
   1614                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g: // alt
   1615                     {
   1616                     if ((([input LA:1] >= '\t') && ([input LA:1] <= '\n'))||[input LA:1] == ' ') {
   1617                         [input consume];
   1618                     state.failed = NO;
   1619 
   1620                     } else {
   1621                         if ( state.backtracking > 0 ) { state.failed = YES; return ; }
   1622                         ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input];
   1623                         [self recover:mse];
   1624                         @throw mse;}
   1625                       /* element() */
   1626                      /* elements */
   1627                     }
   1628                     break;
   1629 
   1630                 default :
   1631                     if ( cnt32 >= 1 )
   1632                         goto loop32;
   1633                     if ( state.backtracking > 0 ) { state.failed = YES; return ; }            ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:32];
   1634                     @throw eee;
   1635             }
   1636             cnt32++;
   1637         } while (YES);
   1638         loop32: ;
   1639           /* element() */
   1640          /* elements */
   1641         }
   1642 
   1643         // token+rule list labels
   1644 
   1645         [state setType:_type];
   1646 
   1647         state.channel = _channel;
   1648     }
   1649     @finally {
   1650         //
   1651     }
   1652     return;
   1653 }
   1654 // $ANTLR end "WS"
   1655 
   1656 // $ANTLR start "QID"
   1657 - (void) mQID
   1658 {
   1659     //
   1660     // ruleScopeSetUp
   1661 
   1662     @try {
   1663         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:59:5: ( ID ( '.' ID )* ) // ruleBlockSingleAlt
   1664         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:59:7: ID ( '.' ID )* // alt
   1665         {
   1666             [self mID]; if ( state.failed == YES ) return ;
   1667           /* element() */
   1668         do {
   1669             NSInteger alt33=2;
   1670             NSInteger LA33_0 = [input LA:1];
   1671             if ( (LA33_0=='.') ) {
   1672                 alt33=1;
   1673             }
   1674 
   1675 
   1676             switch (alt33) {
   1677                 case 1 : ;
   1678                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:59:11: '.' ID // alt
   1679                     {
   1680                     [self matchChar:'.']; if ( state.failed == YES ) return ;
   1681                       /* element() */
   1682                         [self mID]; if ( state.failed == YES ) return ;
   1683                       /* element() */
   1684                      /* elements */
   1685                     }
   1686                     break;
   1687 
   1688                 default :
   1689                     goto loop33;
   1690             }
   1691         } while (YES);
   1692         loop33: ;
   1693           /* element() */
   1694          /* elements */
   1695         }
   1696 
   1697     }
   1698     @finally {
   1699         //
   1700     }
   1701     return;
   1702 }
   1703 // $ANTLR end "QID"
   1704 
   1705 // $ANTLR start "QIDStar"
   1706 - (void) mQIDStar
   1707 {
   1708     //
   1709     // ruleScopeSetUp
   1710 
   1711     @try {
   1712         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:68:2: ( ID ( '.' ID )* ( '.*' )? ) // ruleBlockSingleAlt
   1713         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:68:4: ID ( '.' ID )* ( '.*' )? // alt
   1714         {
   1715             [self mID]; if ( state.failed == YES ) return ;
   1716           /* element() */
   1717         do {
   1718             NSInteger alt34=2;
   1719             NSInteger LA34_0 = [input LA:1];
   1720             if ( (LA34_0=='.') ) {
   1721                 NSInteger LA34_1 = [input LA:2];
   1722                 if ( ((LA34_1>='A' && LA34_1<='Z')||LA34_1=='_'||(LA34_1>='a' && LA34_1<='z')) ) {
   1723                     alt34=1;
   1724                 }
   1725 
   1726 
   1727             }
   1728 
   1729 
   1730             switch (alt34) {
   1731                 case 1 : ;
   1732                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:68:8: '.' ID // alt
   1733                     {
   1734                     [self matchChar:'.']; if ( state.failed == YES ) return ;
   1735                       /* element() */
   1736                         [self mID]; if ( state.failed == YES ) return ;
   1737                       /* element() */
   1738                      /* elements */
   1739                     }
   1740                     break;
   1741 
   1742                 default :
   1743                     goto loop34;
   1744             }
   1745         } while (YES);
   1746         loop34: ;
   1747           /* element() */
   1748         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:68:17: ( '.*' )? // block
   1749         NSInteger alt35=2;
   1750         NSInteger LA35_0 = [input LA:1];
   1751 
   1752         if ( (LA35_0=='.') ) {
   1753             alt35=1;
   1754         }
   1755         switch (alt35) {
   1756             case 1 : ;
   1757                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:68:17: '.*' // alt
   1758                 {
   1759                 [self matchString:@".*"]; if ( state.failed == YES ) return ;
   1760                   /* element() */
   1761                  /* elements */
   1762                 }
   1763                 break;
   1764 
   1765         }
   1766           /* element() */
   1767          /* elements */
   1768         }
   1769 
   1770     }
   1771     @finally {
   1772         //
   1773     }
   1774     return;
   1775 }
   1776 // $ANTLR end "QIDStar"
   1777 
   1778 // $ANTLR start "TYPE"
   1779 - (void) mTYPE
   1780 {
   1781     //
   1782     // ruleScopeSetUp
   1783 
   1784     @try {
   1785         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:72:5: ( QID ( '[]' )? ) // ruleBlockSingleAlt
   1786         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:72:9: QID ( '[]' )? // alt
   1787         {
   1788             [self mQID]; if ( state.failed == YES ) return ;
   1789           /* element() */
   1790         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:72:13: ( '[]' )? // block
   1791         NSInteger alt36=2;
   1792         NSInteger LA36_0 = [input LA:1];
   1793 
   1794         if ( (LA36_0=='[') ) {
   1795             alt36=1;
   1796         }
   1797         switch (alt36) {
   1798             case 1 : ;
   1799                 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:72:13: '[]' // alt
   1800                 {
   1801                 [self matchString:@"[]"]; if ( state.failed == YES ) return ;
   1802                   /* element() */
   1803                  /* elements */
   1804                 }
   1805                 break;
   1806 
   1807         }
   1808           /* element() */
   1809          /* elements */
   1810         }
   1811 
   1812     }
   1813     @finally {
   1814         //
   1815     }
   1816     return;
   1817 }
   1818 // $ANTLR end "TYPE"
   1819 
   1820 // $ANTLR start "ARG"
   1821 - (void) mARG
   1822 {
   1823     //
   1824     // ruleScopeSetUp
   1825 
   1826     @try {
   1827         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:76:5: ( TYPE WS ID ) // ruleBlockSingleAlt
   1828         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:76:9: TYPE WS ID // alt
   1829         {
   1830             [self mTYPE]; if ( state.failed == YES ) return ;
   1831           /* element() */
   1832             [self mWS]; if ( state.failed == YES ) return ;
   1833           /* element() */
   1834             [self mID]; if ( state.failed == YES ) return ;
   1835           /* element() */
   1836          /* elements */
   1837         }
   1838 
   1839     }
   1840     @finally {
   1841         //
   1842     }
   1843     return;
   1844 }
   1845 // $ANTLR end "ARG"
   1846 
   1847 // $ANTLR start "ID"
   1848 - (void) mID
   1849 {
   1850     //
   1851     // ruleScopeSetUp
   1852 
   1853     @try {
   1854         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:80:5: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) // ruleBlockSingleAlt
   1855         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:80:9: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* // alt
   1856         {
   1857         if ((([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||[input LA:1] == '_'||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) {
   1858             [input consume];
   1859         state.failed = NO;
   1860 
   1861         } else {
   1862             if ( state.backtracking > 0 ) { state.failed = YES; return ; }
   1863             ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input];
   1864             [self recover:mse];
   1865             @throw mse;}
   1866           /* element() */
   1867         do {
   1868             NSInteger alt37=2;
   1869             NSInteger LA37_0 = [input LA:1];
   1870             if ( ((LA37_0>='0' && LA37_0<='9')||(LA37_0>='A' && LA37_0<='Z')||LA37_0=='_'||(LA37_0>='a' && LA37_0<='z')) ) {
   1871                 alt37=1;
   1872             }
   1873 
   1874 
   1875             switch (alt37) {
   1876                 case 1 : ;
   1877                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g: // alt
   1878                     {
   1879                     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'))) {
   1880                         [input consume];
   1881                     state.failed = NO;
   1882 
   1883                     } else {
   1884                         if ( state.backtracking > 0 ) { state.failed = YES; return ; }
   1885                         ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input];
   1886                         [self recover:mse];
   1887                         @throw mse;}
   1888                       /* element() */
   1889                      /* elements */
   1890                     }
   1891                     break;
   1892 
   1893                 default :
   1894                     goto loop37;
   1895             }
   1896         } while (YES);
   1897         loop37: ;
   1898           /* element() */
   1899          /* elements */
   1900         }
   1901 
   1902     }
   1903     @finally {
   1904         //
   1905     }
   1906     return;
   1907 }
   1908 // $ANTLR end "ID"
   1909 
   1910 // $ANTLR start "ESC"
   1911 - (void) mESC
   1912 {
   1913     //
   1914     // ruleScopeSetUp
   1915 
   1916     @try {
   1917         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:84:5: ( '\\\\' ( '\"' | '\\'' | '\\\\' ) ) // ruleBlockSingleAlt
   1918         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:84:7: '\\\\' ( '\"' | '\\'' | '\\\\' ) // alt
   1919         {
   1920         [self matchChar:'\\']; if ( state.failed == YES ) return ;
   1921           /* element() */
   1922         if ([input LA:1] == '"'||[input LA:1] == '\''||[input LA:1] == '\\') {
   1923             [input consume];
   1924         state.failed = NO;
   1925 
   1926         } else {
   1927             if ( state.backtracking > 0 ) { state.failed = YES; return ; }
   1928             ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input];
   1929             [self recover:mse];
   1930             @throw mse;}
   1931           /* element() */
   1932          /* elements */
   1933         }
   1934 
   1935     }
   1936     @finally {
   1937         //
   1938     }
   1939     return;
   1940 }
   1941 // $ANTLR end "ESC"
   1942 
   1943 - (void) mTokens
   1944 {
   1945     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:39: ( IMPORT | RETURN | CLASS | METHOD | FIELD | STAT | CALL | COMMENT | SL_COMMENT | STRING | CHAR | WS ) //ruleblock
   1946     NSInteger alt38=12;
   1947     alt38 = [dfa38 predict:input];
   1948     switch (alt38) {
   1949         case 1 : ;
   1950             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:41: IMPORT // alt
   1951             {
   1952                 [self mIMPORT]; if ( state.failed == YES ) return ;
   1953               /* element() */
   1954              /* elements */
   1955             }
   1956             break;
   1957         case 2 : ;
   1958             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:48: RETURN // alt
   1959             {
   1960                 [self mRETURN]; if ( state.failed == YES ) return ;
   1961               /* element() */
   1962              /* elements */
   1963             }
   1964             break;
   1965         case 3 : ;
   1966             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:55: CLASS // alt
   1967             {
   1968                 [self mCLASS]; if ( state.failed == YES ) return ;
   1969               /* element() */
   1970              /* elements */
   1971             }
   1972             break;
   1973         case 4 : ;
   1974             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:61: METHOD // alt
   1975             {
   1976                 [self mMETHOD]; if ( state.failed == YES ) return ;
   1977               /* element() */
   1978              /* elements */
   1979             }
   1980             break;
   1981         case 5 : ;
   1982             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:68: FIELD // alt
   1983             {
   1984                 [self mFIELD]; if ( state.failed == YES ) return ;
   1985               /* element() */
   1986              /* elements */
   1987             }
   1988             break;
   1989         case 6 : ;
   1990             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:74: STAT // alt
   1991             {
   1992                 [self mSTAT]; if ( state.failed == YES ) return ;
   1993               /* element() */
   1994              /* elements */
   1995             }
   1996             break;
   1997         case 7 : ;
   1998             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:79: CALL // alt
   1999             {
   2000                 [self mCALL]; if ( state.failed == YES ) return ;
   2001               /* element() */
   2002              /* elements */
   2003             }
   2004             break;
   2005         case 8 : ;
   2006             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:84: COMMENT // alt
   2007             {
   2008                 [self mCOMMENT]; if ( state.failed == YES ) return ;
   2009               /* element() */
   2010              /* elements */
   2011             }
   2012             break;
   2013         case 9 : ;
   2014             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:92: SL_COMMENT // alt
   2015             {
   2016                 [self mSL_COMMENT]; if ( state.failed == YES ) return ;
   2017               /* element() */
   2018              /* elements */
   2019             }
   2020             break;
   2021         case 10 : ;
   2022             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:103: STRING // alt
   2023             {
   2024                 [self mSTRING]; if ( state.failed == YES ) return ;
   2025               /* element() */
   2026              /* elements */
   2027             }
   2028             break;
   2029         case 11 : ;
   2030             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:110: CHAR // alt
   2031             {
   2032                 [self mCHAR]; if ( state.failed == YES ) return ;
   2033               /* element() */
   2034              /* elements */
   2035             }
   2036             break;
   2037         case 12 : ;
   2038             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:115: WS // alt
   2039             {
   2040                 [self mWS]; if ( state.failed == YES ) return ;
   2041               /* element() */
   2042              /* elements */
   2043             }
   2044             break;
   2045 
   2046     }
   2047 
   2048 }
   2049 
   2050 // $ANTLR start synpred1_Fuzzy_fragment
   2051 - (void) synpred1_Fuzzy_fragment
   2052 {
   2053     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:41: ( IMPORT ) // ruleBlockSingleAlt
   2054     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:41: IMPORT // alt
   2055     {
   2056         [self mIMPORT]; if ( state.failed == YES ) return ;
   2057       /* element() */
   2058      /* elements */
   2059     }
   2060 } // $ANTLR end synpred1_Fuzzy_fragment
   2061 
   2062 // $ANTLR start synpred2_Fuzzy_fragment
   2063 - (void) synpred2_Fuzzy_fragment
   2064 {
   2065     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:48: ( RETURN ) // ruleBlockSingleAlt
   2066     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:48: RETURN // alt
   2067     {
   2068         [self mRETURN]; if ( state.failed == YES ) return ;
   2069       /* element() */
   2070      /* elements */
   2071     }
   2072 } // $ANTLR end synpred2_Fuzzy_fragment
   2073 
   2074 // $ANTLR start synpred3_Fuzzy_fragment
   2075 - (void) synpred3_Fuzzy_fragment
   2076 {
   2077     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:55: ( CLASS ) // ruleBlockSingleAlt
   2078     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:55: CLASS // alt
   2079     {
   2080         [self mCLASS]; if ( state.failed == YES ) return ;
   2081       /* element() */
   2082      /* elements */
   2083     }
   2084 } // $ANTLR end synpred3_Fuzzy_fragment
   2085 
   2086 // $ANTLR start synpred4_Fuzzy_fragment
   2087 - (void) synpred4_Fuzzy_fragment
   2088 {
   2089     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:61: ( METHOD ) // ruleBlockSingleAlt
   2090     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:61: METHOD // alt
   2091     {
   2092         [self mMETHOD]; if ( state.failed == YES ) return ;
   2093       /* element() */
   2094      /* elements */
   2095     }
   2096 } // $ANTLR end synpred4_Fuzzy_fragment
   2097 
   2098 // $ANTLR start synpred5_Fuzzy_fragment
   2099 - (void) synpred5_Fuzzy_fragment
   2100 {
   2101     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:68: ( FIELD ) // ruleBlockSingleAlt
   2102     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:68: FIELD // alt
   2103     {
   2104         [self mFIELD]; if ( state.failed == YES ) return ;
   2105       /* element() */
   2106      /* elements */
   2107     }
   2108 } // $ANTLR end synpred5_Fuzzy_fragment
   2109 
   2110 // $ANTLR start synpred6_Fuzzy_fragment
   2111 - (void) synpred6_Fuzzy_fragment
   2112 {
   2113     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:74: ( STAT ) // ruleBlockSingleAlt
   2114     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:74: STAT // alt
   2115     {
   2116         [self mSTAT]; if ( state.failed == YES ) return ;
   2117       /* element() */
   2118      /* elements */
   2119     }
   2120 } // $ANTLR end synpred6_Fuzzy_fragment
   2121 
   2122 // $ANTLR start synpred7_Fuzzy_fragment
   2123 - (void) synpred7_Fuzzy_fragment
   2124 {
   2125     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:79: ( CALL ) // ruleBlockSingleAlt
   2126     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:79: CALL // alt
   2127     {
   2128         [self mCALL]; if ( state.failed == YES ) return ;
   2129       /* element() */
   2130      /* elements */
   2131     }
   2132 } // $ANTLR end synpred7_Fuzzy_fragment
   2133 
   2134 // $ANTLR start synpred8_Fuzzy_fragment
   2135 - (void) synpred8_Fuzzy_fragment
   2136 {
   2137     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:84: ( COMMENT ) // ruleBlockSingleAlt
   2138     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:84: COMMENT // alt
   2139     {
   2140         [self mCOMMENT]; if ( state.failed == YES ) return ;
   2141       /* element() */
   2142      /* elements */
   2143     }
   2144 } // $ANTLR end synpred8_Fuzzy_fragment
   2145 
   2146 // $ANTLR start synpred9_Fuzzy_fragment
   2147 - (void) synpred9_Fuzzy_fragment
   2148 {
   2149     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:92: ( SL_COMMENT ) // ruleBlockSingleAlt
   2150     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/fuzzy/Fuzzy.g:1:92: SL_COMMENT // alt
   2151     {
   2152         [self mSL_COMMENT]; if ( state.failed == YES ) return ;
   2153       /* element() */
   2154      /* elements */
   2155     }
   2156 } // $ANTLR end synpred9_Fuzzy_fragment
   2157 
   2158 @end // end of Fuzzy implementation // line 397
   2159 
   2160 /* End of code
   2161  * =============================================================================
   2162  */
   2163