1{ 2 "name": "ocaml", 3 "word": "_identifier", 4 "rules": { 5 "compilation_unit": { 6 "type": "SEQ", 7 "members": [ 8 { 9 "type": "CHOICE", 10 "members": [ 11 { 12 "type": "SYMBOL", 13 "name": "shebang" 14 }, 15 { 16 "type": "BLANK" 17 } 18 ] 19 }, 20 { 21 "type": "CHOICE", 22 "members": [ 23 { 24 "type": "SYMBOL", 25 "name": "_structure" 26 }, 27 { 28 "type": "BLANK" 29 } 30 ] 31 } 32 ] 33 }, 34 "shebang": { 35 "type": "PATTERN", 36 "value": "#!.*" 37 }, 38 "_structure": { 39 "type": "CHOICE", 40 "members": [ 41 { 42 "type": "REPEAT1", 43 "content": { 44 "type": "STRING", 45 "value": ";;" 46 } 47 }, 48 { 49 "type": "SEQ", 50 "members": [ 51 { 52 "type": "REPEAT", 53 "content": { 54 "type": "STRING", 55 "value": ";;" 56 } 57 }, 58 { 59 "type": "CHOICE", 60 "members": [ 61 { 62 "type": "SYMBOL", 63 "name": "_structure_item_ext" 64 }, 65 { 66 "type": "SYMBOL", 67 "name": "toplevel_directive" 68 }, 69 { 70 "type": "SYMBOL", 71 "name": "expression_item" 72 } 73 ] 74 }, 75 { 76 "type": "REPEAT", 77 "content": { 78 "type": "CHOICE", 79 "members": [ 80 { 81 "type": "SEQ", 82 "members": [ 83 { 84 "type": "REPEAT", 85 "content": { 86 "type": "STRING", 87 "value": ";;" 88 } 89 }, 90 { 91 "type": "CHOICE", 92 "members": [ 93 { 94 "type": "SYMBOL", 95 "name": "_structure_item_ext" 96 }, 97 { 98 "type": "SYMBOL", 99 "name": "toplevel_directive" 100 } 101 ] 102 } 103 ] 104 }, 105 { 106 "type": "SEQ", 107 "members": [ 108 { 109 "type": "REPEAT1", 110 "content": { 111 "type": "STRING", 112 "value": ";;" 113 } 114 }, 115 { 116 "type": "SYMBOL", 117 "name": "expression_item" 118 } 119 ] 120 } 121 ] 122 } 123 }, 124 { 125 "type": "REPEAT", 126 "content": { 127 "type": "STRING", 128 "value": ";;" 129 } 130 } 131 ] 132 } 133 ] 134 }, 135 "expression_item": { 136 "type": "SEQ", 137 "members": [ 138 { 139 "type": "SYMBOL", 140 "name": "_sequence_expression_ext" 141 }, 142 { 143 "type": "REPEAT", 144 "content": { 145 "type": "SYMBOL", 146 "name": "item_attribute" 147 } 148 } 149 ] 150 }, 151 "_signature": { 152 "type": "CHOICE", 153 "members": [ 154 { 155 "type": "REPEAT1", 156 "content": { 157 "type": "STRING", 158 "value": ";;" 159 } 160 }, 161 { 162 "type": "SEQ", 163 "members": [ 164 { 165 "type": "REPEAT1", 166 "content": { 167 "type": "SEQ", 168 "members": [ 169 { 170 "type": "REPEAT", 171 "content": { 172 "type": "STRING", 173 "value": ";;" 174 } 175 }, 176 { 177 "type": "SYMBOL", 178 "name": "_signature_item_ext" 179 } 180 ] 181 } 182 }, 183 { 184 "type": "REPEAT", 185 "content": { 186 "type": "STRING", 187 "value": ";;" 188 } 189 } 190 ] 191 } 192 ] 193 }, 194 "toplevel_directive": { 195 "type": "SEQ", 196 "members": [ 197 { 198 "type": "SYMBOL", 199 "name": "directive" 200 }, 201 { 202 "type": "CHOICE", 203 "members": [ 204 { 205 "type": "CHOICE", 206 "members": [ 207 { 208 "type": "SYMBOL", 209 "name": "_constant" 210 }, 211 { 212 "type": "SYMBOL", 213 "name": "value_path" 214 }, 215 { 216 "type": "SYMBOL", 217 "name": "module_path" 218 } 219 ] 220 }, 221 { 222 "type": "BLANK" 223 } 224 ] 225 } 226 ] 227 }, 228 "_structure_item": { 229 "type": "CHOICE", 230 "members": [ 231 { 232 "type": "SYMBOL", 233 "name": "value_definition" 234 }, 235 { 236 "type": "SYMBOL", 237 "name": "external" 238 }, 239 { 240 "type": "SYMBOL", 241 "name": "type_definition" 242 }, 243 { 244 "type": "SYMBOL", 245 "name": "exception_definition" 246 }, 247 { 248 "type": "SYMBOL", 249 "name": "module_definition" 250 }, 251 { 252 "type": "SYMBOL", 253 "name": "module_type_definition" 254 }, 255 { 256 "type": "SYMBOL", 257 "name": "open_module" 258 }, 259 { 260 "type": "SYMBOL", 261 "name": "include_module" 262 }, 263 { 264 "type": "SYMBOL", 265 "name": "class_definition" 266 }, 267 { 268 "type": "SYMBOL", 269 "name": "class_type_definition" 270 }, 271 { 272 "type": "SYMBOL", 273 "name": "floating_attribute" 274 } 275 ] 276 }, 277 "_structure_item_ext": { 278 "type": "CHOICE", 279 "members": [ 280 { 281 "type": "SYMBOL", 282 "name": "_structure_item" 283 }, 284 { 285 "type": "SYMBOL", 286 "name": "_item_extension" 287 } 288 ] 289 }, 290 "value_definition": { 291 "type": "SEQ", 292 "members": [ 293 { 294 "type": "CHOICE", 295 "members": [ 296 { 297 "type": "SEQ", 298 "members": [ 299 { 300 "type": "STRING", 301 "value": "let" 302 }, 303 { 304 "type": "CHOICE", 305 "members": [ 306 { 307 "type": "SYMBOL", 308 "name": "_attribute" 309 }, 310 { 311 "type": "BLANK" 312 } 313 ] 314 }, 315 { 316 "type": "CHOICE", 317 "members": [ 318 { 319 "type": "STRING", 320 "value": "rec" 321 }, 322 { 323 "type": "BLANK" 324 } 325 ] 326 } 327 ] 328 }, 329 { 330 "type": "SYMBOL", 331 "name": "let_operator" 332 } 333 ] 334 }, 335 { 336 "type": "SEQ", 337 "members": [ 338 { 339 "type": "SYMBOL", 340 "name": "let_binding" 341 }, 342 { 343 "type": "REPEAT", 344 "content": { 345 "type": "SEQ", 346 "members": [ 347 { 348 "type": "CHOICE", 349 "members": [ 350 { 351 "type": "STRING", 352 "value": "and" 353 }, 354 { 355 "type": "SYMBOL", 356 "name": "and_operator" 357 } 358 ] 359 }, 360 { 361 "type": "SYMBOL", 362 "name": "let_binding" 363 } 364 ] 365 } 366 } 367 ] 368 } 369 ] 370 }, 371 "let_binding": { 372 "type": "PREC_RIGHT", 373 "value": 0, 374 "content": { 375 "type": "SEQ", 376 "members": [ 377 { 378 "type": "FIELD", 379 "name": "pattern", 380 "content": { 381 "type": "SYMBOL", 382 "name": "_binding_pattern_ext" 383 } 384 }, 385 { 386 "type": "CHOICE", 387 "members": [ 388 { 389 "type": "SEQ", 390 "members": [ 391 { 392 "type": "REPEAT", 393 "content": { 394 "type": "SYMBOL", 395 "name": "_parameter" 396 } 397 }, 398 { 399 "type": "CHOICE", 400 "members": [ 401 { 402 "type": "SYMBOL", 403 "name": "_polymorphic_typed" 404 }, 405 { 406 "type": "BLANK" 407 } 408 ] 409 }, 410 { 411 "type": "CHOICE", 412 "members": [ 413 { 414 "type": "SEQ", 415 "members": [ 416 { 417 "type": "STRING", 418 "value": ":>" 419 }, 420 { 421 "type": "SYMBOL", 422 "name": "_type_ext" 423 } 424 ] 425 }, 426 { 427 "type": "BLANK" 428 } 429 ] 430 }, 431 { 432 "type": "STRING", 433 "value": "=" 434 }, 435 { 436 "type": "FIELD", 437 "name": "body", 438 "content": { 439 "type": "SYMBOL", 440 "name": "_sequence_expression_ext" 441 } 442 } 443 ] 444 }, 445 { 446 "type": "BLANK" 447 } 448 ] 449 }, 450 { 451 "type": "REPEAT", 452 "content": { 453 "type": "SYMBOL", 454 "name": "item_attribute" 455 } 456 } 457 ] 458 } 459 }, 460 "_parameter": { 461 "type": "CHOICE", 462 "members": [ 463 { 464 "type": "SYMBOL", 465 "name": "parameter" 466 }, 467 { 468 "type": "ALIAS", 469 "content": { 470 "type": "SYMBOL", 471 "name": "_parenthesized_abstract_type" 472 }, 473 "named": true, 474 "value": "abstract_type" 475 } 476 ] 477 }, 478 "parameter": { 479 "type": "CHOICE", 480 "members": [ 481 { 482 "type": "FIELD", 483 "name": "pattern", 484 "content": { 485 "type": "SYMBOL", 486 "name": "_simple_pattern_ext" 487 } 488 }, 489 { 490 "type": "SEQ", 491 "members": [ 492 { 493 "type": "CHOICE", 494 "members": [ 495 { 496 "type": "STRING", 497 "value": "~" 498 }, 499 { 500 "type": "STRING", 501 "value": "?" 502 } 503 ] 504 }, 505 { 506 "type": "FIELD", 507 "name": "pattern", 508 "content": { 509 "type": "ALIAS", 510 "content": { 511 "type": "SYMBOL", 512 "name": "_identifier" 513 }, 514 "named": true, 515 "value": "value_pattern" 516 } 517 } 518 ] 519 }, 520 { 521 "type": "SEQ", 522 "members": [ 523 { 524 "type": "SYMBOL", 525 "name": "_label" 526 }, 527 { 528 "type": "IMMEDIATE_TOKEN", 529 "content": { 530 "type": "STRING", 531 "value": ":" 532 } 533 }, 534 { 535 "type": "FIELD", 536 "name": "pattern", 537 "content": { 538 "type": "SYMBOL", 539 "name": "_simple_pattern_ext" 540 } 541 } 542 ] 543 }, 544 { 545 "type": "SEQ", 546 "members": [ 547 { 548 "type": "CHOICE", 549 "members": [ 550 { 551 "type": "STRING", 552 "value": "~" 553 }, 554 { 555 "type": "STRING", 556 "value": "?" 557 } 558 ] 559 }, 560 { 561 "type": "STRING", 562 "value": "(" 563 }, 564 { 565 "type": "FIELD", 566 "name": "pattern", 567 "content": { 568 "type": "ALIAS", 569 "content": { 570 "type": "SYMBOL", 571 "name": "_identifier" 572 }, 573 "named": true, 574 "value": "value_pattern" 575 } 576 }, 577 { 578 "type": "CHOICE", 579 "members": [ 580 { 581 "type": "SYMBOL", 582 "name": "_typed" 583 }, 584 { 585 "type": "BLANK" 586 } 587 ] 588 }, 589 { 590 "type": "CHOICE", 591 "members": [ 592 { 593 "type": "SEQ", 594 "members": [ 595 { 596 "type": "STRING", 597 "value": "=" 598 }, 599 { 600 "type": "SYMBOL", 601 "name": "_sequence_expression_ext" 602 } 603 ] 604 }, 605 { 606 "type": "BLANK" 607 } 608 ] 609 }, 610 { 611 "type": "STRING", 612 "value": ")" 613 } 614 ] 615 }, 616 { 617 "type": "SEQ", 618 "members": [ 619 { 620 "type": "SYMBOL", 621 "name": "_label" 622 }, 623 { 624 "type": "IMMEDIATE_TOKEN", 625 "content": { 626 "type": "STRING", 627 "value": ":" 628 } 629 }, 630 { 631 "type": "STRING", 632 "value": "(" 633 }, 634 { 635 "type": "FIELD", 636 "name": "pattern", 637 "content": { 638 "type": "SYMBOL", 639 "name": "_pattern_ext" 640 } 641 }, 642 { 643 "type": "CHOICE", 644 "members": [ 645 { 646 "type": "SYMBOL", 647 "name": "_typed" 648 }, 649 { 650 "type": "BLANK" 651 } 652 ] 653 }, 654 { 655 "type": "SEQ", 656 "members": [ 657 { 658 "type": "STRING", 659 "value": "=" 660 }, 661 { 662 "type": "SYMBOL", 663 "name": "_sequence_expression_ext" 664 } 665 ] 666 }, 667 { 668 "type": "STRING", 669 "value": ")" 670 } 671 ] 672 } 673 ] 674 }, 675 "external": { 676 "type": "SEQ", 677 "members": [ 678 { 679 "type": "STRING", 680 "value": "external" 681 }, 682 { 683 "type": "CHOICE", 684 "members": [ 685 { 686 "type": "SYMBOL", 687 "name": "_attribute" 688 }, 689 { 690 "type": "BLANK" 691 } 692 ] 693 }, 694 { 695 "type": "SYMBOL", 696 "name": "_value_name" 697 }, 698 { 699 "type": "SYMBOL", 700 "name": "_polymorphic_typed" 701 }, 702 { 703 "type": "STRING", 704 "value": "=" 705 }, 706 { 707 "type": "REPEAT1", 708 "content": { 709 "type": "SYMBOL", 710 "name": "string" 711 } 712 }, 713 { 714 "type": "REPEAT", 715 "content": { 716 "type": "SYMBOL", 717 "name": "item_attribute" 718 } 719 } 720 ] 721 }, 722 "type_definition": { 723 "type": "SEQ", 724 "members": [ 725 { 726 "type": "STRING", 727 "value": "type" 728 }, 729 { 730 "type": "CHOICE", 731 "members": [ 732 { 733 "type": "SYMBOL", 734 "name": "_attribute" 735 }, 736 { 737 "type": "BLANK" 738 } 739 ] 740 }, 741 { 742 "type": "CHOICE", 743 "members": [ 744 { 745 "type": "STRING", 746 "value": "nonrec" 747 }, 748 { 749 "type": "BLANK" 750 } 751 ] 752 }, 753 { 754 "type": "SEQ", 755 "members": [ 756 { 757 "type": "SYMBOL", 758 "name": "type_binding" 759 }, 760 { 761 "type": "REPEAT", 762 "content": { 763 "type": "SEQ", 764 "members": [ 765 { 766 "type": "STRING", 767 "value": "and" 768 }, 769 { 770 "type": "SYMBOL", 771 "name": "type_binding" 772 } 773 ] 774 } 775 } 776 ] 777 } 778 ] 779 }, 780 "type_binding": { 781 "type": "SEQ", 782 "members": [ 783 { 784 "type": "CHOICE", 785 "members": [ 786 { 787 "type": "SYMBOL", 788 "name": "_type_params" 789 }, 790 { 791 "type": "BLANK" 792 } 793 ] 794 }, 795 { 796 "type": "CHOICE", 797 "members": [ 798 { 799 "type": "SEQ", 800 "members": [ 801 { 802 "type": "FIELD", 803 "name": "name", 804 "content": { 805 "type": "SYMBOL", 806 "name": "_type_constructor" 807 } 808 }, 809 { 810 "type": "CHOICE", 811 "members": [ 812 { 813 "type": "SYMBOL", 814 "name": "_type_equation" 815 }, 816 { 817 "type": "BLANK" 818 } 819 ] 820 }, 821 { 822 "type": "CHOICE", 823 "members": [ 824 { 825 "type": "SEQ", 826 "members": [ 827 { 828 "type": "STRING", 829 "value": "=" 830 }, 831 { 832 "type": "CHOICE", 833 "members": [ 834 { 835 "type": "STRING", 836 "value": "private" 837 }, 838 { 839 "type": "BLANK" 840 } 841 ] 842 }, 843 { 844 "type": "FIELD", 845 "name": "body", 846 "content": { 847 "type": "CHOICE", 848 "members": [ 849 { 850 "type": "SYMBOL", 851 "name": "variant_declaration" 852 }, 853 { 854 "type": "SYMBOL", 855 "name": "record_declaration" 856 }, 857 { 858 "type": "STRING", 859 "value": ".." 860 } 861 ] 862 } 863 } 864 ] 865 }, 866 { 867 "type": "BLANK" 868 } 869 ] 870 }, 871 { 872 "type": "REPEAT", 873 "content": { 874 "type": "SYMBOL", 875 "name": "type_constraint" 876 } 877 } 878 ] 879 }, 880 { 881 "type": "SEQ", 882 "members": [ 883 { 884 "type": "FIELD", 885 "name": "name", 886 "content": { 887 "type": "SYMBOL", 888 "name": "type_constructor_path" 889 } 890 }, 891 { 892 "type": "SEQ", 893 "members": [ 894 { 895 "type": "STRING", 896 "value": "+=" 897 }, 898 { 899 "type": "CHOICE", 900 "members": [ 901 { 902 "type": "STRING", 903 "value": "private" 904 }, 905 { 906 "type": "BLANK" 907 } 908 ] 909 }, 910 { 911 "type": "FIELD", 912 "name": "body", 913 "content": { 914 "type": "SYMBOL", 915 "name": "variant_declaration" 916 } 917 } 918 ] 919 } 920 ] 921 } 922 ] 923 }, 924 { 925 "type": "REPEAT", 926 "content": { 927 "type": "SYMBOL", 928 "name": "item_attribute" 929 } 930 } 931 ] 932 }, 933 "_type_params": { 934 "type": "CHOICE", 935 "members": [ 936 { 937 "type": "SYMBOL", 938 "name": "_type_param" 939 }, 940 { 941 "type": "SEQ", 942 "members": [ 943 { 944 "type": "STRING", 945 "value": "(" 946 }, 947 { 948 "type": "SEQ", 949 "members": [ 950 { 951 "type": "SYMBOL", 952 "name": "_type_param" 953 }, 954 { 955 "type": "REPEAT", 956 "content": { 957 "type": "SEQ", 958 "members": [ 959 { 960 "type": "STRING", 961 "value": "," 962 }, 963 { 964 "type": "SYMBOL", 965 "name": "_type_param" 966 } 967 ] 968 } 969 } 970 ] 971 }, 972 { 973 "type": "STRING", 974 "value": ")" 975 } 976 ] 977 } 978 ] 979 }, 980 "_type_param": { 981 "type": "SEQ", 982 "members": [ 983 { 984 "type": "CHOICE", 985 "members": [ 986 { 987 "type": "CHOICE", 988 "members": [ 989 { 990 "type": "SEQ", 991 "members": [ 992 { 993 "type": "STRING", 994 "value": "+" 995 }, 996 { 997 "type": "CHOICE", 998 "members": [ 999 { 1000 "type": "STRING", 1001 "value": "!" 1002 }, 1003 { 1004 "type": "BLANK" 1005 } 1006 ] 1007 } 1008 ] 1009 }, 1010 { 1011 "type": "SEQ", 1012 "members": [ 1013 { 1014 "type": "STRING", 1015 "value": "-" 1016 }, 1017 { 1018 "type": "CHOICE", 1019 "members": [ 1020 { 1021 "type": "STRING", 1022 "value": "!" 1023 }, 1024 { 1025 "type": "BLANK" 1026 } 1027 ] 1028 } 1029 ] 1030 }, 1031 { 1032 "type": "SEQ", 1033 "members": [ 1034 { 1035 "type": "STRING", 1036 "value": "!" 1037 }, 1038 { 1039 "type": "CHOICE", 1040 "members": [ 1041 { 1042 "type": "CHOICE", 1043 "members": [ 1044 { 1045 "type": "STRING", 1046 "value": "+" 1047 }, 1048 { 1049 "type": "STRING", 1050 "value": "-" 1051 } 1052 ] 1053 }, 1054 { 1055 "type": "BLANK" 1056 } 1057 ] 1058 } 1059 ] 1060 } 1061 ] 1062 }, 1063 { 1064 "type": "BLANK" 1065 } 1066 ] 1067 }, 1068 { 1069 "type": "CHOICE", 1070 "members": [ 1071 { 1072 "type": "SYMBOL", 1073 "name": "type_variable" 1074 }, 1075 { 1076 "type": "ALIAS", 1077 "content": { 1078 "type": "STRING", 1079 "value": "_" 1080 }, 1081 "named": true, 1082 "value": "type_variable" 1083 } 1084 ] 1085 } 1086 ] 1087 }, 1088 "_type_equation": { 1089 "type": "SEQ", 1090 "members": [ 1091 { 1092 "type": "CHOICE", 1093 "members": [ 1094 { 1095 "type": "STRING", 1096 "value": "=" 1097 }, 1098 { 1099 "type": "STRING", 1100 "value": ":=" 1101 } 1102 ] 1103 }, 1104 { 1105 "type": "CHOICE", 1106 "members": [ 1107 { 1108 "type": "STRING", 1109 "value": "private" 1110 }, 1111 { 1112 "type": "BLANK" 1113 } 1114 ] 1115 }, 1116 { 1117 "type": "SYMBOL", 1118 "name": "_type_ext" 1119 } 1120 ] 1121 }, 1122 "variant_declaration": { 1123 "type": "CHOICE", 1124 "members": [ 1125 { 1126 "type": "SEQ", 1127 "members": [ 1128 { 1129 "type": "STRING", 1130 "value": "|" 1131 }, 1132 { 1133 "type": "CHOICE", 1134 "members": [ 1135 { 1136 "type": "SEQ", 1137 "members": [ 1138 { 1139 "type": "SYMBOL", 1140 "name": "constructor_declaration" 1141 }, 1142 { 1143 "type": "REPEAT", 1144 "content": { 1145 "type": "SEQ", 1146 "members": [ 1147 { 1148 "type": "STRING", 1149 "value": "|" 1150 }, 1151 { 1152 "type": "SYMBOL", 1153 "name": "constructor_declaration" 1154 } 1155 ] 1156 } 1157 } 1158 ] 1159 }, 1160 { 1161 "type": "BLANK" 1162 } 1163 ] 1164 } 1165 ] 1166 }, 1167 { 1168 "type": "SEQ", 1169 "members": [ 1170 { 1171 "type": "SYMBOL", 1172 "name": "constructor_declaration" 1173 }, 1174 { 1175 "type": "REPEAT", 1176 "content": { 1177 "type": "SEQ", 1178 "members": [ 1179 { 1180 "type": "STRING", 1181 "value": "|" 1182 }, 1183 { 1184 "type": "SYMBOL", 1185 "name": "constructor_declaration" 1186 } 1187 ] 1188 } 1189 } 1190 ] 1191 } 1192 ] 1193 }, 1194 "constructor_declaration": { 1195 "type": "SEQ", 1196 "members": [ 1197 { 1198 "type": "CHOICE", 1199 "members": [ 1200 { 1201 "type": "SYMBOL", 1202 "name": "_constructor_name" 1203 }, 1204 { 1205 "type": "ALIAS", 1206 "content": { 1207 "type": "CHOICE", 1208 "members": [ 1209 { 1210 "type": "SEQ", 1211 "members": [ 1212 { 1213 "type": "STRING", 1214 "value": "[" 1215 }, 1216 { 1217 "type": "STRING", 1218 "value": "]" 1219 } 1220 ] 1221 }, 1222 { 1223 "type": "SEQ", 1224 "members": [ 1225 { 1226 "type": "STRING", 1227 "value": "(" 1228 }, 1229 { 1230 "type": "STRING", 1231 "value": ")" 1232 } 1233 ] 1234 }, 1235 { 1236 "type": "STRING", 1237 "value": "true" 1238 }, 1239 { 1240 "type": "STRING", 1241 "value": "false" 1242 } 1243 ] 1244 }, 1245 "named": true, 1246 "value": "constructor_name" 1247 } 1248 ] 1249 }, 1250 { 1251 "type": "CHOICE", 1252 "members": [ 1253 { 1254 "type": "CHOICE", 1255 "members": [ 1256 { 1257 "type": "SEQ", 1258 "members": [ 1259 { 1260 "type": "STRING", 1261 "value": "of" 1262 }, 1263 { 1264 "type": "SYMBOL", 1265 "name": "_constructor_argument" 1266 } 1267 ] 1268 }, 1269 { 1270 "type": "SEQ", 1271 "members": [ 1272 { 1273 "type": "STRING", 1274 "value": ":" 1275 }, 1276 { 1277 "type": "CHOICE", 1278 "members": [ 1279 { 1280 "type": "SEQ", 1281 "members": [ 1282 { 1283 "type": "REPEAT1", 1284 "content": { 1285 "type": "SYMBOL", 1286 "name": "type_variable" 1287 } 1288 }, 1289 { 1290 "type": "STRING", 1291 "value": "." 1292 } 1293 ] 1294 }, 1295 { 1296 "type": "BLANK" 1297 } 1298 ] 1299 }, 1300 { 1301 "type": "CHOICE", 1302 "members": [ 1303 { 1304 "type": "SEQ", 1305 "members": [ 1306 { 1307 "type": "SYMBOL", 1308 "name": "_constructor_argument" 1309 }, 1310 { 1311 "type": "STRING", 1312 "value": "->" 1313 } 1314 ] 1315 }, 1316 { 1317 "type": "BLANK" 1318 } 1319 ] 1320 }, 1321 { 1322 "type": "SYMBOL", 1323 "name": "_simple_type_ext" 1324 } 1325 ] 1326 }, 1327 { 1328 "type": "SEQ", 1329 "members": [ 1330 { 1331 "type": "STRING", 1332 "value": "=" 1333 }, 1334 { 1335 "type": "SYMBOL", 1336 "name": "constructor_path" 1337 } 1338 ] 1339 } 1340 ] 1341 }, 1342 { 1343 "type": "BLANK" 1344 } 1345 ] 1346 } 1347 ] 1348 }, 1349 "_constructor_argument": { 1350 "type": "CHOICE", 1351 "members": [ 1352 { 1353 "type": "SEQ", 1354 "members": [ 1355 { 1356 "type": "SYMBOL", 1357 "name": "_simple_type_ext" 1358 }, 1359 { 1360 "type": "REPEAT", 1361 "content": { 1362 "type": "SEQ", 1363 "members": [ 1364 { 1365 "type": "STRING", 1366 "value": "*" 1367 }, 1368 { 1369 "type": "SYMBOL", 1370 "name": "_simple_type_ext" 1371 } 1372 ] 1373 } 1374 } 1375 ] 1376 }, 1377 { 1378 "type": "SYMBOL", 1379 "name": "record_declaration" 1380 } 1381 ] 1382 }, 1383 "record_declaration": { 1384 "type": "SEQ", 1385 "members": [ 1386 { 1387 "type": "STRING", 1388 "value": "{" 1389 }, 1390 { 1391 "type": "SEQ", 1392 "members": [ 1393 { 1394 "type": "SYMBOL", 1395 "name": "field_declaration" 1396 }, 1397 { 1398 "type": "REPEAT", 1399 "content": { 1400 "type": "SEQ", 1401 "members": [ 1402 { 1403 "type": "STRING", 1404 "value": ";" 1405 }, 1406 { 1407 "type": "SYMBOL", 1408 "name": "field_declaration" 1409 } 1410 ] 1411 } 1412 } 1413 ] 1414 }, 1415 { 1416 "type": "CHOICE", 1417 "members": [ 1418 { 1419 "type": "STRING", 1420 "value": ";" 1421 }, 1422 { 1423 "type": "BLANK" 1424 } 1425 ] 1426 }, 1427 { 1428 "type": "STRING", 1429 "value": "}" 1430 } 1431 ] 1432 }, 1433 "field_declaration": { 1434 "type": "SEQ", 1435 "members": [ 1436 { 1437 "type": "CHOICE", 1438 "members": [ 1439 { 1440 "type": "STRING", 1441 "value": "mutable" 1442 }, 1443 { 1444 "type": "BLANK" 1445 } 1446 ] 1447 }, 1448 { 1449 "type": "SYMBOL", 1450 "name": "_field_name" 1451 }, 1452 { 1453 "type": "SYMBOL", 1454 "name": "_polymorphic_typed" 1455 } 1456 ] 1457 }, 1458 "type_constraint": { 1459 "type": "SEQ", 1460 "members": [ 1461 { 1462 "type": "STRING", 1463 "value": "constraint" 1464 }, 1465 { 1466 "type": "SYMBOL", 1467 "name": "_type_ext" 1468 }, 1469 { 1470 "type": "STRING", 1471 "value": "=" 1472 }, 1473 { 1474 "type": "SYMBOL", 1475 "name": "_type_ext" 1476 } 1477 ] 1478 }, 1479 "exception_definition": { 1480 "type": "SEQ", 1481 "members": [ 1482 { 1483 "type": "STRING", 1484 "value": "exception" 1485 }, 1486 { 1487 "type": "CHOICE", 1488 "members": [ 1489 { 1490 "type": "SYMBOL", 1491 "name": "_attribute" 1492 }, 1493 { 1494 "type": "BLANK" 1495 } 1496 ] 1497 }, 1498 { 1499 "type": "SYMBOL", 1500 "name": "constructor_declaration" 1501 }, 1502 { 1503 "type": "REPEAT", 1504 "content": { 1505 "type": "SYMBOL", 1506 "name": "item_attribute" 1507 } 1508 } 1509 ] 1510 }, 1511 "module_definition": { 1512 "type": "SEQ", 1513 "members": [ 1514 { 1515 "type": "STRING", 1516 "value": "module" 1517 }, 1518 { 1519 "type": "CHOICE", 1520 "members": [ 1521 { 1522 "type": "SYMBOL", 1523 "name": "_attribute" 1524 }, 1525 { 1526 "type": "BLANK" 1527 } 1528 ] 1529 }, 1530 { 1531 "type": "CHOICE", 1532 "members": [ 1533 { 1534 "type": "STRING", 1535 "value": "rec" 1536 }, 1537 { 1538 "type": "BLANK" 1539 } 1540 ] 1541 }, 1542 { 1543 "type": "SEQ", 1544 "members": [ 1545 { 1546 "type": "SYMBOL", 1547 "name": "module_binding" 1548 }, 1549 { 1550 "type": "REPEAT", 1551 "content": { 1552 "type": "SEQ", 1553 "members": [ 1554 { 1555 "type": "STRING", 1556 "value": "and" 1557 }, 1558 { 1559 "type": "SYMBOL", 1560 "name": "module_binding" 1561 } 1562 ] 1563 } 1564 } 1565 ] 1566 } 1567 ] 1568 }, 1569 "module_binding": { 1570 "type": "SEQ", 1571 "members": [ 1572 { 1573 "type": "FIELD", 1574 "name": "name", 1575 "content": { 1576 "type": "CHOICE", 1577 "members": [ 1578 { 1579 "type": "SYMBOL", 1580 "name": "_module_name" 1581 }, 1582 { 1583 "type": "ALIAS", 1584 "content": { 1585 "type": "STRING", 1586 "value": "_" 1587 }, 1588 "named": true, 1589 "value": "module_name" 1590 } 1591 ] 1592 } 1593 }, 1594 { 1595 "type": "REPEAT", 1596 "content": { 1597 "type": "SYMBOL", 1598 "name": "module_parameter" 1599 } 1600 }, 1601 { 1602 "type": "CHOICE", 1603 "members": [ 1604 { 1605 "type": "SYMBOL", 1606 "name": "_module_typed" 1607 }, 1608 { 1609 "type": "BLANK" 1610 } 1611 ] 1612 }, 1613 { 1614 "type": "CHOICE", 1615 "members": [ 1616 { 1617 "type": "SEQ", 1618 "members": [ 1619 { 1620 "type": "CHOICE", 1621 "members": [ 1622 { 1623 "type": "STRING", 1624 "value": "=" 1625 }, 1626 { 1627 "type": "STRING", 1628 "value": ":=" 1629 } 1630 ] 1631 }, 1632 { 1633 "type": "FIELD", 1634 "name": "body", 1635 "content": { 1636 "type": "SYMBOL", 1637 "name": "_module_expression_ext" 1638 } 1639 } 1640 ] 1641 }, 1642 { 1643 "type": "BLANK" 1644 } 1645 ] 1646 }, 1647 { 1648 "type": "REPEAT", 1649 "content": { 1650 "type": "SYMBOL", 1651 "name": "item_attribute" 1652 } 1653 } 1654 ] 1655 }, 1656 "module_parameter": { 1657 "type": "SEQ", 1658 "members": [ 1659 { 1660 "type": "STRING", 1661 "value": "(" 1662 }, 1663 { 1664 "type": "CHOICE", 1665 "members": [ 1666 { 1667 "type": "SEQ", 1668 "members": [ 1669 { 1670 "type": "FIELD", 1671 "name": "name", 1672 "content": { 1673 "type": "CHOICE", 1674 "members": [ 1675 { 1676 "type": "SYMBOL", 1677 "name": "_module_name" 1678 }, 1679 { 1680 "type": "ALIAS", 1681 "content": { 1682 "type": "STRING", 1683 "value": "_" 1684 }, 1685 "named": true, 1686 "value": "module_name" 1687 } 1688 ] 1689 } 1690 }, 1691 { 1692 "type": "SYMBOL", 1693 "name": "_module_typed" 1694 } 1695 ] 1696 }, 1697 { 1698 "type": "BLANK" 1699 } 1700 ] 1701 }, 1702 { 1703 "type": "STRING", 1704 "value": ")" 1705 } 1706 ] 1707 }, 1708 "module_type_definition": { 1709 "type": "SEQ", 1710 "members": [ 1711 { 1712 "type": "STRING", 1713 "value": "module" 1714 }, 1715 { 1716 "type": "STRING", 1717 "value": "type" 1718 }, 1719 { 1720 "type": "CHOICE", 1721 "members": [ 1722 { 1723 "type": "SYMBOL", 1724 "name": "_attribute" 1725 }, 1726 { 1727 "type": "BLANK" 1728 } 1729 ] 1730 }, 1731 { 1732 "type": "FIELD", 1733 "name": "name", 1734 "content": { 1735 "type": "SYMBOL", 1736 "name": "_module_type_name" 1737 } 1738 }, 1739 { 1740 "type": "CHOICE", 1741 "members": [ 1742 { 1743 "type": "SEQ", 1744 "members": [ 1745 { 1746 "type": "CHOICE", 1747 "members": [ 1748 { 1749 "type": "STRING", 1750 "value": "=" 1751 }, 1752 { 1753 "type": "STRING", 1754 "value": ":=" 1755 } 1756 ] 1757 }, 1758 { 1759 "type": "FIELD", 1760 "name": "body", 1761 "content": { 1762 "type": "SYMBOL", 1763 "name": "_module_type_ext" 1764 } 1765 } 1766 ] 1767 }, 1768 { 1769 "type": "BLANK" 1770 } 1771 ] 1772 }, 1773 { 1774 "type": "REPEAT", 1775 "content": { 1776 "type": "SYMBOL", 1777 "name": "item_attribute" 1778 } 1779 } 1780 ] 1781 }, 1782 "open_module": { 1783 "type": "SEQ", 1784 "members": [ 1785 { 1786 "type": "STRING", 1787 "value": "open" 1788 }, 1789 { 1790 "type": "CHOICE", 1791 "members": [ 1792 { 1793 "type": "STRING", 1794 "value": "!" 1795 }, 1796 { 1797 "type": "BLANK" 1798 } 1799 ] 1800 }, 1801 { 1802 "type": "CHOICE", 1803 "members": [ 1804 { 1805 "type": "SYMBOL", 1806 "name": "_attribute" 1807 }, 1808 { 1809 "type": "BLANK" 1810 } 1811 ] 1812 }, 1813 { 1814 "type": "SYMBOL", 1815 "name": "_module_expression_ext" 1816 }, 1817 { 1818 "type": "REPEAT", 1819 "content": { 1820 "type": "SYMBOL", 1821 "name": "item_attribute" 1822 } 1823 } 1824 ] 1825 }, 1826 "include_module": { 1827 "type": "SEQ", 1828 "members": [ 1829 { 1830 "type": "STRING", 1831 "value": "include" 1832 }, 1833 { 1834 "type": "CHOICE", 1835 "members": [ 1836 { 1837 "type": "SYMBOL", 1838 "name": "_attribute" 1839 }, 1840 { 1841 "type": "BLANK" 1842 } 1843 ] 1844 }, 1845 { 1846 "type": "SYMBOL", 1847 "name": "_module_expression_ext" 1848 }, 1849 { 1850 "type": "REPEAT", 1851 "content": { 1852 "type": "SYMBOL", 1853 "name": "item_attribute" 1854 } 1855 } 1856 ] 1857 }, 1858 "class_definition": { 1859 "type": "SEQ", 1860 "members": [ 1861 { 1862 "type": "STRING", 1863 "value": "class" 1864 }, 1865 { 1866 "type": "CHOICE", 1867 "members": [ 1868 { 1869 "type": "SYMBOL", 1870 "name": "_attribute" 1871 }, 1872 { 1873 "type": "BLANK" 1874 } 1875 ] 1876 }, 1877 { 1878 "type": "SEQ", 1879 "members": [ 1880 { 1881 "type": "SYMBOL", 1882 "name": "class_binding" 1883 }, 1884 { 1885 "type": "REPEAT", 1886 "content": { 1887 "type": "SEQ", 1888 "members": [ 1889 { 1890 "type": "STRING", 1891 "value": "and" 1892 }, 1893 { 1894 "type": "SYMBOL", 1895 "name": "class_binding" 1896 } 1897 ] 1898 } 1899 } 1900 ] 1901 } 1902 ] 1903 }, 1904 "class_binding": { 1905 "type": "PREC_RIGHT", 1906 "value": 0, 1907 "content": { 1908 "type": "SEQ", 1909 "members": [ 1910 { 1911 "type": "CHOICE", 1912 "members": [ 1913 { 1914 "type": "STRING", 1915 "value": "virtual" 1916 }, 1917 { 1918 "type": "BLANK" 1919 } 1920 ] 1921 }, 1922 { 1923 "type": "CHOICE", 1924 "members": [ 1925 { 1926 "type": "SEQ", 1927 "members": [ 1928 { 1929 "type": "STRING", 1930 "value": "[" 1931 }, 1932 { 1933 "type": "SEQ", 1934 "members": [ 1935 { 1936 "type": "SYMBOL", 1937 "name": "_type_param" 1938 }, 1939 { 1940 "type": "REPEAT", 1941 "content": { 1942 "type": "SEQ", 1943 "members": [ 1944 { 1945 "type": "STRING", 1946 "value": "," 1947 }, 1948 { 1949 "type": "SYMBOL", 1950 "name": "_type_param" 1951 } 1952 ] 1953 } 1954 } 1955 ] 1956 }, 1957 { 1958 "type": "STRING", 1959 "value": "]" 1960 } 1961 ] 1962 }, 1963 { 1964 "type": "BLANK" 1965 } 1966 ] 1967 }, 1968 { 1969 "type": "FIELD", 1970 "name": "name", 1971 "content": { 1972 "type": "SYMBOL", 1973 "name": "_class_name" 1974 } 1975 }, 1976 { 1977 "type": "REPEAT", 1978 "content": { 1979 "type": "SYMBOL", 1980 "name": "_parameter" 1981 } 1982 }, 1983 { 1984 "type": "CHOICE", 1985 "members": [ 1986 { 1987 "type": "SYMBOL", 1988 "name": "_class_typed" 1989 }, 1990 { 1991 "type": "BLANK" 1992 } 1993 ] 1994 }, 1995 { 1996 "type": "CHOICE", 1997 "members": [ 1998 { 1999 "type": "SEQ", 2000 "members": [ 2001 { 2002 "type": "STRING", 2003 "value": "=" 2004 }, 2005 { 2006 "type": "FIELD", 2007 "name": "body", 2008 "content": { 2009 "type": "SYMBOL", 2010 "name": "_class_expression_ext" 2011 } 2012 } 2013 ] 2014 }, 2015 { 2016 "type": "BLANK" 2017 } 2018 ] 2019 }, 2020 { 2021 "type": "REPEAT", 2022 "content": { 2023 "type": "SYMBOL", 2024 "name": "item_attribute" 2025 } 2026 } 2027 ] 2028 } 2029 }, 2030 "class_type_definition": { 2031 "type": "SEQ", 2032 "members": [ 2033 { 2034 "type": "STRING", 2035 "value": "class" 2036 }, 2037 { 2038 "type": "STRING", 2039 "value": "type" 2040 }, 2041 { 2042 "type": "CHOICE", 2043 "members": [ 2044 { 2045 "type": "SYMBOL", 2046 "name": "_attribute" 2047 }, 2048 { 2049 "type": "BLANK" 2050 } 2051 ] 2052 }, 2053 { 2054 "type": "SEQ", 2055 "members": [ 2056 { 2057 "type": "SYMBOL", 2058 "name": "class_type_binding" 2059 }, 2060 { 2061 "type": "REPEAT", 2062 "content": { 2063 "type": "SEQ", 2064 "members": [ 2065 { 2066 "type": "STRING", 2067 "value": "and" 2068 }, 2069 { 2070 "type": "SYMBOL", 2071 "name": "class_type_binding" 2072 } 2073 ] 2074 } 2075 } 2076 ] 2077 } 2078 ] 2079 }, 2080 "class_type_binding": { 2081 "type": "SEQ", 2082 "members": [ 2083 { 2084 "type": "CHOICE", 2085 "members": [ 2086 { 2087 "type": "STRING", 2088 "value": "virtual" 2089 }, 2090 { 2091 "type": "BLANK" 2092 } 2093 ] 2094 }, 2095 { 2096 "type": "CHOICE", 2097 "members": [ 2098 { 2099 "type": "SEQ", 2100 "members": [ 2101 { 2102 "type": "STRING", 2103 "value": "[" 2104 }, 2105 { 2106 "type": "SEQ", 2107 "members": [ 2108 { 2109 "type": "SYMBOL", 2110 "name": "_type_param" 2111 }, 2112 { 2113 "type": "REPEAT", 2114 "content": { 2115 "type": "SEQ", 2116 "members": [ 2117 { 2118 "type": "STRING", 2119 "value": "," 2120 }, 2121 { 2122 "type": "SYMBOL", 2123 "name": "_type_param" 2124 } 2125 ] 2126 } 2127 } 2128 ] 2129 }, 2130 { 2131 "type": "STRING", 2132 "value": "]" 2133 } 2134 ] 2135 }, 2136 { 2137 "type": "BLANK" 2138 } 2139 ] 2140 }, 2141 { 2142 "type": "FIELD", 2143 "name": "name", 2144 "content": { 2145 "type": "SYMBOL", 2146 "name": "_class_type_name" 2147 } 2148 }, 2149 { 2150 "type": "STRING", 2151 "value": "=" 2152 }, 2153 { 2154 "type": "FIELD", 2155 "name": "body", 2156 "content": { 2157 "type": "SYMBOL", 2158 "name": "_simple_class_type_ext" 2159 } 2160 }, 2161 { 2162 "type": "REPEAT", 2163 "content": { 2164 "type": "SYMBOL", 2165 "name": "item_attribute" 2166 } 2167 } 2168 ] 2169 }, 2170 "_signature_item": { 2171 "type": "CHOICE", 2172 "members": [ 2173 { 2174 "type": "SYMBOL", 2175 "name": "value_specification" 2176 }, 2177 { 2178 "type": "SYMBOL", 2179 "name": "external" 2180 }, 2181 { 2182 "type": "SYMBOL", 2183 "name": "type_definition" 2184 }, 2185 { 2186 "type": "SYMBOL", 2187 "name": "exception_definition" 2188 }, 2189 { 2190 "type": "SYMBOL", 2191 "name": "module_definition" 2192 }, 2193 { 2194 "type": "SYMBOL", 2195 "name": "module_type_definition" 2196 }, 2197 { 2198 "type": "SYMBOL", 2199 "name": "open_module" 2200 }, 2201 { 2202 "type": "SYMBOL", 2203 "name": "include_module_type" 2204 }, 2205 { 2206 "type": "SYMBOL", 2207 "name": "class_definition" 2208 }, 2209 { 2210 "type": "SYMBOL", 2211 "name": "class_type_definition" 2212 }, 2213 { 2214 "type": "SYMBOL", 2215 "name": "floating_attribute" 2216 } 2217 ] 2218 }, 2219 "_signature_item_ext": { 2220 "type": "CHOICE", 2221 "members": [ 2222 { 2223 "type": "SYMBOL", 2224 "name": "_signature_item" 2225 }, 2226 { 2227 "type": "SYMBOL", 2228 "name": "_item_extension" 2229 } 2230 ] 2231 }, 2232 "value_specification": { 2233 "type": "SEQ", 2234 "members": [ 2235 { 2236 "type": "STRING", 2237 "value": "val" 2238 }, 2239 { 2240 "type": "CHOICE", 2241 "members": [ 2242 { 2243 "type": "SYMBOL", 2244 "name": "_attribute" 2245 }, 2246 { 2247 "type": "BLANK" 2248 } 2249 ] 2250 }, 2251 { 2252 "type": "SYMBOL", 2253 "name": "_value_name" 2254 }, 2255 { 2256 "type": "SYMBOL", 2257 "name": "_polymorphic_typed" 2258 }, 2259 { 2260 "type": "REPEAT", 2261 "content": { 2262 "type": "SYMBOL", 2263 "name": "item_attribute" 2264 } 2265 } 2266 ] 2267 }, 2268 "include_module_type": { 2269 "type": "SEQ", 2270 "members": [ 2271 { 2272 "type": "STRING", 2273 "value": "include" 2274 }, 2275 { 2276 "type": "CHOICE", 2277 "members": [ 2278 { 2279 "type": "SYMBOL", 2280 "name": "_attribute" 2281 }, 2282 { 2283 "type": "BLANK" 2284 } 2285 ] 2286 }, 2287 { 2288 "type": "SYMBOL", 2289 "name": "_module_type_ext" 2290 }, 2291 { 2292 "type": "REPEAT", 2293 "content": { 2294 "type": "SYMBOL", 2295 "name": "item_attribute" 2296 } 2297 } 2298 ] 2299 }, 2300 "_module_typed": { 2301 "type": "SEQ", 2302 "members": [ 2303 { 2304 "type": "STRING", 2305 "value": ":" 2306 }, 2307 { 2308 "type": "SYMBOL", 2309 "name": "_module_type_ext" 2310 } 2311 ] 2312 }, 2313 "_module_type": { 2314 "type": "CHOICE", 2315 "members": [ 2316 { 2317 "type": "SYMBOL", 2318 "name": "module_type_path" 2319 }, 2320 { 2321 "type": "SYMBOL", 2322 "name": "signature" 2323 }, 2324 { 2325 "type": "SYMBOL", 2326 "name": "module_type_constraint" 2327 }, 2328 { 2329 "type": "SYMBOL", 2330 "name": "module_type_of" 2331 }, 2332 { 2333 "type": "SYMBOL", 2334 "name": "functor_type" 2335 }, 2336 { 2337 "type": "SYMBOL", 2338 "name": "parenthesized_module_type" 2339 } 2340 ] 2341 }, 2342 "_module_type_ext": { 2343 "type": "CHOICE", 2344 "members": [ 2345 { 2346 "type": "SYMBOL", 2347 "name": "_module_type" 2348 }, 2349 { 2350 "type": "SYMBOL", 2351 "name": "_extension" 2352 } 2353 ] 2354 }, 2355 "signature": { 2356 "type": "SEQ", 2357 "members": [ 2358 { 2359 "type": "STRING", 2360 "value": "sig" 2361 }, 2362 { 2363 "type": "CHOICE", 2364 "members": [ 2365 { 2366 "type": "SYMBOL", 2367 "name": "_signature" 2368 }, 2369 { 2370 "type": "BLANK" 2371 } 2372 ] 2373 }, 2374 { 2375 "type": "STRING", 2376 "value": "end" 2377 } 2378 ] 2379 }, 2380 "module_type_constraint": { 2381 "type": "PREC_RIGHT", 2382 "value": 0, 2383 "content": { 2384 "type": "SEQ", 2385 "members": [ 2386 { 2387 "type": "SYMBOL", 2388 "name": "_module_type_ext" 2389 }, 2390 { 2391 "type": "STRING", 2392 "value": "with" 2393 }, 2394 { 2395 "type": "SEQ", 2396 "members": [ 2397 { 2398 "type": "CHOICE", 2399 "members": [ 2400 { 2401 "type": "SYMBOL", 2402 "name": "constrain_type" 2403 }, 2404 { 2405 "type": "SYMBOL", 2406 "name": "constrain_module" 2407 }, 2408 { 2409 "type": "SYMBOL", 2410 "name": "constrain_module_type" 2411 } 2412 ] 2413 }, 2414 { 2415 "type": "REPEAT", 2416 "content": { 2417 "type": "SEQ", 2418 "members": [ 2419 { 2420 "type": "STRING", 2421 "value": "and" 2422 }, 2423 { 2424 "type": "CHOICE", 2425 "members": [ 2426 { 2427 "type": "SYMBOL", 2428 "name": "constrain_type" 2429 }, 2430 { 2431 "type": "SYMBOL", 2432 "name": "constrain_module" 2433 }, 2434 { 2435 "type": "SYMBOL", 2436 "name": "constrain_module_type" 2437 } 2438 ] 2439 } 2440 ] 2441 } 2442 } 2443 ] 2444 } 2445 ] 2446 } 2447 }, 2448 "constrain_type": { 2449 "type": "SEQ", 2450 "members": [ 2451 { 2452 "type": "STRING", 2453 "value": "type" 2454 }, 2455 { 2456 "type": "CHOICE", 2457 "members": [ 2458 { 2459 "type": "SYMBOL", 2460 "name": "_type_params" 2461 }, 2462 { 2463 "type": "BLANK" 2464 } 2465 ] 2466 }, 2467 { 2468 "type": "SYMBOL", 2469 "name": "type_constructor_path" 2470 }, 2471 { 2472 "type": "SYMBOL", 2473 "name": "_type_equation" 2474 }, 2475 { 2476 "type": "REPEAT", 2477 "content": { 2478 "type": "SYMBOL", 2479 "name": "type_constraint" 2480 } 2481 } 2482 ] 2483 }, 2484 "constrain_module": { 2485 "type": "SEQ", 2486 "members": [ 2487 { 2488 "type": "STRING", 2489 "value": "module" 2490 }, 2491 { 2492 "type": "SYMBOL", 2493 "name": "module_path" 2494 }, 2495 { 2496 "type": "CHOICE", 2497 "members": [ 2498 { 2499 "type": "STRING", 2500 "value": "=" 2501 }, 2502 { 2503 "type": "STRING", 2504 "value": ":=" 2505 } 2506 ] 2507 }, 2508 { 2509 "type": "SYMBOL", 2510 "name": "extended_module_path" 2511 } 2512 ] 2513 }, 2514 "constrain_module_type": { 2515 "type": "PREC_LEFT", 2516 "value": 0, 2517 "content": { 2518 "type": "SEQ", 2519 "members": [ 2520 { 2521 "type": "STRING", 2522 "value": "module" 2523 }, 2524 { 2525 "type": "STRING", 2526 "value": "type" 2527 }, 2528 { 2529 "type": "SYMBOL", 2530 "name": "module_type_path" 2531 }, 2532 { 2533 "type": "CHOICE", 2534 "members": [ 2535 { 2536 "type": "STRING", 2537 "value": "=" 2538 }, 2539 { 2540 "type": "STRING", 2541 "value": ":=" 2542 } 2543 ] 2544 }, 2545 { 2546 "type": "SYMBOL", 2547 "name": "_module_type_ext" 2548 } 2549 ] 2550 } 2551 }, 2552 "module_type_of": { 2553 "type": "SEQ", 2554 "members": [ 2555 { 2556 "type": "STRING", 2557 "value": "module" 2558 }, 2559 { 2560 "type": "STRING", 2561 "value": "type" 2562 }, 2563 { 2564 "type": "STRING", 2565 "value": "of" 2566 }, 2567 { 2568 "type": "SYMBOL", 2569 "name": "_module_expression_ext" 2570 } 2571 ] 2572 }, 2573 "functor_type": { 2574 "type": "PREC_RIGHT", 2575 "value": 0, 2576 "content": { 2577 "type": "SEQ", 2578 "members": [ 2579 { 2580 "type": "CHOICE", 2581 "members": [ 2582 { 2583 "type": "SEQ", 2584 "members": [ 2585 { 2586 "type": "STRING", 2587 "value": "functor" 2588 }, 2589 { 2590 "type": "REPEAT", 2591 "content": { 2592 "type": "SYMBOL", 2593 "name": "module_parameter" 2594 } 2595 } 2596 ] 2597 }, 2598 { 2599 "type": "SYMBOL", 2600 "name": "_module_type_ext" 2601 } 2602 ] 2603 }, 2604 { 2605 "type": "STRING", 2606 "value": "->" 2607 }, 2608 { 2609 "type": "SYMBOL", 2610 "name": "_module_type_ext" 2611 } 2612 ] 2613 } 2614 }, 2615 "parenthesized_module_type": { 2616 "type": "SEQ", 2617 "members": [ 2618 { 2619 "type": "SEQ", 2620 "members": [ 2621 { 2622 "type": "STRING", 2623 "value": "(" 2624 }, 2625 { 2626 "type": "SYMBOL", 2627 "name": "_module_type_ext" 2628 }, 2629 { 2630 "type": "STRING", 2631 "value": ")" 2632 } 2633 ] 2634 } 2635 ] 2636 }, 2637 "_simple_module_expression": { 2638 "type": "CHOICE", 2639 "members": [ 2640 { 2641 "type": "SYMBOL", 2642 "name": "typed_module_expression" 2643 }, 2644 { 2645 "type": "SYMBOL", 2646 "name": "parenthesized_module_expression" 2647 }, 2648 { 2649 "type": "SYMBOL", 2650 "name": "packed_module" 2651 } 2652 ] 2653 }, 2654 "_simple_module_expression_ext": { 2655 "type": "CHOICE", 2656 "members": [ 2657 { 2658 "type": "SYMBOL", 2659 "name": "_simple_module_expression" 2660 }, 2661 { 2662 "type": "SYMBOL", 2663 "name": "_extension" 2664 } 2665 ] 2666 }, 2667 "_module_expression": { 2668 "type": "CHOICE", 2669 "members": [ 2670 { 2671 "type": "SYMBOL", 2672 "name": "_simple_module_expression" 2673 }, 2674 { 2675 "type": "SYMBOL", 2676 "name": "module_path" 2677 }, 2678 { 2679 "type": "SYMBOL", 2680 "name": "structure" 2681 }, 2682 { 2683 "type": "SYMBOL", 2684 "name": "functor" 2685 }, 2686 { 2687 "type": "SYMBOL", 2688 "name": "module_application" 2689 } 2690 ] 2691 }, 2692 "_module_expression_ext": { 2693 "type": "CHOICE", 2694 "members": [ 2695 { 2696 "type": "SYMBOL", 2697 "name": "_module_expression" 2698 }, 2699 { 2700 "type": "SYMBOL", 2701 "name": "_extension" 2702 } 2703 ] 2704 }, 2705 "structure": { 2706 "type": "SEQ", 2707 "members": [ 2708 { 2709 "type": "STRING", 2710 "value": "struct" 2711 }, 2712 { 2713 "type": "CHOICE", 2714 "members": [ 2715 { 2716 "type": "SYMBOL", 2717 "name": "_structure" 2718 }, 2719 { 2720 "type": "BLANK" 2721 } 2722 ] 2723 }, 2724 { 2725 "type": "STRING", 2726 "value": "end" 2727 } 2728 ] 2729 }, 2730 "functor": { 2731 "type": "PREC_RIGHT", 2732 "value": 0, 2733 "content": { 2734 "type": "SEQ", 2735 "members": [ 2736 { 2737 "type": "STRING", 2738 "value": "functor" 2739 }, 2740 { 2741 "type": "REPEAT1", 2742 "content": { 2743 "type": "SYMBOL", 2744 "name": "module_parameter" 2745 } 2746 }, 2747 { 2748 "type": "STRING", 2749 "value": "->" 2750 }, 2751 { 2752 "type": "FIELD", 2753 "name": "body", 2754 "content": { 2755 "type": "SYMBOL", 2756 "name": "_module_expression_ext" 2757 } 2758 } 2759 ] 2760 } 2761 }, 2762 "module_application": { 2763 "type": "SEQ", 2764 "members": [ 2765 { 2766 "type": "FIELD", 2767 "name": "functor", 2768 "content": { 2769 "type": "SYMBOL", 2770 "name": "_module_expression_ext" 2771 } 2772 }, 2773 { 2774 "type": "CHOICE", 2775 "members": [ 2776 { 2777 "type": "FIELD", 2778 "name": "argument", 2779 "content": { 2780 "type": "SYMBOL", 2781 "name": "_simple_module_expression_ext" 2782 } 2783 }, 2784 { 2785 "type": "SEQ", 2786 "members": [ 2787 { 2788 "type": "STRING", 2789 "value": "(" 2790 }, 2791 { 2792 "type": "STRING", 2793 "value": ")" 2794 } 2795 ] 2796 } 2797 ] 2798 } 2799 ] 2800 }, 2801 "typed_module_expression": { 2802 "type": "SEQ", 2803 "members": [ 2804 { 2805 "type": "STRING", 2806 "value": "(" 2807 }, 2808 { 2809 "type": "SEQ", 2810 "members": [ 2811 { 2812 "type": "SYMBOL", 2813 "name": "_module_expression_ext" 2814 }, 2815 { 2816 "type": "SYMBOL", 2817 "name": "_module_typed" 2818 } 2819 ] 2820 }, 2821 { 2822 "type": "STRING", 2823 "value": ")" 2824 } 2825 ] 2826 }, 2827 "packed_module": { 2828 "type": "SEQ", 2829 "members": [ 2830 { 2831 "type": "STRING", 2832 "value": "(" 2833 }, 2834 { 2835 "type": "SEQ", 2836 "members": [ 2837 { 2838 "type": "STRING", 2839 "value": "val" 2840 }, 2841 { 2842 "type": "SYMBOL", 2843 "name": "_expression_ext" 2844 }, 2845 { 2846 "type": "CHOICE", 2847 "members": [ 2848 { 2849 "type": "SYMBOL", 2850 "name": "_module_typed" 2851 }, 2852 { 2853 "type": "BLANK" 2854 } 2855 ] 2856 }, 2857 { 2858 "type": "CHOICE", 2859 "members": [ 2860 { 2861 "type": "SEQ", 2862 "members": [ 2863 { 2864 "type": "STRING", 2865 "value": ":>" 2866 }, 2867 { 2868 "type": "SYMBOL", 2869 "name": "_module_type_ext" 2870 } 2871 ] 2872 }, 2873 { 2874 "type": "BLANK" 2875 } 2876 ] 2877 } 2878 ] 2879 }, 2880 { 2881 "type": "STRING", 2882 "value": ")" 2883 } 2884 ] 2885 }, 2886 "parenthesized_module_expression": { 2887 "type": "SEQ", 2888 "members": [ 2889 { 2890 "type": "STRING", 2891 "value": "(" 2892 }, 2893 { 2894 "type": "SYMBOL", 2895 "name": "_module_expression_ext" 2896 }, 2897 { 2898 "type": "STRING", 2899 "value": ")" 2900 } 2901 ] 2902 }, 2903 "_class_typed": { 2904 "type": "SEQ", 2905 "members": [ 2906 { 2907 "type": "STRING", 2908 "value": ":" 2909 }, 2910 { 2911 "type": "SYMBOL", 2912 "name": "_class_type_ext" 2913 } 2914 ] 2915 }, 2916 "_simple_class_type": { 2917 "type": "CHOICE", 2918 "members": [ 2919 { 2920 "type": "SYMBOL", 2921 "name": "class_type_path" 2922 }, 2923 { 2924 "type": "SYMBOL", 2925 "name": "instantiated_class_type" 2926 }, 2927 { 2928 "type": "SYMBOL", 2929 "name": "class_body_type" 2930 }, 2931 { 2932 "type": "SYMBOL", 2933 "name": "let_open_class_type" 2934 } 2935 ] 2936 }, 2937 "_simple_class_type_ext": { 2938 "type": "CHOICE", 2939 "members": [ 2940 { 2941 "type": "SYMBOL", 2942 "name": "_simple_class_type" 2943 }, 2944 { 2945 "type": "SYMBOL", 2946 "name": "_extension" 2947 } 2948 ] 2949 }, 2950 "_class_type": { 2951 "type": "CHOICE", 2952 "members": [ 2953 { 2954 "type": "SYMBOL", 2955 "name": "_simple_class_type" 2956 }, 2957 { 2958 "type": "SYMBOL", 2959 "name": "class_function_type" 2960 } 2961 ] 2962 }, 2963 "_class_type_ext": { 2964 "type": "CHOICE", 2965 "members": [ 2966 { 2967 "type": "SYMBOL", 2968 "name": "_class_type" 2969 }, 2970 { 2971 "type": "SYMBOL", 2972 "name": "_extension" 2973 } 2974 ] 2975 }, 2976 "instantiated_class_type": { 2977 "type": "SEQ", 2978 "members": [ 2979 { 2980 "type": "STRING", 2981 "value": "[" 2982 }, 2983 { 2984 "type": "SEQ", 2985 "members": [ 2986 { 2987 "type": "SYMBOL", 2988 "name": "_type_ext" 2989 }, 2990 { 2991 "type": "REPEAT", 2992 "content": { 2993 "type": "SEQ", 2994 "members": [ 2995 { 2996 "type": "STRING", 2997 "value": "," 2998 }, 2999 { 3000 "type": "SYMBOL", 3001 "name": "_type_ext" 3002 } 3003 ] 3004 } 3005 } 3006 ] 3007 }, 3008 { 3009 "type": "STRING", 3010 "value": "]" 3011 }, 3012 { 3013 "type": "SYMBOL", 3014 "name": "class_type_path" 3015 } 3016 ] 3017 }, 3018 "class_body_type": { 3019 "type": "SEQ", 3020 "members": [ 3021 { 3022 "type": "STRING", 3023 "value": "object" 3024 }, 3025 { 3026 "type": "CHOICE", 3027 "members": [ 3028 { 3029 "type": "SEQ", 3030 "members": [ 3031 { 3032 "type": "STRING", 3033 "value": "(" 3034 }, 3035 { 3036 "type": "SYMBOL", 3037 "name": "_type_ext" 3038 }, 3039 { 3040 "type": "STRING", 3041 "value": ")" 3042 } 3043 ] 3044 }, 3045 { 3046 "type": "BLANK" 3047 } 3048 ] 3049 }, 3050 { 3051 "type": "REPEAT", 3052 "content": { 3053 "type": "CHOICE", 3054 "members": [ 3055 { 3056 "type": "SYMBOL", 3057 "name": "_class_field_specification_ext" 3058 }, 3059 { 3060 "type": "SYMBOL", 3061 "name": "floating_attribute" 3062 } 3063 ] 3064 } 3065 }, 3066 { 3067 "type": "STRING", 3068 "value": "end" 3069 } 3070 ] 3071 }, 3072 "_class_field_specification": { 3073 "type": "CHOICE", 3074 "members": [ 3075 { 3076 "type": "SYMBOL", 3077 "name": "inheritance_specification" 3078 }, 3079 { 3080 "type": "SYMBOL", 3081 "name": "instance_variable_specification" 3082 }, 3083 { 3084 "type": "SYMBOL", 3085 "name": "method_specification" 3086 }, 3087 { 3088 "type": "SYMBOL", 3089 "name": "type_parameter_constraint" 3090 } 3091 ] 3092 }, 3093 "_class_field_specification_ext": { 3094 "type": "CHOICE", 3095 "members": [ 3096 { 3097 "type": "SYMBOL", 3098 "name": "_class_field_specification" 3099 }, 3100 { 3101 "type": "SYMBOL", 3102 "name": "_item_extension" 3103 } 3104 ] 3105 }, 3106 "inheritance_specification": { 3107 "type": "SEQ", 3108 "members": [ 3109 { 3110 "type": "STRING", 3111 "value": "inherit" 3112 }, 3113 { 3114 "type": "SYMBOL", 3115 "name": "_simple_class_type_ext" 3116 }, 3117 { 3118 "type": "REPEAT", 3119 "content": { 3120 "type": "SYMBOL", 3121 "name": "item_attribute" 3122 } 3123 } 3124 ] 3125 }, 3126 "instance_variable_specification": { 3127 "type": "SEQ", 3128 "members": [ 3129 { 3130 "type": "STRING", 3131 "value": "val" 3132 }, 3133 { 3134 "type": "REPEAT", 3135 "content": { 3136 "type": "CHOICE", 3137 "members": [ 3138 { 3139 "type": "STRING", 3140 "value": "mutable" 3141 }, 3142 { 3143 "type": "STRING", 3144 "value": "virtual" 3145 } 3146 ] 3147 } 3148 }, 3149 { 3150 "type": "SYMBOL", 3151 "name": "_instance_variable_name" 3152 }, 3153 { 3154 "type": "SYMBOL", 3155 "name": "_typed" 3156 }, 3157 { 3158 "type": "REPEAT", 3159 "content": { 3160 "type": "SYMBOL", 3161 "name": "item_attribute" 3162 } 3163 } 3164 ] 3165 }, 3166 "method_specification": { 3167 "type": "SEQ", 3168 "members": [ 3169 { 3170 "type": "STRING", 3171 "value": "method" 3172 }, 3173 { 3174 "type": "REPEAT", 3175 "content": { 3176 "type": "CHOICE", 3177 "members": [ 3178 { 3179 "type": "STRING", 3180 "value": "private" 3181 }, 3182 { 3183 "type": "STRING", 3184 "value": "virtual" 3185 } 3186 ] 3187 } 3188 }, 3189 { 3190 "type": "SYMBOL", 3191 "name": "_method_name" 3192 }, 3193 { 3194 "type": "SYMBOL", 3195 "name": "_polymorphic_typed" 3196 }, 3197 { 3198 "type": "REPEAT", 3199 "content": { 3200 "type": "SYMBOL", 3201 "name": "item_attribute" 3202 } 3203 } 3204 ] 3205 }, 3206 "type_parameter_constraint": { 3207 "type": "SEQ", 3208 "members": [ 3209 { 3210 "type": "STRING", 3211 "value": "constraint" 3212 }, 3213 { 3214 "type": "SYMBOL", 3215 "name": "_type_ext" 3216 }, 3217 { 3218 "type": "STRING", 3219 "value": "=" 3220 }, 3221 { 3222 "type": "SYMBOL", 3223 "name": "_type_ext" 3224 }, 3225 { 3226 "type": "REPEAT", 3227 "content": { 3228 "type": "SYMBOL", 3229 "name": "item_attribute" 3230 } 3231 } 3232 ] 3233 }, 3234 "let_open_class_type": { 3235 "type": "PREC_RIGHT", 3236 "value": 2, 3237 "content": { 3238 "type": "SEQ", 3239 "members": [ 3240 { 3241 "type": "STRING", 3242 "value": "let" 3243 }, 3244 { 3245 "type": "SYMBOL", 3246 "name": "open_module" 3247 }, 3248 { 3249 "type": "STRING", 3250 "value": "in" 3251 }, 3252 { 3253 "type": "FIELD", 3254 "name": "body", 3255 "content": { 3256 "type": "SYMBOL", 3257 "name": "_simple_class_type_ext" 3258 } 3259 } 3260 ] 3261 } 3262 }, 3263 "class_function_type": { 3264 "type": "PREC_RIGHT", 3265 "value": 3, 3266 "content": { 3267 "type": "SEQ", 3268 "members": [ 3269 { 3270 "type": "CHOICE", 3271 "members": [ 3272 { 3273 "type": "SEQ", 3274 "members": [ 3275 { 3276 "type": "CHOICE", 3277 "members": [ 3278 { 3279 "type": "STRING", 3280 "value": "?" 3281 }, 3282 { 3283 "type": "BLANK" 3284 } 3285 ] 3286 }, 3287 { 3288 "type": "SYMBOL", 3289 "name": "_label_name" 3290 }, 3291 { 3292 "type": "STRING", 3293 "value": ":" 3294 } 3295 ] 3296 }, 3297 { 3298 "type": "BLANK" 3299 } 3300 ] 3301 }, 3302 { 3303 "type": "SYMBOL", 3304 "name": "_tuple_type_ext" 3305 }, 3306 { 3307 "type": "STRING", 3308 "value": "->" 3309 }, 3310 { 3311 "type": "SYMBOL", 3312 "name": "_class_type_ext" 3313 } 3314 ] 3315 } 3316 }, 3317 "_simple_class_expression": { 3318 "type": "CHOICE", 3319 "members": [ 3320 { 3321 "type": "SYMBOL", 3322 "name": "class_path" 3323 }, 3324 { 3325 "type": "SYMBOL", 3326 "name": "instantiated_class" 3327 }, 3328 { 3329 "type": "SYMBOL", 3330 "name": "object_expression" 3331 }, 3332 { 3333 "type": "SYMBOL", 3334 "name": "typed_class_expression" 3335 }, 3336 { 3337 "type": "SYMBOL", 3338 "name": "parenthesized_class_expression" 3339 } 3340 ] 3341 }, 3342 "_class_expression": { 3343 "type": "CHOICE", 3344 "members": [ 3345 { 3346 "type": "SYMBOL", 3347 "name": "_simple_class_expression" 3348 }, 3349 { 3350 "type": "SYMBOL", 3351 "name": "class_function" 3352 }, 3353 { 3354 "type": "SYMBOL", 3355 "name": "class_application" 3356 }, 3357 { 3358 "type": "SYMBOL", 3359 "name": "let_class_expression" 3360 }, 3361 { 3362 "type": "SYMBOL", 3363 "name": "let_open_class_expression" 3364 } 3365 ] 3366 }, 3367 "_class_expression_ext": { 3368 "type": "CHOICE", 3369 "members": [ 3370 { 3371 "type": "SYMBOL", 3372 "name": "_class_expression" 3373 }, 3374 { 3375 "type": "SYMBOL", 3376 "name": "_extension" 3377 } 3378 ] 3379 }, 3380 "instantiated_class": { 3381 "type": "SEQ", 3382 "members": [ 3383 { 3384 "type": "STRING", 3385 "value": "[" 3386 }, 3387 { 3388 "type": "SEQ", 3389 "members": [ 3390 { 3391 "type": "SYMBOL", 3392 "name": "_type_ext" 3393 }, 3394 { 3395 "type": "REPEAT", 3396 "content": { 3397 "type": "SEQ", 3398 "members": [ 3399 { 3400 "type": "STRING", 3401 "value": "," 3402 }, 3403 { 3404 "type": "SYMBOL", 3405 "name": "_type_ext" 3406 } 3407 ] 3408 } 3409 } 3410 ] 3411 }, 3412 { 3413 "type": "STRING", 3414 "value": "]" 3415 }, 3416 { 3417 "type": "SYMBOL", 3418 "name": "class_path" 3419 } 3420 ] 3421 }, 3422 "typed_class_expression": { 3423 "type": "SEQ", 3424 "members": [ 3425 { 3426 "type": "SEQ", 3427 "members": [ 3428 { 3429 "type": "STRING", 3430 "value": "(" 3431 }, 3432 { 3433 "type": "SEQ", 3434 "members": [ 3435 { 3436 "type": "SYMBOL", 3437 "name": "_class_expression_ext" 3438 }, 3439 { 3440 "type": "SYMBOL", 3441 "name": "_class_typed" 3442 } 3443 ] 3444 }, 3445 { 3446 "type": "STRING", 3447 "value": ")" 3448 } 3449 ] 3450 } 3451 ] 3452 }, 3453 "class_function": { 3454 "type": "PREC_RIGHT", 3455 "value": 2, 3456 "content": { 3457 "type": "SEQ", 3458 "members": [ 3459 { 3460 "type": "STRING", 3461 "value": "fun" 3462 }, 3463 { 3464 "type": "REPEAT1", 3465 "content": { 3466 "type": "SYMBOL", 3467 "name": "_parameter" 3468 } 3469 }, 3470 { 3471 "type": "STRING", 3472 "value": "->" 3473 }, 3474 { 3475 "type": "FIELD", 3476 "name": "body", 3477 "content": { 3478 "type": "SYMBOL", 3479 "name": "_class_expression_ext" 3480 } 3481 } 3482 ] 3483 } 3484 }, 3485 "class_application": { 3486 "type": "PREC_RIGHT", 3487 "value": 16, 3488 "content": { 3489 "type": "SEQ", 3490 "members": [ 3491 { 3492 "type": "FIELD", 3493 "name": "class", 3494 "content": { 3495 "type": "SYMBOL", 3496 "name": "_simple_class_expression" 3497 } 3498 }, 3499 { 3500 "type": "REPEAT1", 3501 "content": { 3502 "type": "FIELD", 3503 "name": "argument", 3504 "content": { 3505 "type": "SYMBOL", 3506 "name": "_argument" 3507 } 3508 } 3509 } 3510 ] 3511 } 3512 }, 3513 "let_class_expression": { 3514 "type": "PREC_RIGHT", 3515 "value": 2, 3516 "content": { 3517 "type": "SEQ", 3518 "members": [ 3519 { 3520 "type": "SYMBOL", 3521 "name": "value_definition" 3522 }, 3523 { 3524 "type": "STRING", 3525 "value": "in" 3526 }, 3527 { 3528 "type": "FIELD", 3529 "name": "body", 3530 "content": { 3531 "type": "SYMBOL", 3532 "name": "_class_expression_ext" 3533 } 3534 } 3535 ] 3536 } 3537 }, 3538 "_class_field": { 3539 "type": "CHOICE", 3540 "members": [ 3541 { 3542 "type": "SYMBOL", 3543 "name": "inheritance_definition" 3544 }, 3545 { 3546 "type": "SYMBOL", 3547 "name": "instance_variable_definition" 3548 }, 3549 { 3550 "type": "SYMBOL", 3551 "name": "method_definition" 3552 }, 3553 { 3554 "type": "SYMBOL", 3555 "name": "type_parameter_constraint" 3556 }, 3557 { 3558 "type": "SYMBOL", 3559 "name": "class_initializer" 3560 } 3561 ] 3562 }, 3563 "_class_field_ext": { 3564 "type": "CHOICE", 3565 "members": [ 3566 { 3567 "type": "SYMBOL", 3568 "name": "_class_field" 3569 }, 3570 { 3571 "type": "SYMBOL", 3572 "name": "_item_extension" 3573 } 3574 ] 3575 }, 3576 "inheritance_definition": { 3577 "type": "SEQ", 3578 "members": [ 3579 { 3580 "type": "STRING", 3581 "value": "inherit" 3582 }, 3583 { 3584 "type": "CHOICE", 3585 "members": [ 3586 { 3587 "type": "STRING", 3588 "value": "!" 3589 }, 3590 { 3591 "type": "BLANK" 3592 } 3593 ] 3594 }, 3595 { 3596 "type": "SYMBOL", 3597 "name": "_class_expression_ext" 3598 }, 3599 { 3600 "type": "CHOICE", 3601 "members": [ 3602 { 3603 "type": "SEQ", 3604 "members": [ 3605 { 3606 "type": "STRING", 3607 "value": "as" 3608 }, 3609 { 3610 "type": "SYMBOL", 3611 "name": "_value_pattern" 3612 } 3613 ] 3614 }, 3615 { 3616 "type": "BLANK" 3617 } 3618 ] 3619 }, 3620 { 3621 "type": "REPEAT", 3622 "content": { 3623 "type": "SYMBOL", 3624 "name": "item_attribute" 3625 } 3626 } 3627 ] 3628 }, 3629 "instance_variable_definition": { 3630 "type": "SEQ", 3631 "members": [ 3632 { 3633 "type": "STRING", 3634 "value": "val" 3635 }, 3636 { 3637 "type": "CHOICE", 3638 "members": [ 3639 { 3640 "type": "STRING", 3641 "value": "!" 3642 }, 3643 { 3644 "type": "BLANK" 3645 } 3646 ] 3647 }, 3648 { 3649 "type": "REPEAT", 3650 "content": { 3651 "type": "CHOICE", 3652 "members": [ 3653 { 3654 "type": "STRING", 3655 "value": "mutable" 3656 }, 3657 { 3658 "type": "STRING", 3659 "value": "virtual" 3660 } 3661 ] 3662 } 3663 }, 3664 { 3665 "type": "FIELD", 3666 "name": "name", 3667 "content": { 3668 "type": "SYMBOL", 3669 "name": "_instance_variable_name" 3670 } 3671 }, 3672 { 3673 "type": "CHOICE", 3674 "members": [ 3675 { 3676 "type": "SYMBOL", 3677 "name": "_typed" 3678 }, 3679 { 3680 "type": "BLANK" 3681 } 3682 ] 3683 }, 3684 { 3685 "type": "CHOICE", 3686 "members": [ 3687 { 3688 "type": "SEQ", 3689 "members": [ 3690 { 3691 "type": "STRING", 3692 "value": ":>" 3693 }, 3694 { 3695 "type": "SYMBOL", 3696 "name": "_type_ext" 3697 } 3698 ] 3699 }, 3700 { 3701 "type": "BLANK" 3702 } 3703 ] 3704 }, 3705 { 3706 "type": "CHOICE", 3707 "members": [ 3708 { 3709 "type": "SEQ", 3710 "members": [ 3711 { 3712 "type": "STRING", 3713 "value": "=" 3714 }, 3715 { 3716 "type": "FIELD", 3717 "name": "body", 3718 "content": { 3719 "type": "SYMBOL", 3720 "name": "_sequence_expression_ext" 3721 } 3722 } 3723 ] 3724 }, 3725 { 3726 "type": "BLANK" 3727 } 3728 ] 3729 }, 3730 { 3731 "type": "REPEAT", 3732 "content": { 3733 "type": "SYMBOL", 3734 "name": "item_attribute" 3735 } 3736 } 3737 ] 3738 }, 3739 "method_definition": { 3740 "type": "SEQ", 3741 "members": [ 3742 { 3743 "type": "STRING", 3744 "value": "method" 3745 }, 3746 { 3747 "type": "CHOICE", 3748 "members": [ 3749 { 3750 "type": "STRING", 3751 "value": "!" 3752 }, 3753 { 3754 "type": "BLANK" 3755 } 3756 ] 3757 }, 3758 { 3759 "type": "REPEAT", 3760 "content": { 3761 "type": "CHOICE", 3762 "members": [ 3763 { 3764 "type": "STRING", 3765 "value": "private" 3766 }, 3767 { 3768 "type": "STRING", 3769 "value": "virtual" 3770 } 3771 ] 3772 } 3773 }, 3774 { 3775 "type": "FIELD", 3776 "name": "name", 3777 "content": { 3778 "type": "SYMBOL", 3779 "name": "_method_name" 3780 } 3781 }, 3782 { 3783 "type": "REPEAT", 3784 "content": { 3785 "type": "SYMBOL", 3786 "name": "_parameter" 3787 } 3788 }, 3789 { 3790 "type": "CHOICE", 3791 "members": [ 3792 { 3793 "type": "SYMBOL", 3794 "name": "_polymorphic_typed" 3795 }, 3796 { 3797 "type": "BLANK" 3798 } 3799 ] 3800 }, 3801 { 3802 "type": "CHOICE", 3803 "members": [ 3804 { 3805 "type": "SEQ", 3806 "members": [ 3807 { 3808 "type": "STRING", 3809 "value": "=" 3810 }, 3811 { 3812 "type": "FIELD", 3813 "name": "body", 3814 "content": { 3815 "type": "SYMBOL", 3816 "name": "_sequence_expression_ext" 3817 } 3818 } 3819 ] 3820 }, 3821 { 3822 "type": "BLANK" 3823 } 3824 ] 3825 }, 3826 { 3827 "type": "REPEAT", 3828 "content": { 3829 "type": "SYMBOL", 3830 "name": "item_attribute" 3831 } 3832 } 3833 ] 3834 }, 3835 "class_initializer": { 3836 "type": "SEQ", 3837 "members": [ 3838 { 3839 "type": "STRING", 3840 "value": "initializer" 3841 }, 3842 { 3843 "type": "SYMBOL", 3844 "name": "_sequence_expression_ext" 3845 }, 3846 { 3847 "type": "REPEAT", 3848 "content": { 3849 "type": "SYMBOL", 3850 "name": "item_attribute" 3851 } 3852 } 3853 ] 3854 }, 3855 "let_open_class_expression": { 3856 "type": "PREC_RIGHT", 3857 "value": 2, 3858 "content": { 3859 "type": "SEQ", 3860 "members": [ 3861 { 3862 "type": "STRING", 3863 "value": "let" 3864 }, 3865 { 3866 "type": "SYMBOL", 3867 "name": "open_module" 3868 }, 3869 { 3870 "type": "STRING", 3871 "value": "in" 3872 }, 3873 { 3874 "type": "FIELD", 3875 "name": "body", 3876 "content": { 3877 "type": "SYMBOL", 3878 "name": "_class_expression_ext" 3879 } 3880 } 3881 ] 3882 } 3883 }, 3884 "parenthesized_class_expression": { 3885 "type": "SEQ", 3886 "members": [ 3887 { 3888 "type": "SEQ", 3889 "members": [ 3890 { 3891 "type": "STRING", 3892 "value": "(" 3893 }, 3894 { 3895 "type": "SYMBOL", 3896 "name": "_class_expression_ext" 3897 }, 3898 { 3899 "type": "STRING", 3900 "value": ")" 3901 } 3902 ] 3903 } 3904 ] 3905 }, 3906 "_typed": { 3907 "type": "SEQ", 3908 "members": [ 3909 { 3910 "type": "STRING", 3911 "value": ":" 3912 }, 3913 { 3914 "type": "SYMBOL", 3915 "name": "_type_ext" 3916 } 3917 ] 3918 }, 3919 "_simple_typed": { 3920 "type": "SEQ", 3921 "members": [ 3922 { 3923 "type": "STRING", 3924 "value": ":" 3925 }, 3926 { 3927 "type": "SYMBOL", 3928 "name": "_simple_type_ext" 3929 } 3930 ] 3931 }, 3932 "_polymorphic_typed": { 3933 "type": "SEQ", 3934 "members": [ 3935 { 3936 "type": "STRING", 3937 "value": ":" 3938 }, 3939 { 3940 "type": "SYMBOL", 3941 "name": "_polymorphic_type" 3942 } 3943 ] 3944 }, 3945 "_polymorphic_type": { 3946 "type": "CHOICE", 3947 "members": [ 3948 { 3949 "type": "SYMBOL", 3950 "name": "polymorphic_type" 3951 }, 3952 { 3953 "type": "SYMBOL", 3954 "name": "_type_ext" 3955 } 3956 ] 3957 }, 3958 "polymorphic_type": { 3959 "type": "SEQ", 3960 "members": [ 3961 { 3962 "type": "CHOICE", 3963 "members": [ 3964 { 3965 "type": "REPEAT1", 3966 "content": { 3967 "type": "SYMBOL", 3968 "name": "type_variable" 3969 } 3970 }, 3971 { 3972 "type": "ALIAS", 3973 "content": { 3974 "type": "SYMBOL", 3975 "name": "_abstract_type" 3976 }, 3977 "named": true, 3978 "value": "abstract_type" 3979 } 3980 ] 3981 }, 3982 { 3983 "type": "STRING", 3984 "value": "." 3985 }, 3986 { 3987 "type": "SYMBOL", 3988 "name": "_type_ext" 3989 } 3990 ] 3991 }, 3992 "_abstract_type": { 3993 "type": "SEQ", 3994 "members": [ 3995 { 3996 "type": "STRING", 3997 "value": "type" 3998 }, 3999 { 4000 "type": "REPEAT1", 4001 "content": { 4002 "type": "SYMBOL", 4003 "name": "_type_constructor" 4004 } 4005 } 4006 ] 4007 }, 4008 "_parenthesized_abstract_type": { 4009 "type": "SEQ", 4010 "members": [ 4011 { 4012 "type": "STRING", 4013 "value": "(" 4014 }, 4015 { 4016 "type": "SYMBOL", 4017 "name": "_abstract_type" 4018 }, 4019 { 4020 "type": "STRING", 4021 "value": ")" 4022 } 4023 ] 4024 }, 4025 "_simple_type": { 4026 "type": "CHOICE", 4027 "members": [ 4028 { 4029 "type": "SYMBOL", 4030 "name": "type_variable" 4031 }, 4032 { 4033 "type": "SYMBOL", 4034 "name": "type_constructor_path" 4035 }, 4036 { 4037 "type": "SYMBOL", 4038 "name": "constructed_type" 4039 }, 4040 { 4041 "type": "SYMBOL", 4042 "name": "polymorphic_variant_type" 4043 }, 4044 { 4045 "type": "SYMBOL", 4046 "name": "package_type" 4047 }, 4048 { 4049 "type": "SYMBOL", 4050 "name": "hash_type" 4051 }, 4052 { 4053 "type": "SYMBOL", 4054 "name": "object_type" 4055 }, 4056 { 4057 "type": "SYMBOL", 4058 "name": "parenthesized_type" 4059 } 4060 ] 4061 }, 4062 "_simple_type_ext": { 4063 "type": "CHOICE", 4064 "members": [ 4065 { 4066 "type": "SYMBOL", 4067 "name": "_simple_type" 4068 }, 4069 { 4070 "type": "SYMBOL", 4071 "name": "_extension" 4072 } 4073 ] 4074 }, 4075 "_tuple_type": { 4076 "type": "CHOICE", 4077 "members": [ 4078 { 4079 "type": "SYMBOL", 4080 "name": "_simple_type" 4081 }, 4082 { 4083 "type": "SYMBOL", 4084 "name": "tuple_type" 4085 } 4086 ] 4087 }, 4088 "_tuple_type_ext": { 4089 "type": "CHOICE", 4090 "members": [ 4091 { 4092 "type": "SYMBOL", 4093 "name": "_tuple_type" 4094 }, 4095 { 4096 "type": "SYMBOL", 4097 "name": "_extension" 4098 } 4099 ] 4100 }, 4101 "_type": { 4102 "type": "CHOICE", 4103 "members": [ 4104 { 4105 "type": "SYMBOL", 4106 "name": "_tuple_type" 4107 }, 4108 { 4109 "type": "SYMBOL", 4110 "name": "function_type" 4111 }, 4112 { 4113 "type": "SYMBOL", 4114 "name": "aliased_type" 4115 } 4116 ] 4117 }, 4118 "_type_ext": { 4119 "type": "CHOICE", 4120 "members": [ 4121 { 4122 "type": "SYMBOL", 4123 "name": "_type" 4124 }, 4125 { 4126 "type": "SYMBOL", 4127 "name": "_extension" 4128 } 4129 ] 4130 }, 4131 "function_type": { 4132 "type": "PREC_RIGHT", 4133 "value": 3, 4134 "content": { 4135 "type": "SEQ", 4136 "members": [ 4137 { 4138 "type": "CHOICE", 4139 "members": [ 4140 { 4141 "type": "SYMBOL", 4142 "name": "typed_label" 4143 }, 4144 { 4145 "type": "SYMBOL", 4146 "name": "_type_ext" 4147 } 4148 ] 4149 }, 4150 { 4151 "type": "STRING", 4152 "value": "->" 4153 }, 4154 { 4155 "type": "SYMBOL", 4156 "name": "_type_ext" 4157 } 4158 ] 4159 } 4160 }, 4161 "typed_label": { 4162 "type": "PREC_LEFT", 4163 "value": 3, 4164 "content": { 4165 "type": "SEQ", 4166 "members": [ 4167 { 4168 "type": "CHOICE", 4169 "members": [ 4170 { 4171 "type": "STRING", 4172 "value": "?" 4173 }, 4174 { 4175 "type": "BLANK" 4176 } 4177 ] 4178 }, 4179 { 4180 "type": "SYMBOL", 4181 "name": "_label_name" 4182 }, 4183 { 4184 "type": "STRING", 4185 "value": ":" 4186 }, 4187 { 4188 "type": "SYMBOL", 4189 "name": "_type_ext" 4190 } 4191 ] 4192 } 4193 }, 4194 "tuple_type": { 4195 "type": "PREC", 4196 "value": 6, 4197 "content": { 4198 "type": "SEQ", 4199 "members": [ 4200 { 4201 "type": "SYMBOL", 4202 "name": "_tuple_type_ext" 4203 }, 4204 { 4205 "type": "STRING", 4206 "value": "*" 4207 }, 4208 { 4209 "type": "SYMBOL", 4210 "name": "_simple_type_ext" 4211 } 4212 ] 4213 } 4214 }, 4215 "constructed_type": { 4216 "type": "PREC", 4217 "value": 16, 4218 "content": { 4219 "type": "SEQ", 4220 "members": [ 4221 { 4222 "type": "CHOICE", 4223 "members": [ 4224 { 4225 "type": "SYMBOL", 4226 "name": "_simple_type_ext" 4227 }, 4228 { 4229 "type": "SEQ", 4230 "members": [ 4231 { 4232 "type": "STRING", 4233 "value": "(" 4234 }, 4235 { 4236 "type": "SEQ", 4237 "members": [ 4238 { 4239 "type": "SYMBOL", 4240 "name": "_type_ext" 4241 }, 4242 { 4243 "type": "REPEAT", 4244 "content": { 4245 "type": "SEQ", 4246 "members": [ 4247 { 4248 "type": "STRING", 4249 "value": "," 4250 }, 4251 { 4252 "type": "SYMBOL", 4253 "name": "_type_ext" 4254 } 4255 ] 4256 } 4257 } 4258 ] 4259 }, 4260 { 4261 "type": "STRING", 4262 "value": ")" 4263 } 4264 ] 4265 } 4266 ] 4267 }, 4268 { 4269 "type": "SYMBOL", 4270 "name": "type_constructor_path" 4271 } 4272 ] 4273 } 4274 }, 4275 "aliased_type": { 4276 "type": "PREC", 4277 "value": 2, 4278 "content": { 4279 "type": "SEQ", 4280 "members": [ 4281 { 4282 "type": "SYMBOL", 4283 "name": "_type_ext" 4284 }, 4285 { 4286 "type": "STRING", 4287 "value": "as" 4288 }, 4289 { 4290 "type": "SYMBOL", 4291 "name": "type_variable" 4292 } 4293 ] 4294 } 4295 }, 4296 "polymorphic_variant_type": { 4297 "type": "SEQ", 4298 "members": [ 4299 { 4300 "type": "CHOICE", 4301 "members": [ 4302 { 4303 "type": "SEQ", 4304 "members": [ 4305 { 4306 "type": "STRING", 4307 "value": "[" 4308 }, 4309 { 4310 "type": "SYMBOL", 4311 "name": "tag_specification" 4312 }, 4313 { 4314 "type": "STRING", 4315 "value": "]" 4316 } 4317 ] 4318 }, 4319 { 4320 "type": "SEQ", 4321 "members": [ 4322 { 4323 "type": "STRING", 4324 "value": "[" 4325 }, 4326 { 4327 "type": "CHOICE", 4328 "members": [ 4329 { 4330 "type": "SYMBOL", 4331 "name": "_tag_spec" 4332 }, 4333 { 4334 "type": "BLANK" 4335 } 4336 ] 4337 }, 4338 { 4339 "type": "STRING", 4340 "value": "|" 4341 }, 4342 { 4343 "type": "SEQ", 4344 "members": [ 4345 { 4346 "type": "SYMBOL", 4347 "name": "_tag_spec" 4348 }, 4349 { 4350 "type": "REPEAT", 4351 "content": { 4352 "type": "SEQ", 4353 "members": [ 4354 { 4355 "type": "STRING", 4356 "value": "|" 4357 }, 4358 { 4359 "type": "SYMBOL", 4360 "name": "_tag_spec" 4361 } 4362 ] 4363 } 4364 } 4365 ] 4366 }, 4367 { 4368 "type": "STRING", 4369 "value": "]" 4370 } 4371 ] 4372 }, 4373 { 4374 "type": "SEQ", 4375 "members": [ 4376 { 4377 "type": "STRING", 4378 "value": "[>" 4379 }, 4380 { 4381 "type": "CHOICE", 4382 "members": [ 4383 { 4384 "type": "STRING", 4385 "value": "|" 4386 }, 4387 { 4388 "type": "BLANK" 4389 } 4390 ] 4391 }, 4392 { 4393 "type": "CHOICE", 4394 "members": [ 4395 { 4396 "type": "SEQ", 4397 "members": [ 4398 { 4399 "type": "SYMBOL", 4400 "name": "_tag_spec" 4401 }, 4402 { 4403 "type": "REPEAT", 4404 "content": { 4405 "type": "SEQ", 4406 "members": [ 4407 { 4408 "type": "STRING", 4409 "value": "|" 4410 }, 4411 { 4412 "type": "SYMBOL", 4413 "name": "_tag_spec" 4414 } 4415 ] 4416 } 4417 } 4418 ] 4419 }, 4420 { 4421 "type": "BLANK" 4422 } 4423 ] 4424 }, 4425 { 4426 "type": "STRING", 4427 "value": "]" 4428 } 4429 ] 4430 }, 4431 { 4432 "type": "SEQ", 4433 "members": [ 4434 { 4435 "type": "STRING", 4436 "value": "[<" 4437 }, 4438 { 4439 "type": "CHOICE", 4440 "members": [ 4441 { 4442 "type": "STRING", 4443 "value": "|" 4444 }, 4445 { 4446 "type": "BLANK" 4447 } 4448 ] 4449 }, 4450 { 4451 "type": "SEQ", 4452 "members": [ 4453 { 4454 "type": "SYMBOL", 4455 "name": "_tag_spec" 4456 }, 4457 { 4458 "type": "REPEAT", 4459 "content": { 4460 "type": "SEQ", 4461 "members": [ 4462 { 4463 "type": "STRING", 4464 "value": "|" 4465 }, 4466 { 4467 "type": "SYMBOL", 4468 "name": "_tag_spec" 4469 } 4470 ] 4471 } 4472 } 4473 ] 4474 }, 4475 { 4476 "type": "CHOICE", 4477 "members": [ 4478 { 4479 "type": "SEQ", 4480 "members": [ 4481 { 4482 "type": "STRING", 4483 "value": ">" 4484 }, 4485 { 4486 "type": "REPEAT1", 4487 "content": { 4488 "type": "SYMBOL", 4489 "name": "tag" 4490 } 4491 } 4492 ] 4493 }, 4494 { 4495 "type": "BLANK" 4496 } 4497 ] 4498 }, 4499 { 4500 "type": "STRING", 4501 "value": "]" 4502 } 4503 ] 4504 } 4505 ] 4506 } 4507 ] 4508 }, 4509 "_tag_spec": { 4510 "type": "CHOICE", 4511 "members": [ 4512 { 4513 "type": "SYMBOL", 4514 "name": "_type_ext" 4515 }, 4516 { 4517 "type": "SYMBOL", 4518 "name": "tag_specification" 4519 } 4520 ] 4521 }, 4522 "tag_specification": { 4523 "type": "SEQ", 4524 "members": [ 4525 { 4526 "type": "SYMBOL", 4527 "name": "tag" 4528 }, 4529 { 4530 "type": "CHOICE", 4531 "members": [ 4532 { 4533 "type": "SEQ", 4534 "members": [ 4535 { 4536 "type": "STRING", 4537 "value": "of" 4538 }, 4539 { 4540 "type": "CHOICE", 4541 "members": [ 4542 { 4543 "type": "STRING", 4544 "value": "&" 4545 }, 4546 { 4547 "type": "BLANK" 4548 } 4549 ] 4550 }, 4551 { 4552 "type": "SEQ", 4553 "members": [ 4554 { 4555 "type": "SYMBOL", 4556 "name": "_type_ext" 4557 }, 4558 { 4559 "type": "REPEAT", 4560 "content": { 4561 "type": "SEQ", 4562 "members": [ 4563 { 4564 "type": "STRING", 4565 "value": "&" 4566 }, 4567 { 4568 "type": "SYMBOL", 4569 "name": "_type_ext" 4570 } 4571 ] 4572 } 4573 } 4574 ] 4575 } 4576 ] 4577 }, 4578 { 4579 "type": "BLANK" 4580 } 4581 ] 4582 } 4583 ] 4584 }, 4585 "package_type": { 4586 "type": "SEQ", 4587 "members": [ 4588 { 4589 "type": "STRING", 4590 "value": "(" 4591 }, 4592 { 4593 "type": "SEQ", 4594 "members": [ 4595 { 4596 "type": "STRING", 4597 "value": "module" 4598 }, 4599 { 4600 "type": "CHOICE", 4601 "members": [ 4602 { 4603 "type": "SYMBOL", 4604 "name": "_attribute" 4605 }, 4606 { 4607 "type": "BLANK" 4608 } 4609 ] 4610 }, 4611 { 4612 "type": "SYMBOL", 4613 "name": "_module_type_ext" 4614 } 4615 ] 4616 }, 4617 { 4618 "type": "STRING", 4619 "value": ")" 4620 } 4621 ] 4622 }, 4623 "object_type": { 4624 "type": "SEQ", 4625 "members": [ 4626 { 4627 "type": "STRING", 4628 "value": "<" 4629 }, 4630 { 4631 "type": "CHOICE", 4632 "members": [ 4633 { 4634 "type": "CHOICE", 4635 "members": [ 4636 { 4637 "type": "SEQ", 4638 "members": [ 4639 { 4640 "type": "SEQ", 4641 "members": [ 4642 { 4643 "type": "CHOICE", 4644 "members": [ 4645 { 4646 "type": "SYMBOL", 4647 "name": "method_type" 4648 }, 4649 { 4650 "type": "SYMBOL", 4651 "name": "_simple_type_ext" 4652 } 4653 ] 4654 }, 4655 { 4656 "type": "REPEAT", 4657 "content": { 4658 "type": "SEQ", 4659 "members": [ 4660 { 4661 "type": "STRING", 4662 "value": ";" 4663 }, 4664 { 4665 "type": "CHOICE", 4666 "members": [ 4667 { 4668 "type": "SYMBOL", 4669 "name": "method_type" 4670 }, 4671 { 4672 "type": "SYMBOL", 4673 "name": "_simple_type_ext" 4674 } 4675 ] 4676 } 4677 ] 4678 } 4679 } 4680 ] 4681 }, 4682 { 4683 "type": "CHOICE", 4684 "members": [ 4685 { 4686 "type": "SEQ", 4687 "members": [ 4688 { 4689 "type": "STRING", 4690 "value": ";" 4691 }, 4692 { 4693 "type": "CHOICE", 4694 "members": [ 4695 { 4696 "type": "STRING", 4697 "value": ".." 4698 }, 4699 { 4700 "type": "BLANK" 4701 } 4702 ] 4703 } 4704 ] 4705 }, 4706 { 4707 "type": "BLANK" 4708 } 4709 ] 4710 } 4711 ] 4712 }, 4713 { 4714 "type": "STRING", 4715 "value": ".." 4716 } 4717 ] 4718 }, 4719 { 4720 "type": "BLANK" 4721 } 4722 ] 4723 }, 4724 { 4725 "type": "STRING", 4726 "value": ">" 4727 } 4728 ] 4729 }, 4730 "method_type": { 4731 "type": "SEQ", 4732 "members": [ 4733 { 4734 "type": "SYMBOL", 4735 "name": "_method_name" 4736 }, 4737 { 4738 "type": "SYMBOL", 4739 "name": "_polymorphic_typed" 4740 } 4741 ] 4742 }, 4743 "hash_type": { 4744 "type": "PREC", 4745 "value": 17, 4746 "content": { 4747 "type": "SEQ", 4748 "members": [ 4749 { 4750 "type": "CHOICE", 4751 "members": [ 4752 { 4753 "type": "CHOICE", 4754 "members": [ 4755 { 4756 "type": "SYMBOL", 4757 "name": "_simple_type_ext" 4758 }, 4759 { 4760 "type": "SEQ", 4761 "members": [ 4762 { 4763 "type": "STRING", 4764 "value": "(" 4765 }, 4766 { 4767 "type": "SEQ", 4768 "members": [ 4769 { 4770 "type": "SYMBOL", 4771 "name": "_type_ext" 4772 }, 4773 { 4774 "type": "REPEAT", 4775 "content": { 4776 "type": "SEQ", 4777 "members": [ 4778 { 4779 "type": "STRING", 4780 "value": "," 4781 }, 4782 { 4783 "type": "SYMBOL", 4784 "name": "_type_ext" 4785 } 4786 ] 4787 } 4788 } 4789 ] 4790 }, 4791 { 4792 "type": "STRING", 4793 "value": ")" 4794 } 4795 ] 4796 } 4797 ] 4798 }, 4799 { 4800 "type": "BLANK" 4801 } 4802 ] 4803 }, 4804 { 4805 "type": "STRING", 4806 "value": "#" 4807 }, 4808 { 4809 "type": "SYMBOL", 4810 "name": "class_type_path" 4811 } 4812 ] 4813 } 4814 }, 4815 "parenthesized_type": { 4816 "type": "SEQ", 4817 "members": [ 4818 { 4819 "type": "STRING", 4820 "value": "(" 4821 }, 4822 { 4823 "type": "SYMBOL", 4824 "name": "_type_ext" 4825 }, 4826 { 4827 "type": "STRING", 4828 "value": ")" 4829 } 4830 ] 4831 }, 4832 "_simple_expression": { 4833 "type": "CHOICE", 4834 "members": [ 4835 { 4836 "type": "SYMBOL", 4837 "name": "value_path" 4838 }, 4839 { 4840 "type": "SYMBOL", 4841 "name": "_constant" 4842 }, 4843 { 4844 "type": "SYMBOL", 4845 "name": "typed_expression" 4846 }, 4847 { 4848 "type": "SYMBOL", 4849 "name": "constructor_path" 4850 }, 4851 { 4852 "type": "SYMBOL", 4853 "name": "tag" 4854 }, 4855 { 4856 "type": "SYMBOL", 4857 "name": "list_expression" 4858 }, 4859 { 4860 "type": "SYMBOL", 4861 "name": "array_expression" 4862 }, 4863 { 4864 "type": "SYMBOL", 4865 "name": "record_expression" 4866 }, 4867 { 4868 "type": "SYMBOL", 4869 "name": "prefix_expression" 4870 }, 4871 { 4872 "type": "SYMBOL", 4873 "name": "hash_expression" 4874 }, 4875 { 4876 "type": "SYMBOL", 4877 "name": "field_get_expression" 4878 }, 4879 { 4880 "type": "SYMBOL", 4881 "name": "array_get_expression" 4882 }, 4883 { 4884 "type": "SYMBOL", 4885 "name": "string_get_expression" 4886 }, 4887 { 4888 "type": "SYMBOL", 4889 "name": "bigarray_get_expression" 4890 }, 4891 { 4892 "type": "SYMBOL", 4893 "name": "coercion_expression" 4894 }, 4895 { 4896 "type": "SYMBOL", 4897 "name": "local_open_expression" 4898 }, 4899 { 4900 "type": "SYMBOL", 4901 "name": "package_expression" 4902 }, 4903 { 4904 "type": "SYMBOL", 4905 "name": "new_expression" 4906 }, 4907 { 4908 "type": "SYMBOL", 4909 "name": "object_copy_expression" 4910 }, 4911 { 4912 "type": "SYMBOL", 4913 "name": "method_invocation" 4914 }, 4915 { 4916 "type": "SYMBOL", 4917 "name": "object_expression" 4918 }, 4919 { 4920 "type": "SYMBOL", 4921 "name": "parenthesized_expression" 4922 }, 4923 { 4924 "type": "SYMBOL", 4925 "name": "ocamlyacc_value" 4926 } 4927 ] 4928 }, 4929 "_simple_expression_ext": { 4930 "type": "CHOICE", 4931 "members": [ 4932 { 4933 "type": "SYMBOL", 4934 "name": "_simple_expression" 4935 }, 4936 { 4937 "type": "SYMBOL", 4938 "name": "_extension" 4939 } 4940 ] 4941 }, 4942 "_expression": { 4943 "type": "CHOICE", 4944 "members": [ 4945 { 4946 "type": "SYMBOL", 4947 "name": "_simple_expression" 4948 }, 4949 { 4950 "type": "SYMBOL", 4951 "name": "product_expression" 4952 }, 4953 { 4954 "type": "SYMBOL", 4955 "name": "cons_expression" 4956 }, 4957 { 4958 "type": "SYMBOL", 4959 "name": "application_expression" 4960 }, 4961 { 4962 "type": "SYMBOL", 4963 "name": "infix_expression" 4964 }, 4965 { 4966 "type": "SYMBOL", 4967 "name": "sign_expression" 4968 }, 4969 { 4970 "type": "SYMBOL", 4971 "name": "set_expression" 4972 }, 4973 { 4974 "type": "SYMBOL", 4975 "name": "if_expression" 4976 }, 4977 { 4978 "type": "SYMBOL", 4979 "name": "while_expression" 4980 }, 4981 { 4982 "type": "SYMBOL", 4983 "name": "for_expression" 4984 }, 4985 { 4986 "type": "SYMBOL", 4987 "name": "match_expression" 4988 }, 4989 { 4990 "type": "SYMBOL", 4991 "name": "function_expression" 4992 }, 4993 { 4994 "type": "SYMBOL", 4995 "name": "fun_expression" 4996 }, 4997 { 4998 "type": "SYMBOL", 4999 "name": "try_expression" 5000 }, 5001 { 5002 "type": "SYMBOL", 5003 "name": "let_expression" 5004 }, 5005 { 5006 "type": "SYMBOL", 5007 "name": "assert_expression" 5008 }, 5009 { 5010 "type": "SYMBOL", 5011 "name": "lazy_expression" 5012 }, 5013 { 5014 "type": "SYMBOL", 5015 "name": "let_module_expression" 5016 }, 5017 { 5018 "type": "SYMBOL", 5019 "name": "let_open_expression" 5020 }, 5021 { 5022 "type": "SYMBOL", 5023 "name": "let_exception_expression" 5024 } 5025 ] 5026 }, 5027 "_expression_ext": { 5028 "type": "CHOICE", 5029 "members": [ 5030 { 5031 "type": "SYMBOL", 5032 "name": "_expression" 5033 }, 5034 { 5035 "type": "SYMBOL", 5036 "name": "_extension" 5037 } 5038 ] 5039 }, 5040 "_sequence_expression": { 5041 "type": "CHOICE", 5042 "members": [ 5043 { 5044 "type": "SYMBOL", 5045 "name": "_expression" 5046 }, 5047 { 5048 "type": "SYMBOL", 5049 "name": "sequence_expression" 5050 } 5051 ] 5052 }, 5053 "_sequence_expression_ext": { 5054 "type": "CHOICE", 5055 "members": [ 5056 { 5057 "type": "SYMBOL", 5058 "name": "_sequence_expression" 5059 }, 5060 { 5061 "type": "SYMBOL", 5062 "name": "_extension" 5063 } 5064 ] 5065 }, 5066 "typed_expression": { 5067 "type": "SEQ", 5068 "members": [ 5069 { 5070 "type": "STRING", 5071 "value": "(" 5072 }, 5073 { 5074 "type": "SEQ", 5075 "members": [ 5076 { 5077 "type": "SYMBOL", 5078 "name": "_sequence_expression_ext" 5079 }, 5080 { 5081 "type": "SYMBOL", 5082 "name": "_typed" 5083 } 5084 ] 5085 }, 5086 { 5087 "type": "STRING", 5088 "value": ")" 5089 } 5090 ] 5091 }, 5092 "product_expression": { 5093 "type": "PREC_LEFT", 5094 "value": 6, 5095 "content": { 5096 "type": "SEQ", 5097 "members": [ 5098 { 5099 "type": "FIELD", 5100 "name": "left", 5101 "content": { 5102 "type": "SYMBOL", 5103 "name": "_expression_ext" 5104 } 5105 }, 5106 { 5107 "type": "STRING", 5108 "value": "," 5109 }, 5110 { 5111 "type": "FIELD", 5112 "name": "right", 5113 "content": { 5114 "type": "SYMBOL", 5115 "name": "_expression_ext" 5116 } 5117 } 5118 ] 5119 } 5120 }, 5121 "cons_expression": { 5122 "type": "PREC_RIGHT", 5123 "value": 11, 5124 "content": { 5125 "type": "SEQ", 5126 "members": [ 5127 { 5128 "type": "FIELD", 5129 "name": "left", 5130 "content": { 5131 "type": "SYMBOL", 5132 "name": "_expression_ext" 5133 } 5134 }, 5135 { 5136 "type": "STRING", 5137 "value": "::" 5138 }, 5139 { 5140 "type": "FIELD", 5141 "name": "right", 5142 "content": { 5143 "type": "SYMBOL", 5144 "name": "_expression_ext" 5145 } 5146 } 5147 ] 5148 } 5149 }, 5150 "list_expression": { 5151 "type": "SEQ", 5152 "members": [ 5153 { 5154 "type": "STRING", 5155 "value": "[" 5156 }, 5157 { 5158 "type": "CHOICE", 5159 "members": [ 5160 { 5161 "type": "SEQ", 5162 "members": [ 5163 { 5164 "type": "SEQ", 5165 "members": [ 5166 { 5167 "type": "SYMBOL", 5168 "name": "_expression_ext" 5169 }, 5170 { 5171 "type": "REPEAT", 5172 "content": { 5173 "type": "SEQ", 5174 "members": [ 5175 { 5176 "type": "STRING", 5177 "value": ";" 5178 }, 5179 { 5180 "type": "SYMBOL", 5181 "name": "_expression_ext" 5182 } 5183 ] 5184 } 5185 } 5186 ] 5187 }, 5188 { 5189 "type": "CHOICE", 5190 "members": [ 5191 { 5192 "type": "STRING", 5193 "value": ";" 5194 }, 5195 { 5196 "type": "BLANK" 5197 } 5198 ] 5199 } 5200 ] 5201 }, 5202 { 5203 "type": "BLANK" 5204 } 5205 ] 5206 }, 5207 { 5208 "type": "STRING", 5209 "value": "]" 5210 } 5211 ] 5212 }, 5213 "array_expression": { 5214 "type": "SEQ", 5215 "members": [ 5216 { 5217 "type": "STRING", 5218 "value": "[|" 5219 }, 5220 { 5221 "type": "CHOICE", 5222 "members": [ 5223 { 5224 "type": "SEQ", 5225 "members": [ 5226 { 5227 "type": "SEQ", 5228 "members": [ 5229 { 5230 "type": "SYMBOL", 5231 "name": "_expression_ext" 5232 }, 5233 { 5234 "type": "REPEAT", 5235 "content": { 5236 "type": "SEQ", 5237 "members": [ 5238 { 5239 "type": "STRING", 5240 "value": ";" 5241 }, 5242 { 5243 "type": "SYMBOL", 5244 "name": "_expression_ext" 5245 } 5246 ] 5247 } 5248 } 5249 ] 5250 }, 5251 { 5252 "type": "CHOICE", 5253 "members": [ 5254 { 5255 "type": "STRING", 5256 "value": ";" 5257 }, 5258 { 5259 "type": "BLANK" 5260 } 5261 ] 5262 } 5263 ] 5264 }, 5265 { 5266 "type": "BLANK" 5267 } 5268 ] 5269 }, 5270 { 5271 "type": "STRING", 5272 "value": "|]" 5273 } 5274 ] 5275 }, 5276 "record_expression": { 5277 "type": "SEQ", 5278 "members": [ 5279 { 5280 "type": "STRING", 5281 "value": "{" 5282 }, 5283 { 5284 "type": "CHOICE", 5285 "members": [ 5286 { 5287 "type": "SEQ", 5288 "members": [ 5289 { 5290 "type": "SYMBOL", 5291 "name": "_simple_expression_ext" 5292 }, 5293 { 5294 "type": "STRING", 5295 "value": "with" 5296 } 5297 ] 5298 }, 5299 { 5300 "type": "BLANK" 5301 } 5302 ] 5303 }, 5304 { 5305 "type": "SEQ", 5306 "members": [ 5307 { 5308 "type": "SYMBOL", 5309 "name": "field_expression" 5310 }, 5311 { 5312 "type": "REPEAT", 5313 "content": { 5314 "type": "SEQ", 5315 "members": [ 5316 { 5317 "type": "STRING", 5318 "value": ";" 5319 }, 5320 { 5321 "type": "SYMBOL", 5322 "name": "field_expression" 5323 } 5324 ] 5325 } 5326 } 5327 ] 5328 }, 5329 { 5330 "type": "CHOICE", 5331 "members": [ 5332 { 5333 "type": "STRING", 5334 "value": ";" 5335 }, 5336 { 5337 "type": "BLANK" 5338 } 5339 ] 5340 }, 5341 { 5342 "type": "STRING", 5343 "value": "}" 5344 } 5345 ] 5346 }, 5347 "field_expression": { 5348 "type": "PREC", 5349 "value": 3, 5350 "content": { 5351 "type": "SEQ", 5352 "members": [ 5353 { 5354 "type": "FIELD", 5355 "name": "name", 5356 "content": { 5357 "type": "SYMBOL", 5358 "name": "field_path" 5359 } 5360 }, 5361 { 5362 "type": "CHOICE", 5363 "members": [ 5364 { 5365 "type": "SYMBOL", 5366 "name": "_typed" 5367 }, 5368 { 5369 "type": "BLANK" 5370 } 5371 ] 5372 }, 5373 { 5374 "type": "CHOICE", 5375 "members": [ 5376 { 5377 "type": "SEQ", 5378 "members": [ 5379 { 5380 "type": "STRING", 5381 "value": "=" 5382 }, 5383 { 5384 "type": "FIELD", 5385 "name": "body", 5386 "content": { 5387 "type": "SYMBOL", 5388 "name": "_expression_ext" 5389 } 5390 } 5391 ] 5392 }, 5393 { 5394 "type": "BLANK" 5395 } 5396 ] 5397 } 5398 ] 5399 } 5400 }, 5401 "application_expression": { 5402 "type": "PREC_RIGHT", 5403 "value": 16, 5404 "content": { 5405 "type": "SEQ", 5406 "members": [ 5407 { 5408 "type": "FIELD", 5409 "name": "function", 5410 "content": { 5411 "type": "SYMBOL", 5412 "name": "_simple_expression_ext" 5413 } 5414 }, 5415 { 5416 "type": "REPEAT1", 5417 "content": { 5418 "type": "FIELD", 5419 "name": "argument", 5420 "content": { 5421 "type": "SYMBOL", 5422 "name": "_argument" 5423 } 5424 } 5425 } 5426 ] 5427 } 5428 }, 5429 "_argument": { 5430 "type": "CHOICE", 5431 "members": [ 5432 { 5433 "type": "SYMBOL", 5434 "name": "_simple_expression_ext" 5435 }, 5436 { 5437 "type": "SYMBOL", 5438 "name": "labeled_argument" 5439 } 5440 ] 5441 }, 5442 "labeled_argument": { 5443 "type": "CHOICE", 5444 "members": [ 5445 { 5446 "type": "SYMBOL", 5447 "name": "_label" 5448 }, 5449 { 5450 "type": "SEQ", 5451 "members": [ 5452 { 5453 "type": "SYMBOL", 5454 "name": "_label" 5455 }, 5456 { 5457 "type": "IMMEDIATE_TOKEN", 5458 "content": { 5459 "type": "STRING", 5460 "value": ":" 5461 } 5462 }, 5463 { 5464 "type": "SYMBOL", 5465 "name": "_simple_expression_ext" 5466 } 5467 ] 5468 }, 5469 { 5470 "type": "SEQ", 5471 "members": [ 5472 { 5473 "type": "CHOICE", 5474 "members": [ 5475 { 5476 "type": "STRING", 5477 "value": "~" 5478 }, 5479 { 5480 "type": "STRING", 5481 "value": "?" 5482 } 5483 ] 5484 }, 5485 { 5486 "type": "STRING", 5487 "value": "(" 5488 }, 5489 { 5490 "type": "SYMBOL", 5491 "name": "_label_name" 5492 }, 5493 { 5494 "type": "SYMBOL", 5495 "name": "_typed" 5496 }, 5497 { 5498 "type": "STRING", 5499 "value": ")" 5500 } 5501 ] 5502 } 5503 ] 5504 }, 5505 "prefix_expression": { 5506 "type": "PREC", 5507 "value": 19, 5508 "content": { 5509 "type": "SEQ", 5510 "members": [ 5511 { 5512 "type": "SYMBOL", 5513 "name": "prefix_operator" 5514 }, 5515 { 5516 "type": "FIELD", 5517 "name": "right", 5518 "content": { 5519 "type": "SYMBOL", 5520 "name": "_simple_expression_ext" 5521 } 5522 } 5523 ] 5524 } 5525 }, 5526 "sign_expression": { 5527 "type": "PREC", 5528 "value": 15, 5529 "content": { 5530 "type": "SEQ", 5531 "members": [ 5532 { 5533 "type": "SYMBOL", 5534 "name": "sign_operator" 5535 }, 5536 { 5537 "type": "FIELD", 5538 "name": "right", 5539 "content": { 5540 "type": "SYMBOL", 5541 "name": "_expression_ext" 5542 } 5543 } 5544 ] 5545 } 5546 }, 5547 "hash_expression": { 5548 "type": "PREC_LEFT", 5549 "value": 17, 5550 "content": { 5551 "type": "SEQ", 5552 "members": [ 5553 { 5554 "type": "FIELD", 5555 "name": "left", 5556 "content": { 5557 "type": "SYMBOL", 5558 "name": "_simple_expression_ext" 5559 } 5560 }, 5561 { 5562 "type": "SYMBOL", 5563 "name": "hash_operator" 5564 }, 5565 { 5566 "type": "FIELD", 5567 "name": "right", 5568 "content": { 5569 "type": "SYMBOL", 5570 "name": "_simple_expression_ext" 5571 } 5572 } 5573 ] 5574 } 5575 }, 5576 "infix_expression": { 5577 "type": "CHOICE", 5578 "members": [ 5579 { 5580 "type": "PREC_RIGHT", 5581 "value": 14, 5582 "content": { 5583 "type": "SEQ", 5584 "members": [ 5585 { 5586 "type": "FIELD", 5587 "name": "left", 5588 "content": { 5589 "type": "SYMBOL", 5590 "name": "_expression_ext" 5591 } 5592 }, 5593 { 5594 "type": "ALIAS", 5595 "content": { 5596 "type": "SYMBOL", 5597 "name": "_pow_operator" 5598 }, 5599 "named": true, 5600 "value": "infix_operator" 5601 }, 5602 { 5603 "type": "FIELD", 5604 "name": "right", 5605 "content": { 5606 "type": "SYMBOL", 5607 "name": "_expression_ext" 5608 } 5609 } 5610 ] 5611 } 5612 }, 5613 { 5614 "type": "PREC_LEFT", 5615 "value": 13, 5616 "content": { 5617 "type": "SEQ", 5618 "members": [ 5619 { 5620 "type": "FIELD", 5621 "name": "left", 5622 "content": { 5623 "type": "SYMBOL", 5624 "name": "_expression_ext" 5625 } 5626 }, 5627 { 5628 "type": "ALIAS", 5629 "content": { 5630 "type": "SYMBOL", 5631 "name": "_mult_operator" 5632 }, 5633 "named": true, 5634 "value": "infix_operator" 5635 }, 5636 { 5637 "type": "FIELD", 5638 "name": "right", 5639 "content": { 5640 "type": "SYMBOL", 5641 "name": "_expression_ext" 5642 } 5643 } 5644 ] 5645 } 5646 }, 5647 { 5648 "type": "PREC_LEFT", 5649 "value": 12, 5650 "content": { 5651 "type": "SEQ", 5652 "members": [ 5653 { 5654 "type": "FIELD", 5655 "name": "left", 5656 "content": { 5657 "type": "SYMBOL", 5658 "name": "_expression_ext" 5659 } 5660 }, 5661 { 5662 "type": "ALIAS", 5663 "content": { 5664 "type": "SYMBOL", 5665 "name": "_add_operator" 5666 }, 5667 "named": true, 5668 "value": "infix_operator" 5669 }, 5670 { 5671 "type": "FIELD", 5672 "name": "right", 5673 "content": { 5674 "type": "SYMBOL", 5675 "name": "_expression_ext" 5676 } 5677 } 5678 ] 5679 } 5680 }, 5681 { 5682 "type": "PREC_RIGHT", 5683 "value": 10, 5684 "content": { 5685 "type": "SEQ", 5686 "members": [ 5687 { 5688 "type": "FIELD", 5689 "name": "left", 5690 "content": { 5691 "type": "SYMBOL", 5692 "name": "_expression_ext" 5693 } 5694 }, 5695 { 5696 "type": "ALIAS", 5697 "content": { 5698 "type": "SYMBOL", 5699 "name": "_concat_operator" 5700 }, 5701 "named": true, 5702 "value": "infix_operator" 5703 }, 5704 { 5705 "type": "FIELD", 5706 "name": "right", 5707 "content": { 5708 "type": "SYMBOL", 5709 "name": "_expression_ext" 5710 } 5711 } 5712 ] 5713 } 5714 }, 5715 { 5716 "type": "PREC_LEFT", 5717 "value": 9, 5718 "content": { 5719 "type": "SEQ", 5720 "members": [ 5721 { 5722 "type": "FIELD", 5723 "name": "left", 5724 "content": { 5725 "type": "SYMBOL", 5726 "name": "_expression_ext" 5727 } 5728 }, 5729 { 5730 "type": "ALIAS", 5731 "content": { 5732 "type": "SYMBOL", 5733 "name": "_rel_operator" 5734 }, 5735 "named": true, 5736 "value": "infix_operator" 5737 }, 5738 { 5739 "type": "FIELD", 5740 "name": "right", 5741 "content": { 5742 "type": "SYMBOL", 5743 "name": "_expression_ext" 5744 } 5745 } 5746 ] 5747 } 5748 }, 5749 { 5750 "type": "PREC_RIGHT", 5751 "value": 8, 5752 "content": { 5753 "type": "SEQ", 5754 "members": [ 5755 { 5756 "type": "FIELD", 5757 "name": "left", 5758 "content": { 5759 "type": "SYMBOL", 5760 "name": "_expression_ext" 5761 } 5762 }, 5763 { 5764 "type": "ALIAS", 5765 "content": { 5766 "type": "SYMBOL", 5767 "name": "_and_operator" 5768 }, 5769 "named": true, 5770 "value": "infix_operator" 5771 }, 5772 { 5773 "type": "FIELD", 5774 "name": "right", 5775 "content": { 5776 "type": "SYMBOL", 5777 "name": "_expression_ext" 5778 } 5779 } 5780 ] 5781 } 5782 }, 5783 { 5784 "type": "PREC_RIGHT", 5785 "value": 7, 5786 "content": { 5787 "type": "SEQ", 5788 "members": [ 5789 { 5790 "type": "FIELD", 5791 "name": "left", 5792 "content": { 5793 "type": "SYMBOL", 5794 "name": "_expression_ext" 5795 } 5796 }, 5797 { 5798 "type": "ALIAS", 5799 "content": { 5800 "type": "SYMBOL", 5801 "name": "_or_operator" 5802 }, 5803 "named": true, 5804 "value": "infix_operator" 5805 }, 5806 { 5807 "type": "FIELD", 5808 "name": "right", 5809 "content": { 5810 "type": "SYMBOL", 5811 "name": "_expression_ext" 5812 } 5813 } 5814 ] 5815 } 5816 }, 5817 { 5818 "type": "PREC_RIGHT", 5819 "value": 5, 5820 "content": { 5821 "type": "SEQ", 5822 "members": [ 5823 { 5824 "type": "FIELD", 5825 "name": "left", 5826 "content": { 5827 "type": "SYMBOL", 5828 "name": "_expression_ext" 5829 } 5830 }, 5831 { 5832 "type": "ALIAS", 5833 "content": { 5834 "type": "SYMBOL", 5835 "name": "_assign_operator" 5836 }, 5837 "named": true, 5838 "value": "infix_operator" 5839 }, 5840 { 5841 "type": "FIELD", 5842 "name": "right", 5843 "content": { 5844 "type": "SYMBOL", 5845 "name": "_expression_ext" 5846 } 5847 } 5848 ] 5849 } 5850 } 5851 ] 5852 }, 5853 "field_get_expression": { 5854 "type": "PREC_LEFT", 5855 "value": 18, 5856 "content": { 5857 "type": "SEQ", 5858 "members": [ 5859 { 5860 "type": "SYMBOL", 5861 "name": "_simple_expression_ext" 5862 }, 5863 { 5864 "type": "STRING", 5865 "value": "." 5866 }, 5867 { 5868 "type": "SYMBOL", 5869 "name": "field_path" 5870 } 5871 ] 5872 } 5873 }, 5874 "array_get_expression": { 5875 "type": "PREC", 5876 "value": 18, 5877 "content": { 5878 "type": "SEQ", 5879 "members": [ 5880 { 5881 "type": "SYMBOL", 5882 "name": "_simple_expression_ext" 5883 }, 5884 { 5885 "type": "STRING", 5886 "value": "." 5887 }, 5888 { 5889 "type": "CHOICE", 5890 "members": [ 5891 { 5892 "type": "SYMBOL", 5893 "name": "indexing_operator_path" 5894 }, 5895 { 5896 "type": "BLANK" 5897 } 5898 ] 5899 }, 5900 { 5901 "type": "STRING", 5902 "value": "(" 5903 }, 5904 { 5905 "type": "SYMBOL", 5906 "name": "_sequence_expression_ext" 5907 }, 5908 { 5909 "type": "STRING", 5910 "value": ")" 5911 } 5912 ] 5913 } 5914 }, 5915 "string_get_expression": { 5916 "type": "PREC", 5917 "value": 18, 5918 "content": { 5919 "type": "SEQ", 5920 "members": [ 5921 { 5922 "type": "SYMBOL", 5923 "name": "_simple_expression_ext" 5924 }, 5925 { 5926 "type": "STRING", 5927 "value": "." 5928 }, 5929 { 5930 "type": "CHOICE", 5931 "members": [ 5932 { 5933 "type": "SYMBOL", 5934 "name": "indexing_operator_path" 5935 }, 5936 { 5937 "type": "BLANK" 5938 } 5939 ] 5940 }, 5941 { 5942 "type": "STRING", 5943 "value": "[" 5944 }, 5945 { 5946 "type": "SYMBOL", 5947 "name": "_sequence_expression_ext" 5948 }, 5949 { 5950 "type": "STRING", 5951 "value": "]" 5952 } 5953 ] 5954 } 5955 }, 5956 "bigarray_get_expression": { 5957 "type": "PREC", 5958 "value": 18, 5959 "content": { 5960 "type": "SEQ", 5961 "members": [ 5962 { 5963 "type": "SYMBOL", 5964 "name": "_simple_expression_ext" 5965 }, 5966 { 5967 "type": "STRING", 5968 "value": "." 5969 }, 5970 { 5971 "type": "CHOICE", 5972 "members": [ 5973 { 5974 "type": "SYMBOL", 5975 "name": "indexing_operator_path" 5976 }, 5977 { 5978 "type": "BLANK" 5979 } 5980 ] 5981 }, 5982 { 5983 "type": "STRING", 5984 "value": "{" 5985 }, 5986 { 5987 "type": "SYMBOL", 5988 "name": "_sequence_expression_ext" 5989 }, 5990 { 5991 "type": "STRING", 5992 "value": "}" 5993 } 5994 ] 5995 } 5996 }, 5997 "set_expression": { 5998 "type": "PREC_RIGHT", 5999 "value": 5, 6000 "content": { 6001 "type": "SEQ", 6002 "members": [ 6003 { 6004 "type": "CHOICE", 6005 "members": [ 6006 { 6007 "type": "SYMBOL", 6008 "name": "field_get_expression" 6009 }, 6010 { 6011 "type": "SYMBOL", 6012 "name": "array_get_expression" 6013 }, 6014 { 6015 "type": "SYMBOL", 6016 "name": "string_get_expression" 6017 }, 6018 { 6019 "type": "SYMBOL", 6020 "name": "bigarray_get_expression" 6021 }, 6022 { 6023 "type": "SYMBOL", 6024 "name": "_instance_variable_name" 6025 } 6026 ] 6027 }, 6028 { 6029 "type": "STRING", 6030 "value": "<-" 6031 }, 6032 { 6033 "type": "FIELD", 6034 "name": "body", 6035 "content": { 6036 "type": "SYMBOL", 6037 "name": "_expression_ext" 6038 } 6039 } 6040 ] 6041 } 6042 }, 6043 "if_expression": { 6044 "type": "PREC_RIGHT", 6045 "value": 4, 6046 "content": { 6047 "type": "SEQ", 6048 "members": [ 6049 { 6050 "type": "STRING", 6051 "value": "if" 6052 }, 6053 { 6054 "type": "CHOICE", 6055 "members": [ 6056 { 6057 "type": "SYMBOL", 6058 "name": "_attribute" 6059 }, 6060 { 6061 "type": "BLANK" 6062 } 6063 ] 6064 }, 6065 { 6066 "type": "FIELD", 6067 "name": "condition", 6068 "content": { 6069 "type": "SYMBOL", 6070 "name": "_sequence_expression_ext" 6071 } 6072 }, 6073 { 6074 "type": "SYMBOL", 6075 "name": "then_clause" 6076 }, 6077 { 6078 "type": "CHOICE", 6079 "members": [ 6080 { 6081 "type": "SYMBOL", 6082 "name": "else_clause" 6083 }, 6084 { 6085 "type": "BLANK" 6086 } 6087 ] 6088 } 6089 ] 6090 } 6091 }, 6092 "then_clause": { 6093 "type": "SEQ", 6094 "members": [ 6095 { 6096 "type": "STRING", 6097 "value": "then" 6098 }, 6099 { 6100 "type": "SYMBOL", 6101 "name": "_expression_ext" 6102 } 6103 ] 6104 }, 6105 "else_clause": { 6106 "type": "SEQ", 6107 "members": [ 6108 { 6109 "type": "STRING", 6110 "value": "else" 6111 }, 6112 { 6113 "type": "SYMBOL", 6114 "name": "_expression_ext" 6115 } 6116 ] 6117 }, 6118 "while_expression": { 6119 "type": "SEQ", 6120 "members": [ 6121 { 6122 "type": "STRING", 6123 "value": "while" 6124 }, 6125 { 6126 "type": "CHOICE", 6127 "members": [ 6128 { 6129 "type": "SYMBOL", 6130 "name": "_attribute" 6131 }, 6132 { 6133 "type": "BLANK" 6134 } 6135 ] 6136 }, 6137 { 6138 "type": "FIELD", 6139 "name": "condition", 6140 "content": { 6141 "type": "SYMBOL", 6142 "name": "_sequence_expression_ext" 6143 } 6144 }, 6145 { 6146 "type": "SYMBOL", 6147 "name": "do_clause" 6148 } 6149 ] 6150 }, 6151 "do_clause": { 6152 "type": "SEQ", 6153 "members": [ 6154 { 6155 "type": "STRING", 6156 "value": "do" 6157 }, 6158 { 6159 "type": "CHOICE", 6160 "members": [ 6161 { 6162 "type": "SYMBOL", 6163 "name": "_sequence_expression_ext" 6164 }, 6165 { 6166 "type": "BLANK" 6167 } 6168 ] 6169 }, 6170 { 6171 "type": "STRING", 6172 "value": "done" 6173 } 6174 ] 6175 }, 6176 "for_expression": { 6177 "type": "SEQ", 6178 "members": [ 6179 { 6180 "type": "STRING", 6181 "value": "for" 6182 }, 6183 { 6184 "type": "CHOICE", 6185 "members": [ 6186 { 6187 "type": "SYMBOL", 6188 "name": "_attribute" 6189 }, 6190 { 6191 "type": "BLANK" 6192 } 6193 ] 6194 }, 6195 { 6196 "type": "FIELD", 6197 "name": "name", 6198 "content": { 6199 "type": "SYMBOL", 6200 "name": "_value_pattern" 6201 } 6202 }, 6203 { 6204 "type": "STRING", 6205 "value": "=" 6206 }, 6207 { 6208 "type": "FIELD", 6209 "name": "from", 6210 "content": { 6211 "type": "SYMBOL", 6212 "name": "_sequence_expression_ext" 6213 } 6214 }, 6215 { 6216 "type": "CHOICE", 6217 "members": [ 6218 { 6219 "type": "STRING", 6220 "value": "to" 6221 }, 6222 { 6223 "type": "STRING", 6224 "value": "downto" 6225 } 6226 ] 6227 }, 6228 { 6229 "type": "FIELD", 6230 "name": "to", 6231 "content": { 6232 "type": "SYMBOL", 6233 "name": "_sequence_expression_ext" 6234 } 6235 }, 6236 { 6237 "type": "SYMBOL", 6238 "name": "do_clause" 6239 } 6240 ] 6241 }, 6242 "sequence_expression": { 6243 "type": "PREC_RIGHT", 6244 "value": 3, 6245 "content": { 6246 "type": "SEQ", 6247 "members": [ 6248 { 6249 "type": "FIELD", 6250 "name": "left", 6251 "content": { 6252 "type": "SYMBOL", 6253 "name": "_expression_ext" 6254 } 6255 }, 6256 { 6257 "type": "STRING", 6258 "value": ";" 6259 }, 6260 { 6261 "type": "CHOICE", 6262 "members": [ 6263 { 6264 "type": "SEQ", 6265 "members": [ 6266 { 6267 "type": "CHOICE", 6268 "members": [ 6269 { 6270 "type": "SYMBOL", 6271 "name": "_attribute" 6272 }, 6273 { 6274 "type": "BLANK" 6275 } 6276 ] 6277 }, 6278 { 6279 "type": "FIELD", 6280 "name": "right", 6281 "content": { 6282 "type": "SYMBOL", 6283 "name": "_sequence_expression_ext" 6284 } 6285 } 6286 ] 6287 }, 6288 { 6289 "type": "BLANK" 6290 } 6291 ] 6292 } 6293 ] 6294 } 6295 }, 6296 "match_expression": { 6297 "type": "PREC_RIGHT", 6298 "value": 2, 6299 "content": { 6300 "type": "SEQ", 6301 "members": [ 6302 { 6303 "type": "CHOICE", 6304 "members": [ 6305 { 6306 "type": "SEQ", 6307 "members": [ 6308 { 6309 "type": "STRING", 6310 "value": "match" 6311 }, 6312 { 6313 "type": "CHOICE", 6314 "members": [ 6315 { 6316 "type": "SYMBOL", 6317 "name": "_attribute" 6318 }, 6319 { 6320 "type": "BLANK" 6321 } 6322 ] 6323 } 6324 ] 6325 }, 6326 { 6327 "type": "SYMBOL", 6328 "name": "match_operator" 6329 } 6330 ] 6331 }, 6332 { 6333 "type": "SYMBOL", 6334 "name": "_sequence_expression_ext" 6335 }, 6336 { 6337 "type": "STRING", 6338 "value": "with" 6339 }, 6340 { 6341 "type": "SYMBOL", 6342 "name": "_match_cases" 6343 } 6344 ] 6345 } 6346 }, 6347 "_match_cases": { 6348 "type": "PREC_RIGHT", 6349 "value": 0, 6350 "content": { 6351 "type": "SEQ", 6352 "members": [ 6353 { 6354 "type": "CHOICE", 6355 "members": [ 6356 { 6357 "type": "STRING", 6358 "value": "|" 6359 }, 6360 { 6361 "type": "BLANK" 6362 } 6363 ] 6364 }, 6365 { 6366 "type": "SEQ", 6367 "members": [ 6368 { 6369 "type": "SYMBOL", 6370 "name": "match_case" 6371 }, 6372 { 6373 "type": "REPEAT", 6374 "content": { 6375 "type": "SEQ", 6376 "members": [ 6377 { 6378 "type": "STRING", 6379 "value": "|" 6380 }, 6381 { 6382 "type": "SYMBOL", 6383 "name": "match_case" 6384 } 6385 ] 6386 } 6387 } 6388 ] 6389 } 6390 ] 6391 } 6392 }, 6393 "match_case": { 6394 "type": "SEQ", 6395 "members": [ 6396 { 6397 "type": "FIELD", 6398 "name": "pattern", 6399 "content": { 6400 "type": "SYMBOL", 6401 "name": "_pattern_ext" 6402 } 6403 }, 6404 { 6405 "type": "CHOICE", 6406 "members": [ 6407 { 6408 "type": "SYMBOL", 6409 "name": "guard" 6410 }, 6411 { 6412 "type": "BLANK" 6413 } 6414 ] 6415 }, 6416 { 6417 "type": "STRING", 6418 "value": "->" 6419 }, 6420 { 6421 "type": "FIELD", 6422 "name": "body", 6423 "content": { 6424 "type": "CHOICE", 6425 "members": [ 6426 { 6427 "type": "SYMBOL", 6428 "name": "_sequence_expression_ext" 6429 }, 6430 { 6431 "type": "SYMBOL", 6432 "name": "refutation_case" 6433 } 6434 ] 6435 } 6436 } 6437 ] 6438 }, 6439 "guard": { 6440 "type": "SEQ", 6441 "members": [ 6442 { 6443 "type": "STRING", 6444 "value": "when" 6445 }, 6446 { 6447 "type": "SYMBOL", 6448 "name": "_sequence_expression_ext" 6449 } 6450 ] 6451 }, 6452 "refutation_case": { 6453 "type": "STRING", 6454 "value": "." 6455 }, 6456 "function_expression": { 6457 "type": "PREC_RIGHT", 6458 "value": 2, 6459 "content": { 6460 "type": "SEQ", 6461 "members": [ 6462 { 6463 "type": "STRING", 6464 "value": "function" 6465 }, 6466 { 6467 "type": "CHOICE", 6468 "members": [ 6469 { 6470 "type": "SYMBOL", 6471 "name": "_attribute" 6472 }, 6473 { 6474 "type": "BLANK" 6475 } 6476 ] 6477 }, 6478 { 6479 "type": "SYMBOL", 6480 "name": "_match_cases" 6481 } 6482 ] 6483 } 6484 }, 6485 "fun_expression": { 6486 "type": "PREC_RIGHT", 6487 "value": 2, 6488 "content": { 6489 "type": "SEQ", 6490 "members": [ 6491 { 6492 "type": "STRING", 6493 "value": "fun" 6494 }, 6495 { 6496 "type": "CHOICE", 6497 "members": [ 6498 { 6499 "type": "SYMBOL", 6500 "name": "_attribute" 6501 }, 6502 { 6503 "type": "BLANK" 6504 } 6505 ] 6506 }, 6507 { 6508 "type": "REPEAT1", 6509 "content": { 6510 "type": "SYMBOL", 6511 "name": "_parameter" 6512 } 6513 }, 6514 { 6515 "type": "CHOICE", 6516 "members": [ 6517 { 6518 "type": "SYMBOL", 6519 "name": "_simple_typed" 6520 }, 6521 { 6522 "type": "BLANK" 6523 } 6524 ] 6525 }, 6526 { 6527 "type": "STRING", 6528 "value": "->" 6529 }, 6530 { 6531 "type": "FIELD", 6532 "name": "body", 6533 "content": { 6534 "type": "SYMBOL", 6535 "name": "_sequence_expression_ext" 6536 } 6537 } 6538 ] 6539 } 6540 }, 6541 "try_expression": { 6542 "type": "PREC_RIGHT", 6543 "value": 2, 6544 "content": { 6545 "type": "SEQ", 6546 "members": [ 6547 { 6548 "type": "STRING", 6549 "value": "try" 6550 }, 6551 { 6552 "type": "CHOICE", 6553 "members": [ 6554 { 6555 "type": "SYMBOL", 6556 "name": "_attribute" 6557 }, 6558 { 6559 "type": "BLANK" 6560 } 6561 ] 6562 }, 6563 { 6564 "type": "SYMBOL", 6565 "name": "_sequence_expression_ext" 6566 }, 6567 { 6568 "type": "STRING", 6569 "value": "with" 6570 }, 6571 { 6572 "type": "SYMBOL", 6573 "name": "_match_cases" 6574 } 6575 ] 6576 } 6577 }, 6578 "let_expression": { 6579 "type": "PREC_RIGHT", 6580 "value": 2, 6581 "content": { 6582 "type": "SEQ", 6583 "members": [ 6584 { 6585 "type": "SYMBOL", 6586 "name": "value_definition" 6587 }, 6588 { 6589 "type": "STRING", 6590 "value": "in" 6591 }, 6592 { 6593 "type": "SYMBOL", 6594 "name": "_sequence_expression_ext" 6595 } 6596 ] 6597 } 6598 }, 6599 "coercion_expression": { 6600 "type": "SEQ", 6601 "members": [ 6602 { 6603 "type": "STRING", 6604 "value": "(" 6605 }, 6606 { 6607 "type": "SEQ", 6608 "members": [ 6609 { 6610 "type": "SYMBOL", 6611 "name": "_sequence_expression_ext" 6612 }, 6613 { 6614 "type": "CHOICE", 6615 "members": [ 6616 { 6617 "type": "SYMBOL", 6618 "name": "_typed" 6619 }, 6620 { 6621 "type": "BLANK" 6622 } 6623 ] 6624 }, 6625 { 6626 "type": "STRING", 6627 "value": ":>" 6628 }, 6629 { 6630 "type": "SYMBOL", 6631 "name": "_type_ext" 6632 } 6633 ] 6634 }, 6635 { 6636 "type": "STRING", 6637 "value": ")" 6638 } 6639 ] 6640 }, 6641 "assert_expression": { 6642 "type": "PREC_LEFT", 6643 "value": 16, 6644 "content": { 6645 "type": "SEQ", 6646 "members": [ 6647 { 6648 "type": "STRING", 6649 "value": "assert" 6650 }, 6651 { 6652 "type": "CHOICE", 6653 "members": [ 6654 { 6655 "type": "SYMBOL", 6656 "name": "_attribute" 6657 }, 6658 { 6659 "type": "BLANK" 6660 } 6661 ] 6662 }, 6663 { 6664 "type": "SYMBOL", 6665 "name": "_simple_expression_ext" 6666 } 6667 ] 6668 } 6669 }, 6670 "lazy_expression": { 6671 "type": "PREC_LEFT", 6672 "value": 16, 6673 "content": { 6674 "type": "SEQ", 6675 "members": [ 6676 { 6677 "type": "STRING", 6678 "value": "lazy" 6679 }, 6680 { 6681 "type": "CHOICE", 6682 "members": [ 6683 { 6684 "type": "SYMBOL", 6685 "name": "_attribute" 6686 }, 6687 { 6688 "type": "BLANK" 6689 } 6690 ] 6691 }, 6692 { 6693 "type": "SYMBOL", 6694 "name": "_simple_expression_ext" 6695 } 6696 ] 6697 } 6698 }, 6699 "let_module_expression": { 6700 "type": "PREC_RIGHT", 6701 "value": 2, 6702 "content": { 6703 "type": "SEQ", 6704 "members": [ 6705 { 6706 "type": "STRING", 6707 "value": "let" 6708 }, 6709 { 6710 "type": "SYMBOL", 6711 "name": "module_definition" 6712 }, 6713 { 6714 "type": "STRING", 6715 "value": "in" 6716 }, 6717 { 6718 "type": "FIELD", 6719 "name": "body", 6720 "content": { 6721 "type": "SYMBOL", 6722 "name": "_sequence_expression_ext" 6723 } 6724 } 6725 ] 6726 } 6727 }, 6728 "let_open_expression": { 6729 "type": "PREC_RIGHT", 6730 "value": 2, 6731 "content": { 6732 "type": "SEQ", 6733 "members": [ 6734 { 6735 "type": "STRING", 6736 "value": "let" 6737 }, 6738 { 6739 "type": "SYMBOL", 6740 "name": "open_module" 6741 }, 6742 { 6743 "type": "STRING", 6744 "value": "in" 6745 }, 6746 { 6747 "type": "FIELD", 6748 "name": "body", 6749 "content": { 6750 "type": "SYMBOL", 6751 "name": "_sequence_expression_ext" 6752 } 6753 } 6754 ] 6755 } 6756 }, 6757 "local_open_expression": { 6758 "type": "SEQ", 6759 "members": [ 6760 { 6761 "type": "SYMBOL", 6762 "name": "module_path" 6763 }, 6764 { 6765 "type": "STRING", 6766 "value": "." 6767 }, 6768 { 6769 "type": "CHOICE", 6770 "members": [ 6771 { 6772 "type": "SEQ", 6773 "members": [ 6774 { 6775 "type": "STRING", 6776 "value": "(" 6777 }, 6778 { 6779 "type": "CHOICE", 6780 "members": [ 6781 { 6782 "type": "SYMBOL", 6783 "name": "_sequence_expression_ext" 6784 }, 6785 { 6786 "type": "BLANK" 6787 } 6788 ] 6789 }, 6790 { 6791 "type": "STRING", 6792 "value": ")" 6793 } 6794 ] 6795 }, 6796 { 6797 "type": "SYMBOL", 6798 "name": "list_expression" 6799 }, 6800 { 6801 "type": "SYMBOL", 6802 "name": "array_expression" 6803 }, 6804 { 6805 "type": "SYMBOL", 6806 "name": "record_expression" 6807 }, 6808 { 6809 "type": "SYMBOL", 6810 "name": "object_copy_expression" 6811 }, 6812 { 6813 "type": "SYMBOL", 6814 "name": "package_expression" 6815 } 6816 ] 6817 } 6818 ] 6819 }, 6820 "package_expression": { 6821 "type": "SEQ", 6822 "members": [ 6823 { 6824 "type": "STRING", 6825 "value": "(" 6826 }, 6827 { 6828 "type": "SEQ", 6829 "members": [ 6830 { 6831 "type": "STRING", 6832 "value": "module" 6833 }, 6834 { 6835 "type": "CHOICE", 6836 "members": [ 6837 { 6838 "type": "SYMBOL", 6839 "name": "_attribute" 6840 }, 6841 { 6842 "type": "BLANK" 6843 } 6844 ] 6845 }, 6846 { 6847 "type": "SYMBOL", 6848 "name": "_module_expression_ext" 6849 }, 6850 { 6851 "type": "CHOICE", 6852 "members": [ 6853 { 6854 "type": "SYMBOL", 6855 "name": "_module_typed" 6856 }, 6857 { 6858 "type": "BLANK" 6859 } 6860 ] 6861 } 6862 ] 6863 }, 6864 { 6865 "type": "STRING", 6866 "value": ")" 6867 } 6868 ] 6869 }, 6870 "let_exception_expression": { 6871 "type": "PREC_RIGHT", 6872 "value": 2, 6873 "content": { 6874 "type": "SEQ", 6875 "members": [ 6876 { 6877 "type": "STRING", 6878 "value": "let" 6879 }, 6880 { 6881 "type": "SYMBOL", 6882 "name": "exception_definition" 6883 }, 6884 { 6885 "type": "STRING", 6886 "value": "in" 6887 }, 6888 { 6889 "type": "FIELD", 6890 "name": "body", 6891 "content": { 6892 "type": "SYMBOL", 6893 "name": "_sequence_expression_ext" 6894 } 6895 } 6896 ] 6897 } 6898 }, 6899 "new_expression": { 6900 "type": "SEQ", 6901 "members": [ 6902 { 6903 "type": "STRING", 6904 "value": "new" 6905 }, 6906 { 6907 "type": "CHOICE", 6908 "members": [ 6909 { 6910 "type": "SYMBOL", 6911 "name": "_attribute" 6912 }, 6913 { 6914 "type": "BLANK" 6915 } 6916 ] 6917 }, 6918 { 6919 "type": "SYMBOL", 6920 "name": "class_path" 6921 } 6922 ] 6923 }, 6924 "object_copy_expression": { 6925 "type": "SEQ", 6926 "members": [ 6927 { 6928 "type": "STRING", 6929 "value": "{<" 6930 }, 6931 { 6932 "type": "CHOICE", 6933 "members": [ 6934 { 6935 "type": "SEQ", 6936 "members": [ 6937 { 6938 "type": "SYMBOL", 6939 "name": "instance_variable_expression" 6940 }, 6941 { 6942 "type": "REPEAT", 6943 "content": { 6944 "type": "SEQ", 6945 "members": [ 6946 { 6947 "type": "STRING", 6948 "value": ";" 6949 }, 6950 { 6951 "type": "SYMBOL", 6952 "name": "instance_variable_expression" 6953 } 6954 ] 6955 } 6956 } 6957 ] 6958 }, 6959 { 6960 "type": "BLANK" 6961 } 6962 ] 6963 }, 6964 { 6965 "type": "CHOICE", 6966 "members": [ 6967 { 6968 "type": "STRING", 6969 "value": ";" 6970 }, 6971 { 6972 "type": "BLANK" 6973 } 6974 ] 6975 }, 6976 { 6977 "type": "STRING", 6978 "value": ">}" 6979 } 6980 ] 6981 }, 6982 "instance_variable_expression": { 6983 "type": "SEQ", 6984 "members": [ 6985 { 6986 "type": "SYMBOL", 6987 "name": "_instance_variable_name" 6988 }, 6989 { 6990 "type": "CHOICE", 6991 "members": [ 6992 { 6993 "type": "SEQ", 6994 "members": [ 6995 { 6996 "type": "STRING", 6997 "value": "=" 6998 }, 6999 { 7000 "type": "SYMBOL", 7001 "name": "_expression_ext" 7002 } 7003 ] 7004 }, 7005 { 7006 "type": "BLANK" 7007 } 7008 ] 7009 } 7010 ] 7011 }, 7012 "method_invocation": { 7013 "type": "PREC_RIGHT", 7014 "value": 17, 7015 "content": { 7016 "type": "SEQ", 7017 "members": [ 7018 { 7019 "type": "SYMBOL", 7020 "name": "_simple_expression_ext" 7021 }, 7022 { 7023 "type": "STRING", 7024 "value": "#" 7025 }, 7026 { 7027 "type": "SYMBOL", 7028 "name": "_method_name" 7029 } 7030 ] 7031 } 7032 }, 7033 "object_expression": { 7034 "type": "SEQ", 7035 "members": [ 7036 { 7037 "type": "STRING", 7038 "value": "object" 7039 }, 7040 { 7041 "type": "CHOICE", 7042 "members": [ 7043 { 7044 "type": "SYMBOL", 7045 "name": "_attribute" 7046 }, 7047 { 7048 "type": "BLANK" 7049 } 7050 ] 7051 }, 7052 { 7053 "type": "CHOICE", 7054 "members": [ 7055 { 7056 "type": "SEQ", 7057 "members": [ 7058 { 7059 "type": "STRING", 7060 "value": "(" 7061 }, 7062 { 7063 "type": "SEQ", 7064 "members": [ 7065 { 7066 "type": "SYMBOL", 7067 "name": "_pattern_ext" 7068 }, 7069 { 7070 "type": "CHOICE", 7071 "members": [ 7072 { 7073 "type": "SYMBOL", 7074 "name": "_typed" 7075 }, 7076 { 7077 "type": "BLANK" 7078 } 7079 ] 7080 } 7081 ] 7082 }, 7083 { 7084 "type": "STRING", 7085 "value": ")" 7086 } 7087 ] 7088 }, 7089 { 7090 "type": "BLANK" 7091 } 7092 ] 7093 }, 7094 { 7095 "type": "REPEAT", 7096 "content": { 7097 "type": "CHOICE", 7098 "members": [ 7099 { 7100 "type": "SYMBOL", 7101 "name": "_class_field_ext" 7102 }, 7103 { 7104 "type": "SYMBOL", 7105 "name": "floating_attribute" 7106 } 7107 ] 7108 } 7109 }, 7110 { 7111 "type": "STRING", 7112 "value": "end" 7113 } 7114 ] 7115 }, 7116 "parenthesized_expression": { 7117 "type": "CHOICE", 7118 "members": [ 7119 { 7120 "type": "SEQ", 7121 "members": [ 7122 { 7123 "type": "STRING", 7124 "value": "begin" 7125 }, 7126 { 7127 "type": "CHOICE", 7128 "members": [ 7129 { 7130 "type": "SYMBOL", 7131 "name": "_attribute" 7132 }, 7133 { 7134 "type": "BLANK" 7135 } 7136 ] 7137 }, 7138 { 7139 "type": "SYMBOL", 7140 "name": "_sequence_expression_ext" 7141 }, 7142 { 7143 "type": "STRING", 7144 "value": "end" 7145 } 7146 ] 7147 }, 7148 { 7149 "type": "SEQ", 7150 "members": [ 7151 { 7152 "type": "STRING", 7153 "value": "(" 7154 }, 7155 { 7156 "type": "SYMBOL", 7157 "name": "_sequence_expression_ext" 7158 }, 7159 { 7160 "type": "STRING", 7161 "value": ")" 7162 } 7163 ] 7164 } 7165 ] 7166 }, 7167 "ocamlyacc_value": { 7168 "type": "PATTERN", 7169 "value": "\\$[0-9]+" 7170 }, 7171 "_simple_pattern": { 7172 "type": "CHOICE", 7173 "members": [ 7174 { 7175 "type": "SYMBOL", 7176 "name": "_value_pattern" 7177 }, 7178 { 7179 "type": "SYMBOL", 7180 "name": "_signed_constant" 7181 }, 7182 { 7183 "type": "SYMBOL", 7184 "name": "typed_pattern" 7185 }, 7186 { 7187 "type": "SYMBOL", 7188 "name": "constructor_path" 7189 }, 7190 { 7191 "type": "SYMBOL", 7192 "name": "tag" 7193 }, 7194 { 7195 "type": "SYMBOL", 7196 "name": "polymorphic_variant_pattern" 7197 }, 7198 { 7199 "type": "SYMBOL", 7200 "name": "record_pattern" 7201 }, 7202 { 7203 "type": "SYMBOL", 7204 "name": "list_pattern" 7205 }, 7206 { 7207 "type": "SYMBOL", 7208 "name": "array_pattern" 7209 }, 7210 { 7211 "type": "SYMBOL", 7212 "name": "local_open_pattern" 7213 }, 7214 { 7215 "type": "SYMBOL", 7216 "name": "package_pattern" 7217 }, 7218 { 7219 "type": "SYMBOL", 7220 "name": "parenthesized_pattern" 7221 } 7222 ] 7223 }, 7224 "_simple_pattern_ext": { 7225 "type": "CHOICE", 7226 "members": [ 7227 { 7228 "type": "SYMBOL", 7229 "name": "_simple_pattern" 7230 }, 7231 { 7232 "type": "SYMBOL", 7233 "name": "_extension" 7234 } 7235 ] 7236 }, 7237 "_pattern": { 7238 "type": "CHOICE", 7239 "members": [ 7240 { 7241 "type": "SYMBOL", 7242 "name": "_simple_pattern" 7243 }, 7244 { 7245 "type": "SYMBOL", 7246 "name": "alias_pattern" 7247 }, 7248 { 7249 "type": "SYMBOL", 7250 "name": "or_pattern" 7251 }, 7252 { 7253 "type": "SYMBOL", 7254 "name": "constructor_pattern" 7255 }, 7256 { 7257 "type": "SYMBOL", 7258 "name": "tag_pattern" 7259 }, 7260 { 7261 "type": "SYMBOL", 7262 "name": "tuple_pattern" 7263 }, 7264 { 7265 "type": "SYMBOL", 7266 "name": "cons_pattern" 7267 }, 7268 { 7269 "type": "SYMBOL", 7270 "name": "range_pattern" 7271 }, 7272 { 7273 "type": "SYMBOL", 7274 "name": "lazy_pattern" 7275 }, 7276 { 7277 "type": "SYMBOL", 7278 "name": "exception_pattern" 7279 } 7280 ] 7281 }, 7282 "_pattern_ext": { 7283 "type": "CHOICE", 7284 "members": [ 7285 { 7286 "type": "SYMBOL", 7287 "name": "_pattern" 7288 }, 7289 { 7290 "type": "SYMBOL", 7291 "name": "_extension" 7292 } 7293 ] 7294 }, 7295 "_binding_pattern": { 7296 "type": "CHOICE", 7297 "members": [ 7298 { 7299 "type": "SYMBOL", 7300 "name": "_value_name" 7301 }, 7302 { 7303 "type": "SYMBOL", 7304 "name": "_signed_constant" 7305 }, 7306 { 7307 "type": "ALIAS", 7308 "content": { 7309 "type": "SYMBOL", 7310 "name": "typed_binding_pattern" 7311 }, 7312 "named": true, 7313 "value": "typed_pattern" 7314 }, 7315 { 7316 "type": "SYMBOL", 7317 "name": "constructor_path" 7318 }, 7319 { 7320 "type": "SYMBOL", 7321 "name": "tag" 7322 }, 7323 { 7324 "type": "SYMBOL", 7325 "name": "polymorphic_variant_pattern" 7326 }, 7327 { 7328 "type": "ALIAS", 7329 "content": { 7330 "type": "SYMBOL", 7331 "name": "record_binding_pattern" 7332 }, 7333 "named": true, 7334 "value": "record_pattern" 7335 }, 7336 { 7337 "type": "ALIAS", 7338 "content": { 7339 "type": "SYMBOL", 7340 "name": "list_binding_pattern" 7341 }, 7342 "named": true, 7343 "value": "list_pattern" 7344 }, 7345 { 7346 "type": "ALIAS", 7347 "content": { 7348 "type": "SYMBOL", 7349 "name": "array_binding_pattern" 7350 }, 7351 "named": true, 7352 "value": "array_pattern" 7353 }, 7354 { 7355 "type": "ALIAS", 7356 "content": { 7357 "type": "SYMBOL", 7358 "name": "local_open_binding_pattern" 7359 }, 7360 "named": true, 7361 "value": "local_open_pattern" 7362 }, 7363 { 7364 "type": "SYMBOL", 7365 "name": "package_pattern" 7366 }, 7367 { 7368 "type": "ALIAS", 7369 "content": { 7370 "type": "SYMBOL", 7371 "name": "parenthesized_binding_pattern" 7372 }, 7373 "named": true, 7374 "value": "parenthesized_pattern" 7375 }, 7376 { 7377 "type": "ALIAS", 7378 "content": { 7379 "type": "SYMBOL", 7380 "name": "alias_binding_pattern" 7381 }, 7382 "named": true, 7383 "value": "alias_pattern" 7384 }, 7385 { 7386 "type": "ALIAS", 7387 "content": { 7388 "type": "SYMBOL", 7389 "name": "or_binding_pattern" 7390 }, 7391 "named": true, 7392 "value": "or_pattern" 7393 }, 7394 { 7395 "type": "ALIAS", 7396 "content": { 7397 "type": "SYMBOL", 7398 "name": "constructor_binding_pattern" 7399 }, 7400 "named": true, 7401 "value": "constructor_pattern" 7402 }, 7403 { 7404 "type": "ALIAS", 7405 "content": { 7406 "type": "SYMBOL", 7407 "name": "tag_binding_pattern" 7408 }, 7409 "named": true, 7410 "value": "tag_pattern" 7411 }, 7412 { 7413 "type": "ALIAS", 7414 "content": { 7415 "type": "SYMBOL", 7416 "name": "tuple_binding_pattern" 7417 }, 7418 "named": true, 7419 "value": "tuple_pattern" 7420 }, 7421 { 7422 "type": "ALIAS", 7423 "content": { 7424 "type": "SYMBOL", 7425 "name": "cons_binding_pattern" 7426 }, 7427 "named": true, 7428 "value": "cons_pattern" 7429 }, 7430 { 7431 "type": "SYMBOL", 7432 "name": "range_pattern" 7433 }, 7434 { 7435 "type": "ALIAS", 7436 "content": { 7437 "type": "SYMBOL", 7438 "name": "lazy_binding_pattern" 7439 }, 7440 "named": true, 7441 "value": "lazy_pattern" 7442 } 7443 ] 7444 }, 7445 "_binding_pattern_ext": { 7446 "type": "CHOICE", 7447 "members": [ 7448 { 7449 "type": "SYMBOL", 7450 "name": "_binding_pattern" 7451 }, 7452 { 7453 "type": "SYMBOL", 7454 "name": "_extension" 7455 } 7456 ] 7457 }, 7458 "alias_pattern": { 7459 "type": "PREC_LEFT", 7460 "value": 2, 7461 "content": { 7462 "type": "SEQ", 7463 "members": [ 7464 { 7465 "type": "SYMBOL", 7466 "name": "_pattern_ext" 7467 }, 7468 { 7469 "type": "STRING", 7470 "value": "as" 7471 }, 7472 { 7473 "type": "SYMBOL", 7474 "name": "_value_pattern" 7475 } 7476 ] 7477 } 7478 }, 7479 "alias_binding_pattern": { 7480 "type": "PREC_LEFT", 7481 "value": 2, 7482 "content": { 7483 "type": "SEQ", 7484 "members": [ 7485 { 7486 "type": "SYMBOL", 7487 "name": "_binding_pattern_ext" 7488 }, 7489 { 7490 "type": "STRING", 7491 "value": "as" 7492 }, 7493 { 7494 "type": "SYMBOL", 7495 "name": "_value_name" 7496 } 7497 ] 7498 } 7499 }, 7500 "typed_pattern": { 7501 "type": "SEQ", 7502 "members": [ 7503 { 7504 "type": "SEQ", 7505 "members": [ 7506 { 7507 "type": "STRING", 7508 "value": "(" 7509 }, 7510 { 7511 "type": "SEQ", 7512 "members": [ 7513 { 7514 "type": "SYMBOL", 7515 "name": "_pattern_ext" 7516 }, 7517 { 7518 "type": "SYMBOL", 7519 "name": "_typed" 7520 } 7521 ] 7522 }, 7523 { 7524 "type": "STRING", 7525 "value": ")" 7526 } 7527 ] 7528 } 7529 ] 7530 }, 7531 "typed_binding_pattern": { 7532 "type": "SEQ", 7533 "members": [ 7534 { 7535 "type": "SEQ", 7536 "members": [ 7537 { 7538 "type": "STRING", 7539 "value": "(" 7540 }, 7541 { 7542 "type": "SEQ", 7543 "members": [ 7544 { 7545 "type": "FIELD", 7546 "name": "pattern", 7547 "content": { 7548 "type": "SYMBOL", 7549 "name": "_binding_pattern_ext" 7550 } 7551 }, 7552 { 7553 "type": "SYMBOL", 7554 "name": "_typed" 7555 } 7556 ] 7557 }, 7558 { 7559 "type": "STRING", 7560 "value": ")" 7561 } 7562 ] 7563 } 7564 ] 7565 }, 7566 "or_pattern": { 7567 "type": "PREC_LEFT", 7568 "value": 3, 7569 "content": { 7570 "type": "SEQ", 7571 "members": [ 7572 { 7573 "type": "SYMBOL", 7574 "name": "_pattern_ext" 7575 }, 7576 { 7577 "type": "STRING", 7578 "value": "|" 7579 }, 7580 { 7581 "type": "SYMBOL", 7582 "name": "_pattern_ext" 7583 } 7584 ] 7585 } 7586 }, 7587 "or_binding_pattern": { 7588 "type": "PREC_LEFT", 7589 "value": 3, 7590 "content": { 7591 "type": "SEQ", 7592 "members": [ 7593 { 7594 "type": "SYMBOL", 7595 "name": "_binding_pattern_ext" 7596 }, 7597 { 7598 "type": "STRING", 7599 "value": "|" 7600 }, 7601 { 7602 "type": "SYMBOL", 7603 "name": "_binding_pattern_ext" 7604 } 7605 ] 7606 } 7607 }, 7608 "constructor_pattern": { 7609 "type": "PREC_RIGHT", 7610 "value": 16, 7611 "content": { 7612 "type": "SEQ", 7613 "members": [ 7614 { 7615 "type": "SYMBOL", 7616 "name": "constructor_path" 7617 }, 7618 { 7619 "type": "CHOICE", 7620 "members": [ 7621 { 7622 "type": "ALIAS", 7623 "content": { 7624 "type": "SYMBOL", 7625 "name": "_parenthesized_abstract_type" 7626 }, 7627 "named": true, 7628 "value": "abstract_type" 7629 }, 7630 { 7631 "type": "BLANK" 7632 } 7633 ] 7634 }, 7635 { 7636 "type": "SYMBOL", 7637 "name": "_pattern_ext" 7638 } 7639 ] 7640 } 7641 }, 7642 "constructor_binding_pattern": { 7643 "type": "PREC_RIGHT", 7644 "value": 16, 7645 "content": { 7646 "type": "SEQ", 7647 "members": [ 7648 { 7649 "type": "SYMBOL", 7650 "name": "constructor_path" 7651 }, 7652 { 7653 "type": "FIELD", 7654 "name": "pattern", 7655 "content": { 7656 "type": "SYMBOL", 7657 "name": "_binding_pattern_ext" 7658 } 7659 } 7660 ] 7661 } 7662 }, 7663 "tag_pattern": { 7664 "type": "PREC_RIGHT", 7665 "value": 16, 7666 "content": { 7667 "type": "SEQ", 7668 "members": [ 7669 { 7670 "type": "SYMBOL", 7671 "name": "tag" 7672 }, 7673 { 7674 "type": "SYMBOL", 7675 "name": "_pattern_ext" 7676 } 7677 ] 7678 } 7679 }, 7680 "tag_binding_pattern": { 7681 "type": "PREC_RIGHT", 7682 "value": 16, 7683 "content": { 7684 "type": "SEQ", 7685 "members": [ 7686 { 7687 "type": "SYMBOL", 7688 "name": "tag" 7689 }, 7690 { 7691 "type": "FIELD", 7692 "name": "pattern", 7693 "content": { 7694 "type": "SYMBOL", 7695 "name": "_binding_pattern_ext" 7696 } 7697 } 7698 ] 7699 } 7700 }, 7701 "polymorphic_variant_pattern": { 7702 "type": "SEQ", 7703 "members": [ 7704 { 7705 "type": "STRING", 7706 "value": "#" 7707 }, 7708 { 7709 "type": "SYMBOL", 7710 "name": "type_constructor_path" 7711 } 7712 ] 7713 }, 7714 "tuple_pattern": { 7715 "type": "PREC_LEFT", 7716 "value": 6, 7717 "content": { 7718 "type": "SEQ", 7719 "members": [ 7720 { 7721 "type": "SYMBOL", 7722 "name": "_pattern_ext" 7723 }, 7724 { 7725 "type": "STRING", 7726 "value": "," 7727 }, 7728 { 7729 "type": "SYMBOL", 7730 "name": "_pattern_ext" 7731 } 7732 ] 7733 } 7734 }, 7735 "tuple_binding_pattern": { 7736 "type": "PREC_LEFT", 7737 "value": 6, 7738 "content": { 7739 "type": "SEQ", 7740 "members": [ 7741 { 7742 "type": "SYMBOL", 7743 "name": "_binding_pattern_ext" 7744 }, 7745 { 7746 "type": "STRING", 7747 "value": "," 7748 }, 7749 { 7750 "type": "SYMBOL", 7751 "name": "_binding_pattern_ext" 7752 } 7753 ] 7754 } 7755 }, 7756 "record_pattern": { 7757 "type": "PREC_LEFT", 7758 "value": 0, 7759 "content": { 7760 "type": "SEQ", 7761 "members": [ 7762 { 7763 "type": "STRING", 7764 "value": "{" 7765 }, 7766 { 7767 "type": "SEQ", 7768 "members": [ 7769 { 7770 "type": "SYMBOL", 7771 "name": "field_pattern" 7772 }, 7773 { 7774 "type": "REPEAT", 7775 "content": { 7776 "type": "SEQ", 7777 "members": [ 7778 { 7779 "type": "STRING", 7780 "value": ";" 7781 }, 7782 { 7783 "type": "SYMBOL", 7784 "name": "field_pattern" 7785 } 7786 ] 7787 } 7788 } 7789 ] 7790 }, 7791 { 7792 "type": "CHOICE", 7793 "members": [ 7794 { 7795 "type": "SEQ", 7796 "members": [ 7797 { 7798 "type": "STRING", 7799 "value": ";" 7800 }, 7801 { 7802 "type": "STRING", 7803 "value": "_" 7804 } 7805 ] 7806 }, 7807 { 7808 "type": "BLANK" 7809 } 7810 ] 7811 }, 7812 { 7813 "type": "CHOICE", 7814 "members": [ 7815 { 7816 "type": "STRING", 7817 "value": ";" 7818 }, 7819 { 7820 "type": "BLANK" 7821 } 7822 ] 7823 }, 7824 { 7825 "type": "STRING", 7826 "value": "}" 7827 } 7828 ] 7829 } 7830 }, 7831 "field_pattern": { 7832 "type": "SEQ", 7833 "members": [ 7834 { 7835 "type": "SYMBOL", 7836 "name": "field_path" 7837 }, 7838 { 7839 "type": "CHOICE", 7840 "members": [ 7841 { 7842 "type": "SYMBOL", 7843 "name": "_typed" 7844 }, 7845 { 7846 "type": "BLANK" 7847 } 7848 ] 7849 }, 7850 { 7851 "type": "CHOICE", 7852 "members": [ 7853 { 7854 "type": "SEQ", 7855 "members": [ 7856 { 7857 "type": "STRING", 7858 "value": "=" 7859 }, 7860 { 7861 "type": "SYMBOL", 7862 "name": "_pattern_ext" 7863 } 7864 ] 7865 }, 7866 { 7867 "type": "BLANK" 7868 } 7869 ] 7870 } 7871 ] 7872 }, 7873 "record_binding_pattern": { 7874 "type": "PREC_LEFT", 7875 "value": 0, 7876 "content": { 7877 "type": "SEQ", 7878 "members": [ 7879 { 7880 "type": "STRING", 7881 "value": "{" 7882 }, 7883 { 7884 "type": "SEQ", 7885 "members": [ 7886 { 7887 "type": "ALIAS", 7888 "content": { 7889 "type": "SYMBOL", 7890 "name": "field_binding_pattern" 7891 }, 7892 "named": true, 7893 "value": "field_pattern" 7894 }, 7895 { 7896 "type": "REPEAT", 7897 "content": { 7898 "type": "SEQ", 7899 "members": [ 7900 { 7901 "type": "STRING", 7902 "value": ";" 7903 }, 7904 { 7905 "type": "ALIAS", 7906 "content": { 7907 "type": "SYMBOL", 7908 "name": "field_binding_pattern" 7909 }, 7910 "named": true, 7911 "value": "field_pattern" 7912 } 7913 ] 7914 } 7915 } 7916 ] 7917 }, 7918 { 7919 "type": "CHOICE", 7920 "members": [ 7921 { 7922 "type": "SEQ", 7923 "members": [ 7924 { 7925 "type": "STRING", 7926 "value": ";" 7927 }, 7928 { 7929 "type": "STRING", 7930 "value": "_" 7931 } 7932 ] 7933 }, 7934 { 7935 "type": "BLANK" 7936 } 7937 ] 7938 }, 7939 { 7940 "type": "CHOICE", 7941 "members": [ 7942 { 7943 "type": "STRING", 7944 "value": ";" 7945 }, 7946 { 7947 "type": "BLANK" 7948 } 7949 ] 7950 }, 7951 { 7952 "type": "STRING", 7953 "value": "}" 7954 } 7955 ] 7956 } 7957 }, 7958 "field_binding_pattern": { 7959 "type": "SEQ", 7960 "members": [ 7961 { 7962 "type": "SYMBOL", 7963 "name": "field_path" 7964 }, 7965 { 7966 "type": "CHOICE", 7967 "members": [ 7968 { 7969 "type": "SYMBOL", 7970 "name": "_typed" 7971 }, 7972 { 7973 "type": "BLANK" 7974 } 7975 ] 7976 }, 7977 { 7978 "type": "CHOICE", 7979 "members": [ 7980 { 7981 "type": "SEQ", 7982 "members": [ 7983 { 7984 "type": "STRING", 7985 "value": "=" 7986 }, 7987 { 7988 "type": "FIELD", 7989 "name": "pattern", 7990 "content": { 7991 "type": "SYMBOL", 7992 "name": "_binding_pattern_ext" 7993 } 7994 } 7995 ] 7996 }, 7997 { 7998 "type": "BLANK" 7999 } 8000 ] 8001 } 8002 ] 8003 }, 8004 "list_pattern": { 8005 "type": "PREC_LEFT", 8006 "value": 0, 8007 "content": { 8008 "type": "SEQ", 8009 "members": [ 8010 { 8011 "type": "STRING", 8012 "value": "[" 8013 }, 8014 { 8015 "type": "CHOICE", 8016 "members": [ 8017 { 8018 "type": "SEQ", 8019 "members": [ 8020 { 8021 "type": "SEQ", 8022 "members": [ 8023 { 8024 "type": "SYMBOL", 8025 "name": "_pattern_ext" 8026 }, 8027 { 8028 "type": "REPEAT", 8029 "content": { 8030 "type": "SEQ", 8031 "members": [ 8032 { 8033 "type": "STRING", 8034 "value": ";" 8035 }, 8036 { 8037 "type": "SYMBOL", 8038 "name": "_pattern_ext" 8039 } 8040 ] 8041 } 8042 } 8043 ] 8044 }, 8045 { 8046 "type": "CHOICE", 8047 "members": [ 8048 { 8049 "type": "STRING", 8050 "value": ";" 8051 }, 8052 { 8053 "type": "BLANK" 8054 } 8055 ] 8056 } 8057 ] 8058 }, 8059 { 8060 "type": "BLANK" 8061 } 8062 ] 8063 }, 8064 { 8065 "type": "STRING", 8066 "value": "]" 8067 } 8068 ] 8069 } 8070 }, 8071 "list_binding_pattern": { 8072 "type": "PREC_LEFT", 8073 "value": 0, 8074 "content": { 8075 "type": "SEQ", 8076 "members": [ 8077 { 8078 "type": "STRING", 8079 "value": "[" 8080 }, 8081 { 8082 "type": "CHOICE", 8083 "members": [ 8084 { 8085 "type": "SEQ", 8086 "members": [ 8087 { 8088 "type": "SEQ", 8089 "members": [ 8090 { 8091 "type": "SYMBOL", 8092 "name": "_binding_pattern_ext" 8093 }, 8094 { 8095 "type": "REPEAT", 8096 "content": { 8097 "type": "SEQ", 8098 "members": [ 8099 { 8100 "type": "STRING", 8101 "value": ";" 8102 }, 8103 { 8104 "type": "SYMBOL", 8105 "name": "_binding_pattern_ext" 8106 } 8107 ] 8108 } 8109 } 8110 ] 8111 }, 8112 { 8113 "type": "CHOICE", 8114 "members": [ 8115 { 8116 "type": "STRING", 8117 "value": ";" 8118 }, 8119 { 8120 "type": "BLANK" 8121 } 8122 ] 8123 } 8124 ] 8125 }, 8126 { 8127 "type": "BLANK" 8128 } 8129 ] 8130 }, 8131 { 8132 "type": "STRING", 8133 "value": "]" 8134 } 8135 ] 8136 } 8137 }, 8138 "cons_pattern": { 8139 "type": "PREC_RIGHT", 8140 "value": 11, 8141 "content": { 8142 "type": "SEQ", 8143 "members": [ 8144 { 8145 "type": "SYMBOL", 8146 "name": "_pattern_ext" 8147 }, 8148 { 8149 "type": "STRING", 8150 "value": "::" 8151 }, 8152 { 8153 "type": "SYMBOL", 8154 "name": "_pattern_ext" 8155 } 8156 ] 8157 } 8158 }, 8159 "cons_binding_pattern": { 8160 "type": "PREC_RIGHT", 8161 "value": 11, 8162 "content": { 8163 "type": "SEQ", 8164 "members": [ 8165 { 8166 "type": "SYMBOL", 8167 "name": "_binding_pattern_ext" 8168 }, 8169 { 8170 "type": "STRING", 8171 "value": "::" 8172 }, 8173 { 8174 "type": "SYMBOL", 8175 "name": "_binding_pattern_ext" 8176 } 8177 ] 8178 } 8179 }, 8180 "array_pattern": { 8181 "type": "PREC_LEFT", 8182 "value": 0, 8183 "content": { 8184 "type": "SEQ", 8185 "members": [ 8186 { 8187 "type": "STRING", 8188 "value": "[|" 8189 }, 8190 { 8191 "type": "CHOICE", 8192 "members": [ 8193 { 8194 "type": "SEQ", 8195 "members": [ 8196 { 8197 "type": "SEQ", 8198 "members": [ 8199 { 8200 "type": "SYMBOL", 8201 "name": "_pattern_ext" 8202 }, 8203 { 8204 "type": "REPEAT", 8205 "content": { 8206 "type": "SEQ", 8207 "members": [ 8208 { 8209 "type": "STRING", 8210 "value": ";" 8211 }, 8212 { 8213 "type": "SYMBOL", 8214 "name": "_pattern_ext" 8215 } 8216 ] 8217 } 8218 } 8219 ] 8220 }, 8221 { 8222 "type": "CHOICE", 8223 "members": [ 8224 { 8225 "type": "STRING", 8226 "value": ";" 8227 }, 8228 { 8229 "type": "BLANK" 8230 } 8231 ] 8232 } 8233 ] 8234 }, 8235 { 8236 "type": "BLANK" 8237 } 8238 ] 8239 }, 8240 { 8241 "type": "STRING", 8242 "value": "|]" 8243 } 8244 ] 8245 } 8246 }, 8247 "array_binding_pattern": { 8248 "type": "PREC_LEFT", 8249 "value": 0, 8250 "content": { 8251 "type": "SEQ", 8252 "members": [ 8253 { 8254 "type": "STRING", 8255 "value": "[|" 8256 }, 8257 { 8258 "type": "CHOICE", 8259 "members": [ 8260 { 8261 "type": "SEQ", 8262 "members": [ 8263 { 8264 "type": "SEQ", 8265 "members": [ 8266 { 8267 "type": "SYMBOL", 8268 "name": "_binding_pattern_ext" 8269 }, 8270 { 8271 "type": "REPEAT", 8272 "content": { 8273 "type": "SEQ", 8274 "members": [ 8275 { 8276 "type": "STRING", 8277 "value": ";" 8278 }, 8279 { 8280 "type": "SYMBOL", 8281 "name": "_binding_pattern_ext" 8282 } 8283 ] 8284 } 8285 } 8286 ] 8287 }, 8288 { 8289 "type": "CHOICE", 8290 "members": [ 8291 { 8292 "type": "STRING", 8293 "value": ";" 8294 }, 8295 { 8296 "type": "BLANK" 8297 } 8298 ] 8299 } 8300 ] 8301 }, 8302 { 8303 "type": "BLANK" 8304 } 8305 ] 8306 }, 8307 { 8308 "type": "STRING", 8309 "value": "|]" 8310 } 8311 ] 8312 } 8313 }, 8314 "range_pattern": { 8315 "type": "PREC", 8316 "value": 18, 8317 "content": { 8318 "type": "SEQ", 8319 "members": [ 8320 { 8321 "type": "SYMBOL", 8322 "name": "_signed_constant" 8323 }, 8324 { 8325 "type": "STRING", 8326 "value": ".." 8327 }, 8328 { 8329 "type": "SYMBOL", 8330 "name": "_signed_constant" 8331 } 8332 ] 8333 } 8334 }, 8335 "lazy_pattern": { 8336 "type": "PREC", 8337 "value": 17, 8338 "content": { 8339 "type": "SEQ", 8340 "members": [ 8341 { 8342 "type": "STRING", 8343 "value": "lazy" 8344 }, 8345 { 8346 "type": "CHOICE", 8347 "members": [ 8348 { 8349 "type": "SYMBOL", 8350 "name": "_attribute" 8351 }, 8352 { 8353 "type": "BLANK" 8354 } 8355 ] 8356 }, 8357 { 8358 "type": "SYMBOL", 8359 "name": "_pattern_ext" 8360 } 8361 ] 8362 } 8363 }, 8364 "lazy_binding_pattern": { 8365 "type": "PREC", 8366 "value": 17, 8367 "content": { 8368 "type": "SEQ", 8369 "members": [ 8370 { 8371 "type": "STRING", 8372 "value": "lazy" 8373 }, 8374 { 8375 "type": "CHOICE", 8376 "members": [ 8377 { 8378 "type": "SYMBOL", 8379 "name": "_attribute" 8380 }, 8381 { 8382 "type": "BLANK" 8383 } 8384 ] 8385 }, 8386 { 8387 "type": "SYMBOL", 8388 "name": "_binding_pattern_ext" 8389 } 8390 ] 8391 } 8392 }, 8393 "local_open_pattern": { 8394 "type": "SEQ", 8395 "members": [ 8396 { 8397 "type": "SYMBOL", 8398 "name": "module_path" 8399 }, 8400 { 8401 "type": "STRING", 8402 "value": "." 8403 }, 8404 { 8405 "type": "CHOICE", 8406 "members": [ 8407 { 8408 "type": "SEQ", 8409 "members": [ 8410 { 8411 "type": "STRING", 8412 "value": "(" 8413 }, 8414 { 8415 "type": "CHOICE", 8416 "members": [ 8417 { 8418 "type": "SYMBOL", 8419 "name": "_pattern_ext" 8420 }, 8421 { 8422 "type": "BLANK" 8423 } 8424 ] 8425 }, 8426 { 8427 "type": "STRING", 8428 "value": ")" 8429 } 8430 ] 8431 }, 8432 { 8433 "type": "SYMBOL", 8434 "name": "list_pattern" 8435 }, 8436 { 8437 "type": "SYMBOL", 8438 "name": "array_pattern" 8439 }, 8440 { 8441 "type": "SYMBOL", 8442 "name": "record_pattern" 8443 } 8444 ] 8445 } 8446 ] 8447 }, 8448 "local_open_binding_pattern": { 8449 "type": "SEQ", 8450 "members": [ 8451 { 8452 "type": "SYMBOL", 8453 "name": "module_path" 8454 }, 8455 { 8456 "type": "STRING", 8457 "value": "." 8458 }, 8459 { 8460 "type": "CHOICE", 8461 "members": [ 8462 { 8463 "type": "SEQ", 8464 "members": [ 8465 { 8466 "type": "STRING", 8467 "value": "(" 8468 }, 8469 { 8470 "type": "CHOICE", 8471 "members": [ 8472 { 8473 "type": "SYMBOL", 8474 "name": "_binding_pattern_ext" 8475 }, 8476 { 8477 "type": "BLANK" 8478 } 8479 ] 8480 }, 8481 { 8482 "type": "STRING", 8483 "value": ")" 8484 } 8485 ] 8486 }, 8487 { 8488 "type": "SYMBOL", 8489 "name": "list_binding_pattern" 8490 }, 8491 { 8492 "type": "SYMBOL", 8493 "name": "array_binding_pattern" 8494 }, 8495 { 8496 "type": "SYMBOL", 8497 "name": "record_binding_pattern" 8498 } 8499 ] 8500 } 8501 ] 8502 }, 8503 "package_pattern": { 8504 "type": "SEQ", 8505 "members": [ 8506 { 8507 "type": "STRING", 8508 "value": "(" 8509 }, 8510 { 8511 "type": "SEQ", 8512 "members": [ 8513 { 8514 "type": "STRING", 8515 "value": "module" 8516 }, 8517 { 8518 "type": "CHOICE", 8519 "members": [ 8520 { 8521 "type": "SYMBOL", 8522 "name": "_attribute" 8523 }, 8524 { 8525 "type": "BLANK" 8526 } 8527 ] 8528 }, 8529 { 8530 "type": "CHOICE", 8531 "members": [ 8532 { 8533 "type": "SYMBOL", 8534 "name": "_module_name" 8535 }, 8536 { 8537 "type": "ALIAS", 8538 "content": { 8539 "type": "STRING", 8540 "value": "_" 8541 }, 8542 "named": true, 8543 "value": "module_name" 8544 } 8545 ] 8546 }, 8547 { 8548 "type": "CHOICE", 8549 "members": [ 8550 { 8551 "type": "SYMBOL", 8552 "name": "_module_typed" 8553 }, 8554 { 8555 "type": "BLANK" 8556 } 8557 ] 8558 } 8559 ] 8560 }, 8561 { 8562 "type": "STRING", 8563 "value": ")" 8564 } 8565 ] 8566 }, 8567 "parenthesized_pattern": { 8568 "type": "SEQ", 8569 "members": [ 8570 { 8571 "type": "STRING", 8572 "value": "(" 8573 }, 8574 { 8575 "type": "SYMBOL", 8576 "name": "_pattern_ext" 8577 }, 8578 { 8579 "type": "STRING", 8580 "value": ")" 8581 } 8582 ] 8583 }, 8584 "parenthesized_binding_pattern": { 8585 "type": "SEQ", 8586 "members": [ 8587 { 8588 "type": "STRING", 8589 "value": "(" 8590 }, 8591 { 8592 "type": "SYMBOL", 8593 "name": "_binding_pattern_ext" 8594 }, 8595 { 8596 "type": "STRING", 8597 "value": ")" 8598 } 8599 ] 8600 }, 8601 "exception_pattern": { 8602 "type": "SEQ", 8603 "members": [ 8604 { 8605 "type": "STRING", 8606 "value": "exception" 8607 }, 8608 { 8609 "type": "CHOICE", 8610 "members": [ 8611 { 8612 "type": "SYMBOL", 8613 "name": "_attribute" 8614 }, 8615 { 8616 "type": "BLANK" 8617 } 8618 ] 8619 }, 8620 { 8621 "type": "SYMBOL", 8622 "name": "_pattern_ext" 8623 } 8624 ] 8625 }, 8626 "attribute": { 8627 "type": "SEQ", 8628 "members": [ 8629 { 8630 "type": "STRING", 8631 "value": "[@" 8632 }, 8633 { 8634 "type": "SYMBOL", 8635 "name": "attribute_id" 8636 }, 8637 { 8638 "type": "CHOICE", 8639 "members": [ 8640 { 8641 "type": "SYMBOL", 8642 "name": "attribute_payload" 8643 }, 8644 { 8645 "type": "BLANK" 8646 } 8647 ] 8648 }, 8649 { 8650 "type": "STRING", 8651 "value": "]" 8652 } 8653 ] 8654 }, 8655 "item_attribute": { 8656 "type": "SEQ", 8657 "members": [ 8658 { 8659 "type": "STRING", 8660 "value": "[@@" 8661 }, 8662 { 8663 "type": "SYMBOL", 8664 "name": "attribute_id" 8665 }, 8666 { 8667 "type": "CHOICE", 8668 "members": [ 8669 { 8670 "type": "SYMBOL", 8671 "name": "attribute_payload" 8672 }, 8673 { 8674 "type": "BLANK" 8675 } 8676 ] 8677 }, 8678 { 8679 "type": "STRING", 8680 "value": "]" 8681 } 8682 ] 8683 }, 8684 "floating_attribute": { 8685 "type": "SEQ", 8686 "members": [ 8687 { 8688 "type": "STRING", 8689 "value": "[@@@" 8690 }, 8691 { 8692 "type": "SYMBOL", 8693 "name": "attribute_id" 8694 }, 8695 { 8696 "type": "CHOICE", 8697 "members": [ 8698 { 8699 "type": "SYMBOL", 8700 "name": "attribute_payload" 8701 }, 8702 { 8703 "type": "BLANK" 8704 } 8705 ] 8706 }, 8707 { 8708 "type": "STRING", 8709 "value": "]" 8710 } 8711 ] 8712 }, 8713 "attribute_payload": { 8714 "type": "CHOICE", 8715 "members": [ 8716 { 8717 "type": "SYMBOL", 8718 "name": "_structure" 8719 }, 8720 { 8721 "type": "SEQ", 8722 "members": [ 8723 { 8724 "type": "STRING", 8725 "value": ":" 8726 }, 8727 { 8728 "type": "CHOICE", 8729 "members": [ 8730 { 8731 "type": "SYMBOL", 8732 "name": "_type_ext" 8733 }, 8734 { 8735 "type": "SYMBOL", 8736 "name": "_signature" 8737 } 8738 ] 8739 } 8740 ] 8741 }, 8742 { 8743 "type": "SEQ", 8744 "members": [ 8745 { 8746 "type": "STRING", 8747 "value": "?" 8748 }, 8749 { 8750 "type": "SYMBOL", 8751 "name": "_pattern_ext" 8752 }, 8753 { 8754 "type": "CHOICE", 8755 "members": [ 8756 { 8757 "type": "SYMBOL", 8758 "name": "guard" 8759 }, 8760 { 8761 "type": "BLANK" 8762 } 8763 ] 8764 } 8765 ] 8766 } 8767 ] 8768 }, 8769 "_extension": { 8770 "type": "CHOICE", 8771 "members": [ 8772 { 8773 "type": "SYMBOL", 8774 "name": "extension" 8775 }, 8776 { 8777 "type": "SYMBOL", 8778 "name": "quoted_extension" 8779 } 8780 ] 8781 }, 8782 "extension": { 8783 "type": "SEQ", 8784 "members": [ 8785 { 8786 "type": "STRING", 8787 "value": "[%" 8788 }, 8789 { 8790 "type": "SYMBOL", 8791 "name": "attribute_id" 8792 }, 8793 { 8794 "type": "CHOICE", 8795 "members": [ 8796 { 8797 "type": "SYMBOL", 8798 "name": "attribute_payload" 8799 }, 8800 { 8801 "type": "BLANK" 8802 } 8803 ] 8804 }, 8805 { 8806 "type": "STRING", 8807 "value": "]" 8808 } 8809 ] 8810 }, 8811 "quoted_extension": { 8812 "type": "SEQ", 8813 "members": [ 8814 { 8815 "type": "STRING", 8816 "value": "{%" 8817 }, 8818 { 8819 "type": "SYMBOL", 8820 "name": "attribute_id" 8821 }, 8822 { 8823 "type": "CHOICE", 8824 "members": [ 8825 { 8826 "type": "PATTERN", 8827 "value": "\\s+" 8828 }, 8829 { 8830 "type": "BLANK" 8831 } 8832 ] 8833 }, 8834 { 8835 "type": "SYMBOL", 8836 "name": "_quoted_string" 8837 }, 8838 { 8839 "type": "STRING", 8840 "value": "}" 8841 } 8842 ] 8843 }, 8844 "_item_extension": { 8845 "type": "CHOICE", 8846 "members": [ 8847 { 8848 "type": "SYMBOL", 8849 "name": "item_extension" 8850 }, 8851 { 8852 "type": "SYMBOL", 8853 "name": "quoted_item_extension" 8854 } 8855 ] 8856 }, 8857 "item_extension": { 8858 "type": "SEQ", 8859 "members": [ 8860 { 8861 "type": "STRING", 8862 "value": "[%%" 8863 }, 8864 { 8865 "type": "SYMBOL", 8866 "name": "attribute_id" 8867 }, 8868 { 8869 "type": "CHOICE", 8870 "members": [ 8871 { 8872 "type": "SYMBOL", 8873 "name": "attribute_payload" 8874 }, 8875 { 8876 "type": "BLANK" 8877 } 8878 ] 8879 }, 8880 { 8881 "type": "STRING", 8882 "value": "]" 8883 }, 8884 { 8885 "type": "REPEAT", 8886 "content": { 8887 "type": "SYMBOL", 8888 "name": "item_attribute" 8889 } 8890 } 8891 ] 8892 }, 8893 "quoted_item_extension": { 8894 "type": "SEQ", 8895 "members": [ 8896 { 8897 "type": "STRING", 8898 "value": "{%%" 8899 }, 8900 { 8901 "type": "SYMBOL", 8902 "name": "attribute_id" 8903 }, 8904 { 8905 "type": "CHOICE", 8906 "members": [ 8907 { 8908 "type": "PATTERN", 8909 "value": "\\s+" 8910 }, 8911 { 8912 "type": "BLANK" 8913 } 8914 ] 8915 }, 8916 { 8917 "type": "SYMBOL", 8918 "name": "_quoted_string" 8919 }, 8920 { 8921 "type": "STRING", 8922 "value": "}" 8923 }, 8924 { 8925 "type": "REPEAT", 8926 "content": { 8927 "type": "SYMBOL", 8928 "name": "item_attribute" 8929 } 8930 } 8931 ] 8932 }, 8933 "_attribute": { 8934 "type": "SEQ", 8935 "members": [ 8936 { 8937 "type": "STRING", 8938 "value": "%" 8939 }, 8940 { 8941 "type": "SYMBOL", 8942 "name": "attribute_id" 8943 } 8944 ] 8945 }, 8946 "_constant": { 8947 "type": "CHOICE", 8948 "members": [ 8949 { 8950 "type": "SYMBOL", 8951 "name": "number" 8952 }, 8953 { 8954 "type": "SYMBOL", 8955 "name": "character" 8956 }, 8957 { 8958 "type": "SYMBOL", 8959 "name": "string" 8960 }, 8961 { 8962 "type": "SYMBOL", 8963 "name": "quoted_string" 8964 }, 8965 { 8966 "type": "SYMBOL", 8967 "name": "boolean" 8968 }, 8969 { 8970 "type": "SYMBOL", 8971 "name": "unit" 8972 } 8973 ] 8974 }, 8975 "_signed_constant": { 8976 "type": "CHOICE", 8977 "members": [ 8978 { 8979 "type": "SYMBOL", 8980 "name": "_constant" 8981 }, 8982 { 8983 "type": "SYMBOL", 8984 "name": "signed_number" 8985 } 8986 ] 8987 }, 8988 "number": { 8989 "type": "TOKEN", 8990 "content": { 8991 "type": "CHOICE", 8992 "members": [ 8993 { 8994 "type": "PATTERN", 8995 "value": "[0-9][0-9_]*(\\.[0-9_]*)?([eE][+\\-]?[0-9][0-9_]*)?[g-zG-Z]?" 8996 }, 8997 { 8998 "type": "PATTERN", 8999 "value": "0[xX][0-9A-Fa-f][0-9A-Fa-f_]*(\\.[0-9A-Fa-f_]*)?([pP][+\\-]?[0-9][0-9_]*)?[g-zG-Z]?" 9000 }, 9001 { 9002 "type": "PATTERN", 9003 "value": "0[oO][0-7][0-7_]*[g-zG-Z]?" 9004 }, 9005 { 9006 "type": "PATTERN", 9007 "value": "0[bB][01][01_]*[g-zG-Z]?" 9008 } 9009 ] 9010 } 9011 }, 9012 "signed_number": { 9013 "type": "SEQ", 9014 "members": [ 9015 { 9016 "type": "CHOICE", 9017 "members": [ 9018 { 9019 "type": "STRING", 9020 "value": "+" 9021 }, 9022 { 9023 "type": "STRING", 9024 "value": "-" 9025 } 9026 ] 9027 }, 9028 { 9029 "type": "TOKEN", 9030 "content": { 9031 "type": "CHOICE", 9032 "members": [ 9033 { 9034 "type": "PATTERN", 9035 "value": "[0-9][0-9_]*(\\.[0-9_]*)?([eE][+\\-]?[0-9][0-9_]*)?[g-zG-Z]?" 9036 }, 9037 { 9038 "type": "PATTERN", 9039 "value": "0[xX][0-9A-Fa-f][0-9A-Fa-f_]*(\\.[0-9A-Fa-f_]*)?([pP][+\\-]?[0-9][0-9_]*)?[g-zG-Z]?" 9040 }, 9041 { 9042 "type": "PATTERN", 9043 "value": "0[oO][0-7][0-7_]*[g-zG-Z]?" 9044 }, 9045 { 9046 "type": "PATTERN", 9047 "value": "0[bB][01][01_]*[g-zG-Z]?" 9048 } 9049 ] 9050 } 9051 } 9052 ] 9053 }, 9054 "character": { 9055 "type": "SEQ", 9056 "members": [ 9057 { 9058 "type": "STRING", 9059 "value": "'" 9060 }, 9061 { 9062 "type": "SYMBOL", 9063 "name": "character_content" 9064 }, 9065 { 9066 "type": "STRING", 9067 "value": "'" 9068 } 9069 ] 9070 }, 9071 "character_content": { 9072 "type": "CHOICE", 9073 "members": [ 9074 { 9075 "type": "PATTERN", 9076 "value": "[^\\\\']" 9077 }, 9078 { 9079 "type": "SYMBOL", 9080 "name": "_null" 9081 }, 9082 { 9083 "type": "SYMBOL", 9084 "name": "escape_sequence" 9085 } 9086 ] 9087 }, 9088 "string": { 9089 "type": "SEQ", 9090 "members": [ 9091 { 9092 "type": "STRING", 9093 "value": "\"" 9094 }, 9095 { 9096 "type": "CHOICE", 9097 "members": [ 9098 { 9099 "type": "SYMBOL", 9100 "name": "string_content" 9101 }, 9102 { 9103 "type": "BLANK" 9104 } 9105 ] 9106 }, 9107 { 9108 "type": "STRING", 9109 "value": "\"" 9110 } 9111 ] 9112 }, 9113 "string_content": { 9114 "type": "REPEAT1", 9115 "content": { 9116 "type": "CHOICE", 9117 "members": [ 9118 { 9119 "type": "IMMEDIATE_TOKEN", 9120 "content": { 9121 "type": "STRING", 9122 "value": " " 9123 } 9124 }, 9125 { 9126 "type": "IMMEDIATE_TOKEN", 9127 "content": { 9128 "type": "STRING", 9129 "value": "\n" 9130 } 9131 }, 9132 { 9133 "type": "IMMEDIATE_TOKEN", 9134 "content": { 9135 "type": "STRING", 9136 "value": "\t" 9137 } 9138 }, 9139 { 9140 "type": "IMMEDIATE_TOKEN", 9141 "content": { 9142 "type": "STRING", 9143 "value": "[@" 9144 } 9145 }, 9146 { 9147 "type": "IMMEDIATE_TOKEN", 9148 "content": { 9149 "type": "STRING", 9150 "value": "[@@" 9151 } 9152 }, 9153 { 9154 "type": "IMMEDIATE_TOKEN", 9155 "content": { 9156 "type": "STRING", 9157 "value": "[@@@" 9158 } 9159 }, 9160 { 9161 "type": "PATTERN", 9162 "value": "[^\\\\\"%@]+|%|@" 9163 }, 9164 { 9165 "type": "SYMBOL", 9166 "name": "_null" 9167 }, 9168 { 9169 "type": "SYMBOL", 9170 "name": "escape_sequence" 9171 }, 9172 { 9173 "type": "ALIAS", 9174 "content": { 9175 "type": "PATTERN", 9176 "value": "\\\\u\\{[0-9A-Fa-f]+\\}" 9177 }, 9178 "named": true, 9179 "value": "escape_sequence" 9180 }, 9181 { 9182 "type": "ALIAS", 9183 "content": { 9184 "type": "PATTERN", 9185 "value": "\\\\\\n[\\t ]*" 9186 }, 9187 "named": true, 9188 "value": "escape_sequence" 9189 }, 9190 { 9191 "type": "SYMBOL", 9192 "name": "conversion_specification" 9193 }, 9194 { 9195 "type": "SYMBOL", 9196 "name": "pretty_printing_indication" 9197 } 9198 ] 9199 } 9200 }, 9201 "quoted_string": { 9202 "type": "SEQ", 9203 "members": [ 9204 { 9205 "type": "STRING", 9206 "value": "{" 9207 }, 9208 { 9209 "type": "SYMBOL", 9210 "name": "_quoted_string" 9211 }, 9212 { 9213 "type": "STRING", 9214 "value": "}" 9215 } 9216 ] 9217 }, 9218 "_quoted_string": { 9219 "type": "SEQ", 9220 "members": [ 9221 { 9222 "type": "SYMBOL", 9223 "name": "_left_quoted_string_delimiter" 9224 }, 9225 { 9226 "type": "CHOICE", 9227 "members": [ 9228 { 9229 "type": "SYMBOL", 9230 "name": "quoted_string_content" 9231 }, 9232 { 9233 "type": "BLANK" 9234 } 9235 ] 9236 }, 9237 { 9238 "type": "SYMBOL", 9239 "name": "_right_quoted_string_delimiter" 9240 } 9241 ] 9242 }, 9243 "quoted_string_content": { 9244 "type": "REPEAT1", 9245 "content": { 9246 "type": "CHOICE", 9247 "members": [ 9248 { 9249 "type": "IMMEDIATE_TOKEN", 9250 "content": { 9251 "type": "STRING", 9252 "value": " " 9253 } 9254 }, 9255 { 9256 "type": "IMMEDIATE_TOKEN", 9257 "content": { 9258 "type": "STRING", 9259 "value": "\n" 9260 } 9261 }, 9262 { 9263 "type": "IMMEDIATE_TOKEN", 9264 "content": { 9265 "type": "STRING", 9266 "value": "\t" 9267 } 9268 }, 9269 { 9270 "type": "IMMEDIATE_TOKEN", 9271 "content": { 9272 "type": "STRING", 9273 "value": "[@" 9274 } 9275 }, 9276 { 9277 "type": "IMMEDIATE_TOKEN", 9278 "content": { 9279 "type": "STRING", 9280 "value": "[@@" 9281 } 9282 }, 9283 { 9284 "type": "IMMEDIATE_TOKEN", 9285 "content": { 9286 "type": "STRING", 9287 "value": "[@@@" 9288 } 9289 }, 9290 { 9291 "type": "PATTERN", 9292 "value": "[^%@|]+|%|@|\\|" 9293 }, 9294 { 9295 "type": "SYMBOL", 9296 "name": "_null" 9297 }, 9298 { 9299 "type": "SYMBOL", 9300 "name": "conversion_specification" 9301 }, 9302 { 9303 "type": "SYMBOL", 9304 "name": "pretty_printing_indication" 9305 } 9306 ] 9307 } 9308 }, 9309 "escape_sequence": { 9310 "type": "CHOICE", 9311 "members": [ 9312 { 9313 "type": "PATTERN", 9314 "value": "\\\\[\\\\\"'ntbr ]" 9315 }, 9316 { 9317 "type": "PATTERN", 9318 "value": "\\\\[0-9][0-9][0-9]" 9319 }, 9320 { 9321 "type": "PATTERN", 9322 "value": "\\\\x[0-9A-Fa-f][0-9A-Fa-f]" 9323 }, 9324 { 9325 "type": "PATTERN", 9326 "value": "\\\\o[0-3][0-7][0-7]" 9327 } 9328 ] 9329 }, 9330 "conversion_specification": { 9331 "type": "TOKEN", 9332 "content": { 9333 "type": "SEQ", 9334 "members": [ 9335 { 9336 "type": "STRING", 9337 "value": "%" 9338 }, 9339 { 9340 "type": "CHOICE", 9341 "members": [ 9342 { 9343 "type": "PATTERN", 9344 "value": "[\\-0+ #]" 9345 }, 9346 { 9347 "type": "BLANK" 9348 } 9349 ] 9350 }, 9351 { 9352 "type": "CHOICE", 9353 "members": [ 9354 { 9355 "type": "PATTERN", 9356 "value": "[1-9][0-9]*|\\*" 9357 }, 9358 { 9359 "type": "BLANK" 9360 } 9361 ] 9362 }, 9363 { 9364 "type": "CHOICE", 9365 "members": [ 9366 { 9367 "type": "PATTERN", 9368 "value": "\\.([0-9]*|\\*)" 9369 }, 9370 { 9371 "type": "BLANK" 9372 } 9373 ] 9374 }, 9375 { 9376 "type": "CHOICE", 9377 "members": [ 9378 { 9379 "type": "PATTERN", 9380 "value": "[diunlLNxXosScCfFeEgGhHbBat!%@,]" 9381 }, 9382 { 9383 "type": "PATTERN", 9384 "value": "[lnL][diuxXo]" 9385 } 9386 ] 9387 } 9388 ] 9389 } 9390 }, 9391 "pretty_printing_indication": { 9392 "type": "PATTERN", 9393 "value": "@([\\[\\], ;.{}?]|\\\\n|<[0-9]+>)" 9394 }, 9395 "boolean": { 9396 "type": "CHOICE", 9397 "members": [ 9398 { 9399 "type": "STRING", 9400 "value": "true" 9401 }, 9402 { 9403 "type": "STRING", 9404 "value": "false" 9405 } 9406 ] 9407 }, 9408 "unit": { 9409 "type": "CHOICE", 9410 "members": [ 9411 { 9412 "type": "SEQ", 9413 "members": [ 9414 { 9415 "type": "STRING", 9416 "value": "(" 9417 }, 9418 { 9419 "type": "STRING", 9420 "value": ")" 9421 } 9422 ] 9423 }, 9424 { 9425 "type": "SEQ", 9426 "members": [ 9427 { 9428 "type": "STRING", 9429 "value": "begin" 9430 }, 9431 { 9432 "type": "STRING", 9433 "value": "end" 9434 } 9435 ] 9436 } 9437 ] 9438 }, 9439 "prefix_operator": { 9440 "type": "TOKEN", 9441 "content": { 9442 "type": "CHOICE", 9443 "members": [ 9444 { 9445 "type": "SEQ", 9446 "members": [ 9447 { 9448 "type": "STRING", 9449 "value": "!" 9450 }, 9451 { 9452 "type": "CHOICE", 9453 "members": [ 9454 { 9455 "type": "CHOICE", 9456 "members": [ 9457 { 9458 "type": "PATTERN", 9459 "value": "[#!$%&*+\\-./:<>?@^|~]" 9460 }, 9461 { 9462 "type": "BLANK" 9463 } 9464 ] 9465 }, 9466 { 9467 "type": "SEQ", 9468 "members": [ 9469 { 9470 "type": "PATTERN", 9471 "value": "[#!$%&*+\\-./:<=>?@^|~]" 9472 }, 9473 { 9474 "type": "REPEAT1", 9475 "content": { 9476 "type": "PATTERN", 9477 "value": "[#!$%&*+\\-./:<=>?@^|~]" 9478 } 9479 } 9480 ] 9481 } 9482 ] 9483 } 9484 ] 9485 }, 9486 { 9487 "type": "SEQ", 9488 "members": [ 9489 { 9490 "type": "PATTERN", 9491 "value": "[~?]" 9492 }, 9493 { 9494 "type": "REPEAT1", 9495 "content": { 9496 "type": "PATTERN", 9497 "value": "[#!$%&*+\\-./:<=>?@^|~]" 9498 } 9499 } 9500 ] 9501 } 9502 ] 9503 } 9504 }, 9505 "sign_operator": { 9506 "type": "CHOICE", 9507 "members": [ 9508 { 9509 "type": "STRING", 9510 "value": "+" 9511 }, 9512 { 9513 "type": "STRING", 9514 "value": "-" 9515 }, 9516 { 9517 "type": "STRING", 9518 "value": "+." 9519 }, 9520 { 9521 "type": "STRING", 9522 "value": "-." 9523 } 9524 ] 9525 }, 9526 "infix_operator": { 9527 "type": "CHOICE", 9528 "members": [ 9529 { 9530 "type": "SYMBOL", 9531 "name": "_pow_operator" 9532 }, 9533 { 9534 "type": "SYMBOL", 9535 "name": "_mult_operator" 9536 }, 9537 { 9538 "type": "SYMBOL", 9539 "name": "_add_operator" 9540 }, 9541 { 9542 "type": "SYMBOL", 9543 "name": "_concat_operator" 9544 }, 9545 { 9546 "type": "SYMBOL", 9547 "name": "_rel_operator" 9548 }, 9549 { 9550 "type": "SYMBOL", 9551 "name": "_and_operator" 9552 }, 9553 { 9554 "type": "SYMBOL", 9555 "name": "_or_operator" 9556 }, 9557 { 9558 "type": "SYMBOL", 9559 "name": "_assign_operator" 9560 } 9561 ] 9562 }, 9563 "hash_operator": { 9564 "type": "TOKEN", 9565 "content": { 9566 "type": "SEQ", 9567 "members": [ 9568 { 9569 "type": "STRING", 9570 "value": "#" 9571 }, 9572 { 9573 "type": "REPEAT1", 9574 "content": { 9575 "type": "PATTERN", 9576 "value": "[#!$%&*+\\-./:<=>?@^|~]" 9577 } 9578 } 9579 ] 9580 } 9581 }, 9582 "_pow_operator": { 9583 "type": "CHOICE", 9584 "members": [ 9585 { 9586 "type": "TOKEN", 9587 "content": { 9588 "type": "SEQ", 9589 "members": [ 9590 { 9591 "type": "STRING", 9592 "value": "**" 9593 }, 9594 { 9595 "type": "REPEAT", 9596 "content": { 9597 "type": "PATTERN", 9598 "value": "[!$%&*+\\-./:<=>?@^|~]" 9599 } 9600 } 9601 ] 9602 } 9603 }, 9604 { 9605 "type": "STRING", 9606 "value": "lsl" 9607 }, 9608 { 9609 "type": "STRING", 9610 "value": "lsr" 9611 }, 9612 { 9613 "type": "STRING", 9614 "value": "asr" 9615 } 9616 ] 9617 }, 9618 "_mult_operator": { 9619 "type": "CHOICE", 9620 "members": [ 9621 { 9622 "type": "TOKEN", 9623 "content": { 9624 "type": "SEQ", 9625 "members": [ 9626 { 9627 "type": "PATTERN", 9628 "value": "[*/%]" 9629 }, 9630 { 9631 "type": "REPEAT", 9632 "content": { 9633 "type": "PATTERN", 9634 "value": "[!$%&*+\\-./:<=>?@^|~]" 9635 } 9636 } 9637 ] 9638 } 9639 }, 9640 { 9641 "type": "STRING", 9642 "value": "mod" 9643 }, 9644 { 9645 "type": "STRING", 9646 "value": "land" 9647 }, 9648 { 9649 "type": "STRING", 9650 "value": "lor" 9651 }, 9652 { 9653 "type": "STRING", 9654 "value": "lxor" 9655 } 9656 ] 9657 }, 9658 "_add_operator": { 9659 "type": "CHOICE", 9660 "members": [ 9661 { 9662 "type": "STRING", 9663 "value": "+" 9664 }, 9665 { 9666 "type": "STRING", 9667 "value": "-" 9668 }, 9669 { 9670 "type": "STRING", 9671 "value": "+." 9672 }, 9673 { 9674 "type": "STRING", 9675 "value": "-." 9676 }, 9677 { 9678 "type": "TOKEN", 9679 "content": { 9680 "type": "CHOICE", 9681 "members": [ 9682 { 9683 "type": "SEQ", 9684 "members": [ 9685 { 9686 "type": "STRING", 9687 "value": "+" 9688 }, 9689 { 9690 "type": "REPEAT1", 9691 "content": { 9692 "type": "PATTERN", 9693 "value": "[!$%&*+\\-./:<=>?@^|~]" 9694 } 9695 } 9696 ] 9697 }, 9698 { 9699 "type": "SEQ", 9700 "members": [ 9701 { 9702 "type": "STRING", 9703 "value": "-" 9704 }, 9705 { 9706 "type": "CHOICE", 9707 "members": [ 9708 { 9709 "type": "REPEAT1", 9710 "content": { 9711 "type": "PATTERN", 9712 "value": "[!$%&*+\\-./:<=?@^|~]" 9713 } 9714 }, 9715 { 9716 "type": "SEQ", 9717 "members": [ 9718 { 9719 "type": "PATTERN", 9720 "value": "[!$%&*+\\-./:<=>?@^|~]" 9721 }, 9722 { 9723 "type": "REPEAT1", 9724 "content": { 9725 "type": "PATTERN", 9726 "value": "[!$%&*+\\-./:<=>?@^|~]" 9727 } 9728 } 9729 ] 9730 } 9731 ] 9732 } 9733 ] 9734 } 9735 ] 9736 } 9737 } 9738 ] 9739 }, 9740 "_concat_operator": { 9741 "type": "TOKEN", 9742 "content": { 9743 "type": "SEQ", 9744 "members": [ 9745 { 9746 "type": "PATTERN", 9747 "value": "[@^]" 9748 }, 9749 { 9750 "type": "REPEAT", 9751 "content": { 9752 "type": "PATTERN", 9753 "value": "[!$%&*+\\-./:<=>?@^|~]" 9754 } 9755 } 9756 ] 9757 } 9758 }, 9759 "_rel_operator": { 9760 "type": "TOKEN", 9761 "content": { 9762 "type": "CHOICE", 9763 "members": [ 9764 { 9765 "type": "SEQ", 9766 "members": [ 9767 { 9768 "type": "PATTERN", 9769 "value": "[=>$]" 9770 }, 9771 { 9772 "type": "REPEAT", 9773 "content": { 9774 "type": "PATTERN", 9775 "value": "[!$%&*+\\-./:<=>?@^|~]" 9776 } 9777 } 9778 ] 9779 }, 9780 { 9781 "type": "SEQ", 9782 "members": [ 9783 { 9784 "type": "STRING", 9785 "value": "<" 9786 }, 9787 { 9788 "type": "CHOICE", 9789 "members": [ 9790 { 9791 "type": "CHOICE", 9792 "members": [ 9793 { 9794 "type": "PATTERN", 9795 "value": "[!$%&*+./:<=>?@^|~]" 9796 }, 9797 { 9798 "type": "BLANK" 9799 } 9800 ] 9801 }, 9802 { 9803 "type": "SEQ", 9804 "members": [ 9805 { 9806 "type": "PATTERN", 9807 "value": "[!$%&*+\\-./:<=>?@^|~]" 9808 }, 9809 { 9810 "type": "REPEAT1", 9811 "content": { 9812 "type": "PATTERN", 9813 "value": "[!$%&*+\\-./:<=>?@^|~]" 9814 } 9815 } 9816 ] 9817 } 9818 ] 9819 } 9820 ] 9821 }, 9822 { 9823 "type": "SEQ", 9824 "members": [ 9825 { 9826 "type": "STRING", 9827 "value": "&" 9828 }, 9829 { 9830 "type": "CHOICE", 9831 "members": [ 9832 { 9833 "type": "PATTERN", 9834 "value": "[!$%*+\\-./:<=>?@^|~]" 9835 }, 9836 { 9837 "type": "SEQ", 9838 "members": [ 9839 { 9840 "type": "PATTERN", 9841 "value": "[!$%&*+\\-./:<=>?@^|~]" 9842 }, 9843 { 9844 "type": "REPEAT1", 9845 "content": { 9846 "type": "PATTERN", 9847 "value": "[!$%&*+\\-./:<=>?@^|~]" 9848 } 9849 } 9850 ] 9851 } 9852 ] 9853 } 9854 ] 9855 }, 9856 { 9857 "type": "SEQ", 9858 "members": [ 9859 { 9860 "type": "STRING", 9861 "value": "|" 9862 }, 9863 { 9864 "type": "CHOICE", 9865 "members": [ 9866 { 9867 "type": "PATTERN", 9868 "value": "[!$%&*+\\-./:<=>?@^~]" 9869 }, 9870 { 9871 "type": "SEQ", 9872 "members": [ 9873 { 9874 "type": "PATTERN", 9875 "value": "[!$%&*+\\-./:<=>?@^|~]" 9876 }, 9877 { 9878 "type": "REPEAT1", 9879 "content": { 9880 "type": "PATTERN", 9881 "value": "[!$%&*+\\-./:<=>?@^|~]" 9882 } 9883 } 9884 ] 9885 } 9886 ] 9887 } 9888 ] 9889 }, 9890 { 9891 "type": "STRING", 9892 "value": "!=" 9893 } 9894 ] 9895 } 9896 }, 9897 "_and_operator": { 9898 "type": "CHOICE", 9899 "members": [ 9900 { 9901 "type": "STRING", 9902 "value": "&" 9903 }, 9904 { 9905 "type": "STRING", 9906 "value": "&&" 9907 } 9908 ] 9909 }, 9910 "_or_operator": { 9911 "type": "CHOICE", 9912 "members": [ 9913 { 9914 "type": "STRING", 9915 "value": "or" 9916 }, 9917 { 9918 "type": "STRING", 9919 "value": "||" 9920 } 9921 ] 9922 }, 9923 "_assign_operator": { 9924 "type": "CHOICE", 9925 "members": [ 9926 { 9927 "type": "STRING", 9928 "value": ":=" 9929 } 9930 ] 9931 }, 9932 "indexing_operator": { 9933 "type": "TOKEN", 9934 "content": { 9935 "type": "SEQ", 9936 "members": [ 9937 { 9938 "type": "PATTERN", 9939 "value": "[!$%&*+\\-/:=>?@^|]" 9940 }, 9941 { 9942 "type": "REPEAT", 9943 "content": { 9944 "type": "PATTERN", 9945 "value": "[!$%&*+\\-./:<=>?@^|~]" 9946 } 9947 } 9948 ] 9949 } 9950 }, 9951 "indexing_operator_path": { 9952 "type": "CHOICE", 9953 "members": [ 9954 { 9955 "type": "SYMBOL", 9956 "name": "indexing_operator" 9957 }, 9958 { 9959 "type": "SEQ", 9960 "members": [ 9961 { 9962 "type": "SYMBOL", 9963 "name": "module_path" 9964 }, 9965 { 9966 "type": "STRING", 9967 "value": "." 9968 }, 9969 { 9970 "type": "SYMBOL", 9971 "name": "indexing_operator" 9972 } 9973 ] 9974 } 9975 ] 9976 }, 9977 "let_operator": { 9978 "type": "TOKEN", 9979 "content": { 9980 "type": "SEQ", 9981 "members": [ 9982 { 9983 "type": "STRING", 9984 "value": "let" 9985 }, 9986 { 9987 "type": "PATTERN", 9988 "value": "[$&*+\\-/<=>@^|]" 9989 }, 9990 { 9991 "type": "REPEAT", 9992 "content": { 9993 "type": "PATTERN", 9994 "value": "[!$%&*+\\-./:<=>?@^|~]" 9995 } 9996 } 9997 ] 9998 } 9999 }, 10000 "and_operator": { 10001 "type": "TOKEN", 10002 "content": { 10003 "type": "SEQ", 10004 "members": [ 10005 { 10006 "type": "STRING", 10007 "value": "and" 10008 }, 10009 { 10010 "type": "PATTERN", 10011 "value": "[$&*+\\-/<=>@^|]" 10012 }, 10013 { 10014 "type": "REPEAT", 10015 "content": { 10016 "type": "PATTERN", 10017 "value": "[!$%&*+\\-./:<=>?@^|~]" 10018 } 10019 } 10020 ] 10021 } 10022 }, 10023 "match_operator": { 10024 "type": "TOKEN", 10025 "content": { 10026 "type": "SEQ", 10027 "members": [ 10028 { 10029 "type": "STRING", 10030 "value": "match" 10031 }, 10032 { 10033 "type": "PATTERN", 10034 "value": "[$&*+\\-/<=>@^|]" 10035 }, 10036 { 10037 "type": "REPEAT", 10038 "content": { 10039 "type": "PATTERN", 10040 "value": "[!$%&*+\\-./:<=>?@^|~]" 10041 } 10042 } 10043 ] 10044 } 10045 }, 10046 "_value_name": { 10047 "type": "CHOICE", 10048 "members": [ 10049 { 10050 "type": "ALIAS", 10051 "content": { 10052 "type": "SYMBOL", 10053 "name": "_identifier" 10054 }, 10055 "named": true, 10056 "value": "value_name" 10057 }, 10058 { 10059 "type": "SYMBOL", 10060 "name": "parenthesized_operator" 10061 } 10062 ] 10063 }, 10064 "_value_pattern": { 10065 "type": "CHOICE", 10066 "members": [ 10067 { 10068 "type": "ALIAS", 10069 "content": { 10070 "type": "SYMBOL", 10071 "name": "_identifier" 10072 }, 10073 "named": true, 10074 "value": "value_pattern" 10075 }, 10076 { 10077 "type": "SYMBOL", 10078 "name": "parenthesized_operator" 10079 } 10080 ] 10081 }, 10082 "parenthesized_operator": { 10083 "type": "SEQ", 10084 "members": [ 10085 { 10086 "type": "STRING", 10087 "value": "(" 10088 }, 10089 { 10090 "type": "CHOICE", 10091 "members": [ 10092 { 10093 "type": "SYMBOL", 10094 "name": "prefix_operator" 10095 }, 10096 { 10097 "type": "SYMBOL", 10098 "name": "infix_operator" 10099 }, 10100 { 10101 "type": "SYMBOL", 10102 "name": "hash_operator" 10103 }, 10104 { 10105 "type": "SEQ", 10106 "members": [ 10107 { 10108 "type": "STRING", 10109 "value": "." 10110 }, 10111 { 10112 "type": "SYMBOL", 10113 "name": "indexing_operator" 10114 }, 10115 { 10116 "type": "CHOICE", 10117 "members": [ 10118 { 10119 "type": "SEQ", 10120 "members": [ 10121 { 10122 "type": "STRING", 10123 "value": "(" 10124 }, 10125 { 10126 "type": "CHOICE", 10127 "members": [ 10128 { 10129 "type": "SEQ", 10130 "members": [ 10131 { 10132 "type": "STRING", 10133 "value": ";" 10134 }, 10135 { 10136 "type": "STRING", 10137 "value": ".." 10138 } 10139 ] 10140 }, 10141 { 10142 "type": "BLANK" 10143 } 10144 ] 10145 }, 10146 { 10147 "type": "STRING", 10148 "value": ")" 10149 } 10150 ] 10151 }, 10152 { 10153 "type": "SEQ", 10154 "members": [ 10155 { 10156 "type": "STRING", 10157 "value": "[" 10158 }, 10159 { 10160 "type": "CHOICE", 10161 "members": [ 10162 { 10163 "type": "SEQ", 10164 "members": [ 10165 { 10166 "type": "STRING", 10167 "value": ";" 10168 }, 10169 { 10170 "type": "STRING", 10171 "value": ".." 10172 } 10173 ] 10174 }, 10175 { 10176 "type": "BLANK" 10177 } 10178 ] 10179 }, 10180 { 10181 "type": "STRING", 10182 "value": "]" 10183 } 10184 ] 10185 }, 10186 { 10187 "type": "SEQ", 10188 "members": [ 10189 { 10190 "type": "STRING", 10191 "value": "{" 10192 }, 10193 { 10194 "type": "CHOICE", 10195 "members": [ 10196 { 10197 "type": "SEQ", 10198 "members": [ 10199 { 10200 "type": "STRING", 10201 "value": ";" 10202 }, 10203 { 10204 "type": "STRING", 10205 "value": ".." 10206 } 10207 ] 10208 }, 10209 { 10210 "type": "BLANK" 10211 } 10212 ] 10213 }, 10214 { 10215 "type": "STRING", 10216 "value": "}" 10217 } 10218 ] 10219 } 10220 ] 10221 }, 10222 { 10223 "type": "CHOICE", 10224 "members": [ 10225 { 10226 "type": "STRING", 10227 "value": "<-" 10228 }, 10229 { 10230 "type": "BLANK" 10231 } 10232 ] 10233 } 10234 ] 10235 }, 10236 { 10237 "type": "SYMBOL", 10238 "name": "let_operator" 10239 }, 10240 { 10241 "type": "SYMBOL", 10242 "name": "and_operator" 10243 }, 10244 { 10245 "type": "SYMBOL", 10246 "name": "match_operator" 10247 } 10248 ] 10249 }, 10250 { 10251 "type": "STRING", 10252 "value": ")" 10253 } 10254 ] 10255 }, 10256 "value_path": { 10257 "type": "CHOICE", 10258 "members": [ 10259 { 10260 "type": "SYMBOL", 10261 "name": "_value_name" 10262 }, 10263 { 10264 "type": "SEQ", 10265 "members": [ 10266 { 10267 "type": "SYMBOL", 10268 "name": "module_path" 10269 }, 10270 { 10271 "type": "STRING", 10272 "value": "." 10273 }, 10274 { 10275 "type": "SYMBOL", 10276 "name": "_value_name" 10277 } 10278 ] 10279 } 10280 ] 10281 }, 10282 "module_path": { 10283 "type": "PREC", 10284 "value": 1, 10285 "content": { 10286 "type": "CHOICE", 10287 "members": [ 10288 { 10289 "type": "SYMBOL", 10290 "name": "_module_name" 10291 }, 10292 { 10293 "type": "SEQ", 10294 "members": [ 10295 { 10296 "type": "SYMBOL", 10297 "name": "module_path" 10298 }, 10299 { 10300 "type": "STRING", 10301 "value": "." 10302 }, 10303 { 10304 "type": "SYMBOL", 10305 "name": "_module_name" 10306 } 10307 ] 10308 } 10309 ] 10310 } 10311 }, 10312 "extended_module_path": { 10313 "type": "CHOICE", 10314 "members": [ 10315 { 10316 "type": "CHOICE", 10317 "members": [ 10318 { 10319 "type": "SYMBOL", 10320 "name": "_module_name" 10321 }, 10322 { 10323 "type": "SEQ", 10324 "members": [ 10325 { 10326 "type": "SYMBOL", 10327 "name": "extended_module_path" 10328 }, 10329 { 10330 "type": "STRING", 10331 "value": "." 10332 }, 10333 { 10334 "type": "SYMBOL", 10335 "name": "_module_name" 10336 } 10337 ] 10338 } 10339 ] 10340 }, 10341 { 10342 "type": "SEQ", 10343 "members": [ 10344 { 10345 "type": "SYMBOL", 10346 "name": "extended_module_path" 10347 }, 10348 { 10349 "type": "SEQ", 10350 "members": [ 10351 { 10352 "type": "STRING", 10353 "value": "(" 10354 }, 10355 { 10356 "type": "SYMBOL", 10357 "name": "extended_module_path" 10358 }, 10359 { 10360 "type": "STRING", 10361 "value": ")" 10362 } 10363 ] 10364 } 10365 ] 10366 } 10367 ] 10368 }, 10369 "module_type_path": { 10370 "type": "CHOICE", 10371 "members": [ 10372 { 10373 "type": "SYMBOL", 10374 "name": "_module_type_name" 10375 }, 10376 { 10377 "type": "SEQ", 10378 "members": [ 10379 { 10380 "type": "SYMBOL", 10381 "name": "extended_module_path" 10382 }, 10383 { 10384 "type": "STRING", 10385 "value": "." 10386 }, 10387 { 10388 "type": "SYMBOL", 10389 "name": "_module_type_name" 10390 } 10391 ] 10392 } 10393 ] 10394 }, 10395 "field_path": { 10396 "type": "CHOICE", 10397 "members": [ 10398 { 10399 "type": "SYMBOL", 10400 "name": "_field_name" 10401 }, 10402 { 10403 "type": "SEQ", 10404 "members": [ 10405 { 10406 "type": "SYMBOL", 10407 "name": "module_path" 10408 }, 10409 { 10410 "type": "STRING", 10411 "value": "." 10412 }, 10413 { 10414 "type": "SYMBOL", 10415 "name": "_field_name" 10416 } 10417 ] 10418 } 10419 ] 10420 }, 10421 "constructor_path": { 10422 "type": "CHOICE", 10423 "members": [ 10424 { 10425 "type": "SYMBOL", 10426 "name": "_constructor_name" 10427 }, 10428 { 10429 "type": "SEQ", 10430 "members": [ 10431 { 10432 "type": "SYMBOL", 10433 "name": "module_path" 10434 }, 10435 { 10436 "type": "STRING", 10437 "value": "." 10438 }, 10439 { 10440 "type": "SYMBOL", 10441 "name": "_constructor_name" 10442 } 10443 ] 10444 } 10445 ] 10446 }, 10447 "type_constructor_path": { 10448 "type": "PREC", 10449 "value": 1, 10450 "content": { 10451 "type": "CHOICE", 10452 "members": [ 10453 { 10454 "type": "SYMBOL", 10455 "name": "_type_constructor" 10456 }, 10457 { 10458 "type": "SEQ", 10459 "members": [ 10460 { 10461 "type": "SYMBOL", 10462 "name": "extended_module_path" 10463 }, 10464 { 10465 "type": "STRING", 10466 "value": "." 10467 }, 10468 { 10469 "type": "SYMBOL", 10470 "name": "_type_constructor" 10471 } 10472 ] 10473 } 10474 ] 10475 } 10476 }, 10477 "class_path": { 10478 "type": "CHOICE", 10479 "members": [ 10480 { 10481 "type": "SYMBOL", 10482 "name": "_class_name" 10483 }, 10484 { 10485 "type": "SEQ", 10486 "members": [ 10487 { 10488 "type": "SYMBOL", 10489 "name": "module_path" 10490 }, 10491 { 10492 "type": "STRING", 10493 "value": "." 10494 }, 10495 { 10496 "type": "SYMBOL", 10497 "name": "_class_name" 10498 } 10499 ] 10500 } 10501 ] 10502 }, 10503 "class_type_path": { 10504 "type": "CHOICE", 10505 "members": [ 10506 { 10507 "type": "SYMBOL", 10508 "name": "_class_type_name" 10509 }, 10510 { 10511 "type": "SEQ", 10512 "members": [ 10513 { 10514 "type": "SYMBOL", 10515 "name": "extended_module_path" 10516 }, 10517 { 10518 "type": "STRING", 10519 "value": "." 10520 }, 10521 { 10522 "type": "SYMBOL", 10523 "name": "_class_type_name" 10524 } 10525 ] 10526 } 10527 ] 10528 }, 10529 "_label_name": { 10530 "type": "ALIAS", 10531 "content": { 10532 "type": "SYMBOL", 10533 "name": "_identifier" 10534 }, 10535 "named": true, 10536 "value": "label_name" 10537 }, 10538 "_field_name": { 10539 "type": "ALIAS", 10540 "content": { 10541 "type": "SYMBOL", 10542 "name": "_identifier" 10543 }, 10544 "named": true, 10545 "value": "field_name" 10546 }, 10547 "_class_name": { 10548 "type": "ALIAS", 10549 "content": { 10550 "type": "SYMBOL", 10551 "name": "_identifier" 10552 }, 10553 "named": true, 10554 "value": "class_name" 10555 }, 10556 "_class_type_name": { 10557 "type": "ALIAS", 10558 "content": { 10559 "type": "SYMBOL", 10560 "name": "_identifier" 10561 }, 10562 "named": true, 10563 "value": "class_type_name" 10564 }, 10565 "_method_name": { 10566 "type": "ALIAS", 10567 "content": { 10568 "type": "SYMBOL", 10569 "name": "_identifier" 10570 }, 10571 "named": true, 10572 "value": "method_name" 10573 }, 10574 "_type_constructor": { 10575 "type": "ALIAS", 10576 "content": { 10577 "type": "SYMBOL", 10578 "name": "_identifier" 10579 }, 10580 "named": true, 10581 "value": "type_constructor" 10582 }, 10583 "_instance_variable_name": { 10584 "type": "ALIAS", 10585 "content": { 10586 "type": "SYMBOL", 10587 "name": "_identifier" 10588 }, 10589 "named": true, 10590 "value": "instance_variable_name" 10591 }, 10592 "_module_name": { 10593 "type": "ALIAS", 10594 "content": { 10595 "type": "SYMBOL", 10596 "name": "_capitalized_identifier" 10597 }, 10598 "named": true, 10599 "value": "module_name" 10600 }, 10601 "_module_type_name": { 10602 "type": "ALIAS", 10603 "content": { 10604 "type": "CHOICE", 10605 "members": [ 10606 { 10607 "type": "SYMBOL", 10608 "name": "_capitalized_identifier" 10609 }, 10610 { 10611 "type": "SYMBOL", 10612 "name": "_identifier" 10613 } 10614 ] 10615 }, 10616 "named": true, 10617 "value": "module_type_name" 10618 }, 10619 "_constructor_name": { 10620 "type": "CHOICE", 10621 "members": [ 10622 { 10623 "type": "ALIAS", 10624 "content": { 10625 "type": "SYMBOL", 10626 "name": "_capitalized_identifier" 10627 }, 10628 "named": true, 10629 "value": "constructor_name" 10630 }, 10631 { 10632 "type": "SEQ", 10633 "members": [ 10634 { 10635 "type": "STRING", 10636 "value": "(" 10637 }, 10638 { 10639 "type": "ALIAS", 10640 "content": { 10641 "type": "STRING", 10642 "value": "::" 10643 }, 10644 "named": true, 10645 "value": "constructor_name" 10646 }, 10647 { 10648 "type": "STRING", 10649 "value": ")" 10650 } 10651 ] 10652 } 10653 ] 10654 }, 10655 "_identifier": { 10656 "type": "PATTERN", 10657 "value": "[a-z_][a-zA-Z0-9_']*" 10658 }, 10659 "_capitalized_identifier": { 10660 "type": "PATTERN", 10661 "value": "[A-Z][a-zA-Z0-9_']*" 10662 }, 10663 "_label": { 10664 "type": "SEQ", 10665 "members": [ 10666 { 10667 "type": "CHOICE", 10668 "members": [ 10669 { 10670 "type": "STRING", 10671 "value": "~" 10672 }, 10673 { 10674 "type": "STRING", 10675 "value": "?" 10676 } 10677 ] 10678 }, 10679 { 10680 "type": "SYMBOL", 10681 "name": "_label_name" 10682 } 10683 ] 10684 }, 10685 "directive": { 10686 "type": "SEQ", 10687 "members": [ 10688 { 10689 "type": "STRING", 10690 "value": "#" 10691 }, 10692 { 10693 "type": "CHOICE", 10694 "members": [ 10695 { 10696 "type": "SYMBOL", 10697 "name": "_identifier" 10698 }, 10699 { 10700 "type": "SYMBOL", 10701 "name": "_capitalized_identifier" 10702 } 10703 ] 10704 } 10705 ] 10706 }, 10707 "type_variable": { 10708 "type": "SEQ", 10709 "members": [ 10710 { 10711 "type": "STRING", 10712 "value": "'" 10713 }, 10714 { 10715 "type": "CHOICE", 10716 "members": [ 10717 { 10718 "type": "SYMBOL", 10719 "name": "_identifier" 10720 }, 10721 { 10722 "type": "SYMBOL", 10723 "name": "_capitalized_identifier" 10724 } 10725 ] 10726 } 10727 ] 10728 }, 10729 "tag": { 10730 "type": "SEQ", 10731 "members": [ 10732 { 10733 "type": "STRING", 10734 "value": "`" 10735 }, 10736 { 10737 "type": "CHOICE", 10738 "members": [ 10739 { 10740 "type": "SYMBOL", 10741 "name": "_identifier" 10742 }, 10743 { 10744 "type": "SYMBOL", 10745 "name": "_capitalized_identifier" 10746 } 10747 ] 10748 } 10749 ] 10750 }, 10751 "attribute_id": { 10752 "type": "SEQ", 10753 "members": [ 10754 { 10755 "type": "CHOICE", 10756 "members": [ 10757 { 10758 "type": "SYMBOL", 10759 "name": "_identifier" 10760 }, 10761 { 10762 "type": "SYMBOL", 10763 "name": "_capitalized_identifier" 10764 } 10765 ] 10766 }, 10767 { 10768 "type": "REPEAT", 10769 "content": { 10770 "type": "SEQ", 10771 "members": [ 10772 { 10773 "type": "STRING", 10774 "value": "." 10775 }, 10776 { 10777 "type": "CHOICE", 10778 "members": [ 10779 { 10780 "type": "SYMBOL", 10781 "name": "_identifier" 10782 }, 10783 { 10784 "type": "SYMBOL", 10785 "name": "_capitalized_identifier" 10786 } 10787 ] 10788 } 10789 ] 10790 } 10791 } 10792 ] 10793 } 10794 }, 10795 "extras": [ 10796 { 10797 "type": "PATTERN", 10798 "value": "\\s" 10799 }, 10800 { 10801 "type": "SYMBOL", 10802 "name": "comment" 10803 }, 10804 { 10805 "type": "SYMBOL", 10806 "name": "line_number_directive" 10807 }, 10808 { 10809 "type": "SYMBOL", 10810 "name": "attribute" 10811 } 10812 ], 10813 "conflicts": [], 10814 "precedences": [], 10815 "externals": [ 10816 { 10817 "type": "SYMBOL", 10818 "name": "comment" 10819 }, 10820 { 10821 "type": "SYMBOL", 10822 "name": "_left_quoted_string_delimiter" 10823 }, 10824 { 10825 "type": "SYMBOL", 10826 "name": "_right_quoted_string_delimiter" 10827 }, 10828 { 10829 "type": "STRING", 10830 "value": "\"" 10831 }, 10832 { 10833 "type": "SYMBOL", 10834 "name": "line_number_directive" 10835 }, 10836 { 10837 "type": "SYMBOL", 10838 "name": "_null" 10839 } 10840 ], 10841 "inline": [ 10842 "_module_type_ext", 10843 "_module_expression_ext", 10844 "_module_expression_ext", 10845 "_simple_type_ext", 10846 "_simple_expression_ext", 10847 "_expression_ext", 10848 "_quoted_string", 10849 "_label_name", 10850 "_field_name", 10851 "_class_name", 10852 "_class_type_name", 10853 "_method_name", 10854 "_type_constructor", 10855 "_instance_variable_name", 10856 "_module_name", 10857 "_module_type_name", 10858 "_constructor_name" 10859 ], 10860 "supertypes": [ 10861 "_structure_item", 10862 "_parameter", 10863 "_module_type", 10864 "_simple_module_expression", 10865 "_module_expression", 10866 "_simple_class_type", 10867 "_class_type", 10868 "_class_field_specification", 10869 "_simple_class_expression", 10870 "_class_expression", 10871 "_class_field", 10872 "_polymorphic_type", 10873 "_simple_type", 10874 "_tuple_type", 10875 "_tag_spec", 10876 "_type", 10877 "_simple_expression", 10878 "_expression", 10879 "_sequence_expression", 10880 "_argument", 10881 "_simple_pattern", 10882 "_pattern", 10883 "_binding_pattern", 10884 "_extension", 10885 "_item_extension", 10886 "_constant", 10887 "_signed_constant", 10888 "_value_name", 10889 "_value_pattern" 10890 ] 10891} 10892 10893