Home | History | Annotate | Download | only in Framework
      1 // [The "BSD licence"]
      2 // Copyright (c) 2007 Kay Roepke
      3 // All rights reserved.
      4 //
      5 // Redistribution and use in source and binary forms, with or without
      6 // modification, are permitted provided that the following conditions
      7 // are met:
      8 // 1. Redistributions of source code must retain the above copyright
      9 //    notice, this list of conditions and the following disclaimer.
     10 // 2. Redistributions in binary form must reproduce the above copyright
     11 //    notice, this list of conditions and the following disclaimer in the
     12 //    documentation and/or other materials provided with the distribution.
     13 // 3. The name of the author may not be used to endorse or promote products
     14 //    derived from this software without specific prior written permission.
     15 //
     16 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     17 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     18 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     19 // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     20 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     21 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     22 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     23 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     24 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     25 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     26 
     27 #import "ANTLRLexerState.h"
     28 
     29 
     30 @implementation ANTLRLexerState
     31 
     32 - (id) init
     33 {
     34 	self = [super init];
     35 	if (self) {
     36 		[self reset];
     37 	}
     38 	return self;
     39 }
     40 
     41 - (void) reset
     42 {
     43 	[self setToken:nil];
     44 	type = 0;				
     45 	channel = 0;				
     46 	tokenStartLine = 0;		
     47 	tokenStartCharPositionInLine = 0;
     48 	tokenStartCharIndex = -1;    
     49 	[self setText:nil];
     50 }
     51 
     52 - (void) dealloc
     53 {
     54 #ifdef DEBUG_DEALLOC
     55     NSLog( @"called dealloc in ANTLRLexerState" );
     56 #endif
     57 	[self setText:nil];
     58 	[self setToken:nil];
     59 	[super dealloc];
     60 }
     61 
     62 - (id<ANTLRToken>) getToken
     63 {
     64 	return token;
     65 }
     66 
     67 - (void) setToken:(id<ANTLRToken>) theToken
     68 {
     69 	if (theToken != token) {
     70 		if ( token ) [token release];
     71 		token = [theToken retain];
     72 	}
     73 }
     74 
     75 
     76 - (NSUInteger) getTokenType
     77 {
     78 	return type;
     79 }
     80 
     81 - (void) setTokenType:(NSUInteger) theTokenType
     82 {
     83 	type = theTokenType;
     84 }
     85 
     86 - (NSUInteger)channel
     87 {
     88 	return channel;
     89 }
     90 
     91 - (void) setChannel:(NSUInteger) theChannel
     92 {
     93 	channel = theChannel;
     94 }
     95 
     96 - (NSUInteger) getTokenStartLine
     97 {
     98 	return tokenStartLine;
     99 }
    100 
    101 - (void) setTokenStartLine:(NSUInteger) theTokenStartLine
    102 {
    103 	tokenStartLine = theTokenStartLine;
    104 }
    105 
    106 - (unsigned int) getTokenCharPositionInLine
    107 {
    108 	return tokenStartCharPositionInLine;
    109 }
    110 
    111 - (void) setTokenCharPositionInLine:(unsigned int) theCharPosition
    112 {
    113 	tokenStartCharPositionInLine = theCharPosition;
    114 }
    115 
    116 - (int) getTokenStartCharIndex
    117 {
    118 	return tokenStartCharIndex;
    119 }
    120 
    121 - (void) setTokenStartCharIndex:(int) theTokenStartCharIndex
    122 {
    123 	tokenStartCharIndex = theTokenStartCharIndex;
    124 }
    125 
    126 - (NSString *) text
    127 {
    128 	return text;
    129 }
    130 
    131 - (void) setText:(NSString *) theText
    132 {
    133 	if (text != theText) {
    134 		if ( text ) [text release];
    135 		text = [theText retain];
    136 	}
    137 }
    138 
    139 @end
    140