Home | History | Annotate | Download | only in lexertest-simple
      1 /** \file
      2  *  This OBJC source file was generated by $ANTLR version 3.4
      3  *
      4  *     -  From the grammar source file : /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.g
      5  *     -                            On : 2012-02-16 17:36:38
      6  *     -                 for the lexer : TestLexerLexer
      7  *
      8  * Editing it, at least manually, is not wise.
      9  *
     10  * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com.
     11  *
     12  *
     13 */
     14 // $ANTLR 3.4 /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.g 2012-02-16 17:36:38
     15 
     16 
     17 /* -----------------------------------------
     18  * Include the ANTLR3 generated header file.
     19  */
     20 #import "TestLexer.h"
     21 /* ----------------------------------------- */
     22 
     23 
     24 /* ============================================================================= */
     25 /* =============================================================================
     26  * Start of recognizer
     27  */
     28 
     29 /** As per Terence: No returns for lexer rules! */
     30 @implementation TestLexer // line 330
     31 
     32 + (void) initialize
     33 {
     34     [BaseRecognizer setGrammarFileName:@"/Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.g"];
     35 }
     36 
     37 + (NSString *) tokenNameForType:(NSInteger)aTokenType
     38 {
     39     return [[self getTokenNames] objectAtIndex:aTokenType];
     40 }
     41 
     42 + (TestLexer *)newTestLexerWithCharStream:(id<CharStream>)anInput
     43 {
     44     return [[TestLexer alloc] initWithCharStream:anInput];
     45 }
     46 
     47 - (id) initWithCharStream:(id<CharStream>)anInput
     48 {
     49     self = [super initWithCharStream:anInput State:[RecognizerSharedState newRecognizerSharedStateWithRuleLen:4+1]];
     50     if ( self != nil ) {
     51     }
     52     return self;
     53 }
     54 
     55 - (void) dealloc
     56 {
     57     [super dealloc];
     58 }
     59 
     60 /* ObjC Start of actions.lexer.methods */
     61 /* ObjC end of actions.lexer.methods */
     62 /* ObjC start methods() */
     63 /* ObjC end methods() */
     64 
     65 /* Start of Rules */
     66 // $ANTLR start "ID"
     67 - (void) mID
     68 {
     69     //
     70     /* ruleScopeSetUp */
     71 
     72     /* ruleDeclarations */
     73 
     74     @try {
     75         NSInteger _type = ID;
     76         NSInteger _channel = TokenChannelDefault;
     77         // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.g:8:4: ( LETTER ( LETTER | DIGIT )* ) // ruleBlockSingleAlt
     78         // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.g:8:6: LETTER ( LETTER | DIGIT )* // alt
     79         {
     80 
     81 
     82         [self mLETTER];
     83 
     84 
     85 
     86 
     87         do {
     88             NSInteger alt1=2;
     89             NSInteger LA1_0 = [input LA:1];
     90             if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'Z')||(LA1_0 >= 'a' && LA1_0 <= 'z')) ) {
     91                 alt1=1;
     92             }
     93 
     94 
     95             switch (alt1) {
     96                 case 1 : ;
     97                     // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.g: // alt
     98                     {
     99 
    100                     if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))||(([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) {
    101                         [input consume];
    102                     } else {
    103                         MismatchedSetException *mse = [MismatchedSetException newException:nil stream:input];
    104                         [self recover:mse];
    105                         @throw mse;
    106                     }
    107 
    108 
    109                     }
    110                     break;
    111 
    112                 default :
    113                     goto loop1;
    114             }
    115         } while (YES);
    116         loop1: ;
    117 
    118 
    119         }
    120 
    121         /* token+rule list labels */
    122 
    123         state.type = _type;
    124         state.channel = _channel;
    125     }
    126     @finally {
    127         //
    128         /* ruleScopeCleanUp */
    129 
    130     }
    131     return;
    132 }
    133 /* $ANTLR end "ID" */
    134 // $ANTLR start "DIGIT"
    135 - (void) mDIGIT
    136 {
    137     //
    138     /* ruleScopeSetUp */
    139 
    140     /* ruleDeclarations */
    141 
    142     @try {
    143         // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.g:11:16: ( '0' .. '9' ) // ruleBlockSingleAlt
    144         // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.g: // alt
    145         {
    146 
    147         if ((([input LA:1] >= '0') && ([input LA:1] <= '9'))) {
    148             [input consume];
    149         } else {
    150             MismatchedSetException *mse = [MismatchedSetException newException:nil stream:input];
    151             [self recover:mse];
    152             @throw mse;
    153         }
    154 
    155 
    156         }
    157 
    158 
    159     }
    160     @finally {
    161         //
    162         /* ruleScopeCleanUp */
    163 
    164     }
    165     return;
    166 }
    167 /* $ANTLR end "DIGIT" */
    168 // $ANTLR start "LETTER"
    169 - (void) mLETTER
    170 {
    171     //
    172     /* ruleScopeSetUp */
    173 
    174     /* ruleDeclarations */
    175 
    176     @try {
    177         // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.g:15:2: ( 'a' .. 'z' | 'A' .. 'Z' ) // ruleBlockSingleAlt
    178         // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.g: // alt
    179         {
    180 
    181         if ((([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) {
    182             [input consume];
    183         } else {
    184             MismatchedSetException *mse = [MismatchedSetException newException:nil stream:input];
    185             [self recover:mse];
    186             @throw mse;
    187         }
    188 
    189 
    190         }
    191 
    192 
    193     }
    194     @finally {
    195         //
    196         /* ruleScopeCleanUp */
    197 
    198     }
    199     return;
    200 }
    201 /* $ANTLR end "LETTER" */
    202 - (void) mTokens
    203 {
    204     // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.g:1:8: ( ID ) // ruleBlockSingleAlt
    205     // /Users/acondit/source/antlr/code/antlr3/runtime/ObjC/Framework/examples/lexertest-simple/TestLexer.g:1:10: ID // alt
    206     {
    207 
    208 
    209     [self mID];
    210 
    211 
    212 
    213     }
    214 
    215 
    216 }
    217 
    218 @end /* end of TestLexer implementation line 397 */