001 package com.croftsoft.apps.compiler.mini.parse; 002 import java.io.*; 003 import java.text.*; 004 import java.util.*; 005 import java_cup.runtime.*; 006 /********************************************************************* 007 * Token scanner for the Mini programming language. 008 * 009 * <B>Reference:</B> 010 * 011 * <P> 012 * 013 * "JLex: A Lexical Analyzer Generator for Java"<BR> 014 * <A HREF="http://www.cs.princeton.edu/~appel/modern/java/JLex/"> 015 * http://www.cs.princeton.edu/~appel/modern/java/JLex/</A> 016 * 017 * @author 018 * <A HREF="http://www.alumni.caltech.edu/~croft/">David W. Croft</A> 019 * @version 020 * 1999-04-24 021 *********************************************************************/ 022 ////////////////////////////////////////////////////////////////////// 023 // Portions of this code machine-generated by JLex. 024 ////////////////////////////////////////////////////////////////////// 025 026 027 public class MiniScanner implements MiniSymbols, CUPTokenScanner { 028 private final int YY_BUFFER_SIZE = 512; 029 private final int YY_F = -1; 030 private final int YY_NO_STATE = -1; 031 private final int YY_NOT_ACCEPT = 0; 032 private final int YY_START = 1; 033 private final int YY_END = 2; 034 private final int YY_NO_ANCHOR = 4; 035 private final char YYEOF = '\uFFFF'; 036 037 ////////////////////////////////////////////////////////////////////// 038 ////////////////////////////////////////////////////////////////////// 039 private static final String [ ] TEST_FILES = { 040 "../test/Test.mini" }; 041 ////////////////////////////////////////////////////////////////////// 042 ////////////////////////////////////////////////////////////////////// 043 public static void main ( String [ ] args ) 044 throws Exception 045 ////////////////////////////////////////////////////////////////////// 046 { 047 for ( int i = 0; i < TEST_FILES.length; i++ ) 048 { 049 test ( new FileReader ( TEST_FILES [ i ] ) ); 050 } 051 } 052 public static void test ( Reader reader ) 053 throws Exception 054 ////////////////////////////////////////////////////////////////////// 055 { 056 MiniScanner miniScanner = new MiniScanner ( reader ); 057 Symbol symbol = null; 058 loop: 059 while ( ( symbol = miniScanner.nextToken ( ) ).sym != EOF ) 060 { 061 System.out.println ( 062 "Symbol: " + symbol + " Value: " + symbol.value ); 063 } 064 } 065 public static Symbol scanConstant ( String text ) 066 ////////////////////////////////////////////////////////////////////// 067 { 068 try 069 { 070 return new Symbol ( CONSTANT, new Integer ( text ) ); 071 } 072 catch ( NumberFormatException ex ) 073 { 074 return null; 075 } 076 } 077 ////////////////////////////////////////////////////////////////////// 078 ////////////////////////////////////////////////////////////////////// 079 private java.io.BufferedReader yy_reader; 080 private int yy_buffer_index; 081 private int yy_buffer_read; 082 private int yy_buffer_start; 083 private int yy_buffer_end; 084 private char yy_buffer[]; 085 private int yychar; 086 private int yyline; 087 private int yy_lexical_state; 088 089 public MiniScanner (java.io.Reader reader) { 090 this (); 091 if (null == reader) { 092 throw (new Error("Error: Bad input stream initializer.")); 093 } 094 yy_reader = new java.io.BufferedReader(reader); 095 } 096 097 public MiniScanner (java.io.InputStream instream) { 098 this (); 099 if (null == instream) { 100 throw (new Error("Error: Bad input stream initializer.")); 101 } 102 yy_reader = new java.io.BufferedReader(new java.io.InputStreamReader(instream)); 103 } 104 105 private MiniScanner () { 106 yy_buffer = new char[YY_BUFFER_SIZE]; 107 yy_buffer_read = 0; 108 yy_buffer_index = 0; 109 yy_buffer_start = 0; 110 yy_buffer_end = 0; 111 yychar = 0; 112 yyline = 0; 113 yy_lexical_state = YYINITIAL; 114 } 115 116 private boolean yy_eof_done = false; 117 private final int YYINITIAL = 0; 118 private final int yy_state_dtrans[] = { 119 0 120 }; 121 private void yybegin (int state) { 122 yy_lexical_state = state; 123 } 124 private char yy_advance () 125 throws java.io.IOException { 126 int next_read; 127 int i; 128 int j; 129 130 if (yy_buffer_index < yy_buffer_read) { 131 return yy_buffer[yy_buffer_index++]; 132 } 133 134 if (0 != yy_buffer_start) { 135 i = yy_buffer_start; 136 j = 0; 137 while (i < yy_buffer_read) { 138 yy_buffer[j] = yy_buffer[i]; 139 ++i; 140 ++j; 141 } 142 yy_buffer_end = yy_buffer_end - yy_buffer_start; 143 yy_buffer_start = 0; 144 yy_buffer_read = j; 145 yy_buffer_index = j; 146 next_read = yy_reader.read(yy_buffer, 147 yy_buffer_read, 148 yy_buffer.length - yy_buffer_read); 149 if (-1 == next_read) { 150 return YYEOF; 151 } 152 yy_buffer_read = yy_buffer_read + next_read; 153 } 154 155 while (yy_buffer_index >= yy_buffer_read) { 156 if (yy_buffer_index >= yy_buffer.length) { 157 yy_buffer = yy_double(yy_buffer); 158 } 159 next_read = yy_reader.read(yy_buffer, 160 yy_buffer_read, 161 yy_buffer.length - yy_buffer_read); 162 if (-1 == next_read) { 163 return YYEOF; 164 } 165 yy_buffer_read = yy_buffer_read + next_read; 166 } 167 return yy_buffer[yy_buffer_index++]; 168 } 169 private void yy_move_start () { 170 if ((byte) '\n' == yy_buffer[yy_buffer_start]) { 171 ++yyline; 172 } 173 ++yychar; 174 ++yy_buffer_start; 175 } 176 private void yy_pushback () { 177 --yy_buffer_end; 178 } 179 private void yy_mark_start () { 180 int i; 181 for (i = yy_buffer_start; i < yy_buffer_index; ++i) { 182 if ((byte) '\n' == yy_buffer[i]) { 183 ++yyline; 184 } 185 } 186 yychar = yychar 187 + yy_buffer_index - yy_buffer_start; 188 yy_buffer_start = yy_buffer_index; 189 } 190 private void yy_mark_end () { 191 yy_buffer_end = yy_buffer_index; 192 } 193 private void yy_to_mark () { 194 yy_buffer_index = yy_buffer_end; 195 } 196 private java.lang.String yytext () { 197 return (new java.lang.String(yy_buffer, 198 yy_buffer_start, 199 yy_buffer_end - yy_buffer_start)); 200 } 201 private int yylength () { 202 return yy_buffer_end - yy_buffer_start; 203 } 204 private char[] yy_double (char buf[]) { 205 int i; 206 char newbuf[]; 207 newbuf = new char[2*buf.length]; 208 for (i = 0; i < buf.length; ++i) { 209 newbuf[i] = buf[i]; 210 } 211 return newbuf; 212 } 213 private final int YY_E_INTERNAL = 0; 214 private final int YY_E_MATCH = 1; 215 private java.lang.String yy_error_string[] = { 216 "Error: Internal error.\n", 217 "Error: Unmatched input.\n" 218 }; 219 private void yy_error (int code,boolean fatal) { 220 java.lang.System.out.print(yy_error_string[code]); 221 java.lang.System.out.flush(); 222 if (fatal) { 223 throw new Error("Fatal Error.\n"); 224 } 225 } 226 private int [][] unpackFromString(int size1, int size2, String st) 227 { 228 int colonIndex = -1; 229 String lengthString; 230 int sequenceLength = 0; 231 int sequenceInteger = 0; 232 int commaIndex; 233 String workString; 234 int res[][] = new int[size1][size2]; 235 for (int i= 0; i < size1; i++) 236 for (int j= 0; j < size2; j++) 237 { 238 if (sequenceLength == 0) 239 { 240 commaIndex = st.indexOf(','); 241 if (commaIndex == -1) 242 workString = st; 243 else 244 workString = st.substring(0, commaIndex); 245 st = st.substring(commaIndex+1); 246 colonIndex = workString.indexOf(':'); 247 if (colonIndex == -1) 248 { 249 res[i][j] = Integer.parseInt(workString); 250 } 251 else 252 { 253 lengthString = workString.substring(colonIndex+1); 254 sequenceLength = Integer.parseInt(lengthString); 255 workString = workString.substring(0,colonIndex); 256 sequenceInteger = Integer.parseInt(workString); 257 res[i][j] = sequenceInteger; 258 sequenceLength--; 259 } 260 } 261 else 262 { 263 res[i][j] = sequenceInteger; 264 sequenceLength--; 265 } 266 } 267 return res; 268 } 269 private int yy_acpt[] = { 270 YY_NOT_ACCEPT, 271 YY_NO_ANCHOR, 272 YY_NO_ANCHOR, 273 YY_NO_ANCHOR, 274 YY_NO_ANCHOR, 275 YY_NO_ANCHOR, 276 YY_NO_ANCHOR, 277 YY_NO_ANCHOR, 278 YY_NO_ANCHOR, 279 YY_NO_ANCHOR, 280 YY_NO_ANCHOR, 281 YY_NO_ANCHOR, 282 YY_NO_ANCHOR, 283 YY_NO_ANCHOR, 284 YY_NO_ANCHOR, 285 YY_NO_ANCHOR, 286 YY_NO_ANCHOR, 287 YY_NO_ANCHOR, 288 YY_NO_ANCHOR, 289 YY_NO_ANCHOR, 290 YY_NO_ANCHOR, 291 YY_NO_ANCHOR, 292 YY_NO_ANCHOR, 293 YY_NO_ANCHOR, 294 YY_NO_ANCHOR, 295 YY_NO_ANCHOR, 296 YY_NO_ANCHOR, 297 YY_NO_ANCHOR, 298 YY_NO_ANCHOR, 299 YY_NO_ANCHOR, 300 YY_NO_ANCHOR, 301 YY_NO_ANCHOR, 302 YY_NO_ANCHOR, 303 YY_NO_ANCHOR, 304 YY_NO_ANCHOR, 305 YY_NO_ANCHOR, 306 YY_NO_ANCHOR, 307 YY_NO_ANCHOR, 308 YY_NO_ANCHOR, 309 YY_NO_ANCHOR, 310 YY_NO_ANCHOR, 311 YY_NO_ANCHOR, 312 YY_NO_ANCHOR, 313 YY_NO_ANCHOR, 314 YY_NO_ANCHOR, 315 YY_NO_ANCHOR, 316 YY_NO_ANCHOR, 317 YY_NO_ANCHOR, 318 YY_NO_ANCHOR, 319 YY_NO_ANCHOR, 320 YY_NO_ANCHOR, 321 YY_NO_ANCHOR, 322 YY_NO_ANCHOR, 323 YY_NO_ANCHOR, 324 YY_NO_ANCHOR, 325 YY_NO_ANCHOR, 326 YY_NO_ANCHOR, 327 YY_NO_ANCHOR, 328 YY_NO_ANCHOR, 329 YY_NO_ANCHOR, 330 YY_NO_ANCHOR, 331 YY_NO_ANCHOR, 332 YY_NO_ANCHOR, 333 YY_NO_ANCHOR, 334 YY_NO_ANCHOR, 335 YY_NO_ANCHOR, 336 YY_NO_ANCHOR, 337 YY_NO_ANCHOR, 338 YY_NO_ANCHOR, 339 YY_NO_ANCHOR, 340 YY_NO_ANCHOR, 341 YY_NO_ANCHOR, 342 YY_NO_ANCHOR, 343 YY_NO_ANCHOR, 344 YY_NO_ANCHOR, 345 YY_NO_ANCHOR 346 }; 347 private int yy_cmap[] = { 348 0, 0, 0, 0, 0, 0, 0, 0, 349 0, 0, 0, 0, 0, 0, 0, 0, 350 0, 0, 0, 0, 0, 0, 0, 0, 351 0, 0, 0, 0, 0, 0, 0, 0, 352 0, 0, 0, 0, 0, 1, 0, 0, 353 2, 3, 4, 5, 6, 7, 0, 8, 354 9, 9, 9, 9, 9, 9, 9, 9, 355 9, 9, 10, 11, 12, 13, 14, 0, 356 0, 0, 0, 0, 0, 0, 0, 0, 357 0, 0, 0, 0, 0, 0, 0, 0, 358 0, 0, 0, 0, 0, 0, 0, 0, 359 0, 0, 0, 0, 0, 0, 15, 0, 360 0, 16, 17, 18, 19, 20, 21, 22, 361 23, 24, 25, 25, 26, 25, 27, 28, 362 29, 25, 30, 31, 32, 33, 25, 34, 363 25, 25, 25, 0, 0, 0, 0, 0 364 365 }; 366 private int yy_rmap[] = { 367 0, 1, 1, 1, 1, 1, 1, 1, 368 1, 1, 2, 1, 3, 1, 4, 1, 369 5, 1, 1, 1, 1, 5, 5, 5, 370 5, 5, 5, 5, 5, 5, 5, 5, 371 5, 5, 5, 6, 7, 8, 9, 10, 372 11, 12, 13, 14, 15, 16, 17, 18, 373 19, 20, 21, 22, 23, 24, 25, 26, 374 27, 28, 29, 30, 31, 32, 33, 34, 375 35, 36, 37, 38, 39, 40, 41, 42, 376 43, 44, 45, 46 377 }; 378 private int yy_nxt[][] = unpackFromString(47,35, 379 "1,2,3,4,5,6,7,8,9,10,35,11,12,13,14,15,16,67,60,36,50,37,16:2,38,16:4,75,61,16,39,16,68,-1:44,10,-1:38,18,19,-1:33,20,-1:30,16,-1:6,16:19,-1:13,17,-1:30,16,-1:6,16:12,21,16:6,-1:9,16,-1:6,16:8,22,16:10,-1:9,16,-1:6,16:5,23,16:5,71,16:7,-1:9,16,-1:6,16:7,54,16:4,24,16:6,-1:9,16,-1:6,16:3,25,16:15,-1:9,16,-1:6,16:10,26,16:8,-1:9,16,-1:6,16:4,27,16:14,-1:9,16,-1:6,16:3,28,16:15,-1:9,16,-1:6,16:11,29,16:7,-1:9,16,-1:6,16:11,30,16:7,-1:9,16,-1:6,16:4,31,16:14,-1:9,16,-1:6,16:4,32,16:14,-1:9,16,-1:6,16:14,33,16:4,-1:9,16,-1:6,16:4,34,16:14,-1:9,16,-1:6,16:10,52,40,16:7,-1:9,16,-1:6,16:10,41,16:8,-1:9,16,-1:6,16:15,42,16:3,-1:9,16,-1:6,43,16:18,-1:9,16,-1:6,16:4,44,16:14,-1:9,16,-1:6,16:8,45,16:10,-1:9,16,-1:6,16:10,46,16:8,-1:9,16,-1:6,16:16,47,16:2,-1:9,16,-1:6,16:4,48,16:14,-1:9,16,-1:6,16:14,49,16:4,-1:9,16,-1:6,51,16:18,-1:9,16,-1:6,16:4,53,16:14,-1:9,16,-1:6,16:6,55,16:12,-1:9,16,-1:6,16:8,56,16:10,-1:9,16,-1:6,16:8,57,16:10,-1:9,16,-1:6,16:6,58,16:12,-1:9,16,-1:6,16:17,59,16,-1:9,16,-1:6,16:4,62,16:14,-1:9,16,-1:6,16:7,63,16:6,64,16:4,-1:9,16,-1:6,16:4,65,16:14,-1:9,16,-1:6,16:3,66,16:15,-1:9,16,-1:6,16:16,69,16:2,-1:9,16,-1:6,16:4,70,16:14,-1:9,16,-1:6,16:2,72,16:16,-1:9,16,-1:6,16:12,73,16:6,-1:9,16,-1:6,16:14,74,16:4"); 380 public Symbol nextToken () 381 throws java.io.IOException { 382 char yy_lookahead; 383 int yy_anchor = YY_NO_ANCHOR; 384 int yy_state = yy_state_dtrans[yy_lexical_state]; 385 int yy_next_state = YY_NO_STATE; 386 int yy_last_accept_state = YY_NO_STATE; 387 boolean yy_initial = true; 388 int yy_this_accept; 389 390 yy_mark_start(); 391 yy_this_accept = yy_acpt[yy_state]; 392 if (YY_NOT_ACCEPT != yy_this_accept) { 393 yy_last_accept_state = yy_state; 394 yy_mark_end(); 395 } 396 while (true) { 397 yy_lookahead = yy_advance(); 398 yy_next_state = YY_F; 399 if (YYEOF != yy_lookahead) { 400 yy_next_state = yy_nxt[yy_rmap[yy_state]][yy_cmap[yy_lookahead]]; 401 } 402 if (YY_F != yy_next_state) { 403 yy_state = yy_next_state; 404 yy_initial = false; 405 yy_this_accept = yy_acpt[yy_state]; 406 if (YY_NOT_ACCEPT != yy_this_accept) { 407 yy_last_accept_state = yy_state; 408 yy_mark_end(); 409 } 410 } 411 else { 412 if (YYEOF == yy_lookahead && true == yy_initial) { 413 414 return new Symbol ( EOF ); 415 } 416 else if (YY_NO_STATE == yy_last_accept_state) { 417 throw (new Error("Lexical Error: Unmatched Input.")); 418 } 419 else { 420 yy_to_mark(); 421 yy_anchor = yy_acpt[yy_last_accept_state]; 422 if (0 != (YY_END & yy_anchor)) { 423 yy_pushback(); 424 } 425 if (0 != (YY_START & yy_anchor)) { 426 yy_move_start(); 427 } 428 switch (yy_last_accept_state) { 429 case 1: 430 { yybegin ( YYINITIAL ); } 431 case -2: 432 break; 433 case 2: 434 { return new Symbol ( MOD ); } 435 case -3: 436 break; 437 case 3: 438 { return new Symbol ( LPAREN ); } 439 case -4: 440 break; 441 case 4: 442 { return new Symbol ( RPAREN ); } 443 case -5: 444 break; 445 case 5: 446 { return new Symbol ( TIMES ); } 447 case -6: 448 break; 449 case 6: 450 { return new Symbol ( PLUS ); } 451 case -7: 452 break; 453 case 7: 454 { return new Symbol ( COMMA ); } 455 case -8: 456 break; 457 case 8: 458 { return new Symbol ( MINUS ); } 459 case -9: 460 break; 461 case 9: 462 { return new Symbol ( DIVIDE ); } 463 case -10: 464 break; 465 case 10: 466 { return scanConstant ( yytext ( ) ); } 467 case -11: 468 break; 469 case 11: 470 { return new Symbol ( SEMICOLON ); } 471 case -12: 472 break; 473 case 12: 474 { return new Symbol ( LT ); } 475 case -13: 476 break; 477 case 13: 478 { return new Symbol ( EQ ); } 479 case -14: 480 break; 481 case 14: 482 { return new Symbol ( GT ); } 483 case -15: 484 break; 485 case 15: 486 { return new Symbol ( EXP ); } 487 case -16: 488 break; 489 case 16: 490 { return new Symbol ( NAME, yytext ( ) ); } 491 case -17: 492 break; 493 case 17: 494 { return new Symbol ( ASSIGN ); } 495 case -18: 496 break; 497 case 18: 498 { return new Symbol ( LE ); } 499 case -19: 500 break; 501 case 19: 502 { return new Symbol ( NE ); } 503 case -20: 504 break; 505 case 20: 506 { return new Symbol ( GE ); } 507 case -21: 508 break; 509 case 21: 510 { return new Symbol ( DO ); } 511 case -22: 512 break; 513 case 22: 514 { return new Symbol ( FI ); } 515 case -23: 516 break; 517 case 23: 518 { return new Symbol ( IF ); } 519 case -24: 520 break; 521 case 24: 522 { return new Symbol ( TO ); } 523 case -25: 524 break; 525 case 25: 526 { return new Symbol ( END ); } 527 case -26: 528 break; 529 case 26: 530 { return new Symbol ( CALL ); } 531 case -27: 532 break; 533 case 27: 534 { return new Symbol ( ELSE ); } 535 case -28: 536 break; 537 case 28: 538 { return new Symbol ( READ ); } 539 case -29: 540 break; 541 case 29: 542 { return new Symbol ( THEN ); } 543 case -30: 544 break; 545 case 30: 546 { return new Symbol ( BEGIN ); } 547 case -31: 548 break; 549 case 31: 550 { return new Symbol ( WHILE ); } 551 case -32: 552 break; 553 case 32: 554 { return new Symbol ( WRITE ); } 555 case -33: 556 break; 557 case 33: 558 { return new Symbol ( INTEGER ); } 559 case -34: 560 break; 561 case 34: 562 { return new Symbol ( PROCEDURE ); } 563 case -35: 564 break; 565 case 35: 566 { yybegin ( YYINITIAL ); } 567 case -36: 568 break; 569 case 36: 570 { return new Symbol ( NAME, yytext ( ) ); } 571 case -37: 572 break; 573 case 37: 574 { return new Symbol ( NAME, yytext ( ) ); } 575 case -38: 576 break; 577 case 38: 578 { return new Symbol ( NAME, yytext ( ) ); } 579 case -39: 580 break; 581 case 39: 582 { return new Symbol ( NAME, yytext ( ) ); } 583 case -40: 584 break; 585 case 40: 586 { return new Symbol ( NAME, yytext ( ) ); } 587 case -41: 588 break; 589 case 41: 590 { return new Symbol ( NAME, yytext ( ) ); } 591 case -42: 592 break; 593 case 42: 594 { return new Symbol ( NAME, yytext ( ) ); } 595 case -43: 596 break; 597 case 43: 598 { return new Symbol ( NAME, yytext ( ) ); } 599 case -44: 600 break; 601 case 44: 602 { return new Symbol ( NAME, yytext ( ) ); } 603 case -45: 604 break; 605 case 45: 606 { return new Symbol ( NAME, yytext ( ) ); } 607 case -46: 608 break; 609 case 46: 610 { return new Symbol ( NAME, yytext ( ) ); } 611 case -47: 612 break; 613 case 47: 614 { return new Symbol ( NAME, yytext ( ) ); } 615 case -48: 616 break; 617 case 48: 618 { return new Symbol ( NAME, yytext ( ) ); } 619 case -49: 620 break; 621 case 49: 622 { return new Symbol ( NAME, yytext ( ) ); } 623 case -50: 624 break; 625 case 50: 626 { return new Symbol ( NAME, yytext ( ) ); } 627 case -51: 628 break; 629 case 51: 630 { return new Symbol ( NAME, yytext ( ) ); } 631 case -52: 632 break; 633 case 52: 634 { return new Symbol ( NAME, yytext ( ) ); } 635 case -53: 636 break; 637 case 53: 638 { return new Symbol ( NAME, yytext ( ) ); } 639 case -54: 640 break; 641 case 54: 642 { return new Symbol ( NAME, yytext ( ) ); } 643 case -55: 644 break; 645 case 55: 646 { return new Symbol ( NAME, yytext ( ) ); } 647 case -56: 648 break; 649 case 56: 650 { return new Symbol ( NAME, yytext ( ) ); } 651 case -57: 652 break; 653 case 57: 654 { return new Symbol ( NAME, yytext ( ) ); } 655 case -58: 656 break; 657 case 58: 658 { return new Symbol ( NAME, yytext ( ) ); } 659 case -59: 660 break; 661 case 59: 662 { return new Symbol ( NAME, yytext ( ) ); } 663 case -60: 664 break; 665 case 60: 666 { return new Symbol ( NAME, yytext ( ) ); } 667 case -61: 668 break; 669 case 61: 670 { return new Symbol ( NAME, yytext ( ) ); } 671 case -62: 672 break; 673 case 62: 674 { return new Symbol ( NAME, yytext ( ) ); } 675 case -63: 676 break; 677 case 63: 678 { return new Symbol ( NAME, yytext ( ) ); } 679 case -64: 680 break; 681 case 64: 682 { return new Symbol ( NAME, yytext ( ) ); } 683 case -65: 684 break; 685 case 65: 686 { return new Symbol ( NAME, yytext ( ) ); } 687 case -66: 688 break; 689 case 66: 690 { return new Symbol ( NAME, yytext ( ) ); } 691 case -67: 692 break; 693 case 67: 694 { return new Symbol ( NAME, yytext ( ) ); } 695 case -68: 696 break; 697 case 68: 698 { return new Symbol ( NAME, yytext ( ) ); } 699 case -69: 700 break; 701 case 69: 702 { return new Symbol ( NAME, yytext ( ) ); } 703 case -70: 704 break; 705 case 70: 706 { return new Symbol ( NAME, yytext ( ) ); } 707 case -71: 708 break; 709 case 71: 710 { return new Symbol ( NAME, yytext ( ) ); } 711 case -72: 712 break; 713 case 72: 714 { return new Symbol ( NAME, yytext ( ) ); } 715 case -73: 716 break; 717 case 73: 718 { return new Symbol ( NAME, yytext ( ) ); } 719 case -74: 720 break; 721 case 74: 722 { return new Symbol ( NAME, yytext ( ) ); } 723 case -75: 724 break; 725 case 75: 726 { return new Symbol ( NAME, yytext ( ) ); } 727 case -76: 728 break; 729 default: 730 yy_error(YY_E_INTERNAL,false); 731 case -1: 732 } 733 yy_initial = true; 734 yy_state = yy_state_dtrans[yy_lexical_state]; 735 yy_next_state = YY_NO_STATE; 736 yy_last_accept_state = YY_NO_STATE; 737 yy_mark_start(); 738 yy_this_accept = yy_acpt[yy_state]; 739 if (YY_NOT_ACCEPT != yy_this_accept) { 740 yy_last_accept_state = yy_state; 741 } 742 } 743 } 744 } 745 } 746 }