Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/Makefile.am
r270 r305 6 6 7 7 .re.c: 8 $(REC) $< > $@.new && mv $@.new $@8 $(REC) -b $< > $@.new && mv $@.new $@ 9 9 10 10 lib_LIBRARIES = libsyck.a -
trunk/lib/gram.y
r235 r305 21 21 22 22 #include "syck.h" 23 #include "sycklex.h" 23 24 24 25 void apply_seq_in_map( SyckParser *parser, SyckNode *n ); -
trunk/lib/syck.h
r302 r305 470 470 * Lexer prototypes 471 471 */ 472 #include "gram.h"473 472 void syckerror( const char * ); 474 473 int syckparse( void * ); 475 int sycklex( YYSTYPE *sycklval, SyckParser *parser );476 474 477 475 #if defined(__cplusplus) -
trunk/lib/token.c
r287 r305 1 /* Generated by re2c 0.1 2.3 on Wed Oct 24 23:16:24 2007*/1 /* Generated by re2c 0.13.1 on Mon Mar 31 23:50:06 2008 */ 2 2 #line 1 "token.re" 3 3 /* … … 313 313 YYCTYPE yych; 314 314 unsigned int yyaccept = 0; 315 static const unsigned char yybm[] = { 316 0, 0, 0, 0, 0, 0, 0, 0, 317 0, 48, 64, 0, 0, 0, 0, 0, 318 0, 0, 0, 0, 0, 0, 0, 0, 319 0, 0, 0, 0, 0, 0, 0, 0, 320 208, 0, 0, 0, 0, 0, 0, 0, 321 0, 0, 0, 0, 0, 0, 0, 0, 322 0, 0, 0, 0, 0, 0, 0, 0, 323 0, 0, 0, 0, 0, 0, 0, 0, 324 0, 0, 0, 0, 0, 0, 0, 0, 325 0, 0, 0, 0, 0, 0, 0, 0, 326 0, 0, 0, 0, 0, 0, 0, 0, 327 0, 0, 0, 0, 0, 0, 0, 0, 328 0, 0, 0, 0, 0, 0, 0, 0, 329 0, 0, 0, 0, 0, 0, 0, 0, 330 0, 0, 0, 0, 0, 0, 0, 0, 331 0, 0, 0, 0, 0, 0, 0, 0, 332 0, 0, 0, 0, 0, 0, 0, 0, 333 0, 0, 0, 0, 0, 0, 0, 0, 334 0, 0, 0, 0, 0, 0, 0, 0, 335 0, 0, 0, 0, 0, 0, 0, 0, 336 0, 0, 0, 0, 0, 0, 0, 0, 337 0, 0, 0, 0, 0, 0, 0, 0, 338 0, 0, 0, 0, 0, 0, 0, 0, 339 0, 0, 0, 0, 0, 0, 0, 0, 340 0, 0, 0, 0, 0, 0, 0, 0, 341 0, 0, 0, 0, 0, 0, 0, 0, 342 0, 0, 0, 0, 0, 0, 0, 0, 343 0, 0, 0, 0, 0, 0, 0, 0, 344 0, 0, 0, 0, 0, 0, 0, 0, 345 0, 0, 0, 0, 0, 0, 0, 0, 346 0, 0, 0, 0, 0, 0, 0, 0, 347 0, 0, 0, 0, 0, 0, 0, 0, 348 }; 315 349 316 350 if((YYLIMIT - YYCURSOR) < 5) YYFILL(5); 317 351 yych = *YYCURSOR; 318 switch(yych) { 319 case 0x00: goto yy7; 320 case 0x09: 321 case ' ': goto yy12; 322 case 0x0A: goto yy9; 323 case 0x0D: goto yy11; 324 case '#': goto yy5; 325 case '-': goto yy2; 326 case '.': goto yy4; 327 default: goto yy14; 352 if(yych <= 0x1F) { 353 if(yych <= 0x09) { 354 if(yych <= 0x00) goto yy7; 355 if(yych <= 0x08) goto yy14; 356 goto yy12; 357 } else { 358 if(yych <= 0x0A) goto yy9; 359 if(yych == 0x0D) goto yy11; 360 goto yy14; 361 } 362 } else { 363 if(yych <= '#') { 364 if(yych <= ' ') goto yy12; 365 if(yych <= '"') goto yy14; 366 goto yy5; 367 } else { 368 if(yych <= ',') goto yy14; 369 if(yych <= '-') goto yy2; 370 if(yych <= '.') goto yy4; 371 goto yy14; 372 } 328 373 } 329 374 yy2: 330 375 yyaccept = 0; 331 376 yych = *(YYMARKER = ++YYCURSOR); 332 switch(yych) { 333 case '-': goto yy30; 334 default: goto yy3; 335 } 377 if(yych == '-') goto yy30; 336 378 yy3: 337 379 #line 379 "token.re" … … 339 381 goto Document; 340 382 } 341 #line 3 42"<stdout>"383 #line 384 "<stdout>" 342 384 yy4: 343 385 yyaccept = 0; 344 386 yych = *(YYMARKER = ++YYCURSOR); 345 switch(yych) { 346 case '.': goto yy23; 347 default: goto yy3; 348 } 387 if(yych == '.') goto yy23; 388 goto yy3; 349 389 yy5: 350 390 ++YYCURSOR; … … 353 393 goto Header; 354 394 } 355 #line 3 56 "<stdout>"395 #line 396 "<stdout>" 356 396 yy7: 357 397 ++YYCURSOR; … … 362 402 return 0; 363 403 } 364 #line 365 "<stdout>"404 #line 405 "<stdout>" 365 405 yy9: 366 406 yyaccept = 1; … … 372 412 goto Header; 373 413 } 374 #line 375 "<stdout>"414 #line 415 "<stdout>" 375 415 yy11: 376 416 yych = *++YYCURSOR; 377 switch(yych) { 378 case 0x0A: goto yy17; 379 default: goto yy3; 380 } 417 if(yych == 0x0A) goto yy17; 418 goto yy3; 381 419 yy12: 382 420 ++YYCURSOR; … … 388 426 goto Header; 389 427 } 390 #line 391"<stdout>"428 #line 429 "<stdout>" 391 429 yy14: 392 430 yych = *++YYCURSOR; … … 397 435 yych = *YYCURSOR; 398 436 yy16: 399 switch(yych) { 400 case 0x09: 401 case ' ': goto yy15; 402 default: goto yy13; 403 } 437 if(yybm[0+yych] & 16) { 438 goto yy15; 439 } 440 goto yy13; 404 441 yy17: 405 442 yyaccept = 1; … … 408 445 yych = *YYCURSOR; 409 446 yy18: 410 switch(yych) { 411 case 0x09: goto yy17; 412 case 0x0A: 413 case ' ': goto yy19; 414 case 0x0D: goto yy21; 415 default: goto yy10; 447 if(yybm[0+yych] & 32) { 448 goto yy17; 449 } 450 if(yych <= 0x0C) { 451 if(yych != 0x0A) goto yy10; 452 } else { 453 if(yych <= 0x0D) goto yy21; 454 if(yych != ' ') goto yy10; 416 455 } 417 456 yy19: … … 420 459 if(YYLIMIT == YYCURSOR) YYFILL(1); 421 460 yych = *YYCURSOR; 422 switch(yych) { 423 case 0x0A: 424 case ' ': goto yy19; 425 case 0x0D: goto yy21; 426 default: goto yy10; 427 } 461 if(yybm[0+yych] & 64) { 462 goto yy19; 463 } 464 if(yych != 0x0D) goto yy10; 428 465 yy21: 429 466 ++YYCURSOR; 430 467 if(YYLIMIT == YYCURSOR) YYFILL(1); 431 468 yych = *YYCURSOR; 432 switch(yych) { 433 case 0x0A: goto yy19; 434 default: goto yy22; 435 } 469 if(yych == 0x0A) goto yy19; 436 470 yy22: 437 471 YYCURSOR = YYMARKER; 438 switch(yyaccept) { 439 case 0: goto yy3; 440 case 1: goto yy10; 472 if(yyaccept <= 0) { 473 goto yy3; 474 } else { 475 goto yy10; 441 476 } 442 477 yy23: 443 478 yych = *++YYCURSOR; 444 switch(yych) { 445 case '.': goto yy24; 446 default: goto yy22; 447 } 448 yy24: 449 yych = *++YYCURSOR; 450 switch(yych) { 451 case 0x0A: goto yy25; 452 case 0x0D: goto yy29; 453 case ' ': goto yy27; 454 default: goto yy22; 455 } 479 if(yych != '.') goto yy22; 480 yych = *++YYCURSOR; 481 if(yybm[0+yych] & 128) { 482 goto yy27; 483 } 484 if(yych == 0x0A) goto yy25; 485 if(yych == 0x0D) goto yy29; 486 goto yy22; 456 487 yy25: 457 488 ++YYCURSOR; … … 471 502 return 0; 472 503 } 473 #line 474"<stdout>"504 #line 505 "<stdout>" 474 505 yy27: 475 506 ++YYCURSOR; 476 507 if(YYLIMIT == YYCURSOR) YYFILL(1); 477 508 yych = *YYCURSOR; 478 switch(yych) {479 case ' ':goto yy27;480 default: goto yy26;481 }509 if(yybm[0+yych] & 128) { 510 goto yy27; 511 } 512 goto yy26; 482 513 yy29: 483 514 yych = *++YYCURSOR; 484 switch(yych) { 485 case 0x0A: goto yy25; 486 default: goto yy22; 487 } 515 if(yych == 0x0A) goto yy25; 516 goto yy22; 488 517 yy30: 489 518 yych = *++YYCURSOR; 490 switch(yych) { 491 case '-': goto yy31; 492 default: goto yy22; 493 } 494 yy31: 495 yych = *++YYCURSOR; 496 switch(yych) { 497 case 0x0A: goto yy32; 498 case 0x0D: goto yy36; 499 case ' ': goto yy34; 500 default: goto yy22; 519 if(yych != '-') goto yy22; 520 yych = *++YYCURSOR; 521 if(yych <= 0x0C) { 522 if(yych != 0x0A) goto yy22; 523 } else { 524 if(yych <= 0x0D) goto yy36; 525 if(yych == ' ') goto yy34; 526 goto yy22; 501 527 } 502 528 yy32: … … 517 543 } 518 544 } 519 #line 5 20"<stdout>"545 #line 546 "<stdout>" 520 546 yy34: 521 547 ++YYCURSOR; 522 548 if(YYLIMIT == YYCURSOR) YYFILL(1); 523 549 yych = *YYCURSOR; 524 switch(yych) { 525 case ' ': goto yy34; 526 default: goto yy33; 527 } 550 if(yych == ' ') goto yy34; 551 goto yy33; 528 552 yy36: 529 553 ++YYCURSOR; 530 switch((yych = *YYCURSOR)) { 531 case 0x0A: goto yy32; 532 default: goto yy22; 533 } 554 if((yych = *YYCURSOR) == 0x0A) goto yy32; 555 goto yy22; 534 556 } 535 557 #line 383 "token.re" … … 547 569 548 570 549 #line 5 50"<stdout>"571 #line 572 "<stdout>" 550 572 { 551 573 YYCTYPE yych; 552 574 unsigned int yyaccept = 0; 575 static const unsigned char yybm[] = { 576 0, 0, 0, 0, 0, 0, 0, 0, 577 0, 68, 128, 0, 0, 0, 0, 0, 578 0, 0, 0, 0, 0, 0, 0, 0, 579 0, 0, 0, 0, 0, 0, 0, 0, 580 148, 0, 0, 0, 0, 0, 0, 0, 581 0, 0, 0, 8, 0, 40, 0, 0, 582 40, 40, 40, 40, 40, 40, 40, 40, 583 40, 40, 0, 0, 0, 0, 0, 0, 584 0, 32, 32, 32, 32, 32, 32, 32, 585 32, 32, 32, 32, 32, 32, 32, 32, 586 32, 32, 32, 32, 32, 32, 32, 32, 587 32, 32, 32, 0, 0, 0, 0, 32, 588 0, 32, 32, 32, 32, 32, 32, 32, 589 32, 32, 32, 32, 32, 32, 32, 32, 590 32, 32, 32, 32, 32, 32, 32, 32, 591 32, 32, 32, 0, 0, 0, 0, 0, 592 0, 0, 0, 0, 0, 0, 0, 0, 593 0, 0, 0, 0, 0, 0, 0, 0, 594 0, 0, 0, 0, 0, 0, 0, 0, 595 0, 0, 0, 0, 0, 0, 0, 0, 596 0, 0, 0, 0, 0, 0, 0, 0, 597 0, 0, 0, 0, 0, 0, 0, 0, 598 0, 0, 0, 0, 0, 0, 0, 0, 599 0, 0, 0, 0, 0, 0, 0, 0, 600 0, 0, 0, 0, 0, 0, 0, 0, 601 0, 0, 0, 0, 0, 0, 0, 0, 602 0, 0, 0, 0, 0, 0, 0, 0, 603 0, 0, 0, 0, 0, 0, 0, 0, 604 0, 0, 0, 0, 0, 0, 0, 0, 605 0, 0, 0, 0, 0, 0, 0, 0, 606 0, 0, 0, 0, 0, 0, 0, 0, 607 0, 0, 0, 0, 0, 0, 0, 0, 608 }; 553 609 if((YYLIMIT - YYCURSOR) < 3) YYFILL(3); 554 610 yych = *YYCURSOR; 555 switch(yych) { 556 case 0x00: goto yy64; 557 case 0x09: 558 case ' ': goto yy62; 559 case 0x0A: goto yy39; 560 case 0x0D: goto yy41; 561 case '!': goto yy53; 562 case '"': goto yy57; 563 case '#': goto yy60; 564 case '&': goto yy51; 565 case '\'': goto yy55; 566 case '*': goto yy52; 567 case ',': 568 case ':': goto yy49; 569 case '-': 570 case '?': goto yy50; 571 case '>': 572 case '|': goto yy59; 573 case '[': goto yy43; 574 case ']': 575 case '}': goto yy47; 576 case '{': goto yy45; 577 default: goto yy66; 578 } 579 yy39: 611 if(yych <= '*') { 612 if(yych <= ' ') { 613 if(yych <= 0x0A) { 614 if(yych <= 0x00) goto yy64; 615 if(yych <= 0x08) goto yy66; 616 if(yych <= 0x09) goto yy62; 617 } else { 618 if(yych == 0x0D) goto yy41; 619 if(yych <= 0x1F) goto yy66; 620 goto yy62; 621 } 622 } else { 623 if(yych <= '%') { 624 if(yych <= '!') goto yy53; 625 if(yych <= '"') goto yy57; 626 if(yych <= '#') goto yy60; 627 goto yy66; 628 } else { 629 if(yych <= '&') goto yy51; 630 if(yych <= '\'') goto yy55; 631 if(yych <= ')') goto yy66; 632 goto yy52; 633 } 634 } 635 } else { 636 if(yych <= '?') { 637 if(yych <= '9') { 638 if(yych <= '+') goto yy66; 639 if(yych <= ',') goto yy49; 640 if(yych <= '-') goto yy50; 641 goto yy66; 642 } else { 643 if(yych <= ':') goto yy49; 644 if(yych <= '=') goto yy66; 645 if(yych <= '>') goto yy59; 646 goto yy50; 647 } 648 } else { 649 if(yych <= ']') { 650 if(yych == '[') goto yy43; 651 if(yych <= '\\') goto yy66; 652 goto yy47; 653 } else { 654 if(yych <= '{') { 655 if(yych <= 'z') goto yy66; 656 goto yy45; 657 } else { 658 if(yych <= '|') goto yy59; 659 if(yych <= '}') goto yy47; 660 goto yy66; 661 } 662 } 663 } 664 } 580 665 yyaccept = 0; 581 666 yych = *(YYMARKER = ++YYCURSOR); … … 610 695 return YAML_INDENT; 611 696 } 612 #line 6 13"<stdout>"697 #line 698 "<stdout>" 613 698 yy41: 614 699 ++YYCURSOR; 615 switch((yych = *YYCURSOR)) { 616 case 0x0A: goto yy93; 617 default: goto yy42; 618 } 700 if((yych = *YYCURSOR) == 0x0A) goto yy93; 619 701 yy42: 620 702 #line 505 "token.re" … … 622 704 goto Plain; 623 705 } 624 #line 625"<stdout>"706 #line 707 "<stdout>" 625 707 yy43: 626 708 ++YYCURSOR; … … 631 713 return YYTOKEN[0]; 632 714 } 633 #line 634"<stdout>"715 #line 716 "<stdout>" 634 716 yy45: 635 717 ++YYCURSOR; … … 640 722 return YYTOKEN[0]; 641 723 } 642 #line 643"<stdout>"724 #line 725 "<stdout>" 643 725 yy47: 644 726 ++YYCURSOR; … … 647 729 return YYTOKEN[0]; 648 730 } 649 #line 650"<stdout>"731 #line 732 "<stdout>" 650 732 yy49: 651 733 yyaccept = 1; 652 734 yych = *(YYMARKER = ++YYCURSOR); 653 switch(yych) { 654 case 0x0A: goto yy88; 655 case 0x0D: goto yy92; 656 case ' ': goto yy90; 657 default: goto yy42; 735 if(yych <= 0x0C) { 736 if(yych == 0x0A) goto yy88; 737 goto yy42; 738 } else { 739 if(yych <= 0x0D) goto yy92; 740 if(yych == ' ') goto yy90; 741 goto yy42; 658 742 } 659 743 yy50: 660 744 yyaccept = 1; 661 745 yych = *(YYMARKER = ++YYCURSOR); 662 switch(yych) { 663 case 0x0A: goto yy83; 664 case 0x0D: goto yy87; 665 case ' ': goto yy85; 666 default: goto yy42; 746 if(yych <= 0x0C) { 747 if(yych == 0x0A) goto yy83; 748 goto yy42; 749 } else { 750 if(yych <= 0x0D) goto yy87; 751 if(yych == ' ') goto yy85; 752 goto yy42; 667 753 } 668 754 yy51: 669 755 yych = *++YYCURSOR; 670 switch(yych) { 671 case '-': 672 case '0': 673 case '1': 674 case '2': 675 case '3': 676 case '4': 677 case '5': 678 case '6': 679 case '7': 680 case '8': 681 case '9': 682 case 'A': 683 case 'B': 684 case 'C': 685 case 'D': 686 case 'E': 687 case 'F': 688 case 'G': 689 case 'H': 690 case 'I': 691 case 'J': 692 case 'K': 693 case 'L': 694 case 'M': 695 case 'N': 696 case 'O': 697 case 'P': 698 case 'Q': 699 case 'R': 700 case 'S': 701 case 'T': 702 case 'U': 703 case 'V': 704 case 'W': 705 case 'X': 706 case 'Y': 707 case 'Z': 708 case '_': 709 case 'a': 710 case 'b': 711 case 'c': 712 case 'd': 713 case 'e': 714 case 'f': 715 case 'g': 716 case 'h': 717 case 'i': 718 case 'j': 719 case 'k': 720 case 'l': 721 case 'm': 722 case 'n': 723 case 'o': 724 case 'p': 725 case 'q': 726 case 'r': 727 case 's': 728 case 't': 729 case 'u': 730 case 'v': 731 case 'w': 732 case 'x': 733 case 'y': 734 case 'z': goto yy80; 735 default: goto yy42; 756 if(yych <= '@') {