Changeset 119 for branches/generator/pascal.grm
- Timestamp:
- Nov 29, 2017, 12:31:26 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/generator/pascal.grm
r118 r119 4 4 <Rule> 5 5 <Name>BeginEnd</Name> 6 <CreateSourceNode>-1</CreateSourceNode> 6 7 <RuleItems> 7 8 <Type>0</Type> … … 28 29 <Rule> 29 30 <Name>IfThenElse</Name> 31 <CreateSourceNode>-1</CreateSourceNode> 30 32 <RuleItems> 31 33 <Type>0</Type> … … 78 80 <Rule> 79 81 <Name>WhileDo</Name> 82 <CreateSourceNode>-1</CreateSourceNode> 80 83 <RuleItems> 81 84 <Type>0</Type> … … 108 111 <Rule> 109 112 <Name>RepeatUntil</Name> 113 <CreateSourceNode>-1</CreateSourceNode> 110 114 <RuleItems> 111 115 <Type>0</Type> … … 138 142 <Rule> 139 143 <Name>ForToDo</Name> 144 <CreateSourceNode>-1</CreateSourceNode> 140 145 <RuleItems> 141 146 <Type>0</Type> … … 150 155 <Optional>0</Optional> 151 156 <Repetitive>0</Repetitive> 152 <NonTerminal>VariableRef </NonTerminal>157 <NonTerminal>VariableReference</NonTerminal> 153 158 </RuleItem> 154 159 <RuleItem> … … 192 197 <Rule> 193 198 <Name>WithDo</Name> 199 <CreateSourceNode>-1</CreateSourceNode> 194 200 <RuleItems> 195 201 <Type>0</Type> … … 204 210 <Optional>0</Optional> 205 211 <Repetitive>0</Repetitive> 206 <NonTerminal>VariableRef </NonTerminal>212 <NonTerminal>VariableReference</NonTerminal> 207 213 </RuleItem> 208 214 <RuleItem> … … 222 228 <Rule> 223 229 <Name>CaseOf</Name> 230 <CreateSourceNode>-1</CreateSourceNode> 224 231 <RuleItems> 225 232 <Type>0</Type> … … 252 259 <Rule> 253 260 <Name>Assignment</Name> 254 <RuleItems> 255 <Type>0</Type> 256 <RuleItem> 257 <Type>1</Type> 258 <Optional>0</Optional> 259 <Repetitive>0</Repetitive> 260 <NonTerminal>VariableRef</NonTerminal> 261 <CreateSourceNode>-1</CreateSourceNode> 262 <RuleItems> 263 <Type>0</Type> 264 <RuleItem> 265 <Type>1</Type> 266 <Optional>0</Optional> 267 <Repetitive>0</Repetitive> 268 <NonTerminal>VariableReference</NonTerminal> 261 269 </RuleItem> 262 270 <RuleItem> … … 276 284 <Rule> 277 285 <Name>Statement</Name> 286 <CreateSourceNode>-1</CreateSourceNode> 278 287 <RuleItems> 279 288 <Type>1</Type> … … 330 339 <Rule> 331 340 <Name>Expression</Name> 332 <RuleItems> 333 <Type>0</Type> 334 </RuleItems> 335 </Rule> 336 <Rule> 337 <Name>VariableRef</Name> 338 <RuleItems> 339 <Type>0</Type> 341 <CreateSourceNode>-1</CreateSourceNode> 342 <RuleItems> 343 <Type>0</Type> 344 <RuleItem> 345 <Type>1</Type> 346 <Optional>0</Optional> 347 <Repetitive>0</Repetitive> 348 <NonTerminal>Term</NonTerminal> 349 </RuleItem> 350 </RuleItems> 351 </Rule> 352 <Rule> 353 <Name>VariableReference</Name> 354 <CreateSourceNode>0</CreateSourceNode> 355 <RuleItems> 356 <Type>0</Type> 357 <RuleItem> 358 <Type>1</Type> 359 <Optional>0</Optional> 360 <Repetitive>0</Repetitive> 361 <NonTerminal>Identifier</NonTerminal> 362 </RuleItem> 340 363 </RuleItems> 341 364 </Rule> 342 365 <Rule> 343 366 <Name>Program</Name> 367 <CreateSourceNode>-1</CreateSourceNode> 344 368 <RuleItems> 345 369 <Type>0</Type> … … 372 396 <RuleItem> 373 397 <Type>1</Type> 398 <Optional>-1</Optional> 399 <Repetitive>0</Repetitive> 400 <NonTerminal>Uses</NonTerminal> 401 </RuleItem> 402 <RuleItem> 403 <Type>1</Type> 404 <Optional>0</Optional> 405 <Repetitive>0</Repetitive> 406 <NonTerminal>DeclarationBlock</NonTerminal> 407 </RuleItem> 408 <RuleItem> 409 <Type>0</Type> 410 <Optional>0</Optional> 411 <Repetitive>0</Repetitive> 412 <Terminal>.</Terminal> 413 </RuleItem> 414 </RuleItems> 415 </Rule> 416 <Rule> 417 <Name>Uses</Name> 418 <CreateSourceNode>0</CreateSourceNode> 419 <RuleItems> 420 <Type>0</Type> 421 <RuleItem> 422 <Type>0</Type> 423 <Optional>0</Optional> 424 <Repetitive>0</Repetitive> 425 <Terminal>uses</Terminal> 426 </RuleItem> 427 <RuleItem> 428 <Type>1</Type> 429 <Optional>0</Optional> 430 <Repetitive>0</Repetitive> 431 <NonTerminal>UnitReference</NonTerminal> 432 </RuleItem> 433 <RuleItem> 434 <Type>0</Type> 435 <Optional>0</Optional> 436 <Repetitive>0</Repetitive> 437 <Terminal>,</Terminal> 438 </RuleItem> 439 </RuleItems> 440 </Rule> 441 <Rule> 442 <Name>UnitName</Name> 443 <CreateSourceNode>0</CreateSourceNode> 444 <RuleItems> 445 <Type>0</Type> 446 <RuleItem> 447 <Type>1</Type> 448 <Optional>0</Optional> 449 <Repetitive>0</Repetitive> 450 <NonTerminal>Identifier</NonTerminal> 451 </RuleItem> 452 </RuleItems> 453 </Rule> 454 <Rule> 455 <Name>Function</Name> 456 <CreateSourceNode>-1</CreateSourceNode> 457 <RuleItems> 458 <Type>0</Type> 459 <RuleItem> 460 <Type>0</Type> 461 <Optional>0</Optional> 462 <Repetitive>0</Repetitive> 463 <Terminal>function</Terminal> 464 </RuleItem> 465 <RuleItem> 466 <Type>1</Type> 467 <Optional>0</Optional> 468 <Repetitive>0</Repetitive> 469 <NonTerminal>FunctionName</NonTerminal> 470 </RuleItem> 471 <RuleItem> 472 <Type>1</Type> 473 <Optional>-1</Optional> 474 <Repetitive>0</Repetitive> 475 <NonTerminal>FunctionParameters</NonTerminal> 476 </RuleItem> 477 <RuleItem> 478 <Type>0</Type> 479 <Optional>0</Optional> 480 <Repetitive>0</Repetitive> 481 <Terminal>:</Terminal> 482 </RuleItem> 483 <RuleItem> 484 <Type>1</Type> 485 <Optional>0</Optional> 486 <Repetitive>0</Repetitive> 487 <NonTerminal>TypeReference</NonTerminal> 488 </RuleItem> 489 <RuleItem> 490 <Type>0</Type> 491 <Optional>0</Optional> 492 <Repetitive>0</Repetitive> 493 <Terminal>;</Terminal> 494 </RuleItem> 495 <RuleItem> 496 <Type>1</Type> 374 497 <Optional>0</Optional> 375 498 <Repetitive>0</Repetitive> … … 380 503 <Optional>0</Optional> 381 504 <Repetitive>0</Repetitive> 382 <Terminal>.</Terminal> 383 </RuleItem> 384 </RuleItems> 385 </Rule> 386 <Rule> 387 <Name>Uses</Name> 388 <RuleItems> 389 <Type>0</Type> 390 <RuleItem> 391 <Type>0</Type> 392 <Optional>0</Optional> 393 <Repetitive>0</Repetitive> 394 <Terminal>uses</Terminal> 395 </RuleItem> 396 <RuleItem> 397 <Type>1</Type> 398 <Optional>0</Optional> 399 <Repetitive>0</Repetitive> 400 <NonTerminal>UnitReference</NonTerminal> 401 </RuleItem> 402 <RuleItem> 403 <Type>0</Type> 404 <Optional>0</Optional> 405 <Repetitive>0</Repetitive> 406 <Terminal>,</Terminal> 407 </RuleItem> 408 </RuleItems> 409 </Rule> 410 <Rule> 411 <Name>UnitName</Name> 412 <RuleItems> 413 <Type>0</Type> 414 </RuleItems> 415 </Rule> 416 <Rule> 417 <Name>Function</Name> 418 <RuleItems> 419 <Type>0</Type> 420 <RuleItem> 421 <Type>0</Type> 422 <Optional>0</Optional> 423 <Repetitive>0</Repetitive> 424 <Terminal>function</Terminal> 425 </RuleItem> 426 <RuleItem> 427 <Type>1</Type> 428 <Optional>0</Optional> 429 <Repetitive>0</Repetitive> 430 <NonTerminal>FunctionName</NonTerminal> 431 </RuleItem> 432 <RuleItem> 433 <Type>1</Type> 505 <Terminal>;</Terminal> 506 </RuleItem> 507 </RuleItems> 508 </Rule> 509 <Rule> 510 <Name>Identifier</Name> 511 <CreateSourceNode>0</CreateSourceNode> 512 <RuleItems> 513 <Type>0</Type> 514 <RuleItem> 515 <Type>1</Type> 516 <Optional>0</Optional> 517 <Repetitive>0</Repetitive> 518 <NonTerminal>Letter</NonTerminal> 519 </RuleItem> 520 <RuleItem> 521 <Type>2</Type> 434 522 <Optional>-1</Optional> 435 <Repetitive>0</Repetitive> 436 <NonTerminal>FunctionParameters</NonTerminal> 437 </RuleItem> 438 <RuleItem> 439 <Type>0</Type> 440 <Optional>0</Optional> 441 <Repetitive>0</Repetitive> 442 <Terminal>:</Terminal> 443 </RuleItem> 444 <RuleItem> 445 <Type>1</Type> 446 <Optional>0</Optional> 447 <Repetitive>0</Repetitive> 448 <NonTerminal>TypeReference</NonTerminal> 449 </RuleItem> 450 <RuleItem> 451 <Type>0</Type> 452 <Optional>0</Optional> 453 <Repetitive>0</Repetitive> 454 <Terminal>;</Terminal> 455 </RuleItem> 456 <RuleItem> 457 <Type>1</Type> 458 <Optional>0</Optional> 459 <Repetitive>0</Repetitive> 460 <NonTerminal>BeginEnd</NonTerminal> 461 </RuleItem> 462 <RuleItem> 463 <Type>0</Type> 464 <Optional>0</Optional> 465 <Repetitive>0</Repetitive> 466 <Terminal>;</Terminal> 467 </RuleItem> 468 </RuleItems> 469 </Rule> 470 <Rule> 471 <Name>Identifier</Name> 472 <RuleItems> 473 <Type>0</Type> 523 <Repetitive>-1</Repetitive> 524 <SubItems> 525 <Type>1</Type> 526 <RuleItem> 527 <Type>1</Type> 528 <Optional>0</Optional> 529 <Repetitive>0</Repetitive> 530 <NonTerminal>Letter</NonTerminal> 531 </RuleItem> 532 <RuleItem> 533 <Type>1</Type> 534 <Optional>0</Optional> 535 <Repetitive>0</Repetitive> 536 <NonTerminal>Digit</NonTerminal> 537 </RuleItem> 538 <RuleItem> 539 <Type>0</Type> 540 <Optional>0</Optional> 541 <Repetitive>0</Repetitive> 542 <Terminal>_</Terminal> 543 </RuleItem> 544 </SubItems> 545 </RuleItem> 474 546 </RuleItems> 475 547 </Rule> 476 548 <Rule> 477 549 <Name>VarSection</Name> 550 <CreateSourceNode>0</CreateSourceNode> 478 551 <RuleItems> 479 552 <Type>0</Type> … … 494 567 <Rule> 495 568 <Name>FunctionParameters</Name> 569 <CreateSourceNode>0</CreateSourceNode> 496 570 <RuleItems> 497 571 <Type>0</Type> … … 518 592 <Optional>0</Optional> 519 593 <Repetitive>0</Repetitive> 520 <Terminal> ,</Terminal>594 <Terminal>;</Terminal> 521 595 </RuleItem> 522 596 <RuleItem> … … 538 612 <Rule> 539 613 <Name>FunctionParameter</Name> 540 <RuleItems> 541 <Type>0</Type> 614 <CreateSourceNode>0</CreateSourceNode> 615 <RuleItems> 616 <Type>0</Type> 617 <RuleItem> 618 <Type>1</Type> 619 <Optional>0</Optional> 620 <Repetitive>0</Repetitive> 621 <NonTerminal>ParameterName</NonTerminal> 622 </RuleItem> 623 <RuleItem> 624 <Type>0</Type> 625 <Optional>0</Optional> 626 <Repetitive>0</Repetitive> 627 <Terminal>:</Terminal> 628 </RuleItem> 629 <RuleItem> 630 <Type>1</Type> 631 <Optional>0</Optional> 632 <Repetitive>0</Repetitive> 633 <NonTerminal>TypeReference</NonTerminal> 634 </RuleItem> 542 635 </RuleItems> 543 636 </Rule> 544 637 <Rule> 545 638 <Name>VariableDefinition</Name> 639 <CreateSourceNode>0</CreateSourceNode> 546 640 <RuleItems> 547 641 <Type>0</Type> … … 574 668 <Rule> 575 669 <Name>TypeReference</Name> 576 <RuleItems> 577 <Type>0</Type> 670 <CreateSourceNode>0</CreateSourceNode> 671 <RuleItems> 672 <Type>0</Type> 673 <RuleItem> 674 <Type>1</Type> 675 <Optional>0</Optional> 676 <Repetitive>0</Repetitive> 677 <NonTerminal>Identifier</NonTerminal> 678 </RuleItem> 578 679 </RuleItems> 579 680 </Rule> 580 681 <Rule> 581 682 <Name>VariableName</Name> 582 <RuleItems> 583 <Type>0</Type> 683 <CreateSourceNode>0</CreateSourceNode> 684 <RuleItems> 685 <Type>0</Type> 686 <RuleItem> 687 <Type>1</Type> 688 <Optional>0</Optional> 689 <Repetitive>0</Repetitive> 690 <NonTerminal>Identifier</NonTerminal> 691 </RuleItem> 584 692 </RuleItems> 585 693 </Rule> 586 694 <Rule> 587 695 <Name>Unit</Name> 696 <CreateSourceNode>-1</CreateSourceNode> 588 697 <RuleItems> 589 698 <Type>0</Type> … … 606 715 <Terminal>;</Terminal> 607 716 </RuleItem> 717 <RuleItem> 718 <Type>1</Type> 719 <Optional>-1</Optional> 720 <Repetitive>0</Repetitive> 721 <NonTerminal>Uses</NonTerminal> 722 </RuleItem> 608 723 </RuleItems> 609 724 </Rule> 610 725 <Rule> 611 726 <Name>UnitReference</Name> 612 <RuleItems> 613 <Type>0</Type> 727 <CreateSourceNode>0</CreateSourceNode> 728 <RuleItems> 729 <Type>0</Type> 730 <RuleItem> 731 <Type>1</Type> 732 <Optional>0</Optional> 733 <Repetitive>0</Repetitive> 734 <NonTerminal>Identifier</NonTerminal> 735 </RuleItem> 614 736 </RuleItems> 615 737 </Rule> 616 738 <Rule> 617 739 <Name>ForInDo</Name> 740 <CreateSourceNode>-1</CreateSourceNode> 618 741 <RuleItems> 619 742 <Type>0</Type> … … 628 751 <Optional>0</Optional> 629 752 <Repetitive>0</Repetitive> 630 <NonTerminal>VariableRef </NonTerminal>753 <NonTerminal>VariableReference</NonTerminal> 631 754 </RuleItem> 632 755 <RuleItem> … … 658 781 <Rule> 659 782 <Name>TypeRecord</Name> 783 <CreateSourceNode>-1</CreateSourceNode> 660 784 <RuleItems> 661 785 <Type>0</Type> … … 708 832 <Rule> 709 833 <Name>ProgramName</Name> 710 <RuleItems> 711 <Type>0</Type> 834 <CreateSourceNode>0</CreateSourceNode> 835 <RuleItems> 836 <Type>0</Type> 837 <RuleItem> 838 <Type>1</Type> 839 <Optional>0</Optional> 840 <Repetitive>0</Repetitive> 841 <NonTerminal>Identifier</NonTerminal> 842 </RuleItem> 712 843 </RuleItems> 713 844 </Rule> 714 845 <Rule> 715 846 <Name>FunctionName</Name> 716 <RuleItems> 717 <Type>0</Type> 847 <CreateSourceNode>0</CreateSourceNode> 848 <RuleItems> 849 <Type>0</Type> 850 <RuleItem> 851 <Type>1</Type> 852 <Optional>0</Optional> 853 <Repetitive>0</Repetitive> 854 <NonTerminal>Identifier</NonTerminal> 855 </RuleItem> 856 </RuleItems> 857 </Rule> 858 <Rule> 859 <Name>Digit</Name> 860 <CreateSourceNode>0</CreateSourceNode> 861 <RuleItems> 862 <Type>1</Type> 863 <RuleItem> 864 <Type>0</Type> 865 <Optional>0</Optional> 866 <Repetitive>0</Repetitive> 867 <Terminal>0</Terminal> 868 </RuleItem> 869 <RuleItem> 870 <Type>0</Type> 871 <Optional>0</Optional> 872 <Repetitive>0</Repetitive> 873 <Terminal>1</Terminal> 874 </RuleItem> 875 <RuleItem> 876 <Type>0</Type> 877 <Optional>0</Optional> 878 <Repetitive>0</Repetitive> 879 <Terminal>2</Terminal> 880 </RuleItem> 881 <RuleItem> 882 <Type>0</Type> 883 <Optional>0</Optional> 884 <Repetitive>0</Repetitive> 885 <Terminal>3</Terminal> 886 </RuleItem> 887 <RuleItem> 888 <Type>0</Type> 889 <Optional>0</Optional> 890 <Repetitive>0</Repetitive> 891 <Terminal>4</Terminal> 892 </RuleItem> 893 <RuleItem> 894 <Type>0</Type> 895 <Optional>0</Optional> 896 <Repetitive>0</Repetitive> 897 <Terminal>5</Terminal> 898 </RuleItem> 899 <RuleItem> 900 <Type>0</Type> 901 <Optional>0</Optional> 902 <Repetitive>0</Repetitive> 903 <Terminal>6</Terminal> 904 </RuleItem> 905 <RuleItem> 906 <Type>0</Type> 907 <Optional>0</Optional> 908 <Repetitive>0</Repetitive> 909 <Terminal>7</Terminal> 910 </RuleItem> 911 <RuleItem> 912 <Type>0</Type> 913 <Optional>0</Optional> 914 <Repetitive>0</Repetitive> 915 <Terminal>8</Terminal> 916 </RuleItem> 917 <RuleItem> 918 <Type>0</Type> 919 <Optional>0</Optional> 920 <Repetitive>0</Repetitive> 921 <Terminal>9</Terminal> 922 </RuleItem> 923 </RuleItems> 924 </Rule> 925 <Rule> 926 <Name>Sign</Name> 927 <CreateSourceNode>0</CreateSourceNode> 928 <RuleItems> 929 <Type>1</Type> 930 <RuleItem> 931 <Type>0</Type> 932 <Optional>0</Optional> 933 <Repetitive>0</Repetitive> 934 <Terminal>+</Terminal> 935 </RuleItem> 936 <RuleItem> 937 <Type>0</Type> 938 <Optional>0</Optional> 939 <Repetitive>0</Repetitive> 940 <Terminal>-</Terminal> 941 </RuleItem> 942 </RuleItems> 943 </Rule> 944 <Rule> 945 <Name>UnsignedDigitSequence</Name> 946 <CreateSourceNode>0</CreateSourceNode> 947 <RuleItems> 948 <Type>0</Type> 949 <RuleItem> 950 <Type>1</Type> 951 <Optional>0</Optional> 952 <Repetitive>0</Repetitive> 953 <NonTerminal>Digit</NonTerminal> 954 </RuleItem> 955 <RuleItem> 956 <Type>1</Type> 957 <Optional>-1</Optional> 958 <Repetitive>-1</Repetitive> 959 <NonTerminal>Digit</NonTerminal> 960 </RuleItem> 961 </RuleItems> 962 </Rule> 963 <Rule> 964 <Name>DigitSequence</Name> 965 <CreateSourceNode>0</CreateSourceNode> 966 <RuleItems> 967 <Type>0</Type> 968 <RuleItem> 969 <Type>1</Type> 970 <Optional>-1</Optional> 971 <Repetitive>0</Repetitive> 972 <NonTerminal>Sign</NonTerminal> 973 </RuleItem> 974 <RuleItem> 975 <Type>1</Type> 976 <Optional>0</Optional> 977 <Repetitive>0</Repetitive> 978 <NonTerminal>UnsignedDigitSequence</NonTerminal> 979 </RuleItem> 980 </RuleItems> 981 </Rule> 982 <Rule> 983 <Name>RealNumber</Name> 984 <CreateSourceNode>0</CreateSourceNode> 985 <RuleItems> 986 <Type>0</Type> 987 <RuleItem> 988 <Type>1</Type> 989 <Optional>0</Optional> 990 <Repetitive>0</Repetitive> 991 <NonTerminal>DigitSequence</NonTerminal> 992 </RuleItem> 993 <RuleItem> 994 <Type>0</Type> 995 <Optional>0</Optional> 996 <Repetitive>0</Repetitive> 997 <Terminal>.</Terminal> 998 </RuleItem> 999 <RuleItem> 1000 <Type>1</Type> 1001 <Optional>0</Optional> 1002 <Repetitive>0</Repetitive> 1003 <NonTerminal>UnsignedDigitSequence</NonTerminal> 1004 </RuleItem> 1005 </RuleItems> 1006 </Rule> 1007 <Rule> 1008 <Name>IntegerNumber</Name> 1009 <CreateSourceNode>0</CreateSourceNode> 1010 <RuleItems> 1011 <Type>0</Type> 1012 <RuleItem> 1013 <Type>1</Type> 1014 <Optional>0</Optional> 1015 <Repetitive>0</Repetitive> 1016 <NonTerminal>DigitSequence</NonTerminal> 1017 </RuleItem> 1018 </RuleItems> 1019 </Rule> 1020 <Rule> 1021 <Name>Number</Name> 1022 <CreateSourceNode>0</CreateSourceNode> 1023 <RuleItems> 1024 <Type>1</Type> 1025 <RuleItem> 1026 <Type>1</Type> 1027 <Optional>0</Optional> 1028 <Repetitive>0</Repetitive> 1029 <NonTerminal>IntegerNumber</NonTerminal> 1030 </RuleItem> 1031 <RuleItem> 1032 <Type>1</Type> 1033 <Optional>0</Optional> 1034 <Repetitive>0</Repetitive> 1035 <NonTerminal>RealNumber</NonTerminal> 1036 </RuleItem> 1037 </RuleItems> 1038 </Rule> 1039 <Rule> 1040 <Name>Letter</Name> 1041 <CreateSourceNode>0</CreateSourceNode> 1042 <RuleItems> 1043 <Type>1</Type> 1044 <RuleItem> 1045 <Type>0</Type> 1046 <Optional>0</Optional> 1047 <Repetitive>0</Repetitive> 1048 <Terminal>a</Terminal> 1049 </RuleItem> 1050 <RuleItem> 1051 <Type>0</Type> 1052 <Optional>0</Optional> 1053 <Repetitive>0</Repetitive> 1054 <Terminal>b</Terminal> 1055 </RuleItem> 1056 <RuleItem> 1057 <Type>0</Type> 1058 <Optional>0</Optional> 1059 <Repetitive>0</Repetitive> 1060 <Terminal>c</Terminal> 1061 </RuleItem> 1062 <RuleItem> 1063 <Type>0</Type> 1064 <Optional>0</Optional> 1065 <Repetitive>0</Repetitive> 1066 <Terminal>d</Terminal> 1067 </RuleItem> 1068 <RuleItem> 1069 <Type>0</Type> 1070 <Optional>0</Optional> 1071 <Repetitive>0</Repetitive> 1072 <Terminal>e</Terminal> 1073 </RuleItem> 1074 <RuleItem> 1075 <Type>0</Type> 1076 <Optional>0</Optional> 1077 <Repetitive>0</Repetitive> 1078 <Terminal>f</Terminal> 1079 </RuleItem> 1080 <RuleItem> 1081 <Type>0</Type> 1082 <Optional>0</Optional> 1083 <Repetitive>0</Repetitive> 1084 <Terminal>g</Terminal> 1085 </RuleItem> 1086 <RuleItem> 1087 <Type>0</Type> 1088 <Optional>0</Optional> 1089 <Repetitive>0</Repetitive> 1090 <Terminal>h</Terminal> 1091 </RuleItem> 1092 <RuleItem> 1093 <Type>0</Type> 1094 <Optional>0</Optional> 1095 <Repetitive>0</Repetitive> 1096 <Terminal>i</Terminal> 1097 </RuleItem> 1098 <RuleItem> 1099 <Type>0</Type> 1100 <Optional>0</Optional> 1101 <Repetitive>0</Repetitive> 1102 <Terminal>j</Terminal> 1103 </RuleItem> 1104 <RuleItem> 1105 <Type>0</Type> 1106 <Optional>0</Optional> 1107 <Repetitive>0</Repetitive> 1108 <Terminal>k</Terminal> 1109 </RuleItem> 1110 <RuleItem> 1111 <Type>0</Type> 1112 <Optional>0</Optional> 1113 <Repetitive>0</Repetitive> 1114 <Terminal>l</Terminal> 1115 </RuleItem> 1116 <RuleItem> 1117 <Type>0</Type> 1118 <Optional>0</Optional> 1119 <Repetitive>0</Repetitive> 1120 <Terminal>m</Terminal> 1121 </RuleItem> 1122 <RuleItem> 1123 <Type>0</Type> 1124 <Optional>0</Optional> 1125 <Repetitive>0</Repetitive> 1126 <Terminal>n</Terminal> 1127 </RuleItem> 1128 <RuleItem> 1129 <Type>0</Type> 1130 <Optional>0</Optional> 1131 <Repetitive>0</Repetitive> 1132 <Terminal>o</Terminal> 1133 </RuleItem> 1134 <RuleItem> 1135 <Type>0</Type> 1136 <Optional>0</Optional> 1137 <Repetitive>0</Repetitive> 1138 <Terminal>p</Terminal> 1139 </RuleItem> 1140 <RuleItem> 1141 <Type>0</Type> 1142 <Optional>0</Optional> 1143 <Repetitive>0</Repetitive> 1144 <Terminal>q</Terminal> 1145 </RuleItem> 1146 <RuleItem> 1147 <Type>0</Type> 1148 <Optional>0</Optional> 1149 <Repetitive>0</Repetitive> 1150 <Terminal>r</Terminal> 1151 </RuleItem> 1152 <RuleItem> 1153 <Type>0</Type> 1154 <Optional>0</Optional> 1155 <Repetitive>0</Repetitive> 1156 <Terminal>s</Terminal> 1157 </RuleItem> 1158 <RuleItem> 1159 <Type>0</Type> 1160 <Optional>0</Optional> 1161 <Repetitive>0</Repetitive> 1162 <Terminal>t</Terminal> 1163 </RuleItem> 1164 <RuleItem> 1165 <Type>0</Type> 1166 <Optional>0</Optional> 1167 <Repetitive>0</Repetitive> 1168 <Terminal>u</Terminal> 1169 </RuleItem> 1170 <RuleItem> 1171 <Type>0</Type> 1172 <Optional>0</Optional> 1173 <Repetitive>0</Repetitive> 1174 <Terminal>v</Terminal> 1175 </RuleItem> 1176 <RuleItem> 1177 <Type>0</Type> 1178 <Optional>0</Optional> 1179 <Repetitive>0</Repetitive> 1180 <Terminal>w</Terminal> 1181 </RuleItem> 1182 <RuleItem> 1183 <Type>0</Type> 1184 <Optional>0</Optional> 1185 <Repetitive>0</Repetitive> 1186 <Terminal>x</Terminal> 1187 </RuleItem> 1188 <RuleItem> 1189 <Type>0</Type> 1190 <Optional>0</Optional> 1191 <Repetitive>0</Repetitive> 1192 <Terminal>y</Terminal> 1193 </RuleItem> 1194 <RuleItem> 1195 <Type>0</Type> 1196 <Optional>0</Optional> 1197 <Repetitive>0</Repetitive> 1198 <Terminal>z</Terminal> 1199 </RuleItem> 1200 </RuleItems> 1201 </Rule> 1202 <Rule> 1203 <Name>ConstSection</Name> 1204 <CreateSourceNode>0</CreateSourceNode> 1205 <RuleItems> 1206 <Type>0</Type> 1207 <RuleItem> 1208 <Type>0</Type> 1209 <Optional>0</Optional> 1210 <Repetitive>0</Repetitive> 1211 <Terminal>const</Terminal> 1212 </RuleItem> 1213 </RuleItems> 1214 </Rule> 1215 <Rule> 1216 <Name>Declaration</Name> 1217 <CreateSourceNode>0</CreateSourceNode> 1218 <RuleItems> 1219 <Type>1</Type> 1220 <RuleItem> 1221 <Type>1</Type> 1222 <Optional>0</Optional> 1223 <Repetitive>0</Repetitive> 1224 <NonTerminal>VarSection</NonTerminal> 1225 </RuleItem> 1226 <RuleItem> 1227 <Type>1</Type> 1228 <Optional>0</Optional> 1229 <Repetitive>0</Repetitive> 1230 <NonTerminal>ConstSection</NonTerminal> 1231 </RuleItem> 1232 <RuleItem> 1233 <Type>1</Type> 1234 <Optional>0</Optional> 1235 <Repetitive>0</Repetitive> 1236 <NonTerminal>TypeSection</NonTerminal> 1237 </RuleItem> 1238 </RuleItems> 1239 </Rule> 1240 <Rule> 1241 <Name>TypeSection</Name> 1242 <CreateSourceNode>0</CreateSourceNode> 1243 <RuleItems> 1244 <Type>0</Type> 1245 <RuleItem> 1246 <Type>0</Type> 1247 <Optional>0</Optional> 1248 <Repetitive>0</Repetitive> 1249 <Terminal>type</Terminal> 1250 </RuleItem> 1251 </RuleItems> 1252 </Rule> 1253 <Rule> 1254 <Name>DeclarationBlock</Name> 1255 <CreateSourceNode>0</CreateSourceNode> 1256 <RuleItems> 1257 <Type>0</Type> 1258 <RuleItem> 1259 <Type>1</Type> 1260 <Optional>-1</Optional> 1261 <Repetitive>-1</Repetitive> 1262 <NonTerminal>Declaration</NonTerminal> 1263 </RuleItem> 1264 <RuleItem> 1265 <Type>1</Type> 1266 <Optional>0</Optional> 1267 <Repetitive>0</Repetitive> 1268 <NonTerminal>BeginEnd</NonTerminal> 1269 </RuleItem> 1270 </RuleItems> 1271 </Rule> 1272 <Rule> 1273 <Name>ConstDefinition</Name> 1274 <CreateSourceNode>0</CreateSourceNode> 1275 <RuleItems> 1276 <Type>0</Type> 1277 <RuleItem> 1278 <Type>1</Type> 1279 <Optional>0</Optional> 1280 <Repetitive>0</Repetitive> 1281 <NonTerminal>ConstName</NonTerminal> 1282 </RuleItem> 1283 <RuleItem> 1284 <Type>0</Type> 1285 <Optional>0</Optional> 1286 <Repetitive>0</Repetitive> 1287 <Terminal>:</Terminal> 1288 </RuleItem> 1289 <RuleItem> 1290 <Type>1</Type> 1291 <Optional>0</Optional> 1292 <Repetitive>0</Repetitive> 1293 <NonTerminal>TypeReference</NonTerminal> 1294 </RuleItem> 1295 <RuleItem> 1296 <Type>0</Type> 1297 <Optional>0</Optional> 1298 <Repetitive>0</Repetitive> 1299 <Terminal>=</Terminal> 1300 </RuleItem> 1301 <RuleItem> 1302 <Type>0</Type> 1303 <Optional>0</Optional> 1304 <Repetitive>0</Repetitive> 1305 <Terminal>;</Terminal> 1306 </RuleItem> 1307 </RuleItems> 1308 </Rule> 1309 <Rule> 1310 <Name>ConstName</Name> 1311 <CreateSourceNode>0</CreateSourceNode> 1312 <RuleItems> 1313 <Type>0</Type> 1314 </RuleItems> 1315 </Rule> 1316 <Rule> 1317 <Name>Term</Name> 1318 <CreateSourceNode>0</CreateSourceNode> 1319 <RuleItems> 1320 <Type>0</Type> 1321 <RuleItem> 1322 <Type>1</Type> 1323 <Optional>0</Optional> 1324 <Repetitive>0</Repetitive> 1325 <NonTerminal>Factor</NonTerminal> 1326 </RuleItem> 1327 <RuleItem> 1328 <Type>2</Type> 1329 <Optional>-1</Optional> 1330 <Repetitive>-1</Repetitive> 1331 <SubItems> 1332 <Type>0</Type> 1333 <RuleItem> 1334 <Type>1</Type> 1335 <Optional>0</Optional> 1336 <Repetitive>0</Repetitive> 1337 <NonTerminal>Factor</NonTerminal> 1338 </RuleItem> 1339 <RuleItem> 1340 <Type>1</Type> 1341 <Optional>0</Optional> 1342 <Repetitive>0</Repetitive> 1343 <NonTerminal>Operator</NonTerminal> 1344 </RuleItem> 1345 </SubItems> 1346 </RuleItem> 1347 </RuleItems> 1348 </Rule> 1349 <Rule> 1350 <Name>Factor</Name> 1351 <CreateSourceNode>0</CreateSourceNode> 1352 <RuleItems> 1353 <Type>1</Type> 1354 <RuleItem> 1355 <Type>1</Type> 1356 <Optional>0</Optional> 1357 <Repetitive>0</Repetitive> 1358 <NonTerminal>VariableReference</NonTerminal> 1359 </RuleItem> 1360 <RuleItem> 1361 <Type>1</Type> 1362 <Optional>0</Optional> 1363 <Repetitive>0</Repetitive> 1364 <NonTerminal>ConstReference</NonTerminal> 1365 </RuleItem> 1366 <RuleItem> 1367 <Type>2</Type> 1368 <Optional>0</Optional> 1369 <Repetitive>0</Repetitive> 1370 <SubItems> 1371 <Type>0</Type> 1372 <RuleItem> 1373 <Type>0</Type> 1374 <Optional>0</Optional> 1375 <Repetitive>0</Repetitive> 1376 <Terminal>(</Terminal> 1377 </RuleItem> 1378 <RuleItem> 1379 <Type>1</Type> 1380 <Optional>0</Optional> 1381 <Repetitive>0</Repetitive> 1382 <NonTerminal>Expression</NonTerminal> 1383 </RuleItem> 1384 <RuleItem> 1385 <Type>0</Type> 1386 <Optional>0</Optional> 1387 <Repetitive>0</Repetitive> 1388 <Terminal>)</Terminal> 1389 </RuleItem> 1390 </SubItems> 1391 </RuleItem> 1392 <RuleItem> 1393 <Type>1</Type> 1394 <Optional>0</Optional> 1395 <Repetitive>0</Repetitive> 1396 <NonTerminal>Number</NonTerminal> 1397 </RuleItem> 1398 <RuleItem> 1399 <Type>1</Type> 1400 <Optional>0</Optional> 1401 <Repetitive>0</Repetitive> 1402 <NonTerminal>String</NonTerminal> 1403 </RuleItem> 1404 </RuleItems> 1405 </Rule> 1406 <Rule> 1407 <Name>Operator</Name> 1408 <CreateSourceNode>0</CreateSourceNode> 1409 <RuleItems> 1410 <Type>1</Type> 1411 <RuleItem> 1412 <Type>0</Type> 1413 <Optional>0</Optional> 1414 <Repetitive>0</Repetitive> 1415 <Terminal><</Terminal> 1416 </RuleItem> 1417 <RuleItem> 1418 <Type>0</Type> 1419 <Optional>0</Optional> 1420 <Repetitive>0</Repetitive> 1421 <Terminal>></Terminal> 1422 </RuleItem> 1423 <RuleItem> 1424 <Type>0</Type> 1425 <Optional>0</Optional> 1426 <Repetitive>0</Repetitive> 1427 <Terminal><=</Terminal> 1428 </RuleItem> 1429 <RuleItem> 1430 <Type>0</Type> 1431 <Optional>0</Optional> 1432 <Repetitive>0</Repetitive> 1433 <Terminal>>=</Terminal> 1434 </RuleItem> 1435 <RuleItem> 1436 <Type>0</Type> 1437 <Optional>0</Optional> 1438 <Repetitive>0</Repetitive> 1439 <Terminal>=</Terminal> 1440 </RuleItem> 1441 <RuleItem> 1442 <Type>0</Type> 1443 <Optional>0</Optional> 1444 <Repetitive>0</Repetitive> 1445 <Terminal><></Terminal> 1446 </RuleItem> 1447 <RuleItem> 1448 <Type>0</Type> 1449 <Optional>0</Optional> 1450 <Repetitive>0</Repetitive> 1451 <Terminal>+</Terminal> 1452 </RuleItem> 1453 <RuleItem> 1454 <Type>0</Type> 1455 <Optional>0</Optional> 1456 <Repetitive>0</Repetitive> 1457 <Terminal>-</Terminal> 1458 </RuleItem> 1459 <RuleItem> 1460 <Type>0</Type> 1461 <Optional>0</Optional> 1462 <Repetitive>0</Repetitive> 1463 <Terminal>/</Terminal> 1464 </RuleItem> 1465 <RuleItem> 1466 <Type>0</Type> 1467 <Optional>0</Optional> 1468 <Repetitive>0</Repetitive> 1469 <Terminal>*</Terminal> 1470 </RuleItem> 1471 <RuleItem> 1472 <Type>0</Type> 1473 <Optional>0</Optional> 1474 <Repetitive>0</Repetitive> 1475 <Terminal>div</Terminal> 1476 </RuleItem> 1477 <RuleItem> 1478 <Type>0</Type> 1479 <Optional>0</Optional> 1480 <Repetitive>0</Repetitive> 1481 <Terminal>+</Terminal> 1482 </RuleItem> 1483 <RuleItem> 1484 <Type>0</Type> 1485 <Optional>0</Optional> 1486 <Repetitive>0</Repetitive> 1487 <Terminal>-</Terminal> 1488 </RuleItem> 1489 </RuleItems> 1490 </Rule> 1491 <Rule> 1492 <Name>ConstReference</Name> 1493 <CreateSourceNode>0</CreateSourceNode> 1494 <RuleItems> 1495 <Type>0</Type> 1496 <RuleItem> 1497 <Type>1</Type> 1498 <Optional>0</Optional> 1499 <Repetitive>0</Repetitive> 1500 <NonTerminal>Identifier</NonTerminal> 1501 </RuleItem> 1502 </RuleItems> 1503 </Rule> 1504 <Rule> 1505 <Name>String</Name> 1506 <CreateSourceNode>0</CreateSourceNode> 1507 <RuleItems> 1508 <Type>0</Type> 1509 <RuleItem> 1510 <Type>0</Type> 1511 <Optional>0</Optional> 1512 <Repetitive>0</Repetitive> 1513 <Terminal>'</Terminal> 1514 </RuleItem> 1515 <RuleItem> 1516 <Type>1</Type> 1517 <Optional>-1</Optional> 1518 <Repetitive>-1</Repetitive> 1519 <NonTerminal>StringCharacter</NonTerminal> 1520 </RuleItem> 1521 <RuleItem> 1522 <Type>0</Type> 1523 <Optional>0</Optional> 1524 <Repetitive>0</Repetitive> 1525 <Terminal>'</Terminal> 1526 </RuleItem> 1527 </RuleItems> 1528 </Rule> 1529 <Rule> 1530 <Name>StringCharacter</Name> 1531 <CreateSourceNode>0</CreateSourceNode> 1532 <RuleItems> 1533 <Type>0</Type> 1534 </RuleItems> 1535 </Rule> 1536 <Rule> 1537 <Name>ParameterName</Name> 1538 <CreateSourceNode>0</CreateSourceNode> 1539 <RuleItems> 1540 <Type>0</Type> 1541 <RuleItem> 1542 <Type>1</Type> 1543 <Optional>0</Optional> 1544 <Repetitive>0</Repetitive> 1545 <NonTerminal>Identifier</NonTerminal> 1546 </RuleItem> 718 1547 </RuleItems> 719 1548 </Rule>
Note:
See TracChangeset
for help on using the changeset viewer.