1 /* Generated by re2c */ 2 #line 1 "bug1187785.re" 3 // re2c $INPUT -o $OUTPUT 4 #include <stdlib.h> 5 #include <stdio.h> 6 #include <string.h> 7 8 #define RET(n) printf("%d\n", n); return n 9 #define TAG_EOI 0 10 #define TAG_A 1 11 #define TAG_TAG 2 12 scan(char * s,int l)13int scan(char *s, int l) 14 { 15 char *p = s; 16 char *q; 17 #define YYCTYPE char 18 #define YYCURSOR p 19 #define YYLIMIT (s+l) 20 #define YYMARKER q 21 #define YYFILL(n) 22 cont: 23 24 #line 25 "bug1187785.c" 25 { 26 YYCTYPE yych; 27 if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); 28 yych = *YYCURSOR; 29 switch (yych) { 30 case '"': goto yy4; 31 default: goto yy2; 32 } 33 yy2: 34 ++YYCURSOR; 35 yy3: 36 #line 24 "bug1187785.re" 37 { goto cont; } 38 #line 39 "bug1187785.c" 39 yy4: 40 yych = *(YYMARKER = ++YYCURSOR); 41 switch (yych) { 42 case 0x00: 43 case 0x01: 44 case 0x02: 45 case 0x03: 46 case 0x04: 47 case 0x05: 48 case 0x06: 49 case 0x07: 50 case 0x08: 51 case '\t': 52 case '\n': 53 case '\v': 54 case '\f': 55 case '\r': 56 case 0x0E: 57 case 0x0F: 58 case 0x10: 59 case 0x11: 60 case 0x12: 61 case 0x13: 62 case 0x14: 63 case 0x15: 64 case 0x16: 65 case 0x17: 66 case 0x18: 67 case 0x19: 68 case 0x1A: 69 case 0x1B: 70 case 0x1C: 71 case 0x1D: 72 case 0x1E: 73 case 0x1F: 74 case ' ': 75 case '!': 76 case '#': 77 case '$': 78 case '%': 79 case '&': 80 case '\'': 81 case '(': 82 case ')': 83 case '*': 84 case '+': 85 case ',': 86 case '-': 87 case '.': 88 case '/': 89 case '0': 90 case '1': 91 case '2': 92 case '3': 93 case '4': 94 case '5': 95 case '6': 96 case '7': 97 case '8': 98 case '9': 99 case ':': 100 case ';': 101 case '<': 102 case '=': 103 case '>': 104 case '?': 105 case '@': 106 case 'A': 107 case 'B': 108 case 'C': 109 case 'D': 110 case 'E': 111 case 'F': 112 case 'G': 113 case 'H': 114 case 'I': 115 case 'J': 116 case 'K': 117 case 'L': 118 case 'M': 119 case 'N': 120 case 'O': 121 case 'P': 122 case 'Q': 123 case 'R': 124 case 'S': 125 case 'T': 126 case 'U': 127 case 'V': 128 case 'W': 129 case 'X': 130 case 'Y': 131 case 'Z': 132 case '[': 133 case '\\': 134 case ']': 135 case '^': 136 case '_': 137 case '`': 138 case 'a': 139 case 'b': 140 case 'c': 141 case 'd': 142 case 'e': 143 case 'f': 144 case 'g': 145 case 'h': 146 case 'i': 147 case 'j': 148 case 'k': 149 case 'l': 150 case 'm': 151 case 'n': 152 case 'o': 153 case 'p': 154 case 'q': 155 case 'r': 156 case 's': 157 case 't': 158 case 'u': 159 case 'v': 160 case 'w': 161 case 'x': 162 case 'y': 163 case 'z': 164 case '{': 165 case '|': 166 case '}': 167 case '~': 168 case 0x7F: 169 case 0x80: 170 case 0x81: 171 case 0x82: 172 case 0x83: 173 case 0x84: 174 case 0x85: 175 case 0x86: 176 case 0x87: 177 case 0x88: 178 case 0x89: 179 case 0x8A: 180 case 0x8B: 181 case 0x8C: 182 case 0x8D: 183 case 0x8E: 184 case 0x8F: 185 case 0x90: 186 case 0x91: 187 case 0x92: 188 case 0x93: 189 case 0x94: 190 case 0x95: 191 case 0x96: 192 case 0x97: 193 case 0x98: 194 case 0x99: 195 case 0x9A: 196 case 0x9B: 197 case 0x9C: 198 case 0x9D: 199 case 0x9E: 200 case 0x9F: 201 case 0xA0: 202 case 0xA1: 203 case 0xA2: 204 case 0xA3: 205 case 0xA4: 206 case 0xA5: 207 case 0xA6: 208 case 0xA7: 209 case 0xA8: 210 case 0xA9: 211 case 0xAA: 212 case 0xAB: 213 case 0xAC: 214 case 0xAD: 215 case 0xAE: 216 case 0xAF: 217 case 0xB0: 218 case 0xB1: 219 case 0xB2: 220 case 0xB3: 221 case 0xB4: 222 case 0xB5: 223 case 0xB6: 224 case 0xB7: 225 case 0xB8: 226 case 0xB9: 227 case 0xBA: 228 case 0xBB: 229 case 0xBC: 230 case 0xBD: 231 case 0xBE: 232 case 0xBF: 233 case 0xC0: 234 case 0xC1: 235 case 0xC2: 236 case 0xC3: 237 case 0xC4: 238 case 0xC5: 239 case 0xC6: 240 case 0xC7: 241 case 0xC8: 242 case 0xC9: 243 case 0xCA: 244 case 0xCB: 245 case 0xCC: 246 case 0xCD: 247 case 0xCE: 248 case 0xCF: 249 case 0xD0: 250 case 0xD1: 251 case 0xD2: 252 case 0xD3: 253 case 0xD4: 254 case 0xD5: 255 case 0xD6: 256 case 0xD7: 257 case 0xD8: 258 case 0xD9: 259 case 0xDA: 260 case 0xDB: 261 case 0xDC: 262 case 0xDD: 263 case 0xDE: 264 case 0xDF: 265 case 0xE0: 266 case 0xE1: 267 case 0xE2: 268 case 0xE3: 269 case 0xE4: 270 case 0xE5: 271 case 0xE6: 272 case 0xE7: 273 case 0xE8: 274 case 0xE9: 275 case 0xEA: 276 case 0xEB: 277 case 0xEC: 278 case 0xED: 279 case 0xEE: 280 case 0xEF: 281 case 0xF0: 282 case 0xF1: 283 case 0xF2: 284 case 0xF3: 285 case 0xF4: 286 case 0xF5: 287 case 0xF6: 288 case 0xF7: 289 case 0xF8: 290 case 0xF9: 291 case 0xFA: 292 case 0xFB: 293 case 0xFC: 294 case 0xFD: 295 case 0xFE: goto yy5; 296 default: goto yy3; 297 } 298 yy5: 299 ++YYCURSOR; 300 if (YYLIMIT <= YYCURSOR) YYFILL(1); 301 yych = *YYCURSOR; 302 switch (yych) { 303 case 0x00: 304 case 0x01: 305 case 0x02: 306 case 0x03: 307 case 0x04: 308 case 0x05: 309 case 0x06: 310 case 0x07: 311 case 0x08: 312 case '\t': 313 case '\n': 314 case '\v': 315 case '\f': 316 case '\r': 317 case 0x0E: 318 case 0x0F: 319 case 0x10: 320 case 0x11: 321 case 0x12: 322 case 0x13: 323 case 0x14: 324 case 0x15: 325 case 0x16: 326 case 0x17: 327 case 0x18: 328 case 0x19: 329 case 0x1A: 330 case 0x1B: 331 case 0x1C: 332 case 0x1D: 333 case 0x1E: 334 case 0x1F: 335 case ' ': 336 case '!': 337 case '#': 338 case '$': 339 case '%': 340 case '&': 341 case '\'': 342 case '(': 343 case ')': 344 case '*': 345 case '+': 346 case ',': 347 case '-': 348 case '.': 349 case '/': 350 case '0': 351 case '1': 352 case '2': 353 case '3': 354 case '4': 355 case '5': 356 case '6': 357 case '7': 358 case '8': 359 case '9': 360 case ':': 361 case ';': 362 case '<': 363 case '=': 364 case '>': 365 case '?': 366 case '@': 367 case 'A': 368 case 'B': 369 case 'C': 370 case 'D': 371 case 'E': 372 case 'F': 373 case 'G': 374 case 'H': 375 case 'I': 376 case 'J': 377 case 'K': 378 case 'L': 379 case 'M': 380 case 'N': 381 case 'O': 382 case 'P': 383 case 'Q': 384 case 'R': 385 case 'S': 386 case 'T': 387 case 'U': 388 case 'V': 389 case 'W': 390 case 'X': 391 case 'Y': 392 case 'Z': 393 case '[': 394 case '\\': 395 case ']': 396 case '^': 397 case '_': 398 case '`': 399 case 'a': 400 case 'b': 401 case 'c': 402 case 'd': 403 case 'e': 404 case 'f': 405 case 'g': 406 case 'h': 407 case 'i': 408 case 'j': 409 case 'k': 410 case 'l': 411 case 'm': 412 case 'n': 413 case 'o': 414 case 'p': 415 case 'q': 416 case 'r': 417 case 's': 418 case 't': 419 case 'u': 420 case 'v': 421 case 'w': 422 case 'x': 423 case 'y': 424 case 'z': 425 case '{': 426 case '|': 427 case '}': 428 case '~': 429 case 0x7F: 430 case 0x80: 431 case 0x81: 432 case 0x82: 433 case 0x83: 434 case 0x84: 435 case 0x85: 436 case 0x86: 437 case 0x87: 438 case 0x88: 439 case 0x89: 440 case 0x8A: 441 case 0x8B: 442 case 0x8C: 443 case 0x8D: 444 case 0x8E: 445 case 0x8F: 446 case 0x90: 447 case 0x91: 448 case 0x92: 449 case 0x93: 450 case 0x94: 451 case 0x95: 452 case 0x96: 453 case 0x97: 454 case 0x98: 455 case 0x99: 456 case 0x9A: 457 case 0x9B: 458 case 0x9C: 459 case 0x9D: 460 case 0x9E: 461 case 0x9F: 462 case 0xA0: 463 case 0xA1: 464 case 0xA2: 465 case 0xA3: 466 case 0xA4: 467 case 0xA5: 468 case 0xA6: 469 case 0xA7: 470 case 0xA8: 471 case 0xA9: 472 case 0xAA: 473 case 0xAB: 474 case 0xAC: 475 case 0xAD: 476 case 0xAE: 477 case 0xAF: 478 case 0xB0: 479 case 0xB1: 480 case 0xB2: 481 case 0xB3: 482 case 0xB4: 483 case 0xB5: 484 case 0xB6: 485 case 0xB7: 486 case 0xB8: 487 case 0xB9: 488 case 0xBA: 489 case 0xBB: 490 case 0xBC: 491 case 0xBD: 492 case 0xBE: 493 case 0xBF: 494 case 0xC0: 495 case 0xC1: 496 case 0xC2: 497 case 0xC3: 498 case 0xC4: 499 case 0xC5: 500 case 0xC6: 501 case 0xC7: 502 case 0xC8: 503 case 0xC9: 504 case 0xCA: 505 case 0xCB: 506 case 0xCC: 507 case 0xCD: 508 case 0xCE: 509 case 0xCF: 510 case 0xD0: 511 case 0xD1: 512 case 0xD2: 513 case 0xD3: 514 case 0xD4: 515 case 0xD5: 516 case 0xD6: 517 case 0xD7: 518 case 0xD8: 519 case 0xD9: 520 case 0xDA: 521 case 0xDB: 522 case 0xDC: 523 case 0xDD: 524 case 0xDE: 525 case 0xDF: 526 case 0xE0: 527 case 0xE1: 528 case 0xE2: 529 case 0xE3: 530 case 0xE4: 531 case 0xE5: 532 case 0xE6: 533 case 0xE7: 534 case 0xE8: 535 case 0xE9: 536 case 0xEA: 537 case 0xEB: 538 case 0xEC: 539 case 0xED: 540 case 0xEE: 541 case 0xEF: 542 case 0xF0: 543 case 0xF1: 544 case 0xF2: 545 case 0xF3: 546 case 0xF4: 547 case 0xF5: 548 case 0xF6: 549 case 0xF7: 550 case 0xF8: 551 case 0xF9: 552 case 0xFA: 553 case 0xFB: 554 case 0xFC: 555 case 0xFD: 556 case 0xFE: goto yy5; 557 case '"': goto yy8; 558 default: goto yy7; 559 } 560 yy7: 561 YYCURSOR = YYMARKER; 562 goto yy3; 563 yy8: 564 ++YYCURSOR; 565 #line 23 "bug1187785.re" 566 { RET(1); } 567 #line 568 "bug1187785.c" 568 } 569 #line 25 "bug1187785.re" 570 571 } 572 573 #define do_scan(str) scan(str, strlen(str)) 574 main()575main() 576 { 577 do_scan("0"); 578 } 579