1/** \file 2 * This OBJC source file was generated by $ANTLR version 3.2 Aug 23, 2010 07:48:06 3 * 4 * - From the grammar source file : /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g 5 * - On : 2010-08-23 07:54:47 6 * - for the lexer : SimpleCLexerLexer * 7 * Editing it, at least manually, is not wise. 8 * 9 * ObjC language generator and runtime by Alan Condit, acondit|hereisanat|ipns|dotgoeshere|com. 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 23, 2010 07:48:06 /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g 2010-08-23 07:54:47 41 42/* ----------------------------------------- 43 * Include the ANTLR3 generated header file. 44 */ 45#import "SimpleCLexer.h" 46/* ----------------------------------------- */ 47 48 49/* ============================================================================= */ 50 51/* ============================================================================= 52 * Start of recognizer 53 */ 54 55#pragma mark Cyclic DFA implementation start DFA4 56@implementation DFA4 57const static NSInteger dfa4_eot[33] = 58 {-1,-1,-1,-1,-1,-1,-1,11,11,11,11,-1,-1,22,-1,-1,-1,11,11,11,11,-1,-1, 59 27,28,11,11,-1,-1,31,32,-1,-1}; 60const static NSInteger dfa4_eof[33] = 61 {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 62 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; 63const static unichar dfa4_min[33] = 64 {9,0,0,0,0,0,0,111,110,104,111,0,0,61,0,0,0,114,116,97,105,0,0,48,48, 65 114,100,0,0,48,48,0,0}; 66const static unichar dfa4_max[33] = 67 {125,0,0,0,0,0,0,111,110,104,111,0,0,61,0,0,0,114,116,97,105,0,0,122, 68 122,114,100,0,0,122,122,0,0}; 69const static NSInteger dfa4_accept[33] = 70 {-1,1,2,3,4,5,6,-1,-1,-1,-1,11,12,-1,15,16,17,-1,-1,-1,-1,14,13,-1,-1, 71 -1,-1,7,8,-1,-1,9,10}; 72const static NSInteger dfa4_special[33] = 73 {-1,-1,-1,-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}; 75const static NSInteger dfa4_transition[] = {}; 76const static NSInteger dfa4_transition0[] = {24}; 77const static NSInteger dfa4_transition1[] = {26}; 78const static NSInteger dfa4_transition2[] = {29}; 79const static NSInteger dfa4_transition3[] = {20}; 80const static NSInteger dfa4_transition4[] = {25}; 81const static NSInteger dfa4_transition5[] = {16, 16, -1, -1, 16, -1, -1, 82 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, -1, 83 -1, -1, -1, -1, -1, -1, 2, 4, -1, 15, 3, -1, -1, -1, 12, 12, 12, 12, 12, 84 12, 12, 12, 12, 12, -1, 1, 14, 13, -1, -1, -1, 11, 11, 11, 11, 11, 11, 85 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 86 11, 11, -1, -1, -1, -1, 11, -1, 11, 11, 9, 11, 11, 7, 11, 11, 8, 11, 11, 87 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 11, 11, 11, 11, 5, -1, 6}; 88const static NSInteger dfa4_transition6[] = {21}; 89const static NSInteger dfa4_transition7[] = {11, 11, 11, 11, 11, 11, 11, 90 11, 11, 11, -1, -1, -1, -1, -1, -1, -1, 11, 11, 11, 11, 11, 11, 11, 11, 91 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 92 -1, -1, -1, -1, 11, -1, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 93 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11}; 94const static NSInteger dfa4_transition8[] = {18}; 95const static NSInteger dfa4_transition9[] = {19}; 96const static NSInteger dfa4_transition10[] = {23}; 97const static NSInteger dfa4_transition11[] = {17}; 98const static NSInteger dfa4_transition12[] = {30}; 99 100 101+ () newDFA4WithRecognizer:(ANTLRBaseRecognizer *)aRecognizer 102{ 103 return [[[DFA4 alloc] initWithRecognizer:aRecognizer] retain]; 104} 105 106- (id) initWithRecognizer:(ANTLRBaseRecognizer *) theRecognizer 107{ 108 if ((self = [super initWithRecognizer:theRecognizer]) != nil) { 109 decisionNumber = 4; 110 eot = dfa4_eot; 111 eof = dfa4_eof; 112 min = dfa4_min; 113 max = dfa4_max; 114 accept = dfa4_accept; 115 special = dfa4_special; 116 if (!(transition = calloc(33, sizeof(void*)))) { 117 [self release]; 118 return nil; 119 } 120 len = 33; 121 transition[0] = dfa4_transition5; 122 transition[1] = dfa4_transition; 123 transition[2] = dfa4_transition; 124 transition[3] = dfa4_transition; 125 transition[4] = dfa4_transition; 126 transition[5] = dfa4_transition; 127 transition[6] = dfa4_transition; 128 transition[7] = dfa4_transition11; 129 transition[8] = dfa4_transition8; 130 transition[9] = dfa4_transition9; 131 transition[10] = dfa4_transition3; 132 transition[11] = dfa4_transition; 133 transition[12] = dfa4_transition; 134 transition[13] = dfa4_transition6; 135 transition[14] = dfa4_transition; 136 transition[15] = dfa4_transition; 137 transition[16] = dfa4_transition; 138 transition[17] = dfa4_transition10; 139 transition[18] = dfa4_transition0; 140 transition[19] = dfa4_transition4; 141 transition[20] = dfa4_transition1; 142 transition[21] = dfa4_transition; 143 transition[22] = dfa4_transition; 144 transition[23] = dfa4_transition7; 145 transition[24] = dfa4_transition7; 146 transition[25] = dfa4_transition2; 147 transition[26] = dfa4_transition12; 148 transition[27] = dfa4_transition; 149 transition[28] = dfa4_transition; 150 transition[29] = dfa4_transition7; 151 transition[30] = dfa4_transition7; 152 transition[31] = dfa4_transition; 153 transition[32] = dfa4_transition; 154 } 155 return self; 156} 157 158- (void) dealloc 159{ 160 free(transition); 161 [super dealloc]; 162} 163 164- (NSString *) description 165{ 166 return @"1:1: Tokens : ( T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | K_FOR | K_INT_TYPE | K_CHAR | K_VOID | K_ID | K_INT | K_EQ | K_EQEQ | K_LT | K_PLUS | WS );"; 167} 168 169 170@end /* end DFA4 implementation */ 171 172#pragma mark Cyclic DFA implementation end DFA4 173 174 175 176/** As per Terence: No returns for lexer rules! 177#pragma mark Rule return scopes start 178#pragma mark Rule return scopes end 179*/ 180@implementation SimpleCLexer // line 330 181 182+ (void) initialize 183{ 184 [ANTLRBaseRecognizer setGrammarFileName:@"/usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g"]; 185} 186 187+ (NSString *) tokenNameForType:(NSInteger)aTokenType 188{ 189 return [[self getTokenNames] objectAtIndex:aTokenType]; 190} 191 192+ (SimpleCLexer *)newSimpleCLexer:(id<ANTLRCharStream>)anInput 193{ 194 return [[SimpleCLexer alloc] initWithCharStream:anInput]; 195} 196 197- (id) initWithCharStream:(id<ANTLRCharStream>)anInput 198{ 199 if ((self = [super initWithCharStream:anInput State:[ANTLRRecognizerSharedState newANTLRRecognizerSharedStateWithRuleLen:18+1]]) != nil) { 200 201 dfa4 = [DFA4 newDFA4WithRecognizer:self]; 202 } 203 return self; 204} 205 206- (void) dealloc 207{ 208 [dfa4 release]; 209 [super dealloc]; 210} 211 212/* Start of actions.lexer.methods */ 213/* start methods() */ 214 215/* Start of Rules */ 216// $ANTLR start "T__21" 217- (void) mT__21 218{ 219 // 220 /* ruleScopeSetUp */ 221 222 @try { 223 NSInteger _type = T__21; 224 NSInteger _channel = ANTLRTokenChannelDefault; 225 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:7:7: ( ';' ) // ruleBlockSingleAlt 226 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:7:9: ';' // alt 227 { 228 [self matchChar:';']; 229 /* element() */ 230 /* elements */ 231 } 232 233 // token+rule list labels 234 235 [state setType:_type]; 236 237 state.channel = _channel; 238 } 239 @finally { 240 // 241 } 242 return; 243} 244// $ANTLR end "T__21" 245 246// $ANTLR start "T__22" 247- (void) mT__22 248{ 249 // 250 /* ruleScopeSetUp */ 251 252 @try { 253 NSInteger _type = T__22; 254 NSInteger _channel = ANTLRTokenChannelDefault; 255 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:8:7: ( '(' ) // ruleBlockSingleAlt 256 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:8:9: '(' // alt 257 { 258 [self matchChar:'(']; 259 /* element() */ 260 /* elements */ 261 } 262 263 // token+rule list labels 264 265 [state setType:_type]; 266 267 state.channel = _channel; 268 } 269 @finally { 270 // 271 } 272 return; 273} 274// $ANTLR end "T__22" 275 276// $ANTLR start "T__23" 277- (void) mT__23 278{ 279 // 280 /* ruleScopeSetUp */ 281 282 @try { 283 NSInteger _type = T__23; 284 NSInteger _channel = ANTLRTokenChannelDefault; 285 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:9:7: ( ',' ) // ruleBlockSingleAlt 286 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:9:9: ',' // alt 287 { 288 [self matchChar:',']; 289 /* element() */ 290 /* elements */ 291 } 292 293 // token+rule list labels 294 295 [state setType:_type]; 296 297 state.channel = _channel; 298 } 299 @finally { 300 // 301 } 302 return; 303} 304// $ANTLR end "T__23" 305 306// $ANTLR start "T__24" 307- (void) mT__24 308{ 309 // 310 /* ruleScopeSetUp */ 311 312 @try { 313 NSInteger _type = T__24; 314 NSInteger _channel = ANTLRTokenChannelDefault; 315 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:10:7: ( ')' ) // ruleBlockSingleAlt 316 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:10:9: ')' // alt 317 { 318 [self matchChar:')']; 319 /* element() */ 320 /* elements */ 321 } 322 323 // token+rule list labels 324 325 [state setType:_type]; 326 327 state.channel = _channel; 328 } 329 @finally { 330 // 331 } 332 return; 333} 334// $ANTLR end "T__24" 335 336// $ANTLR start "T__25" 337- (void) mT__25 338{ 339 // 340 /* ruleScopeSetUp */ 341 342 @try { 343 NSInteger _type = T__25; 344 NSInteger _channel = ANTLRTokenChannelDefault; 345 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:11:7: ( '{' ) // ruleBlockSingleAlt 346 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:11:9: '{' // alt 347 { 348 [self matchChar:'{']; 349 /* element() */ 350 /* elements */ 351 } 352 353 // token+rule list labels 354 355 [state setType:_type]; 356 357 state.channel = _channel; 358 } 359 @finally { 360 // 361 } 362 return; 363} 364// $ANTLR end "T__25" 365 366// $ANTLR start "T__26" 367- (void) mT__26 368{ 369 // 370 /* ruleScopeSetUp */ 371 372 @try { 373 NSInteger _type = T__26; 374 NSInteger _channel = ANTLRTokenChannelDefault; 375 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:12:7: ( '}' ) // ruleBlockSingleAlt 376 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:12:9: '}' // alt 377 { 378 [self matchChar:'}']; 379 /* element() */ 380 /* elements */ 381 } 382 383 // token+rule list labels 384 385 [state setType:_type]; 386 387 state.channel = _channel; 388 } 389 @finally { 390 // 391 } 392 return; 393} 394// $ANTLR end "T__26" 395 396// $ANTLR start "K_FOR" 397- (void) mK_FOR 398{ 399 // 400 /* ruleScopeSetUp */ 401 402 @try { 403 NSInteger _type = K_FOR; 404 NSInteger _channel = ANTLRTokenChannelDefault; 405 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:91:7: ( 'for' ) // ruleBlockSingleAlt 406 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:91:9: 'for' // alt 407 { 408 [self matchString:@"for"]; 409 /* element() */ 410 /* elements */ 411 } 412 413 // token+rule list labels 414 415 [state setType:_type]; 416 417 state.channel = _channel; 418 } 419 @finally { 420 // 421 } 422 return; 423} 424// $ANTLR end "K_FOR" 425 426// $ANTLR start "K_INT_TYPE" 427- (void) mK_INT_TYPE 428{ 429 // 430 /* ruleScopeSetUp */ 431 432 @try { 433 NSInteger _type = K_INT_TYPE; 434 NSInteger _channel = ANTLRTokenChannelDefault; 435 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:92:12: ( 'int' ) // ruleBlockSingleAlt 436 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:92:14: 'int' // alt 437 { 438 [self matchString:@"int"]; 439 /* element() */ 440 /* elements */ 441 } 442 443 // token+rule list labels 444 445 [state setType:_type]; 446 447 state.channel = _channel; 448 } 449 @finally { 450 // 451 } 452 return; 453} 454// $ANTLR end "K_INT_TYPE" 455 456// $ANTLR start "K_CHAR" 457- (void) mK_CHAR 458{ 459 // 460 /* ruleScopeSetUp */ 461 462 @try { 463 NSInteger _type = K_CHAR; 464 NSInteger _channel = ANTLRTokenChannelDefault; 465 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:93:7: ( 'char' ) // ruleBlockSingleAlt 466 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:93:9: 'char' // alt 467 { 468 [self matchString:@"char"]; 469 /* element() */ 470 /* elements */ 471 } 472 473 // token+rule list labels 474 475 [state setType:_type]; 476 477 state.channel = _channel; 478 } 479 @finally { 480 // 481 } 482 return; 483} 484// $ANTLR end "K_CHAR" 485 486// $ANTLR start "K_VOID" 487- (void) mK_VOID 488{ 489 // 490 /* ruleScopeSetUp */ 491 492 @try { 493 NSInteger _type = K_VOID; 494 NSInteger _channel = ANTLRTokenChannelDefault; 495 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:94:7: ( 'void' ) // ruleBlockSingleAlt 496 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:94:9: 'void' // alt 497 { 498 [self matchString:@"void"]; 499 /* element() */ 500 /* elements */ 501 } 502 503 // token+rule list labels 504 505 [state setType:_type]; 506 507 state.channel = _channel; 508 } 509 @finally { 510 // 511 } 512 return; 513} 514// $ANTLR end "K_VOID" 515 516// $ANTLR start "K_ID" 517- (void) mK_ID 518{ 519 // 520 /* ruleScopeSetUp */ 521 522 @try { 523 NSInteger _type = K_ID; 524 NSInteger _channel = ANTLRTokenChannelDefault; 525 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:96:7: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) // ruleBlockSingleAlt 526 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:96:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* // alt 527 { 528 if ((([input LA:1] >= 'A') && ([input LA:1] <= 'Z'))||[input LA:1] == '_'||(([input LA:1] >= 'a') && ([input LA:1] <= 'z'))) { 529 [input consume]; 530 531 } else { 532 ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; 533 [self recover:mse]; 534 @throw mse;} 535 /* element() */ 536 do { 537 NSInteger alt1=2; 538 NSInteger LA1_0 = [input LA:1]; 539 if ( ((LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='Z')||LA1_0=='_'||(LA1_0>='a' && LA1_0<='z')) ) { 540 alt1=1; 541 } 542 543 544 switch (alt1) { 545 case 1 : ; 546 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g: // alt 547 { 548 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'))) { 549 [input consume]; 550 551 } else { 552 ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; 553 [self recover:mse]; 554 @throw mse;} 555 /* element() */ 556 /* elements */ 557 } 558 break; 559 560 default : 561 goto loop1; 562 } 563 } while (YES); 564 loop1: ; 565 /* element() */ 566 /* elements */ 567 } 568 569 // token+rule list labels 570 571 [state setType:_type]; 572 573 state.channel = _channel; 574 } 575 @finally { 576 // 577 } 578 return; 579} 580// $ANTLR end "K_ID" 581 582// $ANTLR start "K_INT" 583- (void) mK_INT 584{ 585 // 586 /* ruleScopeSetUp */ 587 588 @try { 589 NSInteger _type = K_INT; 590 NSInteger _channel = ANTLRTokenChannelDefault; 591 id<ANTLRToken> *int=nil; 592 NSMutableArray *list_int=nil; 593 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:99:7: ( (int+= ( '0' .. '9' ) )+ ) // ruleBlockSingleAlt 594 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:99:9: (int+= ( '0' .. '9' ) )+ // alt 595 { 596 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:99:12: (int+= ( '0' .. '9' ) )+ // positiveClosureBlock 597 NSInteger cnt2=0; 598 do { 599 NSInteger alt2=2; 600 NSInteger LA2_0 = [input LA:1]; 601 if ( ((LA2_0>='0' && LA2_0<='9')) ) { 602 alt2=1; 603 } 604 605 606 switch (alt2) { 607 case 1 : ; 608 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:99:12: int+= ( '0' .. '9' ) // alt 609 { 610 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:99:14: ( '0' .. '9' ) // blockSingleAlt 611 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:99:15: '0' .. '9' // alt 612 { 613 [self matchRangeFromChar:'0' to:'9']; /* element() */ 614 /* elements */ 615 } 616 /* element() */ 617 /* elements */ 618 } 619 break; 620 621 default : 622 if ( cnt2 >= 1 ) 623 goto loop2; 624 ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:2]; 625 @throw eee; 626 } 627 cnt2++; 628 } while (YES); 629 loop2: ; 630 /* element() */ 631 NSLog(@"%@", list_int); /* element() */ 632 /* elements */ 633 } 634 635 // token+rule list labels 636 [list_int release]; 637 638 [state setType:_type]; 639 640 state.channel = _channel; 641 } 642 @finally { 643 // 644 } 645 return; 646} 647// $ANTLR end "K_INT" 648 649// $ANTLR start "K_EQ" 650- (void) mK_EQ 651{ 652 // 653 /* ruleScopeSetUp */ 654 655 @try { 656 NSInteger _type = K_EQ; 657 NSInteger _channel = ANTLRTokenChannelDefault; 658 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:102:8: ( '=' ) // ruleBlockSingleAlt 659 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:102:10: '=' // alt 660 { 661 [self matchChar:'=']; 662 /* element() */ 663 /* elements */ 664 } 665 666 // token+rule list labels 667 668 [state setType:_type]; 669 670 state.channel = _channel; 671 } 672 @finally { 673 // 674 } 675 return; 676} 677// $ANTLR end "K_EQ" 678 679// $ANTLR start "K_EQEQ" 680- (void) mK_EQEQ 681{ 682 // 683 /* ruleScopeSetUp */ 684 685 @try { 686 NSInteger _type = K_EQEQ; 687 NSInteger _channel = ANTLRTokenChannelDefault; 688 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:103:8: ( '==' ) // ruleBlockSingleAlt 689 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:103:10: '==' // alt 690 { 691 [self matchString:@"=="]; 692 /* element() */ 693 /* elements */ 694 } 695 696 // token+rule list labels 697 698 [state setType:_type]; 699 700 state.channel = _channel; 701 } 702 @finally { 703 // 704 } 705 return; 706} 707// $ANTLR end "K_EQEQ" 708 709// $ANTLR start "K_LT" 710- (void) mK_LT 711{ 712 // 713 /* ruleScopeSetUp */ 714 715 @try { 716 NSInteger _type = K_LT; 717 NSInteger _channel = ANTLRTokenChannelDefault; 718 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:104:8: ( '<' ) // ruleBlockSingleAlt 719 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:104:10: '<' // alt 720 { 721 [self matchChar:'<']; 722 /* element() */ 723 /* elements */ 724 } 725 726 // token+rule list labels 727 728 [state setType:_type]; 729 730 state.channel = _channel; 731 } 732 @finally { 733 // 734 } 735 return; 736} 737// $ANTLR end "K_LT" 738 739// $ANTLR start "K_PLUS" 740- (void) mK_PLUS 741{ 742 // 743 /* ruleScopeSetUp */ 744 745 @try { 746 NSInteger _type = K_PLUS; 747 NSInteger _channel = ANTLRTokenChannelDefault; 748 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:105:8: ( '+' ) // ruleBlockSingleAlt 749 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:105:10: '+' // alt 750 { 751 [self matchChar:'+']; 752 /* element() */ 753 /* elements */ 754 } 755 756 // token+rule list labels 757 758 [state setType:_type]; 759 760 state.channel = _channel; 761 } 762 @finally { 763 // 764 } 765 return; 766} 767// $ANTLR end "K_PLUS" 768 769// $ANTLR start "WS" 770- (void) mWS 771{ 772 // 773 /* ruleScopeSetUp */ 774 775 @try { 776 NSInteger _type = WS; 777 NSInteger _channel = ANTLRTokenChannelDefault; 778 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:107:5: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) // ruleBlockSingleAlt 779 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:107:9: ( ' ' | '\\t' | '\\r' | '\\n' )+ // alt 780 { 781 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:107:9: ( ' ' | '\\t' | '\\r' | '\\n' )+ // positiveClosureBlock 782 NSInteger cnt3=0; 783 do { 784 NSInteger alt3=2; 785 NSInteger LA3_0 = [input LA:1]; 786 if ( ((LA3_0>='\t' && LA3_0<='\n')||LA3_0=='\r'||LA3_0==' ') ) { 787 alt3=1; 788 } 789 790 791 switch (alt3) { 792 case 1 : ; 793 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g: // alt 794 { 795 if ((([input LA:1] >= '\t') && ([input LA:1] <= '\n'))||[input LA:1] == '\r'||[input LA:1] == ' ') { 796 [input consume]; 797 798 } else { 799 ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input]; 800 [self recover:mse]; 801 @throw mse;} 802 /* element() */ 803 /* elements */ 804 } 805 break; 806 807 default : 808 if ( cnt3 >= 1 ) 809 goto loop3; 810 ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:3]; 811 @throw eee; 812 } 813 cnt3++; 814 } while (YES); 815 loop3: ; 816 /* element() */ 817 state.channel=99; /* element() */ 818 /* elements */ 819 } 820 821 // token+rule list labels 822 823 [state setType:_type]; 824 825 state.channel = _channel; 826 } 827 @finally { 828 // 829 } 830 return; 831} 832// $ANTLR end "WS" 833 834- (void) mTokens 835{ 836 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:8: ( T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | K_FOR | K_INT_TYPE | K_CHAR | K_VOID | K_ID | K_INT | K_EQ | K_EQEQ | K_LT | K_PLUS | WS ) //ruleblock 837 NSInteger alt4=17; 838 alt4 = [dfa4 predict:input]; 839 switch (alt4) { 840 case 1 : ; 841 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:10: T__21 // alt 842 { 843 [self mT__21]; 844 /* element() */ 845 /* elements */ 846 } 847 break; 848 case 2 : ; 849 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:16: T__22 // alt 850 { 851 [self mT__22]; 852 /* element() */ 853 /* elements */ 854 } 855 break; 856 case 3 : ; 857 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:22: T__23 // alt 858 { 859 [self mT__23]; 860 /* element() */ 861 /* elements */ 862 } 863 break; 864 case 4 : ; 865 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:28: T__24 // alt 866 { 867 [self mT__24]; 868 /* element() */ 869 /* elements */ 870 } 871 break; 872 case 5 : ; 873 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:34: T__25 // alt 874 { 875 [self mT__25]; 876 /* element() */ 877 /* elements */ 878 } 879 break; 880 case 6 : ; 881 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:40: T__26 // alt 882 { 883 [self mT__26]; 884 /* element() */ 885 /* elements */ 886 } 887 break; 888 case 7 : ; 889 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:46: K_FOR // alt 890 { 891 [self mK_FOR]; 892 /* element() */ 893 /* elements */ 894 } 895 break; 896 case 8 : ; 897 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:52: K_INT_TYPE // alt 898 { 899 [self mK_INT_TYPE]; 900 /* element() */ 901 /* elements */ 902 } 903 break; 904 case 9 : ; 905 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:63: K_CHAR // alt 906 { 907 [self mK_CHAR]; 908 /* element() */ 909 /* elements */ 910 } 911 break; 912 case 10 : ; 913 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:70: K_VOID // alt 914 { 915 [self mK_VOID]; 916 /* element() */ 917 /* elements */ 918 } 919 break; 920 case 11 : ; 921 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:77: K_ID // alt 922 { 923 [self mK_ID]; 924 /* element() */ 925 /* elements */ 926 } 927 break; 928 case 12 : ; 929 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:82: K_INT // alt 930 { 931 [self mK_INT]; 932 /* element() */ 933 /* elements */ 934 } 935 break; 936 case 13 : ; 937 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:88: K_EQ // alt 938 { 939 [self mK_EQ]; 940 /* element() */ 941 /* elements */ 942 } 943 break; 944 case 14 : ; 945 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:93: K_EQEQ // alt 946 { 947 [self mK_EQEQ]; 948 /* element() */ 949 /* elements */ 950 } 951 break; 952 case 15 : ; 953 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:100: K_LT // alt 954 { 955 [self mK_LT]; 956 /* element() */ 957 /* elements */ 958 } 959 break; 960 case 16 : ; 961 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:105: K_PLUS // alt 962 { 963 [self mK_PLUS]; 964 /* element() */ 965 /* elements */ 966 } 967 break; 968 case 17 : ; 969 // /usr/local/ANTLR3-ObjC2.0-Runtime/Framework/examples/simplecTreeParser/SimpleC.g:1:112: WS // alt 970 { 971 [self mWS]; 972 /* element() */ 973 /* elements */ 974 } 975 break; 976 977 } 978 979} 980 981@end /* end of SimpleCLexer implementation line 397 */ 982 983/* End of code 984 * ============================================================================= 985 */ 986