1 using System;
   2 using System.Lex;
   3 using AssemblyTokens;
   4 
   5 // this file has been automatically generated from 'D:/work/cmajorm/cmajor/projects/cmsx/cmsxa/AssemblyLexer.lexer' using soulcm lexer generator scmlg version 3.0.0
   6 
   7 public class AssemblyLexer : System.Lex.Lexer
   8 {
   9     public AssemblyLexer(const ustring& content_const string& fileName_int fileIndex_) : 
  10         base(content_fileName_fileIndex_)
  11     {
  12         AssemblyClassMap.Init();
  13     }
  14     public AssemblyLexer(const uchar* start_const uchar* end_const string& fileName_int fileIndex_) : 
  15         base(start_end_fileName_fileIndex_)
  16     {
  17         AssemblyClassMap.Init();
  18     }
  19     public override int NextState(int stateuchar c)
  20     {
  21         int i = AssemblyClassMap.GetClass(c);
  22         switch (state)
  23         {
  24             case 0:
  25             {
  26                 System.Lex.Lexeme prevMatch = token.match;
  27                 token.match = lexeme;
  28                 int tokenId = GetTokenId(28);
  29                 if (tokenId == CONTINUE_TOKEN)
  30                 {
  31                     token.id = CONTINUE_TOKEN;
  32                     return -1;
  33                 }
  34                 else
  35                 {
  36                     if (tokenId != INVALID_TOKEN)
  37                     {
  38                         token.id = tokenId;
  39                     }
  40                     else
  41                     {
  42                         token.match = prevMatch;
  43                     }
  44                 }
  45                 switch (i)
  46                 {
  47                     case 0:
  48                     {
  49                         return 1;
  50                     }
  51                     case 1:
  52                     {
  53                         return 2;
  54                     }
  55                     case 2:
  56                     {
  57                         return 3;
  58                     }
  59                     case 3:
  60                     {
  61                         return 4;
  62                     }
  63                     case 4: case 11: case 12: case 13: case 15: case 16: case 17:
  64                     {
  65                         return 5;
  66                     }
  67                     case 5: case 9:
  68                     {
  69                         return 6;
  70                     }
  71                     case 6: case 7:
  72                     {
  73                         return 7;
  74                     }
  75                     case 8:
  76                     {
  77                         return 8;
  78                     }
  79                     case 10:
  80                     {
  81                         return 9;
  82                     }
  83                     case 14:
  84                     {
  85                         return 10;
  86                     }
  87                     case 18:
  88                     {
  89                         return 11;
  90                     }
  91                     case 19:
  92                     {
  93                         return 12;
  94                     }
  95                     case 20:
  96                     {
  97                         return 13;
  98                     }
  99                     case 21:
 100                     {
 101                         return 14;
 102                     }
 103                     case 22:
 104                     {
 105                         return 15;
 106                     }
 107                     case 23:
 108                     {
 109                         return 16;
 110                     }
 111                     case 24:
 112                     {
 113                         return 17;
 114                     }
 115                     case 25:
 116                     {
 117                         return 18;
 118                     }
 119                     case 26:
 120                     {
 121                         return 19;
 122                     }
 123                     case 27:
 124                     {
 125                         return 20;
 126                     }
 127                     case 28:
 128                     {
 129                         return 21;
 130                     }
 131                     case 29:
 132                     {
 133                         return 22;
 134                     }
 135                     case 30:
 136                     {
 137                         return 23;
 138                     }
 139                     case 31:
 140                     {
 141                         return 24;
 142                     }
 143                     case 32:
 144                     {
 145                         return 25;
 146                     }
 147                     case 33:
 148                     {
 149                         return 26;
 150                     }
 151                     case 34:
 152                     {
 153                         return 27;
 154                     }
 155                     case 35:
 156                     {
 157                         return 28;
 158                     }
 159                     case 36:
 160                     {
 161                         return 29;
 162                     }
 163                     default:
 164                     {
 165                         return -1;
 166                     }
 167                 }
 168                 return -1;
 169             }
 170             case 29:
 171             {
 172                 System.Lex.Lexeme prevMatch = token.match;
 173                 token.match = lexeme;
 174                 int tokenId = GetTokenId(27);
 175                 if (tokenId == CONTINUE_TOKEN)
 176                 {
 177                     token.id = CONTINUE_TOKEN;
 178                     return -1;
 179                 }
 180                 else
 181                 {
 182                     if (tokenId != INVALID_TOKEN)
 183                     {
 184                         token.id = tokenId;
 185                     }
 186                     else
 187                     {
 188                         token.match = prevMatch;
 189                     }
 190                 }
 191                 return -1;
 192             }
 193             case 28:
 194             {
 195                 System.Lex.Lexeme prevMatch = token.match;
 196                 token.match = lexeme;
 197                 int tokenId = GetTokenId(26);
 198                 if (tokenId == CONTINUE_TOKEN)
 199                 {
 200                     token.id = CONTINUE_TOKEN;
 201                     return -1;
 202                 }
 203                 else
 204                 {
 205                     if (tokenId != INVALID_TOKEN)
 206                     {
 207                         token.id = tokenId;
 208                     }
 209                     else
 210                     {
 211                         token.match = prevMatch;
 212                     }
 213                 }
 214                 return -1;
 215             }
 216             case 27:
 217             {
 218                 System.Lex.Lexeme prevMatch = token.match;
 219                 token.match = lexeme;
 220                 int tokenId = GetTokenId(23);
 221                 if (tokenId == CONTINUE_TOKEN)
 222                 {
 223                     token.id = CONTINUE_TOKEN;
 224                     return -1;
 225                 }
 226                 else
 227                 {
 228                     if (tokenId != INVALID_TOKEN)
 229                     {
 230                         token.id = tokenId;
 231                     }
 232                     else
 233                     {
 234                         token.match = prevMatch;
 235                     }
 236                 }
 237                 return -1;
 238             }
 239             case 26:
 240             {
 241                 System.Lex.Lexeme prevMatch = token.match;
 242                 token.match = lexeme;
 243                 int tokenId = GetTokenId(22);
 244                 if (tokenId == CONTINUE_TOKEN)
 245                 {
 246                     token.id = CONTINUE_TOKEN;
 247                     return -1;
 248                 }
 249                 else
 250                 {
 251                     if (tokenId != INVALID_TOKEN)
 252                     {
 253                         token.id = tokenId;
 254                     }
 255                     else
 256                     {
 257                         token.match = prevMatch;
 258                     }
 259                 }
 260                 return -1;
 261             }
 262             case 25:
 263             {
 264                 System.Lex.Lexeme prevMatch = token.match;
 265                 token.match = lexeme;
 266                 int tokenId = GetTokenId(21);
 267                 if (tokenId == CONTINUE_TOKEN)
 268                 {
 269                     token.id = CONTINUE_TOKEN;
 270                     return -1;
 271                 }
 272                 else
 273                 {
 274                     if (tokenId != INVALID_TOKEN)
 275                     {
 276                         token.id = tokenId;
 277                     }
 278                     else
 279                     {
 280                         token.match = prevMatch;
 281                     }
 282                 }
 283                 return -1;
 284             }
 285             case 24:
 286             {
 287                 System.Lex.Lexeme prevMatch = token.match;
 288                 token.match = lexeme;
 289                 int tokenId = GetTokenId(28);
 290                 if (tokenId == CONTINUE_TOKEN)
 291                 {
 292                     token.id = CONTINUE_TOKEN;
 293                     return -1;
 294                 }
 295                 else
 296                 {
 297                     if (tokenId != INVALID_TOKEN)
 298                     {
 299                         token.id = tokenId;
 300                     }
 301                     else
 302                     {
 303                         token.match = prevMatch;
 304                     }
 305                 }
 306                 switch (i)
 307                 {
 308                     case 31:
 309                     {
 310                         return 30;
 311                     }
 312                     default:
 313                     {
 314                         return -1;
 315                     }
 316                 }
 317                 return -1;
 318             }
 319             case 30:
 320             {
 321                 System.Lex.Lexeme prevMatch = token.match;
 322                 token.match = lexeme;
 323                 int tokenId = GetTokenId(20);
 324                 if (tokenId == CONTINUE_TOKEN)
 325                 {
 326                     token.id = CONTINUE_TOKEN;
 327                     return -1;
 328                 }
 329                 else
 330                 {
 331                     if (tokenId != INVALID_TOKEN)
 332                     {
 333                         token.id = tokenId;
 334                     }
 335                     else
 336                     {
 337                         token.match = prevMatch;
 338                     }
 339                 }
 340                 return -1;
 341             }
 342             case 23:
 343             {
 344                 System.Lex.Lexeme prevMatch = token.match;
 345                 token.match = lexeme;
 346                 int tokenId = GetTokenId(28);
 347                 if (tokenId == CONTINUE_TOKEN)
 348                 {
 349                     token.id = CONTINUE_TOKEN;
 350                     return -1;
 351                 }
 352                 else
 353                 {
 354                     if (tokenId != INVALID_TOKEN)
 355                     {
 356                         token.id = tokenId;
 357                     }
 358                     else
 359                     {
 360                         token.match = prevMatch;
 361                     }
 362                 }
 363                 switch (i)
 364                 {
 365                     case 30:
 366                     {
 367                         return 31;
 368                     }
 369                     default:
 370                     {
 371                         return -1;
 372                     }
 373                 }
 374                 return -1;
 375             }
 376             case 31:
 377             {
 378                 System.Lex.Lexeme prevMatch = token.match;
 379                 token.match = lexeme;
 380                 int tokenId = GetTokenId(19);
 381                 if (tokenId == CONTINUE_TOKEN)
 382                 {
 383                     token.id = CONTINUE_TOKEN;
 384                     return -1;
 385                 }
 386                 else
 387                 {
 388                     if (tokenId != INVALID_TOKEN)
 389                     {
 390                         token.id = tokenId;
 391                     }
 392                     else
 393                     {
 394                         token.match = prevMatch;
 395                     }
 396                 }
 397                 return -1;
 398             }
 399             case 22:
 400             {
 401                 System.Lex.Lexeme prevMatch = token.match;
 402                 token.match = lexeme;
 403                 int tokenId = GetTokenId(18);
 404                 if (tokenId == CONTINUE_TOKEN)
 405                 {
 406                     token.id = CONTINUE_TOKEN;
 407                     return -1;
 408                 }
 409                 else
 410                 {
 411                     if (tokenId != INVALID_TOKEN)
 412                     {
 413                         token.id = tokenId;
 414                     }
 415                     else
 416                     {
 417                         token.match = prevMatch;
 418                     }
 419                 }
 420                 return -1;
 421             }
 422             case 21:
 423             {
 424                 System.Lex.Lexeme prevMatch = token.match;
 425                 token.match = lexeme;
 426                 int tokenId = GetTokenId(17);
 427                 if (tokenId == CONTINUE_TOKEN)
 428                 {
 429                     token.id = CONTINUE_TOKEN;
 430                     return -1;
 431                 }
 432                 else
 433                 {
 434                     if (tokenId != INVALID_TOKEN)
 435                     {
 436                         token.id = tokenId;
 437                     }
 438                     else
 439                     {
 440                         token.match = prevMatch;
 441                     }
 442                 }
 443                 switch (i)
 444                 {
 445                     case 28:
 446                     {
 447                         return 32;
 448                     }
 449                     default:
 450                     {
 451                         return -1;
 452                     }
 453                 }
 454                 return -1;
 455             }
 456             case 32:
 457             {
 458                 System.Lex.Lexeme prevMatch = token.match;
 459                 token.match = lexeme;
 460                 int tokenId = GetTokenId(16);
 461                 if (tokenId == CONTINUE_TOKEN)
 462                 {
 463                     token.id = CONTINUE_TOKEN;
 464                     return -1;
 465                 }
 466                 else
 467                 {
 468                     if (tokenId != INVALID_TOKEN)
 469                     {
 470                         token.id = tokenId;
 471                     }
 472                     else
 473                     {
 474                         token.match = prevMatch;
 475                     }
 476                 }
 477                 return -1;
 478             }
 479             case 20:
 480             {
 481                 System.Lex.Lexeme prevMatch = token.match;
 482                 token.match = lexeme;
 483                 int tokenId = GetTokenId(15);
 484                 if (tokenId == CONTINUE_TOKEN)
 485                 {
 486                     token.id = CONTINUE_TOKEN;
 487                     return -1;
 488                 }
 489                 else
 490                 {
 491                     if (tokenId != INVALID_TOKEN)
 492                     {
 493                         token.id = tokenId;
 494                     }
 495                     else
 496                     {
 497                         token.match = prevMatch;
 498                     }
 499                 }
 500                 return -1;
 501             }
 502             case 19:
 503             {
 504                 System.Lex.Lexeme prevMatch = token.match;
 505                 token.match = lexeme;
 506                 int tokenId = GetTokenId(14);
 507                 if (tokenId == CONTINUE_TOKEN)
 508                 {
 509                     token.id = CONTINUE_TOKEN;
 510                     return -1;
 511                 }
 512                 else
 513                 {
 514                     if (tokenId != INVALID_TOKEN)
 515                     {
 516                         token.id = tokenId;
 517                     }
 518                     else
 519                     {
 520                         token.match = prevMatch;
 521                     }
 522                 }
 523                 return -1;
 524             }
 525             case 18:
 526             {
 527                 System.Lex.Lexeme prevMatch = token.match;
 528                 token.match = lexeme;
 529                 int tokenId = GetTokenId(12);
 530                 if (tokenId == CONTINUE_TOKEN)
 531                 {
 532                     token.id = CONTINUE_TOKEN;
 533                     return -1;
 534                 }
 535                 else
 536                 {
 537                     if (tokenId != INVALID_TOKEN)
 538                     {
 539                         token.id = tokenId;
 540                     }
 541                     else
 542                     {
 543                         token.match = prevMatch;
 544                     }
 545                 }
 546                 return -1;
 547             }
 548             case 17:
 549             {
 550                 System.Lex.Lexeme prevMatch = token.match;
 551                 token.match = lexeme;
 552                 int tokenId = GetTokenId(11);
 553                 if (tokenId == CONTINUE_TOKEN)
 554                 {
 555                     token.id = CONTINUE_TOKEN;
 556                     return -1;
 557                 }
 558                 else
 559                 {
 560                     if (tokenId != INVALID_TOKEN)
 561                     {
 562                         token.id = tokenId;
 563                     }
 564                     else
 565                     {
 566                         token.match = prevMatch;
 567                     }
 568                 }
 569                 return -1;
 570             }
 571             case 16:
 572             {
 573                 System.Lex.Lexeme prevMatch = token.match;
 574                 token.match = lexeme;
 575                 int tokenId = GetTokenId(10);
 576                 if (tokenId == CONTINUE_TOKEN)
 577                 {
 578                     token.id = CONTINUE_TOKEN;
 579                     return -1;
 580                 }
 581                 else
 582                 {
 583                     if (tokenId != INVALID_TOKEN)
 584                     {
 585                         token.id = tokenId;
 586                     }
 587                     else
 588                     {
 589                         token.match = prevMatch;
 590                     }
 591                 }
 592                 return -1;
 593             }
 594             case 15:
 595             {
 596                 System.Lex.Lexeme prevMatch = token.match;
 597                 token.match = lexeme;
 598                 int tokenId = GetTokenId(8);
 599                 if (tokenId == CONTINUE_TOKEN)
 600                 {
 601                     token.id = CONTINUE_TOKEN;
 602                     return -1;
 603                 }
 604                 else
 605                 {
 606                     if (tokenId != INVALID_TOKEN)
 607                     {
 608                         token.id = tokenId;
 609                     }
 610                     else
 611                     {
 612                         token.match = prevMatch;
 613                     }
 614                 }
 615                 switch (i)
 616                 {
 617                     case 4: case 5: case 11: case 12: case 13: case 15: case 16: case 17: case 20:
 618                     {
 619                         return 33;
 620                     }
 621                     case 19:
 622                     {
 623                         return 34;
 624                     }
 625                     case 21:
 626                     {
 627                         return 35;
 628                     }
 629                     case 22:
 630                     {
 631                         return 36;
 632                     }
 633                     default:
 634                     {
 635                         return -1;
 636                     }
 637                 }
 638                 return -1;
 639             }
 640             case 36:
 641             {
 642                 System.Lex.Lexeme prevMatch = token.match;
 643                 token.match = lexeme;
 644                 int tokenId = GetTokenId(8);
 645                 if (tokenId == CONTINUE_TOKEN)
 646                 {
 647                     token.id = CONTINUE_TOKEN;
 648                     return -1;
 649                 }
 650                 else
 651                 {
 652                     if (tokenId != INVALID_TOKEN)
 653                     {
 654                         token.id = tokenId;
 655                     }
 656                     else
 657                     {
 658                         token.match = prevMatch;
 659                     }
 660                 }
 661                 switch (i)
 662                 {
 663                     case 4: case 5: case 11: case 12: case 13: case 15: case 16: case 17: case 20:
 664                     {
 665                         return 33;
 666                     }
 667                     case 19:
 668                     {
 669                         return 34;
 670                     }
 671                     case 21:
 672                     {
 673                         return 35;
 674                     }
 675                     case 22:
 676                     {
 677                         return 36;
 678                     }
 679                     default:
 680                     {
 681                         return -1;
 682                     }
 683                 }
 684                 return -1;
 685             }
 686             case 35:
 687             {
 688                 System.Lex.Lexeme prevMatch = token.match;
 689                 token.match = lexeme;
 690                 int tokenId = GetTokenId(8);
 691                 if (tokenId == CONTINUE_TOKEN)
 692                 {
 693                     token.id = CONTINUE_TOKEN;
 694                     return -1;
 695                 }
 696                 else
 697                 {
 698                     if (tokenId != INVALID_TOKEN)
 699                     {
 700                         token.id = tokenId;
 701                     }
 702                     else
 703                     {
 704                         token.match = prevMatch;
 705                     }
 706                 }
 707                 switch (i)
 708                 {
 709                     case 4: case 5: case 11: case 12: case 13: case 15: case 16: case 17: case 20:
 710                     {
 711                         return 33;
 712                     }
 713                     case 19:
 714                     {
 715                         return 34;
 716                     }
 717                     case 21:
 718                     {
 719                         return 35;
 720                     }
 721                     case 22:
 722                     {
 723                         return 36;
 724                     }
 725                     default:
 726                     {
 727                         return -1;
 728                     }
 729                 }
 730                 return -1;
 731             }
 732             case 34:
 733             {
 734                 System.Lex.Lexeme prevMatch = token.match;
 735                 token.match = lexeme;
 736                 int tokenId = GetTokenId(8);
 737                 if (tokenId == CONTINUE_TOKEN)
 738                 {
 739                     token.id = CONTINUE_TOKEN;
 740                     return -1;
 741                 }
 742                 else
 743                 {
 744                     if (tokenId != INVALID_TOKEN)
 745                     {
 746                         token.id = tokenId;
 747                     }
 748                     else
 749                     {
 750                         token.match = prevMatch;
 751                     }
 752                 }
 753                 switch (i)
 754                 {
 755                     case 4: case 5: case 11: case 12: case 13: case 15: case 16: case 17: case 20:
 756                     {
 757                         return 33;
 758                     }
 759                     case 19:
 760                     {
 761                         return 34;
 762                     }
 763                     case 21:
 764                     {
 765                         return 35;
 766                     }
 767                     case 22:
 768                     {
 769                         return 36;
 770                     }
 771                     default:
 772                     {
 773                         return -1;
 774                     }
 775                 }
 776                 return -1;
 777             }
 778             case 33:
 779             {
 780                 System.Lex.Lexeme prevMatch = token.match;
 781                 token.match = lexeme;
 782                 int tokenId = GetTokenId(8);
 783                 if (tokenId == CONTINUE_TOKEN)
 784                 {
 785                     token.id = CONTINUE_TOKEN;
 786                     return -1;
 787                 }
 788                 else
 789                 {
 790                     if (tokenId != INVALID_TOKEN)
 791                     {
 792                         token.id = tokenId;
 793                     }
 794                     else
 795                     {
 796                         token.match = prevMatch;
 797                     }
 798                 }
 799                 switch (i)
 800                 {
 801                     case 4: case 5: case 11: case 12: case 13: case 15: case 16: case 17: case 20:
 802                     {
 803                         return 33;
 804                     }
 805                     case 19:
 806                     {
 807                         return 34;
 808                     }
 809                     case 21:
 810                     {
 811                         return 35;
 812                     }
 813                     case 22:
 814                     {
 815                         return 36;
 816                     }
 817                     default:
 818                     {
 819                         return -1;
 820                     }
 821                 }
 822                 return -1;
 823             }
 824             case 14:
 825             {
 826                 System.Lex.Lexeme prevMatch = token.match;
 827                 token.match = lexeme;
 828                 int tokenId = GetTokenId(8);
 829                 if (tokenId == CONTINUE_TOKEN)
 830                 {
 831                     token.id = CONTINUE_TOKEN;
 832                     return -1;
 833                 }
 834                 else
 835                 {
 836                     if (tokenId != INVALID_TOKEN)
 837                     {
 838                         token.id = tokenId;
 839                     }
 840                     else
 841                     {
 842                         token.match = prevMatch;
 843                     }
 844                 }
 845                 switch (i)
 846                 {
 847                     case 4: case 5: case 11: case 12: case 13: case 15: case 16: case 17: case 20:
 848                     {
 849                         return 33;
 850                     }
 851                     case 19:
 852                     {
 853                         return 34;
 854                     }
 855                     case 21:
 856                     {
 857                         return 35;
 858                     }
 859                     case 22:
 860                     {
 861                         return 36;
 862                     }
 863                     default:
 864                     {
 865                         return -1;
 866                     }
 867                 }
 868                 return -1;
 869             }
 870             case 13:
 871             {
 872                 System.Lex.Lexeme prevMatch = token.match;
 873                 token.match = lexeme;
 874                 int tokenId = GetTokenId(2);
 875                 if (tokenId == CONTINUE_TOKEN)
 876                 {
 877                     token.id = CONTINUE_TOKEN;
 878                     return -1;
 879                 }
 880                 else
 881                 {
 882                     if (tokenId != INVALID_TOKEN)
 883                     {
 884                         token.id = tokenId;
 885                     }
 886                     else
 887                     {
 888                         token.match = prevMatch;
 889                     }
 890                 }
 891                 switch (i)
 892                 {
 893                     case 20:
 894                     {
 895                         return 37;
 896                     }
 897                     default:
 898                     {
 899                         return -1;
 900                     }
 901                 }
 902                 return -1;
 903             }
 904             case 37:
 905             {
 906                 System.Lex.Lexeme prevMatch = token.match;
 907                 token.match = lexeme;
 908                 int tokenId = GetTokenId(2);
 909                 if (tokenId == CONTINUE_TOKEN)
 910                 {
 911                     token.id = CONTINUE_TOKEN;
 912                     return -1;
 913                 }
 914                 else
 915                 {
 916                     if (tokenId != INVALID_TOKEN)
 917                     {
 918                         token.id = tokenId;
 919                     }
 920                     else
 921                     {
 922                         token.match = prevMatch;
 923                     }
 924                 }
 925                 switch (i)
 926                 {
 927                     case 20:
 928                     {
 929                         return 37;
 930                     }
 931                     default:
 932                     {
 933                         return -1;
 934                     }
 935                 }
 936                 return -1;
 937             }
 938             case 12:
 939             {
 940                 System.Lex.Lexeme prevMatch = token.match;
 941                 token.match = lexeme;
 942                 int tokenId = GetTokenId(9);
 943                 if (tokenId == CONTINUE_TOKEN)
 944                 {
 945                     token.id = CONTINUE_TOKEN;
 946                     return -1;
 947                 }
 948                 else
 949                 {
 950                     if (tokenId != INVALID_TOKEN)
 951                     {
 952                         token.id = tokenId;
 953                     }
 954                     else
 955                     {
 956                         token.match = prevMatch;
 957                     }
 958                 }
 959                 switch (i)
 960                 {
 961                     case 20:
 962                     {
 963                         return 38;
 964                     }
 965                     default:
 966                     {
 967                         return -1;
 968                     }
 969                 }
 970                 return -1;
 971             }
 972             case 38:
 973             {
 974                 System.Lex.Lexeme prevMatch = token.match;
 975                 token.match = lexeme;
 976                 int tokenId = GetTokenId(7);
 977                 if (tokenId == CONTINUE_TOKEN)
 978                 {
 979                     token.id = CONTINUE_TOKEN;
 980                     return -1;
 981                 }
 982                 else
 983                 {
 984                     if (tokenId != INVALID_TOKEN)
 985                     {
 986                         token.id = tokenId;
 987                     }
 988                     else
 989                     {
 990                         token.match = prevMatch;
 991                     }
 992                 }
 993                 switch (i)
 994                 {
 995                     case 20:
 996                     {
 997                         return 38;
 998                     }
 999                     default:
1000                     {
1001                         return -1;
1002                     }
1003                 }
1004                 return -1;
1005             }
1006             case 11:
1007             {
1008                 System.Lex.Lexeme prevMatch = token.match;
1009                 token.match = lexeme;
1010                 int tokenId = GetTokenId(25);
1011                 if (tokenId == CONTINUE_TOKEN)
1012                 {
1013                     token.id = CONTINUE_TOKEN;
1014                     return -1;
1015                 }
1016                 else
1017                 {
1018                     if (tokenId != INVALID_TOKEN)
1019                     {
1020                         token.id = tokenId;
1021                     }
1022                     else
1023                     {
1024                         token.match = prevMatch;
1025                     }
1026                 }
1027                 return -1;
1028             }
1029             case 10:
1030             {
1031                 System.Lex.Lexeme prevMatch = token.match;
1032                 token.match = lexeme;
1033                 int tokenId = GetTokenId(24);
1034                 if (tokenId == CONTINUE_TOKEN)
1035                 {
1036                     token.id = CONTINUE_TOKEN;
1037                     return -1;
1038                 }
1039                 else
1040                 {
1041                     if (tokenId != INVALID_TOKEN)
1042                     {
1043                         token.id = tokenId;
1044                     }
1045                     else
1046                     {
1047                         token.match = prevMatch;
1048                     }
1049                 }
1050                 return -1;
1051             }
1052             case 9:
1053             {
1054                 System.Lex.Lexeme prevMatch = token.match;
1055                 token.match = lexeme;
1056                 int tokenId = GetTokenId(13);
1057                 if (tokenId == CONTINUE_TOKEN)
1058                 {
1059                     token.id = CONTINUE_TOKEN;
1060                     return -1;
1061                 }
1062                 else
1063                 {
1064                     if (tokenId != INVALID_TOKEN)
1065                     {
1066                         token.id = tokenId;
1067                     }
1068                     else
1069                     {
1070                         token.match = prevMatch;
1071                     }
1072                 }
1073                 switch (i)
1074                 {
1075                     case 16:
1076                     {
1077                         return 39;
1078                     }
1079                     default:
1080                     {
1081                         return -1;
1082                     }
1083                 }
1084                 return -1;
1085             }
1086             case 39:
1087             {
1088                 switch (i)
1089                 {
1090                     case 11:
1091                     {
1092                         return 40;
1093                     }
1094                     default:
1095                     {
1096                         return -1;
1097                     }
1098                 }
1099                 return -1;
1100             }
1101             case 40:
1102             {
1103                 switch (i)
1104                 {
1105                     case 12:
1106                     {
1107                         return 41;
1108                     }
1109                     default:
1110                     {
1111                         return -1;
1112                     }
1113                 }
1114                 return -1;
1115             }
1116             case 41:
1117             {
1118                 switch (i)
1119                 {
1120                     case 13:
1121                     {
1122                         return 42;
1123                     }
1124                     default:
1125                     {
1126                         return -1;
1127                     }
1128                 }
1129                 return -1;
1130             }
1131             case 42:
1132             {
1133                 switch (i)
1134                 {
1135                     case 17:
1136                     {
1137                         return 43;
1138                     }
1139                     default:
1140                     {
1141                         return -1;
1142                     }
1143                 }
1144                 return -1;
1145             }
1146             case 43:
1147             {
1148                 switch (i)
1149                 {
1150                     case 14:
1151                     {
1152                         return 44;
1153                     }
1154                     default:
1155                     {
1156                         return -1;
1157                     }
1158                 }
1159                 return -1;
1160             }
1161             case 44:
1162             {
1163                 switch (i)
1164                 {
1165                     case 15: case 16: case 17: case 20:
1166                     {
1167                         return 45;
1168                     }
1169                     default:
1170                     {
1171                         return -1;
1172                     }
1173                 }
1174                 return -1;
1175             }
1176             case 45:
1177             {
1178                 switch (i)
1179                 {
1180                     case 15: case 16: case 17: case 20:
1181                     {
1182                         return 45;
1183                     }
1184                     case 18:
1185                     {
1186                         return 46;
1187                     }
1188                     default:
1189                     {
1190                         return -1;
1191                     }
1192                 }
1193                 return -1;
1194             }
1195             case 46:
1196             {
1197                 System.Lex.Lexeme prevMatch = token.match;
1198                 token.match = lexeme;
1199                 int tokenId = GetTokenId(6);
1200                 if (tokenId == CONTINUE_TOKEN)
1201                 {
1202                     token.id = CONTINUE_TOKEN;
1203                     return -1;
1204                 }
1205                 else
1206                 {
1207                     if (tokenId != INVALID_TOKEN)
1208                     {
1209                         token.id = tokenId;
1210                     }
1211                     else
1212                     {
1213                         token.match = prevMatch;
1214                     }
1215                 }
1216                 return -1;
1217             }
1218             case 8:
1219             {
1220                 System.Lex.Lexeme prevMatch = token.match;
1221                 token.match = lexeme;
1222                 int tokenId = GetTokenId(28);
1223                 if (tokenId == CONTINUE_TOKEN)
1224                 {
1225                     token.id = CONTINUE_TOKEN;
1226                     return -1;
1227                 }
1228                 else
1229                 {
1230                     if (tokenId != INVALID_TOKEN)
1231                     {
1232                         token.id = tokenId;
1233                     }
1234                     else
1235                     {
1236                         token.match = prevMatch;
1237                     }
1238                 }
1239                 switch (i)
1240                 {
1241                     case 15: case 16: case 17: case 20:
1242                     {
1243                         return 47;
1244                     }
1245                     default:
1246                     {
1247                         return -1;
1248                     }
1249                 }
1250                 return -1;
1251             }
1252             case 47:
1253             {
1254                 System.Lex.Lexeme prevMatch = token.match;
1255                 token.match = lexeme;
1256                 int tokenId = GetTokenId(3);
1257                 if (tokenId == CONTINUE_TOKEN)
1258                 {
1259                     token.id = CONTINUE_TOKEN;
1260                     return -1;
1261                 }
1262                 else
1263                 {
1264                     if (tokenId != INVALID_TOKEN)
1265                     {
1266                         token.id = tokenId;
1267                     }
1268                     else
1269                     {
1270                         token.match = prevMatch;
1271                     }
1272                 }
1273                 switch (i)
1274                 {
1275                     case 15: case 16: case 17: case 20:
1276                     {
1277                         return 47;
1278                     }
1279                     default:
1280                     {
1281                         return -1;
1282                     }
1283                 }
1284                 return -1;
1285             }
1286             case 7:
1287             {
1288                 System.Lex.Lexeme prevMatch = token.match;
1289                 token.match = lexeme;
1290                 int tokenId = GetTokenId(0);
1291                 if (tokenId == CONTINUE_TOKEN)
1292                 {
1293                     token.id = CONTINUE_TOKEN;
1294                     return -1;
1295                 }
1296                 else
1297                 {
1298                     if (tokenId != INVALID_TOKEN)
1299                     {
1300                         token.id = tokenId;
1301                     }
1302                     else
1303                     {
1304                         token.match = prevMatch;
1305                     }
1306                 }
1307                 switch (i)
1308                 {
1309                     case 6: case 7:
1310                     {
1311                         return 48;
1312                     }
1313                     default:
1314                     {
1315                         return -1;
1316                     }
1317                 }
1318                 return -1;
1319             }
1320             case 48:
1321             {
1322                 System.Lex.Lexeme prevMatch = token.match;
1323                 token.match = lexeme;
1324                 int tokenId = GetTokenId(0);
1325                 if (tokenId == CONTINUE_TOKEN)
1326                 {
1327                     token.id = CONTINUE_TOKEN;
1328                     return -1;
1329                 }
1330                 else
1331                 {
1332                     if (tokenId != INVALID_TOKEN)
1333                     {
1334                         token.id = tokenId;
1335                     }
1336                     else
1337                     {
1338                         token.match = prevMatch;
1339                     }
1340                 }
1341                 switch (i)
1342                 {
1343                     case 6: case 7:
1344                     {
1345                         return 48;
1346                     }
1347                     default:
1348                     {
1349                         return -1;
1350                     }
1351                 }
1352                 return -1;
1353             }
1354             case 6:
1355             {
1356                 System.Lex.Lexeme prevMatch = token.match;
1357                 token.match = lexeme;
1358                 int tokenId = GetTokenId(28);
1359                 if (tokenId == CONTINUE_TOKEN)
1360                 {
1361                     token.id = CONTINUE_TOKEN;
1362                     return -1;
1363                 }
1364                 else
1365                 {
1366                     if (tokenId != INVALID_TOKEN)
1367                     {
1368                         token.id = tokenId;
1369                     }
1370                     else
1371                     {
1372                         token.match = prevMatch;
1373                     }
1374                 }
1375                 return -1;
1376             }
1377             case 5:
1378             {
1379                 System.Lex.Lexeme prevMatch = token.match;
1380                 token.match = lexeme;
1381                 int tokenId = GetTokenId(8);
1382                 if (tokenId == CONTINUE_TOKEN)
1383                 {
1384                     token.id = CONTINUE_TOKEN;
1385                     return -1;
1386                 }
1387                 else
1388                 {
1389                     if (tokenId != INVALID_TOKEN)
1390                     {
1391                         token.id = tokenId;
1392                     }
1393                     else
1394                     {
1395                         token.match = prevMatch;
1396                     }
1397                 }
1398                 switch (i)
1399                 {
1400                     case 4: case 5: case 11: case 12: case 13: case 15: case 16: case 17: case 20:
1401                     {
1402                         return 33;
1403                     }
1404                     case 19:
1405                     {
1406                         return 34;
1407                     }
1408                     case 21:
1409                     {
1410                         return 35;
1411                     }
1412                     case 22:
1413                     {
1414                         return 36;
1415                     }
1416                     default:
1417                     {
1418                         return -1;
1419                     }
1420                 }
1421                 return -1;
1422             }
1423             case 4:
1424             {
1425                 System.Lex.Lexeme prevMatch = token.match;
1426                 token.match = lexeme;
1427                 int tokenId = GetTokenId(28);
1428                 if (tokenId == CONTINUE_TOKEN)
1429                 {
1430                     token.id = CONTINUE_TOKEN;
1431                     return -1;
1432                 }
1433                 else
1434                 {
1435                     if (tokenId != INVALID_TOKEN)
1436                     {
1437                         token.id = tokenId;
1438                     }
1439                     else
1440                     {
1441                         token.match = prevMatch;
1442                     }
1443                 }
1444                 switch (i)
1445                 {
1446                     case 2: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 32: case 33: case 34: case 35: case 36:
1447                     {
1448                         return 49;
1449                     }
1450                     case 3:
1451                     {
1452                         return 50;
1453                     }
1454                     default:
1455                     {
1456                         return -1;
1457                     }
1458                 }
1459                 return -1;
1460             }
1461             case 50:
1462             {
1463                 System.Lex.Lexeme prevMatch = token.match;
1464                 token.match = lexeme;
1465                 int tokenId = GetTokenId(4);
1466                 if (tokenId == CONTINUE_TOKEN)
1467                 {
1468                     token.id = CONTINUE_TOKEN;
1469                     return -1;
1470                 }
1471                 else
1472                 {
1473                     if (tokenId != INVALID_TOKEN)
1474                     {
1475                         token.id = tokenId;
1476                     }
1477                     else
1478                     {
1479                         token.match = prevMatch;
1480                     }
1481                 }
1482                 return -1;
1483             }
1484             case 49:
1485             {
1486                 switch (i)
1487                 {
1488                     case 3:
1489                     {
1490                         return 50;
1491                     }
1492                     default:
1493                     {
1494                         return -1;
1495                     }
1496                 }
1497                 return -1;
1498             }
1499             case 3:
1500             {
1501                 System.Lex.Lexeme prevMatch = token.match;
1502                 token.match = lexeme;
1503                 int tokenId = GetTokenId(28);
1504                 if (tokenId == CONTINUE_TOKEN)
1505                 {
1506                     token.id = CONTINUE_TOKEN;
1507                     return -1;
1508                 }
1509                 else
1510                 {
1511                     if (tokenId != INVALID_TOKEN)
1512                     {
1513                         token.id = tokenId;
1514                     }
1515                     else
1516                     {
1517                         token.match = prevMatch;
1518                     }
1519                 }
1520                 switch (i)
1521                 {
1522                     case 2:
1523                     {
1524                         return 51;
1525                     }
1526                     case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 32: case 33: case 34: case 35: case 36:
1527                     {
1528                         return 52;
1529                     }
1530                     default:
1531                     {
1532                         return -1;
1533                     }
1534                 }
1535                 return -1;
1536             }
1537             case 52:
1538             {
1539                 switch (i)
1540                 {
1541                     case 2:
1542                     {
1543                         return 51;
1544                     }
1545                     case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 32: case 33: case 34: case 35: case 36:
1546                     {
1547                         return 52;
1548                     }
1549                     default:
1550                     {
1551                         return -1;
1552                     }
1553                 }
1554                 return -1;
1555             }
1556             case 51:
1557             {
1558                 System.Lex.Lexeme prevMatch = token.match;
1559                 token.match = lexeme;
1560                 int tokenId = GetTokenId(5);
1561                 if (tokenId == CONTINUE_TOKEN)
1562                 {
1563                     token.id = CONTINUE_TOKEN;
1564                     return -1;
1565                 }
1566                 else
1567                 {
1568                     if (tokenId != INVALID_TOKEN)
1569                     {
1570                         token.id = tokenId;
1571                     }
1572                     else
1573                     {
1574                         token.match = prevMatch;
1575                     }
1576                 }
1577                 return -1;
1578             }
1579             case 2:
1580             {
1581                 System.Lex.Lexeme prevMatch = token.match;
1582                 token.match = lexeme;
1583                 int tokenId = GetTokenId(1);
1584                 if (tokenId == CONTINUE_TOKEN)
1585                 {
1586                     token.id = CONTINUE_TOKEN;
1587                     return -1;
1588                 }
1589                 else
1590                 {
1591                     if (tokenId != INVALID_TOKEN)
1592                     {
1593                         token.id = tokenId;
1594                     }
1595                     else
1596                     {
1597                         token.match = prevMatch;
1598                     }
1599                 }
1600                 return -1;
1601             }
1602             case 1:
1603             {
1604                 System.Lex.Lexeme prevMatch = token.match;
1605                 token.match = lexeme;
1606                 int tokenId = GetTokenId(1);
1607                 if (tokenId == CONTINUE_TOKEN)
1608                 {
1609                     token.id = CONTINUE_TOKEN;
1610                     return -1;
1611                 }
1612                 else
1613                 {
1614                     if (tokenId != INVALID_TOKEN)
1615                     {
1616                         token.id = tokenId;
1617                     }
1618                     else
1619                     {
1620                         token.match = prevMatch;
1621                     }
1622                 }
1623                 switch (i)
1624                 {
1625                     case 1:
1626                     {
1627                         return 53;
1628                     }
1629                     default:
1630                     {
1631                         return -1;
1632                     }
1633                 }
1634                 return -1;
1635             }
1636             case 53:
1637             {
1638                 System.Lex.Lexeme prevMatch = token.match;
1639                 token.match = lexeme;
1640                 int tokenId = GetTokenId(1);
1641                 if (tokenId == CONTINUE_TOKEN)
1642                 {
1643                     token.id = CONTINUE_TOKEN;
1644                     return -1;
1645                 }
1646                 else
1647                 {
1648                     if (tokenId != INVALID_TOKEN)
1649                     {
1650                         token.id = tokenId;
1651                     }
1652                     else
1653                     {
1654                         token.match = prevMatch;
1655                     }
1656                 }
1657                 return -1;
1658             }
1659         }
1660         return -1;
1661     }
1662     private int GetTokenId(int statementIndex)
1663     {
1664         switch (statementIndex)
1665         {
1666             case 0:
1667             {
1668                 Retract();
1669                 return SPACE;
1670                 break;
1671             }
1672             case 1:
1673             {
1674                 Retract();
1675                 return NEWLINE;
1676                 break;
1677             }
1678             case 2:
1679             {
1680                 Retract();
1681                 return DECIMAL_CONSTANT;
1682                 break;
1683             }
1684             case 3:
1685             {
1686                 Retract();
1687                 return HEX_CONSTANT;
1688                 break;
1689             }
1690             case 4:
1691             {
1692                 Retract();
1693                 return CHAR_CONSTANT;
1694                 break;
1695             }
1696             case 5:
1697             {
1698                 Retract();
1699                 return STRING_CONSTANT;
1700                 break;
1701             }
1702             case 6:
1703             {
1704                 Retract();
1705                 return CLSID_CONSTANT;
1706                 break;
1707             }
1708             case 7:
1709             {
1710                 Retract();
1711                 return LOCAL_SYMBOL;
1712                 break;
1713             }
1714             case 8:
1715             {
1716                 Retract();
1717                 return SYMBOL;
1718                 break;
1719             }
1720             case 9:
1721             {
1722                 Retract();
1723                 return AT;
1724                 break;
1725             }
1726             case 10:
1727             {
1728                 Retract();
1729                 return PLUS;
1730                 break;
1731             }
1732             case 11:
1733             {
1734                 Retract();
1735                 return MINUS;
1736                 break;
1737             }
1738             case 12:
1739             {
1740                 Retract();
1741                 return TILDE;
1742                 break;
1743             }
1744             case 13:
1745             {
1746                 Retract();
1747                 return DOLLAR;
1748                 break;
1749             }
1750             case 14:
1751             {
1752                 Retract();
1753                 return AMP;
1754                 break;
1755             }
1756             case 15:
1757             {
1758                 Retract();
1759                 return AST;
1760                 break;
1761             }
1762             case 16:
1763             {
1764                 Retract();
1765                 return SLASHSLASH;
1766                 break;
1767             }
1768             case 17:
1769             {
1770                 Retract();
1771                 return SLASH;
1772                 break;
1773             }
1774             case 18:
1775             {
1776                 Retract();
1777                 return PERCENT;
1778                 break;
1779             }
1780             case 19:
1781             {
1782                 Retract();
1783                 return SHIFT_LEFT;
1784                 break;
1785             }
1786             case 20:
1787             {
1788                 Retract();
1789                 return SHIFT_RIGHT;
1790                 break;
1791             }
1792             case 21:
1793             {
1794                 Retract();
1795                 return BAR;
1796                 break;
1797             }
1798             case 22:
1799             {
1800                 Retract();
1801                 return CARET;
1802                 break;
1803             }
1804             case 23:
1805             {
1806                 Retract();
1807                 return DOT;
1808                 break;
1809             }
1810             case 24:
1811             {
1812                 Retract();
1813                 return LPAREN;
1814                 break;
1815             }
1816             case 25:
1817             {
1818                 Retract();
1819                 return RPAREN;
1820                 break;
1821             }
1822             case 26:
1823             {
1824                 Retract();
1825                 return SEMICOLON;
1826                 break;
1827             }
1828             case 27:
1829             {
1830                 Retract();
1831                 return COMMA;
1832                 break;
1833             }
1834             case 28:
1835             {
1836                 Retract();
1837                 return CHAR;
1838                 break;
1839             }
1840         }
1841         return CONTINUE_TOKEN;
1842     }
1843 }