Home | History | Annotate | Download | only in output1
      1 /** \file
      2  *  This OBJC source file was generated by $ANTLR version 3.2 Aug 20, 2010 15:00:19
      3  *
      4  *     -  From the grammar source file : /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g
      5  *     -                            On : 2010-08-20 15:03:14
      6  *     -                 for the lexer : TreeRewriteLexerLexer *
      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 15:00:19 /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g 2010-08-20 15:03:14
     41 
     42 /* -----------------------------------------
     43  * Include the ANTLR3 generated header file.
     44  */
     45 #import "TreeRewriteLexer.h"
     46 /* ----------------------------------------- */
     47 
     48 
     49 /* ============================================================================= */
     50 
     51 /* =============================================================================
     52  * Start of recognizer
     53  */
     54 
     55 
     56 /** As per Terence: No returns for lexer rules!
     57 #pragma mark Rule return scopes start
     58 #pragma mark Rule return scopes end
     59 */
     60 @implementation TreeRewriteLexer // line 330
     61 
     62 + (void) initialize
     63 {
     64     [ANTLRBaseRecognizer setGrammarFileName:@"/usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g"];
     65 }
     66 
     67 + (NSString *) tokenNameForType:(NSInteger)aTokenType
     68 {
     69     return [[self getTokenNames] objectAtIndex:aTokenType];
     70 }
     71 
     72 + (TreeRewriteLexer *)newTreeRewriteLexer:(id<ANTLRCharStream>)anInput
     73 {
     74     return [[TreeRewriteLexer alloc] initWithCharStream:anInput];
     75 }
     76 
     77 - (id) initWithCharStream:(id<ANTLRCharStream>)anInput
     78 {
     79     if ((self = [super initWithCharStream:anInput State:[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:3+1]]) != nil) {
     80 
     81     }
     82     return self;
     83 }
     84 
     85 - (void) dealloc
     86 {
     87     [super dealloc];
     88 }
     89 
     90 // Start of actions.lexer.methods
     91 // start methods()
     92 
     93 // Start of Rules
     94 // $ANTLR start "INT"
     95 - (void) mINT
     96 {
     97     //
     98     // ruleScopeSetUp
     99 
    100     @try {
    101         NSInteger _type = INT;
    102         NSInteger _channel = ANTLRTokenChannelDefault;
    103         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:15:5: ( ( '0' .. '9' )+ ) // ruleBlockSingleAlt
    104         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:15:7: ( '0' .. '9' )+ // alt
    105         {
    106         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:15:7: ( '0' .. '9' )+ // positiveClosureBlock
    107         NSInteger cnt1=0;
    108         do {
    109             NSInteger alt1=2;
    110             NSInteger LA1_0 = [input LA:1];
    111             if ( ((LA1_0>='0' && LA1_0<='9')) ) {
    112                 alt1=1;
    113             }
    114 
    115 
    116             switch (alt1) {
    117                 case 1 : ;
    118                     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:15:8: '0' .. '9' // alt
    119                     {
    120                     [self matchRangeFromChar:'0' to:'9'];   /* element() */
    121                      /* elements */
    122                     }
    123                     break;
    124 
    125                 default :
    126                     if ( cnt1 >= 1 )
    127                         goto loop1;
    128                     ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:1];
    129                     @throw eee;
    130             }
    131             cnt1++;
    132         } while (YES);
    133         loop1: ;
    134           /* element() */
    135          /* elements */
    136         }
    137 
    138         // token+rule list labels
    139 
    140         [state setType:_type];
    141 
    142         state.channel = _channel;
    143     }
    144     @finally {
    145         //
    146     }
    147     return;
    148 }
    149 // $ANTLR end "INT"
    150 
    151 // $ANTLR start "WS"
    152 - (void) mWS
    153 {
    154     //
    155     // ruleScopeSetUp
    156 
    157     @try {
    158         NSInteger _type = WS;
    159         NSInteger _channel = ANTLRTokenChannelDefault;
    160         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:18:5: ( ' ' ) // ruleBlockSingleAlt
    161         // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:18:9: ' ' // alt
    162         {
    163         [self matchChar:' '];
    164           /* element() */
    165         state.channel=99;  /* element() */
    166          /* elements */
    167         }
    168 
    169         // token+rule list labels
    170 
    171         [state setType:_type];
    172 
    173         state.channel = _channel;
    174     }
    175     @finally {
    176         //
    177     }
    178     return;
    179 }
    180 // $ANTLR end "WS"
    181 
    182 - (void) mTokens
    183 {
    184     // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:1:8: ( INT | WS ) //ruleblock
    185     NSInteger alt2=2;
    186     NSInteger LA2_0 = [input LA:1];
    187 
    188     if ( ((LA2_0>='0' && LA2_0<='9')) ) {
    189         alt2=1;
    190     }
    191     else if ( (LA2_0==' ') ) {
    192         alt2=2;
    193     }
    194     else {
    195         ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException newANTLRNoViableAltException:2 state:0 stream:input];
    196         @throw nvae;
    197     }
    198     switch (alt2) {
    199         case 1 : ;
    200             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:1:10: INT // alt
    201             {
    202                 [self mINT];
    203               /* element() */
    204              /* elements */
    205             }
    206             break;
    207         case 2 : ;
    208             // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/treerewrite/TreeRewrite.g:1:14: WS // alt
    209             {
    210                 [self mWS];
    211               /* element() */
    212              /* elements */
    213             }
    214             break;
    215 
    216     }
    217 
    218 }
    219 
    220 @end // end of TreeRewriteLexer implementation // line 397
    221 
    222 /* End of code
    223  * =============================================================================
    224  */
    225