public static Token Scan() { while (ignore[ch]) NextCh(); if (ch == '/' && Comment0() || ch == '/' && Comment1() ) return Scan(); t = new Token(); t.pos = pos; t.col = pos - lineStart + 1; t.line = line; t.filename = Filename; int state = start[ch]; StringBuilder buf = new StringBuilder(16); buf.Append(ch); NextCh(); switch (state) { case 0: {t.kind = noSym; goto done;} // NextCh already done case 1: if ((ch >= '0' && ch <= '9' || ch >= 'A' && ch <= 'Z' || ch >= '_' && ch <= 'z')) {buf.Append(ch); NextCh(); goto case 1;} else {t.kind = 1; t.val = buf.ToString(); CheckLiteral(); return t;} case 2: if ((ch >= '0' && ch <= '9')) {buf.Append(ch); NextCh(); goto case 2;} else {t.kind = 2; goto done;} case 3: if ((ch == '"')) {buf.Append(ch); NextCh(); goto case 4;} else if ((ch >= 9 && ch <= 10 || ch == 13 || ch >= ' ' && ch <= '!' || ch >= '#' && ch <= '[' || ch >= ']' && ch <= '~')) {buf.Append(ch); NextCh(); goto case 3;} else {t.kind = noSym; goto done;} case 4: {t.kind = 3; goto done;} case 5: if ((ch == 39)) {buf.Append(ch); NextCh(); goto case 8;} else {t.kind = noSym; goto done;} case 6: if ((ch >= '0' && ch <= '9')) {buf.Append(ch); NextCh(); goto case 7;} else {t.kind = noSym; goto done;} case 7: if ((ch == 39)) {buf.Append(ch); NextCh(); goto case 8;} else if ((ch >= '0' && ch <= '9')) {buf.Append(ch); NextCh(); goto case 7;} else {t.kind = noSym; goto done;} case 8: {t.kind = 4; goto done;} case 9: {t.kind = 5; goto done;} case 10: if (!(ch == 92)) {buf.Append(ch); NextCh(); goto case 5;} else if ((ch == 92)) {buf.Append(ch); NextCh(); goto case 11;} else {t.kind = noSym; goto done;} case 11: if ((ch == 39)) {buf.Append(ch); NextCh(); goto case 8;} else if (ch == 'u') {buf.Append(ch); NextCh(); goto case 6;} else {t.kind = noSym; goto done;} case 12: if (ch == '|') {buf.Append(ch); NextCh(); goto case 173;} else {t.kind = 22; goto done;} case 13: {t.kind = 23; goto done;} case 14: {t.kind = 24; goto done;} case 15: if (ch == 't') {buf.Append(ch); NextCh(); goto case 16;} else if (ch == 'm') {buf.Append(ch); NextCh(); goto case 25;} else if (ch == 'w') {buf.Append(ch); NextCh(); goto case 48;} else if (ch == 'c') {buf.Append(ch); NextCh(); goto case 60;} else if (ch == 'i') {buf.Append(ch); NextCh(); goto case 80;} else if (ch == 'b') {buf.Append(ch); NextCh(); goto case 83;} else if (ch == 'u') {buf.Append(ch); NextCh(); goto case 86;} else if (ch == 'r') {buf.Append(ch); NextCh(); goto case 91;} else if (ch == 'A') {buf.Append(ch); NextCh(); goto case 95;} else if (ch == 'D') {buf.Append(ch); NextCh(); goto case 106;} else if (ch == 'I') {buf.Append(ch); NextCh(); goto case 111;} else if (ch == '_') {buf.Append(ch); NextCh(); goto case 135;} else if (ch == 'd') {buf.Append(ch); NextCh(); goto case 197;} else if (ch == 'C') {buf.Append(ch); NextCh(); goto case 212;} else if (ch == 'L') {buf.Append(ch); NextCh(); goto case 227;} else {t.kind = 55; goto done;} case 16: if (ch == 'y') {buf.Append(ch); NextCh(); goto case 17;} else {t.kind = noSym; goto done;} case 17: if (ch == 'p') {buf.Append(ch); NextCh(); goto case 18;} else {t.kind = noSym; goto done;} case 18: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 19;} else {t.kind = noSym; goto done;} case 19: if (ch == 'P') {buf.Append(ch); NextCh(); goto case 20;} else if (ch == 't') {buf.Append(ch); NextCh(); goto case 66;} else if (ch == 'o') {buf.Append(ch); NextCh(); goto case 78;} else {t.kind = noSym; goto done;} case 20: if (ch == 'a') {buf.Append(ch); NextCh(); goto case 21;} else {t.kind = noSym; goto done;} case 21: if (ch == 'r') {buf.Append(ch); NextCh(); goto case 22;} else {t.kind = noSym; goto done;} case 22: if (ch == 'a') {buf.Append(ch); NextCh(); goto case 23;} else {t.kind = noSym; goto done;} case 23: if (ch == 'm') {buf.Append(ch); NextCh(); goto case 24;} else {t.kind = noSym; goto done;} case 24: {t.kind = 25; goto done;} case 25: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 26;} else {t.kind = noSym; goto done;} case 26: if (ch == 't') {buf.Append(ch); NextCh(); goto case 27;} else {t.kind = noSym; goto done;} case 27: if (ch == 'h') {buf.Append(ch); NextCh(); goto case 28;} else {t.kind = noSym; goto done;} case 28: if (ch == 'o') {buf.Append(ch); NextCh(); goto case 29;} else {t.kind = noSym; goto done;} case 29: if (ch == 'd') {buf.Append(ch); NextCh(); goto case 30;} else {t.kind = noSym; goto done;} case 30: if (ch == 'T') {buf.Append(ch); NextCh(); goto case 31;} else {t.kind = noSym; goto done;} case 31: if (ch == 'y') {buf.Append(ch); NextCh(); goto case 32;} else {t.kind = noSym; goto done;} case 32: if (ch == 'p') {buf.Append(ch); NextCh(); goto case 33;} else {t.kind = noSym; goto done;} case 33: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 34;} else {t.kind = noSym; goto done;} case 34: if (ch == 'P') {buf.Append(ch); NextCh(); goto case 35;} else {t.kind = noSym; goto done;} case 35: if (ch == 'a') {buf.Append(ch); NextCh(); goto case 36;} else {t.kind = noSym; goto done;} case 36: if (ch == 'r') {buf.Append(ch); NextCh(); goto case 37;} else {t.kind = noSym; goto done;} case 37: if (ch == 'a') {buf.Append(ch); NextCh(); goto case 38;} else {t.kind = noSym; goto done;} case 38: if (ch == 'm') {buf.Append(ch); NextCh(); goto case 39;} else {t.kind = noSym; goto done;} case 39: {t.kind = 26; goto done;} case 40: if (ch == '&') {buf.Append(ch); NextCh(); goto case 183;} else {t.kind = 27; goto done;} case 41: {t.kind = 28; goto done;} case 42: {t.kind = 29; goto done;} case 43: {t.kind = 30; goto done;} case 44: if (ch == '=') {buf.Append(ch); NextCh(); goto case 176;} else if (ch == '<') {buf.Append(ch); NextCh(); goto case 192;} else {t.kind = 31; goto done;} case 45: if (ch == '=') {buf.Append(ch); NextCh(); goto case 177;} else {t.kind = 32; goto done;} case 46: if (ch == 'c') {buf.Append(ch); NextCh(); goto case 131;} else {t.kind = 33; goto done;} case 47: if (ch == ':') {buf.Append(ch); NextCh(); goto case 94;} else {t.kind = 34; goto done;} case 48: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 49;} else {t.kind = noSym; goto done;} case 49: if (ch == 'i') {buf.Append(ch); NextCh(); goto case 50;} else {t.kind = noSym; goto done;} case 50: if (ch == 'r') {buf.Append(ch); NextCh(); goto case 51;} else {t.kind = noSym; goto done;} case 51: if (ch == 'd') {buf.Append(ch); NextCh(); goto case 52;} else {t.kind = noSym; goto done;} case 52: if (ch == 'I') {buf.Append(ch); NextCh(); goto case 53;} else {t.kind = noSym; goto done;} case 53: if (ch == 'd') {buf.Append(ch); NextCh(); goto case 54;} else {t.kind = noSym; goto done;} case 54: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 55;} else {t.kind = noSym; goto done;} case 55: if (ch == 'n') {buf.Append(ch); NextCh(); goto case 56;} else {t.kind = noSym; goto done;} case 56: if (ch == 't') {buf.Append(ch); NextCh(); goto case 57;} else {t.kind = noSym; goto done;} case 57: {t.kind = 35; goto done;} case 58: {t.kind = 36; goto done;} case 59: {t.kind = 37; goto done;} case 60: if (ch == 'o') {buf.Append(ch); NextCh(); goto case 61;} else if (ch == 'a') {buf.Append(ch); NextCh(); goto case 70;} else {t.kind = noSym; goto done;} case 61: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 62;} else {t.kind = noSym; goto done;} case 62: if (ch == 'r') {buf.Append(ch); NextCh(); goto case 63;} else {t.kind = noSym; goto done;} case 63: if (ch == 'c') {buf.Append(ch); NextCh(); goto case 64;} else {t.kind = noSym; goto done;} case 64: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 65;} else {t.kind = noSym; goto done;} case 65: {t.kind = 39; goto done;} case 66: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 67;} else {t.kind = noSym; goto done;} case 67: if (ch == 's') {buf.Append(ch); NextCh(); goto case 68;} else {t.kind = noSym; goto done;} case 68: if (ch == 't') {buf.Append(ch); NextCh(); goto case 69;} else {t.kind = noSym; goto done;} case 69: {t.kind = 40; goto done;} case 70: if (ch == 's') {buf.Append(ch); NextCh(); goto case 71;} else {t.kind = noSym; goto done;} case 71: if (ch == 't') {buf.Append(ch); NextCh(); goto case 72;} else {t.kind = noSym; goto done;} case 72: if (ch == 'c') {buf.Append(ch); NextCh(); goto case 73;} else {t.kind = noSym; goto done;} case 73: if (ch == 'l') {buf.Append(ch); NextCh(); goto case 74;} else {t.kind = noSym; goto done;} case 74: if (ch == 'a') {buf.Append(ch); NextCh(); goto case 75;} else {t.kind = noSym; goto done;} case 75: if (ch == 's') {buf.Append(ch); NextCh(); goto case 76;} else {t.kind = noSym; goto done;} case 76: if (ch == 's') {buf.Append(ch); NextCh(); goto case 77;} else {t.kind = noSym; goto done;} case 77: {t.kind = 41; goto done;} case 78: if (ch == 'f') {buf.Append(ch); NextCh(); goto case 79;} else {t.kind = noSym; goto done;} case 79: {t.kind = 42; goto done;} case 80: if (ch == 't') {buf.Append(ch); NextCh(); goto case 81;} else {t.kind = noSym; goto done;} case 81: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 82;} else {t.kind = noSym; goto done;} case 82: {t.kind = 43; goto done;} case 83: if (ch == 'o') {buf.Append(ch); NextCh(); goto case 84;} else if (ch == 'l') {buf.Append(ch); NextCh(); goto case 124;} else {t.kind = noSym; goto done;} case 84: if (ch == 'x') {buf.Append(ch); NextCh(); goto case 85;} else {t.kind = noSym; goto done;} case 85: {t.kind = 44; goto done;} case 86: if (ch == 'n') {buf.Append(ch); NextCh(); goto case 87;} else {t.kind = noSym; goto done;} case 87: if (ch == 'b') {buf.Append(ch); NextCh(); goto case 88;} else {t.kind = noSym; goto done;} case 88: if (ch == 'o') {buf.Append(ch); NextCh(); goto case 89;} else {t.kind = noSym; goto done;} case 89: if (ch == 'x') {buf.Append(ch); NextCh(); goto case 90;} else {t.kind = noSym; goto done;} case 90: if (ch == 'A') {buf.Append(ch); NextCh(); goto case 209;} else {t.kind = 45; goto done;} case 91: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 92;} else {t.kind = noSym; goto done;} case 92: if (ch == 'f') {buf.Append(ch); NextCh(); goto case 93;} else {t.kind = noSym; goto done;} case 93: {t.kind = 46; goto done;} case 94: {t.kind = 47; goto done;} case 95: if (ch == 'd') {buf.Append(ch); NextCh(); goto case 96;} else {t.kind = noSym; goto done;} case 96: if (ch == 'd') {buf.Append(ch); NextCh(); goto case 97;} else {t.kind = noSym; goto done;} case 97: if (ch == 'r') {buf.Append(ch); NextCh(); goto case 98;} else {t.kind = noSym; goto done;} case 98: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 99;} else {t.kind = noSym; goto done;} case 99: if (ch == 's') {buf.Append(ch); NextCh(); goto case 100;} else {t.kind = noSym; goto done;} case 100: if (ch == 's') {buf.Append(ch); NextCh(); goto case 101;} else {t.kind = noSym; goto done;} case 101: if (ch == 'O') {buf.Append(ch); NextCh(); goto case 102;} else {t.kind = noSym; goto done;} case 102: if (ch == 'f') {buf.Append(ch); NextCh(); goto case 103;} else {t.kind = noSym; goto done;} case 103: {t.kind = 48; goto done;} case 104: if (ch == '|') {buf.Append(ch); NextCh(); goto case 169;} else {t.kind = 49; goto done;} case 105: {t.kind = 50; goto done;} case 106: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 107;} else {t.kind = noSym; goto done;} case 107: if (ch == 'r') {buf.Append(ch); NextCh(); goto case 108;} else {t.kind = noSym; goto done;} case 108: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 109;} else {t.kind = noSym; goto done;} case 109: if (ch == 'f') {buf.Append(ch); NextCh(); goto case 110;} else {t.kind = noSym; goto done;} case 110: {t.kind = 51; goto done;} case 111: if (ch == 's') {buf.Append(ch); NextCh(); goto case 112;} else {t.kind = noSym; goto done;} case 112: if (ch == 'i') {buf.Append(ch); NextCh(); goto case 113;} else {t.kind = noSym; goto done;} case 113: if (ch == 'n') {buf.Append(ch); NextCh(); goto case 114;} else {t.kind = noSym; goto done;} case 114: if (ch == 's') {buf.Append(ch); NextCh(); goto case 115;} else {t.kind = noSym; goto done;} case 115: if (ch == 't') {buf.Append(ch); NextCh(); goto case 116;} else {t.kind = noSym; goto done;} case 116: {t.kind = 52; goto done;} case 117: if (ch == 'I') {buf.Append(ch); NextCh(); goto case 118;} else {t.kind = 89; goto done;} case 118: if (ch == 's') {buf.Append(ch); NextCh(); goto case 119;} else {t.kind = noSym; goto done;} case 119: if (ch == 'i') {buf.Append(ch); NextCh(); goto case 120;} else {t.kind = noSym; goto done;} case 120: if (ch == 'n') {buf.Append(ch); NextCh(); goto case 121;} else {t.kind = noSym; goto done;} case 121: if (ch == 's') {buf.Append(ch); NextCh(); goto case 122;} else {t.kind = noSym; goto done;} case 122: if (ch == 't') {buf.Append(ch); NextCh(); goto case 123;} else {t.kind = noSym; goto done;} case 123: {t.kind = 53; goto done;} case 124: if (ch == 'o') {buf.Append(ch); NextCh(); goto case 125;} else {t.kind = noSym; goto done;} case 125: if (ch == 'c') {buf.Append(ch); NextCh(); goto case 126;} else {t.kind = noSym; goto done;} case 126: if (ch == 'k') {buf.Append(ch); NextCh(); goto case 127;} else {t.kind = noSym; goto done;} case 127: if (ch == 'V') {buf.Append(ch); NextCh(); goto case 128;} else {t.kind = noSym; goto done;} case 128: if (ch == 'a') {buf.Append(ch); NextCh(); goto case 129;} else {t.kind = noSym; goto done;} case 129: if (ch == 'r') {buf.Append(ch); NextCh(); goto case 130;} else {t.kind = noSym; goto done;} case 130: {t.kind = 54; goto done;} case 131: if (ch == 't') {buf.Append(ch); NextCh(); goto case 132;} else {t.kind = noSym; goto done;} case 132: if (ch == 'o') {buf.Append(ch); NextCh(); goto case 133;} else {t.kind = noSym; goto done;} case 133: if (ch == 'r') {buf.Append(ch); NextCh(); goto case 134;} else {t.kind = noSym; goto done;} case 134: {t.kind = 56; goto done;} case 135: if (ch == 'f') {buf.Append(ch); NextCh(); goto case 136;} else if (ch == 'e') {buf.Append(ch); NextCh(); goto case 142;} else if (ch == 'c') {buf.Append(ch); NextCh(); goto case 149;} else if (ch == 'm') {buf.Append(ch); NextCh(); goto case 154;} else if (ch == 'p') {buf.Append(ch); NextCh(); goto case 159;} else if (ch == 's') {buf.Append(ch); NextCh(); goto case 166;} else {t.kind = noSym; goto done;} case 136: if (ch == 'o') {buf.Append(ch); NextCh(); goto case 137;} else {t.kind = noSym; goto done;} case 137: if (ch == 'r') {buf.Append(ch); NextCh(); goto case 138;} else {t.kind = noSym; goto done;} case 138: if (ch == 'a') {buf.Append(ch); NextCh(); goto case 139;} else {t.kind = noSym; goto done;} case 139: if (ch == 'l') {buf.Append(ch); NextCh(); goto case 140;} else {t.kind = noSym; goto done;} case 140: if (ch == 'l') {buf.Append(ch); NextCh(); goto case 141;} else {t.kind = noSym; goto done;} case 141: {t.kind = 57; goto done;} case 142: if (ch == 'x') {buf.Append(ch); NextCh(); goto case 143;} else {t.kind = noSym; goto done;} case 143: if (ch == 'i') {buf.Append(ch); NextCh(); goto case 144;} else {t.kind = noSym; goto done;} case 144: if (ch == 's') {buf.Append(ch); NextCh(); goto case 145;} else {t.kind = noSym; goto done;} case 145: if (ch == 't') {buf.Append(ch); NextCh(); goto case 146;} else {t.kind = noSym; goto done;} case 146: if (ch == 's') {buf.Append(ch); NextCh(); goto case 147;} else {t.kind = noSym; goto done;} case 147: if (ch == '1') {buf.Append(ch); NextCh(); goto case 148;} else {t.kind = 58; goto done;} case 148: {t.kind = 59; goto done;} case 149: if (ch == 'o') {buf.Append(ch); NextCh(); goto case 150;} else {t.kind = noSym; goto done;} case 150: if (ch == 'u') {buf.Append(ch); NextCh(); goto case 151;} else {t.kind = noSym; goto done;} case 151: if (ch == 'n') {buf.Append(ch); NextCh(); goto case 152;} else {t.kind = noSym; goto done;} case 152: if (ch == 't') {buf.Append(ch); NextCh(); goto case 153;} else {t.kind = noSym; goto done;} case 153: {t.kind = 60; goto done;} case 154: if (ch == 'a') {buf.Append(ch); NextCh(); goto case 155;} else if (ch == 'i') {buf.Append(ch); NextCh(); goto case 157;} else {t.kind = noSym; goto done;} case 155: if (ch == 'x') {buf.Append(ch); NextCh(); goto case 156;} else {t.kind = noSym; goto done;} case 156: {t.kind = 61; goto done;} case 157: if (ch == 'n') {buf.Append(ch); NextCh(); goto case 158;} else {t.kind = noSym; goto done;} case 158: {t.kind = 62; goto done;} case 159: if (ch == 'r') {buf.Append(ch); NextCh(); goto case 160;} else {t.kind = noSym; goto done;} case 160: if (ch == 'o') {buf.Append(ch); NextCh(); goto case 161;} else {t.kind = noSym; goto done;} case 161: if (ch == 'd') {buf.Append(ch); NextCh(); goto case 162;} else {t.kind = noSym; goto done;} case 162: if (ch == 'u') {buf.Append(ch); NextCh(); goto case 163;} else {t.kind = noSym; goto done;} case 163: if (ch == 'c') {buf.Append(ch); NextCh(); goto case 164;} else {t.kind = noSym; goto done;} case 164: if (ch == 't') {buf.Append(ch); NextCh(); goto case 165;} else {t.kind = noSym; goto done;} case 165: {t.kind = 63; goto done;} case 166: if (ch == 'u') {buf.Append(ch); NextCh(); goto case 167;} else {t.kind = noSym; goto done;} case 167: if (ch == 'm') {buf.Append(ch); NextCh(); goto case 168;} else {t.kind = noSym; goto done;} case 168: {t.kind = 64; goto done;} case 169: {t.kind = 65; goto done;} case 170: {t.kind = 66; goto done;} case 171: if (ch == '}') {buf.Append(ch); NextCh(); goto case 172;} else if (ch == ')') {buf.Append(ch); NextCh(); goto case 174;} else if (ch == '|') {buf.Append(ch); NextCh(); goto case 182;} else {t.kind = 85; goto done;} case 172: {t.kind = 67; goto done;} case 173: {t.kind = 68; goto done;} case 174: {t.kind = 69; goto done;} case 175: {t.kind = 70; goto done;} case 176: if (ch == '=') {buf.Append(ch); NextCh(); goto case 185;} else {t.kind = 76; goto done;} case 177: {t.kind = 77; goto done;} case 178: if (ch == '=') {buf.Append(ch); NextCh(); goto case 179;} else {t.kind = noSym; goto done;} case 179: if (ch == '>') {buf.Append(ch); NextCh(); goto case 184;} else {t.kind = 78; goto done;} case 180: if (ch == '=') {buf.Append(ch); NextCh(); goto case 181;} else {t.kind = 82; goto done;} case 181: {t.kind = 79; goto done;} case 182: {t.kind = 80; goto done;} case 183: {t.kind = 81; goto done;} case 184: {t.kind = 83; goto done;} case 185: if (ch == '>') {buf.Append(ch); NextCh(); goto case 186;} else {t.kind = noSym; goto done;} case 186: {t.kind = 84; goto done;} case 187: {t.kind = 86; goto done;} case 188: {t.kind = 87; goto done;} case 189: {t.kind = 88; goto done;} case 190: {t.kind = 90; goto done;} case 191: {t.kind = 91; goto done;} case 192: {t.kind = 92; goto done;} case 193: if (ch == '>') {buf.Append(ch); NextCh(); goto case 194;} else {t.kind = noSym; goto done;} case 194: {t.kind = 93; goto done;} case 195: if (ch == '>') {buf.Append(ch); NextCh(); goto case 196;} else {t.kind = noSym; goto done;} case 196: {t.kind = 94; goto done;} case 197: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 198;} else {t.kind = noSym; goto done;} case 198: if (ch == 'f') {buf.Append(ch); NextCh(); goto case 199;} else {t.kind = noSym; goto done;} case 199: if (ch == 'a') {buf.Append(ch); NextCh(); goto case 200;} else {t.kind = noSym; goto done;} case 200: if (ch == 'u') {buf.Append(ch); NextCh(); goto case 201;} else {t.kind = noSym; goto done;} case 201: if (ch == 'l') {buf.Append(ch); NextCh(); goto case 202;} else {t.kind = noSym; goto done;} case 202: if (ch == 't') {buf.Append(ch); NextCh(); goto case 203;} else {t.kind = noSym; goto done;} case 203: if (ch == 'V') {buf.Append(ch); NextCh(); goto case 204;} else {t.kind = noSym; goto done;} case 204: if (ch == 'a') {buf.Append(ch); NextCh(); goto case 205;} else {t.kind = noSym; goto done;} case 205: if (ch == 'l') {buf.Append(ch); NextCh(); goto case 206;} else {t.kind = noSym; goto done;} case 206: if (ch == 'u') {buf.Append(ch); NextCh(); goto case 207;} else {t.kind = noSym; goto done;} case 207: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 208;} else {t.kind = noSym; goto done;} case 208: {t.kind = 95; goto done;} case 209: if (ch == 'n') {buf.Append(ch); NextCh(); goto case 210;} else {t.kind = noSym; goto done;} case 210: if (ch == 'y') {buf.Append(ch); NextCh(); goto case 211;} else {t.kind = noSym; goto done;} case 211: {t.kind = 96; goto done;} case 212: if (ch == 'o') {buf.Append(ch); NextCh(); goto case 213;} else {t.kind = noSym; goto done;} case 213: if (ch == 'n') {buf.Append(ch); NextCh(); goto case 214;} else {t.kind = noSym; goto done;} case 214: if (ch == 'v') {buf.Append(ch); NextCh(); goto case 215;} else {t.kind = noSym; goto done;} case 215: if (ch == '_') {buf.Append(ch); NextCh(); goto case 216;} else {t.kind = noSym; goto done;} case 216: if (ch == 'I') {buf.Append(ch); NextCh(); goto case 217;} else if (ch == 'U') {buf.Append(ch); NextCh(); goto case 222;} else {t.kind = noSym; goto done;} case 217: if (ch == '1') {buf.Append(ch); NextCh(); goto case 218;} else if (ch == '2') {buf.Append(ch); NextCh(); goto case 219;} else if (ch == '4') {buf.Append(ch); NextCh(); goto case 220;} else if (ch == '8') {buf.Append(ch); NextCh(); goto case 221;} else {t.kind = 101; goto done;} case 218: {t.kind = 97; goto done;} case 219: {t.kind = 98; goto done;} case 220: {t.kind = 99; goto done;} case 221: {t.kind = 100; goto done;} case 222: if (ch == '1') {buf.Append(ch); NextCh(); goto case 223;} else if (ch == '2') {buf.Append(ch); NextCh(); goto case 224;} else if (ch == '4') {buf.Append(ch); NextCh(); goto case 225;} else if (ch == '8') {buf.Append(ch); NextCh(); goto case 226;} else {t.kind = 106; goto done;} case 223: {t.kind = 102; goto done;} case 224: {t.kind = 103; goto done;} case 225: {t.kind = 104; goto done;} case 226: {t.kind = 105; goto done;} case 227: if (ch == 'd') {buf.Append(ch); NextCh(); goto case 228;} else {t.kind = noSym; goto done;} case 228: if (ch == 'l') {buf.Append(ch); NextCh(); goto case 229;} else {t.kind = noSym; goto done;} case 229: if (ch == 'e') {buf.Append(ch); NextCh(); goto case 230;} else {t.kind = noSym; goto done;} case 230: if (ch == 'n') {buf.Append(ch); NextCh(); goto case 231;} else {t.kind = noSym; goto done;} case 231: {t.kind = 107; goto done;} case 232: if ((ch >= '0' && ch <= '9')) {buf.Append(ch); NextCh(); goto case 2;} else if (ch == '-') {buf.Append(ch); NextCh(); goto case 190;} else if (ch == '+') {buf.Append(ch); NextCh(); goto case 191;} else if (ch == '>') {buf.Append(ch); NextCh(); goto case 195;} else {t.kind = 2; goto done;} case 233: if ((ch >= '0' && ch <= '9')) {buf.Append(ch); NextCh(); goto case 2;} else if (ch == '>') {buf.Append(ch); NextCh(); goto case 193;} else {t.kind = 2; goto done;} case 234: {t.kind = 0; goto done;} } done: t.val = buf.ToString(); return t; }
internal static int ParseContract (Module assem, string text, out Expression expression) { Debug.Assert(assem != null); currentAssembly = assem; Scanner.Init(text); Errors.SynErr = new ErrorProc(SynErr); t = new Token(); Get(); Expr(out expression); currentMethodContract = null; currentMethod = null; currentAssembly = null; return Errors.count; }
static void Get() { for (;;) { token = t; t = Scanner.Scan(); if (t.kind<=maxT) {errDist++; return;} t = token; } }
public static void Parse() { Errors.SynErr = new ErrorProc(SynErr); t = new Token(); Get(); Omni(); }