Changeset 1422
- Timestamp:
- May 30, 2012, 1:35:48 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 deleted
- 7 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/orbital/Makefile.am
r1419 r1422 6 6 particlesystem.h tank.h player.h gun.h snake.h starfield.h \ 7 7 \ 8 mesh.h mesh-scanner.h mesh-driver.cpp mesh-driver.h \ 9 generated/mesh-scanner.cpp \ 10 generated/mesh-parser.cpp 8 mesh.h mesh-compiler.cpp mesh-compiler.h \ 9 generated/mesh-scanner.cpp generated/mesh-parser.cpp 11 10 nodist_orbital_SOURCES = \ 12 11 shiny.lolfx.cpp … … 23 22 $(MKDIR_P) generated 24 23 rm -f generated/[a-zA-Z]* 25 flex -o generated/mesh-scanner.cpp mesh .l24 flex -o generated/mesh-scanner.cpp mesh-scanner.l 26 25 bison -o generated/mesh-parser.cpp --defines=generated/mesh-parser.h \ 27 -d -b generated/mesh mesh .yy26 -d -b generated/mesh mesh-parser.y 28 27 .FORCE: 29 28 endif 30 29 31 EXTRA_DIST = mesh .l mesh.yy30 EXTRA_DIST = mesh-scanner.l mesh-parser.y 32 31 CLEANFILES = $(noinst_PROGRAMS:%$(EXEEXT)=%.self) \ 33 32 $(noinst_PROGRAMS:%$(EXEEXT)=%.elf) \ -
trunk/orbital/generated/mesh-parser.cpp
r1421 r1422 37 37 38 38 /* Line 293 of lalr1.cc */ 39 #line 1 "mesh .yy"39 #line 1 "mesh-parser.y" 40 40 41 41 // … … 70 70 71 71 /* Line 299 of lalr1.cc */ 72 #line 61 "mesh.yy" 73 74 #include "../mesh-driver.h" 75 #include "../mesh-scanner.h" 72 #line 61 "mesh-parser.y" 73 74 #include "../mesh-compiler.h" 76 75 77 76 #undef yylex 78 #define yylex driver.m_lexer->lex77 #define yylex mc.m_lexer->lex 79 78 80 79 81 80 /* Line 299 of lalr1.cc */ 82 #line 8 3"generated/mesh-parser.cpp"81 #line 82 "generated/mesh-parser.cpp" 83 82 84 83 #ifndef YY_ … … 166 165 167 166 /* Line 382 of lalr1.cc */ 168 #line 16 9"generated/mesh-parser.cpp"167 #line 168 "generated/mesh-parser.cpp" 169 168 170 169 /* Return YYSTR after stripping away unnecessary quotes and … … 207 206 208 207 /// Build a parser object. 209 MeshParser::MeshParser (class Driver& driver_yyarg)208 MeshParser::MeshParser (class MeshCompiler& mc_yyarg) 210 209 : 211 210 #if YYDEBUG … … 213 212 yycdebug_ (&std::cerr), 214 213 #endif 215 driver (driver_yyarg)214 mc (mc_yyarg) 216 215 { 217 216 } … … 467 466 468 467 /* Line 690 of lalr1.cc */ 469 #line 8 8 "mesh.yy"470 { driver.m_mesh.Flush(); }468 #line 87 "mesh-parser.y" 469 { mc.m_mesh.Flush(); } 471 470 break; 472 471 … … 474 473 475 474 /* Line 690 of lalr1.cc */ 476 #line 8 9 "mesh.yy"477 { driver.m_mesh.MeshConvert(); }475 #line 88 "mesh-parser.y" 476 { mc.m_mesh.MeshConvert(); } 478 477 break; 479 478 … … 481 480 482 481 /* Line 690 of lalr1.cc */ 483 #line 90 "mesh.yy"482 #line 89 "mesh-parser.y" 484 483 { /* TODO */ } 485 484 break; … … 488 487 489 488 /* Line 690 of lalr1.cc */ 490 #line 9 4 "mesh.yy"491 { driver.m_mesh.SetCurColor(vec4((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3)); }489 #line 93 "mesh-parser.y" 490 { mc.m_mesh.SetCurColor(vec4((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3)); } 492 491 break; 493 492 … … 495 494 496 495 /* Line 690 of lalr1.cc */ 497 #line 9 5 "mesh.yy"498 { driver.m_mesh.SetCurColor2(vec4((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3)); }496 #line 94 "mesh-parser.y" 497 { mc.m_mesh.SetCurColor2(vec4((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3)); } 499 498 break; 500 499 … … 502 501 503 502 /* Line 690 of lalr1.cc */ 504 #line 9 9 "mesh.yy"505 { driver.m_mesh.Translate(vec3((yysemantic_stack_[(2) - (2)].args).f0, 0, 0)); }503 #line 98 "mesh-parser.y" 504 { mc.m_mesh.Translate(vec3((yysemantic_stack_[(2) - (2)].args).f0, 0, 0)); } 506 505 break; 507 506 … … 509 508 510 509 /* Line 690 of lalr1.cc */ 511 #line 100 "mesh.yy"512 { driver.m_mesh.Translate(vec3(0, (yysemantic_stack_[(2) - (2)].args).f0, 0)); }510 #line 99 "mesh-parser.y" 511 { mc.m_mesh.Translate(vec3(0, (yysemantic_stack_[(2) - (2)].args).f0, 0)); } 513 512 break; 514 513 … … 516 515 517 516 /* Line 690 of lalr1.cc */ 518 #line 10 1 "mesh.yy"519 { driver.m_mesh.Translate(vec3(0, 0, (yysemantic_stack_[(2) - (2)].args).f0)); }517 #line 100 "mesh-parser.y" 518 { mc.m_mesh.Translate(vec3(0, 0, (yysemantic_stack_[(2) - (2)].args).f0)); } 520 519 break; 521 520 … … 523 522 524 523 /* Line 690 of lalr1.cc */ 525 #line 10 2 "mesh.yy"526 { driver.m_mesh.Translate(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2)); }524 #line 101 "mesh-parser.y" 525 { mc.m_mesh.Translate(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2)); } 527 526 break; 528 527 … … 530 529 531 530 /* Line 690 of lalr1.cc */ 532 #line 10 3 "mesh.yy"533 { driver.m_mesh.RotateX((yysemantic_stack_[(2) - (2)].args).f0); }531 #line 102 "mesh-parser.y" 532 { mc.m_mesh.RotateX((yysemantic_stack_[(2) - (2)].args).f0); } 534 533 break; 535 534 … … 537 536 538 537 /* Line 690 of lalr1.cc */ 539 #line 10 4 "mesh.yy"540 { driver.m_mesh.RotateY((yysemantic_stack_[(2) - (2)].args).f0); }538 #line 103 "mesh-parser.y" 539 { mc.m_mesh.RotateY((yysemantic_stack_[(2) - (2)].args).f0); } 541 540 break; 542 541 … … 544 543 545 544 /* Line 690 of lalr1.cc */ 546 #line 10 5 "mesh.yy"547 { driver.m_mesh.RotateZ((yysemantic_stack_[(2) - (2)].args).f0); }545 #line 104 "mesh-parser.y" 546 { mc.m_mesh.RotateZ((yysemantic_stack_[(2) - (2)].args).f0); } 548 547 break; 549 548 … … 551 550 552 551 /* Line 690 of lalr1.cc */ 553 #line 10 6 "mesh.yy"554 { driver.m_mesh.TaperX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }552 #line 105 "mesh-parser.y" 553 { mc.m_mesh.TaperX((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } 555 554 break; 556 555 … … 558 557 559 558 /* Line 690 of lalr1.cc */ 560 #line 10 7 "mesh.yy"561 { driver.m_mesh.TaperY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }559 #line 106 "mesh-parser.y" 560 { mc.m_mesh.TaperY((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } 562 561 break; 563 562 … … 565 564 566 565 /* Line 690 of lalr1.cc */ 567 #line 10 8 "mesh.yy"568 { driver.m_mesh.TaperZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); }566 #line 107 "mesh-parser.y" 567 { mc.m_mesh.TaperZ((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2); } 569 568 break; 570 569 … … 572 571 573 572 /* Line 690 of lalr1.cc */ 574 #line 10 9 "mesh.yy"575 { driver.m_mesh.Scale(vec3((yysemantic_stack_[(2) - (2)].args).f0, 0, 0)); }573 #line 108 "mesh-parser.y" 574 { mc.m_mesh.Scale(vec3((yysemantic_stack_[(2) - (2)].args).f0, 0, 0)); } 576 575 break; 577 576 … … 579 578 580 579 /* Line 690 of lalr1.cc */ 581 #line 1 10 "mesh.yy"582 { driver.m_mesh.Scale(vec3(0, (yysemantic_stack_[(2) - (2)].args).f0, 0)); }580 #line 109 "mesh-parser.y" 581 { mc.m_mesh.Scale(vec3(0, (yysemantic_stack_[(2) - (2)].args).f0, 0)); } 583 582 break; 584 583 … … 586 585 587 586 /* Line 690 of lalr1.cc */ 588 #line 11 1 "mesh.yy"589 { driver.m_mesh.Scale(vec3(0, 0, (yysemantic_stack_[(2) - (2)].args).f0)); }587 #line 110 "mesh-parser.y" 588 { mc.m_mesh.Scale(vec3(0, 0, (yysemantic_stack_[(2) - (2)].args).f0)); } 590 589 break; 591 590 … … 593 592 594 593 /* Line 690 of lalr1.cc */ 595 #line 11 2 "mesh.yy"596 { driver.m_mesh.Scale(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2)); }594 #line 111 "mesh-parser.y" 595 { mc.m_mesh.Scale(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2)); } 597 596 break; 598 597 … … 600 599 601 600 /* Line 690 of lalr1.cc */ 602 #line 11 3 "mesh.yy"603 { driver.m_mesh.MirrorX(); }601 #line 112 "mesh-parser.y" 602 { mc.m_mesh.MirrorX(); } 604 603 break; 605 604 … … 607 606 608 607 /* Line 690 of lalr1.cc */ 609 #line 11 4 "mesh.yy"610 { driver.m_mesh.MirrorY(); }608 #line 113 "mesh-parser.y" 609 { mc.m_mesh.MirrorY(); } 611 610 break; 612 611 … … 614 613 615 614 /* Line 690 of lalr1.cc */ 616 #line 11 5 "mesh.yy"617 { driver.m_mesh.MirrorZ(); }615 #line 114 "mesh-parser.y" 616 { mc.m_mesh.MirrorZ(); } 618 617 break; 619 618 … … 621 620 622 621 /* Line 690 of lalr1.cc */ 623 #line 11 9 "mesh.yy"624 { driver.m_mesh.AppendCylinder((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,622 #line 118 "mesh-parser.y" 623 { mc.m_mesh.AppendCylinder((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, 625 624 (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3, 626 625 (int)(yysemantic_stack_[(2) - (2)].args).f4, (int)(yysemantic_stack_[(2) - (2)].args).f5); } … … 630 629 631 630 /* Line 690 of lalr1.cc */ 632 #line 12 2 "mesh.yy"633 { driver.m_mesh.AppendBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2)); }631 #line 121 "mesh-parser.y" 632 { mc.m_mesh.AppendBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2)); } 634 633 break; 635 634 … … 637 636 638 637 /* Line 690 of lalr1.cc */ 639 #line 12 3 "mesh.yy"640 { driver.m_mesh.AppendSmoothChamfBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,638 #line 122 "mesh-parser.y" 639 { mc.m_mesh.AppendSmoothChamfBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, 641 640 (yysemantic_stack_[(2) - (2)].args).f2), (yysemantic_stack_[(2) - (2)].args).f3); } 642 641 break; … … 645 644 646 645 /* Line 690 of lalr1.cc */ 647 #line 12 5 "mesh.yy"648 { driver.m_mesh.AppendFlatChamfBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,646 #line 124 "mesh-parser.y" 647 { mc.m_mesh.AppendFlatChamfBox(vec3((yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, 649 648 (yysemantic_stack_[(2) - (2)].args).f2), (yysemantic_stack_[(2) - (2)].args).f3); } 650 649 break; … … 653 652 654 653 /* Line 690 of lalr1.cc */ 655 #line 12 7 "mesh.yy"656 { driver.m_mesh.AppendSphere((yysemantic_stack_[(2) - (2)].args).f0,654 #line 126 "mesh-parser.y" 655 { mc.m_mesh.AppendSphere((yysemantic_stack_[(2) - (2)].args).f0, 657 656 vec3((yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3)); } 658 657 break; … … 661 660 662 661 /* Line 690 of lalr1.cc */ 663 #line 12 9 "mesh.yy"664 { driver.m_mesh.AppendStar((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2,662 #line 128 "mesh-parser.y" 663 { mc.m_mesh.AppendStar((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, 665 664 (int)(yysemantic_stack_[(2) - (2)].args).f3, (int)(yysemantic_stack_[(2) - (2)].args).f4); } 666 665 break; … … 669 668 670 669 /* Line 690 of lalr1.cc */ 671 #line 13 1 "mesh.yy"672 { driver.m_mesh.AppendExpandedStar((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1,670 #line 130 "mesh-parser.y" 671 { mc.m_mesh.AppendExpandedStar((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, 673 672 (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3); } 674 673 break; … … 677 676 678 677 /* Line 690 of lalr1.cc */ 679 #line 13 3 "mesh.yy"680 { driver.m_mesh.AppendDisc((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (int)(yysemantic_stack_[(2) - (2)].args).f2); }678 #line 132 "mesh-parser.y" 679 { mc.m_mesh.AppendDisc((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (int)(yysemantic_stack_[(2) - (2)].args).f2); } 681 680 break; 682 681 … … 684 683 685 684 /* Line 690 of lalr1.cc */ 686 #line 13 4 "mesh.yy"687 { driver.m_mesh.AppendSimpleTriangle((yysemantic_stack_[(2) - (2)].args).f0, (int)(yysemantic_stack_[(2) - (2)].args).f1); }685 #line 133 "mesh-parser.y" 686 { mc.m_mesh.AppendSimpleTriangle((yysemantic_stack_[(2) - (2)].args).f0, (int)(yysemantic_stack_[(2) - (2)].args).f1); } 688 687 break; 689 688 … … 691 690 692 691 /* Line 690 of lalr1.cc */ 693 #line 13 5 "mesh.yy"694 { driver.m_mesh.AppendSimpleQuad((yysemantic_stack_[(2) - (2)].args).f0, (int)(yysemantic_stack_[(2) - (2)].args).f1); }692 #line 134 "mesh-parser.y" 693 { mc.m_mesh.AppendSimpleQuad((yysemantic_stack_[(2) - (2)].args).f0, (int)(yysemantic_stack_[(2) - (2)].args).f1); } 695 694 break; 696 695 … … 698 697 699 698 /* Line 690 of lalr1.cc */ 700 #line 13 6 "mesh.yy"701 { driver.m_mesh.AppendCog((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3,699 #line 135 "mesh-parser.y" 700 { mc.m_mesh.AppendCog((int)(yysemantic_stack_[(2) - (2)].args).f0, (yysemantic_stack_[(2) - (2)].args).f1, (yysemantic_stack_[(2) - (2)].args).f2, (yysemantic_stack_[(2) - (2)].args).f3, 702 701 (yysemantic_stack_[(2) - (2)].args).f4, (yysemantic_stack_[(2) - (2)].args).f5, (yysemantic_stack_[(2) - (2)].args).f6, (int)(yysemantic_stack_[(2) - (2)].args).f7); } 703 702 break; … … 706 705 707 706 /* Line 690 of lalr1.cc */ 708 #line 1 40 "mesh.yy"707 #line 139 "mesh-parser.y" 709 708 { (yyval.args).f0 = (yysemantic_stack_[(1) - (1)].fval); } 710 709 break; … … 713 712 714 713 /* Line 690 of lalr1.cc */ 715 #line 14 1 "mesh.yy"714 #line 140 "mesh-parser.y" 716 715 { (yyval.args) = (yysemantic_stack_[(3) - (1)].args); (yyval.args).f1 = (yysemantic_stack_[(3) - (3)].fval); } 717 716 break; … … 720 719 721 720 /* Line 690 of lalr1.cc */ 722 #line 14 2 "mesh.yy"721 #line 141 "mesh-parser.y" 723 722 { (yyval.args) = (yysemantic_stack_[(3) - (1)].args); (yyval.args).f2 = (yysemantic_stack_[(3) - (3)].fval); } 724 723 break; … … 727 726 728 727 /* Line 690 of lalr1.cc */ 729 #line 14 3 "mesh.yy"728 #line 142 "mesh-parser.y" 730 729 { (yyval.args) = (yysemantic_stack_[(3) - (1)].args); (yyval.args).f3 = (yysemantic_stack_[(3) - (3)].fval); } 731 730 break; … … 734 733 735 734 /* Line 690 of lalr1.cc */ 736 #line 14 4 "mesh.yy"735 #line 143 "mesh-parser.y" 737 736 { (yyval.args) = (yysemantic_stack_[(3) - (1)].args); (yyval.args).f4 = (yysemantic_stack_[(3) - (3)].fval); } 738 737 break; … … 741 740 742 741 /* Line 690 of lalr1.cc */ 743 #line 14 5 "mesh.yy"742 #line 144 "mesh-parser.y" 744 743 { (yyval.args) = (yysemantic_stack_[(3) - (1)].args); (yyval.args).f5 = (yysemantic_stack_[(3) - (3)].fval); } 745 744 break; … … 748 747 749 748 /* Line 690 of lalr1.cc */ 750 #line 14 6 "mesh.yy"749 #line 145 "mesh-parser.y" 751 750 { (yyval.args) = (yysemantic_stack_[(3) - (1)].args); (yyval.args).f6 = (yysemantic_stack_[(3) - (3)].fval); } 752 751 break; … … 755 754 756 755 /* Line 690 of lalr1.cc */ 757 #line 14 7 "mesh.yy"756 #line 146 "mesh-parser.y" 758 757 { (yyval.args) = (yysemantic_stack_[(3) - (1)].args); (yyval.args).f7 = (yysemantic_stack_[(3) - (3)].fval); } 759 758 break; … … 762 761 763 762 /* Line 690 of lalr1.cc */ 764 #line 1 50 "mesh.yy"763 #line 149 "mesh-parser.y" 765 764 { (yyval.fval) = (yysemantic_stack_[(1) - (1)].fval); } 766 765 break; … … 769 768 770 769 /* Line 690 of lalr1.cc */ 771 #line 15 1 "mesh.yy"770 #line 150 "mesh-parser.y" 772 771 { (yyval.fval) = -(yysemantic_stack_[(2) - (2)].fval); } 773 772 break; … … 776 775 777 776 /* Line 690 of lalr1.cc */ 778 #line 77 9"generated/mesh-parser.cpp"777 #line 778 "generated/mesh-parser.cpp" 779 778 default: 780 779 break; … … 1246 1245 MeshParser::yyrline_[] = 1247 1246 { 1248 0, 7 2, 72, 76, 77, 81, 82, 83, 84, 88,1249 8 9, 90, 94, 95, 99, 100, 101, 102, 103, 104,1250 10 5, 106, 107, 108, 109, 110, 111, 112, 113, 114,1251 11 5, 119, 122, 123, 125, 127, 129, 131, 133, 134,1252 13 5, 136, 140, 141, 142, 143, 144, 145, 146, 147,1253 1 50, 1511247 0, 71, 71, 75, 76, 80, 81, 82, 83, 87, 1248 88, 89, 93, 94, 98, 99, 100, 101, 102, 103, 1249 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 1250 114, 118, 121, 122, 124, 126, 128, 130, 132, 133, 1251 134, 135, 139, 140, 141, 142, 143, 144, 145, 146, 1252 149, 150 1254 1253 }; 1255 1254 … … 1344 1343 1345 1344 /* Line 1136 of lalr1.cc */ 1346 #line 134 7"generated/mesh-parser.cpp"1345 #line 1346 "generated/mesh-parser.cpp" 1347 1346 1348 1347 1349 1348 /* Line 1138 of lalr1.cc */ 1350 #line 15 4 "mesh.yy"1349 #line 153 "mesh-parser.y" 1351 1350 1352 1351 … … 1354 1353 const std::string& m) 1355 1354 { 1356 driver.Error(l, m);1355 mc.Error(l, m); 1357 1356 } 1358 1357 -
trunk/orbital/generated/mesh-parser.h
r1419 r1422 77 77 78 78 /* Line 35 of lalr1.cc */ 79 #line 35 "mesh .yy"79 #line 35 "mesh-parser.y" 80 80 81 81 float fval; … … 139 139 140 140 /// Build a parser object. 141 MeshParser (class Driver& driver_yyarg);141 MeshParser (class MeshCompiler& mc_yyarg); 142 142 virtual ~MeshParser (); 143 143 … … 305 305 306 306 /* User arguments. */ 307 class Driver& driver;307 class MeshCompiler& mc; 308 308 }; 309 309 -
trunk/orbital/generated/mesh-scanner.cpp
r1421 r1422 453 453 #define YY_MORE_ADJ 0 454 454 #define YY_RESTORE_YY_MORE_OFFSET 455 #line 1 "mesh .l"456 #line 2 "mesh .l"455 #line 1 "mesh-scanner.l" 456 #line 2 "mesh-scanner.l" 457 457 // 458 458 // Orbital … … 461 461 // 462 462 463 #include "../mesh- scanner.h"463 #include "../mesh-compiler.h" 464 464 465 465 typedef orbital::MeshParser::token token; … … 574 574 register int yy_act; 575 575 576 #line 21 "mesh .l"576 #line 21 "mesh-scanner.l" 577 577 578 578 … … 663 663 case 1: 664 664 YY_RULE_SETUP 665 #line 28 "mesh .l"665 #line 28 "mesh-scanner.l" 666 666 { return token::T_FLUSH; } 667 667 YY_BREAK 668 668 case 2: 669 669 YY_RULE_SETUP 670 #line 29 "mesh .l"670 #line 29 "mesh-scanner.l" 671 671 { return token::T_INITRB; } 672 672 YY_BREAK 673 673 case 3: 674 674 YY_RULE_SETUP 675 #line 30 "mesh .l"675 #line 30 "mesh-scanner.l" 676 676 { return token::T_FREERB; } 677 677 YY_BREAK 678 678 case 4: 679 679 YY_RULE_SETUP 680 #line 32 "mesh .l"680 #line 32 "mesh-scanner.l" 681 681 { return token::T_COLOR; } 682 682 YY_BREAK 683 683 case 5: 684 684 YY_RULE_SETUP 685 #line 33 "mesh .l"685 #line 33 "mesh-scanner.l" 686 686 { return token::T_BGCOLOR; } 687 687 YY_BREAK 688 688 case 6: 689 689 YY_RULE_SETUP 690 #line 35 "mesh .l"690 #line 35 "mesh-scanner.l" 691 691 { return token::T_TRANSLATEX; } 692 692 YY_BREAK 693 693 case 7: 694 694 YY_RULE_SETUP 695 #line 36 "mesh .l"695 #line 36 "mesh-scanner.l" 696 696 { return token::T_TRANSLATEY; } 697 697 YY_BREAK 698 698 case 8: 699 699 YY_RULE_SETUP 700 #line 37 "mesh .l"700 #line 37 "mesh-scanner.l" 701 701 { return token::T_TRANSLATEZ; } 702 702 YY_BREAK 703 703 case 9: 704 704 YY_RULE_SETUP 705 #line 38 "mesh .l"705 #line 38 "mesh-scanner.l" 706 706 { return token::T_TRANSLATE; } 707 707 YY_BREAK 708 708 case 10: 709 709 YY_RULE_SETUP 710 #line 39 "mesh .l"710 #line 39 "mesh-scanner.l" 711 711 { return token::T_ROTATEX; } 712 712 YY_BREAK 713 713 case 11: 714 714 YY_RULE_SETUP 715 #line 40 "mesh .l"715 #line 40 "mesh-scanner.l" 716 716 { return token::T_ROTATEY; } 717 717 YY_BREAK 718 718 case 12: 719 719 YY_RULE_SETUP 720 #line 41 "mesh .l"720 #line 41 "mesh-scanner.l" 721 721 { return token::T_ROTATEZ; } 722 722 YY_BREAK 723 723 case 13: 724 724 YY_RULE_SETUP 725 #line 42 "mesh .l"725 #line 42 "mesh-scanner.l" 726 726 { return token::T_TAPERX; } 727 727 YY_BREAK 728 728 case 14: 729 729 YY_RULE_SETUP 730 #line 43 "mesh .l"730 #line 43 "mesh-scanner.l" 731 731 { return token::T_TAPERY; } 732 732 YY_BREAK 733 733 case 15: 734 734 YY_RULE_SETUP 735 #line 44 "mesh .l"735 #line 44 "mesh-scanner.l" 736 736 { return token::T_TAPERZ; } 737 737 YY_BREAK 738 738 case 16: 739 739 YY_RULE_SETUP 740 #line 45 "mesh .l"740 #line 45 "mesh-scanner.l" 741 741 { return token::T_SCALEX; } 742 742 YY_BREAK 743 743 case 17: 744 744 YY_RULE_SETUP 745 #line 46 "mesh .l"745 #line 46 "mesh-scanner.l" 746 746 { return token::T_SCALEY; } 747 747 YY_BREAK 748 748 case 18: 749 749 YY_RULE_SETUP 750 #line 47 "mesh .l"750 #line 47 "mesh-scanner.l" 751 751 { return token::T_SCALEZ; } 752 752 YY_BREAK 753 753 case 19: 754 754 YY_RULE_SETUP 755 #line 48 "mesh .l"755 #line 48 "mesh-scanner.l" 756 756 { return token::T_SCALE; } 757 757 YY_BREAK 758 758 case 20: 759 759 YY_RULE_SETUP 760 #line 49 "mesh .l"760 #line 49 "mesh-scanner.l" 761 761 { return token::T_MIRRORX; } 762 762 YY_BREAK 763 763 case 21: 764 764 YY_RULE_SETUP 765 #line 50 "mesh .l"765 #line 50 "mesh-scanner.l" 766 766 { return token::T_MIRRORY; } 767 767 YY_BREAK 768 768 case 22: 769 769 YY_RULE_SETUP 770 #line 51 "mesh .l"770 #line 51 "mesh-scanner.l" 771 771 { return token::T_MIRRORZ; } 772 772 YY_BREAK 773 773 case 23: 774 774 YY_RULE_SETUP 775 #line 53 "mesh .l"775 #line 53 "mesh-scanner.l" 776 776 { return token::T_CYLINDER; } 777 777 YY_BREAK 778 778 case 24: 779 779 YY_RULE_SETUP 780 #line 54 "mesh .l"780 #line 54 "mesh-scanner.l" 781 781 { return token::T_BOX; } 782 782 YY_BREAK 783 783 case 25: 784 784 YY_RULE_SETUP 785 #line 55 "mesh .l"785 #line 55 "mesh-scanner.l" 786 786 { return token::T_SMOOTHCHAMFBOX; } 787 787 YY_BREAK 788 788 case 26: 789 789 YY_RULE_SETUP 790 #line 56 "mesh .l"790 #line 56 "mesh-scanner.l" 791 791 { return token::T_FLATCHAMFBOX; } 792 792 YY_BREAK 793 793 case 27: 794 794 YY_RULE_SETUP 795 #line 57 "mesh .l"795 #line 57 "mesh-scanner.l" 796 796 { return token::T_SPHERE; } 797 797 YY_BREAK 798 798 case 28: 799 799 YY_RULE_SETUP 800 #line 58 "mesh .l"800 #line 58 "mesh-scanner.l" 801 801 { return token::T_STAR; } 802 802 YY_BREAK 803 803 case 29: 804 804 YY_RULE_SETUP 805 #line 59 "mesh .l"805 #line 59 "mesh-scanner.l" 806 806 { return token::T_EXPANDEDSTAR; } 807 807 YY_BREAK 808 808 case 30: 809 809 YY_RULE_SETUP 810 #line 60 "mesh .l"810 #line 60 "mesh-scanner.l" 811 811 { return token::T_DISC; } 812 812 YY_BREAK 813 813 case 31: 814 814 YY_RULE_SETUP 815 #line 61 "mesh .l"815 #line 61 "mesh-scanner.l" 816 816 { return token::T_TRIANGLE; } 817 817 YY_BREAK 818 818 case 32: 819 819 YY_RULE_SETUP 820 #line 62 "mesh .l"820 #line 62 "mesh-scanner.l" 821 821 { return token::T_QUAD; } 822 822 YY_BREAK 823 823 case 33: 824 824 YY_RULE_SETUP 825 #line 63 "mesh .l"825 #line 63 "mesh-scanner.l" 826 826 { return token::T_COG; } 827 827 YY_BREAK 828 828 case 34: 829 829 YY_RULE_SETUP 830 #line 65 "mesh .l"830 #line 65 "mesh-scanner.l" 831 831 { 832 832 yylval->fval = atof(yytext); return token::NUMBER; } … … 834 834 case 35: 835 835 YY_RULE_SETUP 836 #line 67 "mesh .l"836 #line 67 "mesh-scanner.l" 837 837 { return token_type('-'); } 838 838 YY_BREAK 839 839 case 36: 840 840 YY_RULE_SETUP 841 #line 68 "mesh .l"841 #line 68 "mesh-scanner.l" 842 842 { return token_type(','); } 843 843 YY_BREAK … … 845 845 /* rule 37 can match eol */ 846 846 YY_RULE_SETUP 847 #line 69 "mesh .l"847 #line 69 "mesh-scanner.l" 848 848 { /* ignore everything else */ } 849 849 YY_BREAK 850 850 case 38: 851 851 YY_RULE_SETUP 852 #line 71 "mesh .l"852 #line 71 "mesh-scanner.l" 853 853 ECHO; 854 854 YY_BREAK … … 1754 1754 #define YYTABLES_NAME "yytables" 1755 1755 1756 #line 71 "mesh .l"1757 1758 1759 1760 orbital:: Scanner::Scanner(char const *command)1756 #line 71 "mesh-scanner.l" 1757 1758 1759 1760 orbital::MeshScanner::MeshScanner(char const *command) 1761 1761 : MeshFlexLexer(0, 0), 1762 1762 m_input(command) … … 1764 1764 } 1765 1765 1766 orbital:: Scanner::~Scanner()1767 { 1768 } 1769 1770 int orbital:: Scanner::LexerInput(char* buf, int max_size)1766 orbital::MeshScanner::~MeshScanner() 1767 { 1768 } 1769 1770 int orbital::MeshScanner::LexerInput(char* buf, int max_size) 1771 1771 { 1772 1772 buf[0] = m_input[0]; -
trunk/orbital/mesh-parser.y
r1421 r1422 29 29 %define parser_class_name "MeshParser" 30 30 %locations 31 %parse-param { class Driver& driver}31 %parse-param { class MeshCompiler& mc } 32 32 %error-verbose 33 33 … … 60 60 61 61 %{ 62 #include "../mesh-driver.h" 63 #include "../mesh-scanner.h" 62 #include "../mesh-compiler.h" 64 63 65 64 #undef yylex 66 #define yylex driver.m_lexer->lex65 #define yylex mc.m_lexer->lex 67 66 %} 68 67 … … 86 85 87 86 rb_command: 88 T_FLUSH { driver.m_mesh.Flush(); }89 | T_INITRB { driver.m_mesh.MeshConvert(); }87 T_FLUSH { mc.m_mesh.Flush(); } 88 | T_INITRB { mc.m_mesh.MeshConvert(); } 90 89 | T_FREERB { /* TODO */ } 91 90 ; 92 91 93 92 color_command: 94 T_COLOR args4 { driver.m_mesh.SetCurColor(vec4($2.f0, $2.f1, $2.f2, $2.f3)); }95 | T_BGCOLOR args4 { driver.m_mesh.SetCurColor2(vec4($2.f0, $2.f1, $2.f2, $2.f3)); }93 T_COLOR args4 { mc.m_mesh.SetCurColor(vec4($2.f0, $2.f1, $2.f2, $2.f3)); } 94 | T_BGCOLOR args4 { mc.m_mesh.SetCurColor2(vec4($2.f0, $2.f1, $2.f2, $2.f3)); } 96 95 ; 97 96 98 97 transform_command: 99 T_TRANSLATEX args1 { driver.m_mesh.Translate(vec3($2.f0, 0, 0)); }100 | T_TRANSLATEY args1 { driver.m_mesh.Translate(vec3(0, $2.f0, 0)); }101 | T_TRANSLATEZ args1 { driver.m_mesh.Translate(vec3(0, 0, $2.f0)); }102 | T_TRANSLATE args3 { driver.m_mesh.Translate(vec3($2.f0, $2.f1, $2.f2)); }103 | T_ROTATEX args1 { driver.m_mesh.RotateX($2.f0); }104 | T_ROTATEY args1 { driver.m_mesh.RotateY($2.f0); }105 | T_ROTATEZ args1 { driver.m_mesh.RotateZ($2.f0); }106 | T_TAPERX args3 { driver.m_mesh.TaperX($2.f0, $2.f1, $2.f2); }107 | T_TAPERY args3 { driver.m_mesh.TaperY($2.f0, $2.f1, $2.f2); }108 | T_TAPERZ args3 { driver.m_mesh.TaperZ($2.f0, $2.f1, $2.f2); }109 | T_SCALEX args1 { driver.m_mesh.Scale(vec3($2.f0, 0, 0)); }110 | T_SCALEY args1 { driver.m_mesh.Scale(vec3(0, $2.f0, 0)); }111 | T_SCALEZ args1 { driver.m_mesh.Scale(vec3(0, 0, $2.f0)); }112 | T_SCALE args3 { driver.m_mesh.Scale(vec3($2.f0, $2.f1, $2.f2)); }113 | T_MIRRORX { driver.m_mesh.MirrorX(); }114 | T_MIRRORY { driver.m_mesh.MirrorY(); }115 | T_MIRRORZ { driver.m_mesh.MirrorZ(); }98 T_TRANSLATEX args1 { mc.m_mesh.Translate(vec3($2.f0, 0, 0)); } 99 | T_TRANSLATEY args1 { mc.m_mesh.Translate(vec3(0, $2.f0, 0)); } 100 | T_TRANSLATEZ args1 { mc.m_mesh.Translate(vec3(0, 0, $2.f0)); } 101 | T_TRANSLATE args3 { mc.m_mesh.Translate(vec3($2.f0, $2.f1, $2.f2)); } 102 | T_ROTATEX args1 { mc.m_mesh.RotateX($2.f0); } 103 | T_ROTATEY args1 { mc.m_mesh.RotateY($2.f0); } 104 | T_ROTATEZ args1 { mc.m_mesh.RotateZ($2.f0); } 105 | T_TAPERX args3 { mc.m_mesh.TaperX($2.f0, $2.f1, $2.f2); } 106 | T_TAPERY args3 { mc.m_mesh.TaperY($2.f0, $2.f1, $2.f2); } 107 | T_TAPERZ args3 { mc.m_mesh.TaperZ($2.f0, $2.f1, $2.f2); } 108 | T_SCALEX args1 { mc.m_mesh.Scale(vec3($2.f0, 0, 0)); } 109 | T_SCALEY args1 { mc.m_mesh.Scale(vec3(0, $2.f0, 0)); } 110 | T_SCALEZ args1 { mc.m_mesh.Scale(vec3(0, 0, $2.f0)); } 111 | T_SCALE args3 { mc.m_mesh.Scale(vec3($2.f0, $2.f1, $2.f2)); } 112 | T_MIRRORX { mc.m_mesh.MirrorX(); } 113 | T_MIRRORY { mc.m_mesh.MirrorY(); } 114 | T_MIRRORZ { mc.m_mesh.MirrorZ(); } 116 115 ; 117 116 118 117 primitive_command: 119 T_CYLINDER args6 { driver.m_mesh.AppendCylinder((int)$2.f0, $2.f1,118 T_CYLINDER args6 { mc.m_mesh.AppendCylinder((int)$2.f0, $2.f1, 120 119 $2.f2, $2.f3, 121 120 (int)$2.f4, (int)$2.f5); } 122 | T_BOX args3 { driver.m_mesh.AppendBox(vec3($2.f0, $2.f1, $2.f2)); }123 | T_SMOOTHCHAMFBOX args4 { driver.m_mesh.AppendSmoothChamfBox(vec3($2.f0, $2.f1,121 | T_BOX args3 { mc.m_mesh.AppendBox(vec3($2.f0, $2.f1, $2.f2)); } 122 | T_SMOOTHCHAMFBOX args4 { mc.m_mesh.AppendSmoothChamfBox(vec3($2.f0, $2.f1, 124 123 $2.f2), $2.f3); } 125 | T_FLATCHAMFBOX args4 { driver.m_mesh.AppendFlatChamfBox(vec3($2.f0, $2.f1,124 | T_FLATCHAMFBOX args4 { mc.m_mesh.AppendFlatChamfBox(vec3($2.f0, $2.f1, 126 125 $2.f2), $2.f3); } 127 | T_SPHERE args4 { driver.m_mesh.AppendSphere($2.f0,126 | T_SPHERE args4 { mc.m_mesh.AppendSphere($2.f0, 128 127 vec3($2.f1, $2.f2, $2.f3)); } 129 | T_STAR args5 { driver.m_mesh.AppendStar((int)$2.f0, $2.f1, $2.f2,128 | T_STAR args5 { mc.m_mesh.AppendStar((int)$2.f0, $2.f1, $2.f2, 130 129 (int)$2.f3, (int)$2.f4); } 131 | T_EXPANDEDSTAR args4 { driver.m_mesh.AppendExpandedStar((int)$2.f0, $2.f1,130 | T_EXPANDEDSTAR args4 { mc.m_mesh.AppendExpandedStar((int)$2.f0, $2.f1, 132 131 $2.f2, $2.f3); } 133 | T_DISC args3 { driver.m_mesh.AppendDisc((int)$2.f0, $2.f1, (int)$2.f2); }134 | T_TRIANGLE args2 { driver.m_mesh.AppendSimpleTriangle($2.f0, (int)$2.f1); }135 | T_QUAD args2 { driver.m_mesh.AppendSimpleQuad($2.f0, (int)$2.f1); }136 | T_COG args8 { driver.m_mesh.AppendCog((int)$2.f0, $2.f1, $2.f2, $2.f3,132 | T_DISC args3 { mc.m_mesh.AppendDisc((int)$2.f0, $2.f1, (int)$2.f2); } 133 | T_TRIANGLE args2 { mc.m_mesh.AppendSimpleTriangle($2.f0, (int)$2.f1); } 134 | T_QUAD args2 { mc.m_mesh.AppendSimpleQuad($2.f0, (int)$2.f1); } 135 | T_COG args8 { mc.m_mesh.AppendCog((int)$2.f0, $2.f1, $2.f2, $2.f3, 137 136 $2.f4, $2.f5, $2.f6, (int)$2.f7); } 138 137 ; … … 157 156 const std::string& m) 158 157 { 159 driver.Error(l, m);158 mc.Error(l, m); 160 159 } 161 160 -
trunk/orbital/mesh-scanner.l
r1421 r1422 6 6 // 7 7 8 #include "../mesh- scanner.h"8 #include "../mesh-compiler.h" 9 9 10 10 typedef orbital::MeshParser::token token; … … 71 71 %% 72 72 73 orbital:: Scanner::Scanner(char const *command)73 orbital::MeshScanner::MeshScanner(char const *command) 74 74 : MeshFlexLexer(0, 0), 75 75 m_input(command) … … 77 77 } 78 78 79 orbital:: Scanner::~Scanner()79 orbital::MeshScanner::~MeshScanner() 80 80 { 81 81 } 82 82 83 int orbital:: Scanner::LexerInput(char* buf, int max_size)83 int orbital::MeshScanner::LexerInput(char* buf, int max_size) 84 84 { 85 85 buf[0] = m_input[0]; -
trunk/orbital/mesh.h
r1419 r1422 15 15 #define __MESH_H__ 16 16 17 #include "mesh- driver.h"17 #include "mesh-compiler.h" 18 18 19 19 class Mesh … … 27 27 void SendCommand(char const *command) 28 28 { 29 orbital:: Driver driver(*this);30 driver.ParseString(command);29 orbital::MeshCompiler mc(*this); 30 mc.ParseString(command); 31 31 } 32 32 -
trunk/win32/orbital.vcxproj
r1421 r1422 31 31 <ClInclude Include="..\orbital\generated\mesh-parser.h" /> 32 32 <ClInclude Include="..\orbital\gun.h" /> 33 <ClInclude Include="..\orbital\mesh-driver.h" /> 34 <ClInclude Include="..\orbital\mesh-scanner.h" /> 33 <ClInclude Include="..\orbital\mesh-compiler.h" /> 35 34 <ClInclude Include="..\orbital\mesh.h" /> 36 35 <ClInclude Include="..\orbital\orbital.h" /> … … 44 43 <ClCompile Include="..\orbital\generated\mesh-parser.cpp" /> 45 44 <ClCompile Include="..\orbital\generated\mesh-scanner.cpp" /> 46 <ClCompile Include="..\orbital\mesh- driver.cpp" />45 <ClCompile Include="..\orbital\mesh-compiler.cpp" /> 47 46 <ClCompile Include="..\orbital\orbital.cpp" /> 48 47 </ItemGroup> -
trunk/win32/orbital.vcxproj.filters
r1421 r1422 9 9 <ClInclude Include="..\orbital\starfield.h" /> 10 10 <ClInclude Include="..\orbital\snake.h" /> 11 <ClInclude Include="..\orbital\mesh-driver.h" /> 12 <ClInclude Include="..\orbital\mesh-scanner.h" /> 11 <ClInclude Include="..\orbital\mesh-compiler.h" /> 13 12 <ClInclude Include="..\orbital\generated\mesh-parser.h"> 14 13 <Filter>generated</Filter> … … 23 22 <ItemGroup> 24 23 <ClCompile Include="..\orbital\orbital.cpp" /> 25 <ClCompile Include="..\orbital\mesh- driver.cpp" />24 <ClCompile Include="..\orbital\mesh-compiler.cpp" /> 26 25 <ClCompile Include="..\orbital\generated\mesh-parser.cpp"> 27 26 <Filter>generated</Filter>
Note: See TracChangeset
for help on using the changeset viewer.