1[ 2 { 3 "type": "_definition", 4 "named": true, 5 "subtypes": [ 6 { 7 "type": "abstract_definition", 8 "named": true 9 }, 10 { 11 "type": "function_definition", 12 "named": true 13 }, 14 { 15 "type": "macro_definition", 16 "named": true 17 }, 18 { 19 "type": "module_definition", 20 "named": true 21 }, 22 { 23 "type": "primitive_definition", 24 "named": true 25 }, 26 { 27 "type": "struct_definition", 28 "named": true 29 } 30 ] 31 }, 32 { 33 "type": "_expression", 34 "named": true, 35 "subtypes": [ 36 { 37 "type": "_definition", 38 "named": true 39 }, 40 { 41 "type": "_statement", 42 "named": true 43 }, 44 { 45 "type": "array_comprehension_expression", 46 "named": true 47 }, 48 { 49 "type": "array_expression", 50 "named": true 51 }, 52 { 53 "type": "binary_expression", 54 "named": true 55 }, 56 { 57 "type": "broadcast_call_expression", 58 "named": true 59 }, 60 { 61 "type": "call_expression", 62 "named": true 63 }, 64 { 65 "type": "character", 66 "named": true 67 }, 68 { 69 "type": "coefficient_expression", 70 "named": true 71 }, 72 { 73 "type": "command_string", 74 "named": true 75 }, 76 { 77 "type": "compound_expression", 78 "named": true 79 }, 80 { 81 "type": "field_expression", 82 "named": true 83 }, 84 { 85 "type": "function_expression", 86 "named": true 87 }, 88 { 89 "type": "generator_expression", 90 "named": true 91 }, 92 { 93 "type": "identifier", 94 "named": true 95 }, 96 { 97 "type": "interpolation_expression", 98 "named": true 99 }, 100 { 101 "type": "macro_expression", 102 "named": true 103 }, 104 { 105 "type": "matrix_expression", 106 "named": true 107 }, 108 { 109 "type": "number", 110 "named": true 111 }, 112 { 113 "type": "operator", 114 "named": true 115 }, 116 { 117 "type": "pair_expression", 118 "named": true 119 }, 120 { 121 "type": "parameterized_identifier", 122 "named": true 123 }, 124 { 125 "type": "parenthesized_expression", 126 "named": true 127 }, 128 { 129 "type": "quote_expression", 130 "named": true 131 }, 132 { 133 "type": "range_expression", 134 "named": true 135 }, 136 { 137 "type": "spread_expression", 138 "named": true 139 }, 140 { 141 "type": "string", 142 "named": true 143 }, 144 { 145 "type": "subscript_expression", 146 "named": true 147 }, 148 { 149 "type": "ternary_expression", 150 "named": true 151 }, 152 { 153 "type": "triple_string", 154 "named": true 155 }, 156 { 157 "type": "tuple_expression", 158 "named": true 159 }, 160 { 161 "type": "typed_expression", 162 "named": true 163 }, 164 { 165 "type": "unary_expression", 166 "named": true 167 } 168 ] 169 }, 170 { 171 "type": "_statement", 172 "named": true, 173 "subtypes": [ 174 { 175 "type": "break_statement", 176 "named": true 177 }, 178 { 179 "type": "const_statement", 180 "named": true 181 }, 182 { 183 "type": "continue_statement", 184 "named": true 185 }, 186 { 187 "type": "export_statement", 188 "named": true 189 }, 190 { 191 "type": "for_statement", 192 "named": true 193 }, 194 { 195 "type": "if_statement", 196 "named": true 197 }, 198 { 199 "type": "import_statement", 200 "named": true 201 }, 202 { 203 "type": "let_statement", 204 "named": true 205 }, 206 { 207 "type": "quote_statement", 208 "named": true 209 }, 210 { 211 "type": "return_statement", 212 "named": true 213 }, 214 { 215 "type": "try_statement", 216 "named": true 217 }, 218 { 219 "type": "while_statement", 220 "named": true 221 } 222 ] 223 }, 224 { 225 "type": "abstract_definition", 226 "named": true, 227 "fields": { 228 "name": { 229 "multiple": false, 230 "required": true, 231 "types": [ 232 { 233 "type": "identifier", 234 "named": true 235 } 236 ] 237 }, 238 "type_parameters": { 239 "multiple": false, 240 "required": false, 241 "types": [ 242 { 243 "type": "type_parameter_list", 244 "named": true 245 } 246 ] 247 } 248 }, 249 "children": { 250 "multiple": false, 251 "required": false, 252 "types": [ 253 { 254 "type": "subtype_clause", 255 "named": true 256 } 257 ] 258 } 259 }, 260 { 261 "type": "argument_list", 262 "named": true, 263 "fields": {}, 264 "children": { 265 "multiple": true, 266 "required": false, 267 "types": [ 268 { 269 "type": "_expression", 270 "named": true 271 }, 272 { 273 "type": "named_argument", 274 "named": true 275 } 276 ] 277 } 278 }, 279 { 280 "type": "array_comprehension_expression", 281 "named": true, 282 "fields": {}, 283 "children": { 284 "multiple": true, 285 "required": true, 286 "types": [ 287 { 288 "type": "_expression", 289 "named": true 290 }, 291 { 292 "type": "for_clause", 293 "named": true 294 }, 295 { 296 "type": "if_clause", 297 "named": true 298 } 299 ] 300 } 301 }, 302 { 303 "type": "array_expression", 304 "named": true, 305 "fields": {}, 306 "children": { 307 "multiple": true, 308 "required": false, 309 "types": [ 310 { 311 "type": "_expression", 312 "named": true 313 } 314 ] 315 } 316 }, 317 { 318 "type": "assignment_expression", 319 "named": true, 320 "fields": {}, 321 "children": { 322 "multiple": true, 323 "required": true, 324 "types": [ 325 { 326 "type": "_expression", 327 "named": true 328 }, 329 { 330 "type": "assignment_expression", 331 "named": true 332 }, 333 { 334 "type": "bare_tuple_expression", 335 "named": true 336 } 337 ] 338 } 339 }, 340 { 341 "type": "bare_tuple_expression", 342 "named": true, 343 "fields": {}, 344 "children": { 345 "multiple": true, 346 "required": true, 347 "types": [ 348 { 349 "type": "_expression", 350 "named": true 351 } 352 ] 353 } 354 }, 355 { 356 "type": "binary_expression", 357 "named": true, 358 "fields": {}, 359 "children": { 360 "multiple": true, 361 "required": true, 362 "types": [ 363 { 364 "type": "_expression", 365 "named": true 366 } 367 ] 368 } 369 }, 370 { 371 "type": "broadcast_call_expression", 372 "named": true, 373 "fields": {}, 374 "children": { 375 "multiple": true, 376 "required": true, 377 "types": [ 378 { 379 "type": "argument_list", 380 "named": true 381 }, 382 { 383 "type": "array_comprehension_expression", 384 "named": true 385 }, 386 { 387 "type": "array_expression", 388 "named": true 389 }, 390 { 391 "type": "broadcast_call_expression", 392 "named": true 393 }, 394 { 395 "type": "call_expression", 396 "named": true 397 }, 398 { 399 "type": "character", 400 "named": true 401 }, 402 { 403 "type": "command_string", 404 "named": true 405 }, 406 { 407 "type": "do_clause", 408 "named": true 409 }, 410 { 411 "type": "field_expression", 412 "named": true 413 }, 414 { 415 "type": "generator_expression", 416 "named": true 417 }, 418 { 419 "type": "identifier", 420 "named": true 421 }, 422 { 423 "type": "matrix_expression", 424 "named": true 425 }, 426 { 427 "type": "operator", 428 "named": true 429 }, 430 { 431 "type": "parameterized_identifier", 432 "named": true 433 }, 434 { 435 "type": "parenthesized_expression", 436 "named": true 437 }, 438 { 439 "type": "string", 440 "named": true 441 }, 442 { 443 "type": "subscript_expression", 444 "named": true 445 }, 446 { 447 "type": "triple_string", 448 "named": true 449 }, 450 { 451 "type": "tuple_expression", 452 "named": true 453 } 454 ] 455 } 456 }, 457 { 458 "type": "call_expression", 459 "named": true, 460 "fields": {}, 461 "children": { 462 "multiple": true, 463 "required": true, 464 "types": [ 465 { 466 "type": "argument_list", 467 "named": true 468 }, 469 { 470 "type": "array_comprehension_expression", 471 "named": true 472 }, 473 { 474 "type": "array_expression", 475 "named": true 476 }, 477 { 478 "type": "broadcast_call_expression", 479 "named": true 480 }, 481 { 482 "type": "call_expression", 483 "named": true 484 }, 485 { 486 "type": "character", 487 "named": true 488 }, 489 { 490 "type": "command_string", 491 "named": true 492 }, 493 { 494 "type": "do_clause", 495 "named": true 496 }, 497 { 498 "type": "field_expression", 499 "named": true 500 }, 501 { 502 "type": "generator_expression", 503 "named": true 504 }, 505 { 506 "type": "identifier", 507 "named": true 508 }, 509 { 510 "type": "matrix_expression", 511 "named": true 512 }, 513 { 514 "type": "operator", 515 "named": true 516 }, 517 { 518 "type": "parameterized_identifier", 519 "named": true 520 }, 521 { 522 "type": "parenthesized_expression", 523 "named": true 524 }, 525 { 526 "type": "string", 527 "named": true 528 }, 529 { 530 "type": "subscript_expression", 531 "named": true 532 }, 533 { 534 "type": "triple_string", 535 "named": true 536 }, 537 { 538 "type": "tuple_expression", 539 "named": true 540 } 541 ] 542 } 543 }, 544 { 545 "type": "catch_clause", 546 "named": true, 547 "fields": {}, 548 "children": { 549 "multiple": true, 550 "required": false, 551 "types": [ 552 { 553 "type": "_expression", 554 "named": true 555 }, 556 { 557 "type": "assignment_expression", 558 "named": true 559 }, 560 { 561 "type": "bare_tuple_expression", 562 "named": true 563 } 564 ] 565 } 566 }, 567 { 568 "type": "coefficient_expression", 569 "named": true, 570 "fields": {}, 571 "children": { 572 "multiple": true, 573 "required": true, 574 "types": [ 575 { 576 "type": "identifier", 577 "named": true 578 }, 579 { 580 "type": "number", 581 "named": true 582 }, 583 { 584 "type": "parenthesized_expression", 585 "named": true 586 } 587 ] 588 } 589 }, 590 { 591 "type": "compound_expression", 592 "named": true, 593 "fields": {}, 594 "children": { 595 "multiple": true, 596 "required": true, 597 "types": [ 598 { 599 "type": "_expression", 600 "named": true 601 }, 602 { 603 "type": "assignment_expression", 604 "named": true 605 }, 606 { 607 "type": "bare_tuple_expression", 608 "named": true 609 } 610 ] 611 } 612 }, 613 { 614 "type": "const_statement", 615 "named": true, 616 "fields": {}, 617 "children": { 618 "multiple": true, 619 "required": true, 620 "types": [ 621 { 622 "type": "variable_declaration", 623 "named": true 624 } 625 ] 626 } 627 }, 628 { 629 "type": "constrained_parameter", 630 "named": true, 631 "fields": { 632 "name": { 633 "multiple": false, 634 "required": true, 635 "types": [ 636 { 637 "type": "identifier", 638 "named": true 639 } 640 ] 641 }, 642 "value": { 643 "multiple": false, 644 "required": true, 645 "types": [ 646 { 647 "type": "_expression", 648 "named": true 649 } 650 ] 651 } 652 } 653 }, 654 { 655 "type": "do_clause", 656 "named": true, 657 "fields": {}, 658 "children": { 659 "multiple": true, 660 "required": true, 661 "types": [ 662 { 663 "type": "_expression", 664 "named": true 665 }, 666 { 667 "type": "assignment_expression", 668 "named": true 669 }, 670 { 671 "type": "bare_tuple_expression", 672 "named": true 673 } 674 ] 675 } 676 }, 677 { 678 "type": "else_clause", 679 "named": true, 680 "fields": {}, 681 "children": { 682 "multiple": true, 683 "required": false, 684 "types": [ 685 { 686 "type": "_expression", 687 "named": true 688 }, 689 { 690 "type": "assignment_expression", 691 "named": true 692 }, 693 { 694 "type": "bare_tuple_expression", 695 "named": true 696 } 697 ] 698 } 699 }, 700 { 701 "type": "elseif_clause", 702 "named": true, 703 "fields": { 704 "condition": { 705 "multiple": false, 706 "required": true, 707 "types": [ 708 { 709 "type": "_expression", 710 "named": true 711 } 712 ] 713 } 714 }, 715 "children": { 716 "multiple": true, 717 "required": false, 718 "types": [ 719 { 720 "type": "_expression", 721 "named": true 722 }, 723 { 724 "type": "assignment_expression", 725 "named": true 726 }, 727 { 728 "type": "bare_tuple_expression", 729 "named": true 730 } 731 ] 732 } 733 }, 734 { 735 "type": "export_statement", 736 "named": true, 737 "fields": {}, 738 "children": { 739 "multiple": true, 740 "required": true, 741 "types": [ 742 { 743 "type": "identifier", 744 "named": true 745 } 746 ] 747 } 748 }, 749 { 750 "type": "field_expression", 751 "named": true, 752 "fields": {}, 753 "children": { 754 "multiple": true, 755 "required": true, 756 "types": [ 757 { 758 "type": "array_comprehension_expression", 759 "named": true 760 }, 761 { 762 "type": "array_expression", 763 "named": true 764 }, 765 { 766 "type": "broadcast_call_expression", 767 "named": true 768 }, 769 { 770 "type": "call_expression", 771 "named": true 772 }, 773 { 774 "type": "character", 775 "named": true 776 }, 777 { 778 "type": "command_string", 779 "named": true 780 }, 781 { 782 "type": "field_expression", 783 "named": true 784 }, 785 { 786 "type": "identifier", 787 "named": true 788 }, 789 { 790 "type": "matrix_expression", 791 "named": true 792 }, 793 { 794 "type": "operator", 795 "named": true 796 }, 797 { 798 "type": "parameterized_identifier", 799 "named": true 800 }, 801 { 802 "type": "parenthesized_expression", 803 "named": true 804 }, 805 { 806 "type": "string", 807 "named": true 808 }, 809 { 810 "type": "subscript_expression", 811 "named": true 812 }, 813 { 814 "type": "triple_string", 815 "named": true 816 }, 817 { 818 "type": "tuple_expression", 819 "named": true 820 } 821 ] 822 } 823 }, 824 { 825 "type": "finally_clause", 826 "named": true, 827 "fields": {}, 828 "children": { 829 "multiple": true, 830 "required": false, 831 "types": [ 832 { 833 "type": "_expression", 834 "named": true 835 }, 836 { 837 "type": "assignment_expression", 838 "named": true 839 }, 840 { 841 "type": "bare_tuple_expression", 842 "named": true 843 } 844 ] 845 } 846 }, 847 { 848 "type": "for_binding", 849 "named": true, 850 "fields": {}, 851 "children": { 852 "multiple": true, 853 "required": true, 854 "types": [ 855 { 856 "type": "_expression", 857 "named": true 858 } 859 ] 860 } 861 }, 862 { 863 "type": "for_clause", 864 "named": true, 865 "fields": {}, 866 "children": { 867 "multiple": true, 868 "required": true, 869 "types": [ 870 { 871 "type": "for_binding", 872 "named": true 873 } 874 ] 875 } 876 }, 877 { 878 "type": "for_statement", 879 "named": true, 880 "fields": {}, 881 "children": { 882 "multiple": true, 883 "required": true, 884 "types": [ 885 { 886 "type": "_expression", 887 "named": true 888 }, 889 { 890 "type": "assignment_expression", 891 "named": true 892 }, 893 { 894 "type": "bare_tuple_expression", 895 "named": true 896 }, 897 { 898 "type": "for_binding", 899 "named": true 900 } 901 ] 902 } 903 }, 904 { 905 "type": "function_definition", 906 "named": true, 907 "fields": { 908 "name": { 909 "multiple": false, 910 "required": true, 911 "types": [ 912 { 913 "type": "identifier", 914 "named": true 915 } 916 ] 917 }, 918 "parameters": { 919 "multiple": false, 920 "required": true, 921 "types": [ 922 { 923 "type": "parameter_list", 924 "named": true 925 } 926 ] 927 }, 928 "type_parameters": { 929 "multiple": false, 930 "required": false, 931 "types": [ 932 { 933 "type": "type_parameter_list", 934 "named": true 935 } 936 ] 937 } 938 }, 939 "children": { 940 "multiple": true, 941 "required": false, 942 "types": [ 943 { 944 "type": "_expression", 945 "named": true 946 }, 947 { 948 "type": "assignment_expression", 949 "named": true 950 }, 951 { 952 "type": "bare_tuple_expression", 953 "named": true 954 } 955 ] 956 } 957 }, 958 { 959 "type": "function_expression", 960 "named": true, 961 "fields": {}, 962 "children": { 963 "multiple": true, 964 "required": true, 965 "types": [ 966 { 967 "type": "_expression", 968 "named": true 969 }, 970 { 971 "type": "assignment_expression", 972 "named": true 973 }, 974 { 975 "type": "parameter_list", 976 "named": true 977 } 978 ] 979 } 980 }, 981 { 982 "type": "generator_expression", 983 "named": true, 984 "fields": {}, 985 "children": { 986 "multiple": true, 987 "required": true, 988 "types": [ 989 { 990 "type": "_expression", 991 "named": true 992 }, 993 { 994 "type": "for_clause", 995 "named": true 996 }, 997 { 998 "type": "if_clause", 999 "named": true 1000 } 1001 ] 1002 } 1003 }, 1004 { 1005 "type": "if_clause", 1006 "named": true, 1007 "fields": {}, 1008 "children": { 1009 "multiple": false, 1010 "required": true, 1011 "types": [ 1012 { 1013 "type": "_expression", 1014 "named": true 1015 } 1016 ] 1017 } 1018 }, 1019 { 1020 "type": "if_statement", 1021 "named": true, 1022 "fields": { 1023 "alternative": { 1024 "multiple": true, 1025 "required": false, 1026 "types": [ 1027 { 1028 "type": "else_clause", 1029 "named": true 1030 }, 1031 { 1032 "type": "elseif_clause", 1033 "named": true 1034 } 1035 ] 1036 }, 1037 "condition": { 1038 "multiple": false, 1039 "required": true, 1040 "types": [ 1041 { 1042 "type": "_expression", 1043 "named": true 1044 } 1045 ] 1046 } 1047 }, 1048 "children": { 1049 "multiple": true, 1050 "required": false, 1051 "types": [ 1052 { 1053 "type": "_expression", 1054 "named": true 1055 }, 1056 { 1057 "type": "assignment_expression", 1058 "named": true 1059 }, 1060 { 1061 "type": "bare_tuple_expression", 1062 "named": true 1063 } 1064 ] 1065 } 1066 }, 1067 { 1068 "type": "import_statement", 1069 "named": true, 1070 "fields": {}, 1071 "children": { 1072 "multiple": true, 1073 "required": true, 1074 "types": [ 1075 { 1076 "type": "identifier", 1077 "named": true 1078 }, 1079 { 1080 "type": "scoped_identifier", 1081 "named": true 1082 }, 1083 { 1084 "type": "selected_import", 1085 "named": true 1086 } 1087 ] 1088 } 1089 }, 1090 { 1091 "type": "interpolation_expression", 1092 "named": true, 1093 "fields": {}, 1094 "children": { 1095 "multiple": false, 1096 "required": true, 1097 "types": [ 1098 { 1099 "type": "_expression", 1100 "named": true 1101 } 1102 ] 1103 } 1104 }, 1105 { 1106 "type": "keyword_parameters", 1107 "named": true, 1108 "fields": {}, 1109 "children": { 1110 "multiple": true, 1111 "required": true, 1112 "types": [ 1113 { 1114 "type": "identifier", 1115 "named": true 1116 }, 1117 { 1118 "type": "optional_parameter", 1119 "named": true 1120 }, 1121 { 1122 "type": "spread_parameter", 1123 "named": true 1124 }, 1125 { 1126 "type": "typed_parameter", 1127 "named": true 1128 } 1129 ] 1130 } 1131 }, 1132 { 1133 "type": "let_statement", 1134 "named": true, 1135 "fields": {}, 1136 "children": { 1137 "multiple": true, 1138 "required": true, 1139 "types": [ 1140 { 1141 "type": "_expression", 1142 "named": true 1143 }, 1144 { 1145 "type": "assignment_expression", 1146 "named": true 1147 }, 1148 { 1149 "type": "bare_tuple_expression", 1150 "named": true 1151 }, 1152 { 1153 "type": "variable_declaration", 1154 "named": true 1155 } 1156 ] 1157 } 1158 }, 1159 { 1160 "type": "macro_argument_list", 1161 "named": true, 1162 "fields": {}, 1163 "children": { 1164 "multiple": true, 1165 "required": true, 1166 "types": [ 1167 { 1168 "type": "_expression", 1169 "named": true 1170 } 1171 ] 1172 } 1173 }, 1174 { 1175 "type": "macro_definition", 1176 "named": true, 1177 "fields": { 1178 "name": { 1179 "multiple": false, 1180 "required": true, 1181 "types": [ 1182 { 1183 "type": "identifier", 1184 "named": true 1185 }, 1186 { 1187 "type": "operator", 1188 "named": true 1189 } 1190 ] 1191 }, 1192 "parameters": { 1193 "multiple": false, 1194 "required": true, 1195 "types": [ 1196 { 1197 "type": "parameter_list", 1198 "named": true 1199 } 1200 ] 1201 } 1202 }, 1203 "children": { 1204 "multiple": true, 1205 "required": false, 1206 "types": [ 1207 { 1208 "type": "_expression", 1209 "named": true 1210 }, 1211 { 1212 "type": "assignment_expression", 1213 "named": true 1214 }, 1215 { 1216 "type": "bare_tuple_expression", 1217 "named": true 1218 } 1219 ] 1220 } 1221 }, 1222 { 1223 "type": "macro_expression", 1224 "named": true, 1225 "fields": {}, 1226 "children": { 1227 "multiple": true, 1228 "required": true, 1229 "types": [ 1230 { 1231 "type": "argument_list", 1232 "named": true 1233 }, 1234 { 1235 "type": "macro_argument_list", 1236 "named": true 1237 }, 1238 { 1239 "type": "macro_identifier", 1240 "named": true 1241 } 1242 ] 1243 } 1244 }, 1245 { 1246 "type": "macro_identifier", 1247 "named": true, 1248 "fields": {}, 1249 "children": { 1250 "multiple": false, 1251 "required": true, 1252 "types": [ 1253 { 1254 "type": "identifier", 1255 "named": true 1256 }, 1257 { 1258 "type": "operator", 1259 "named": true 1260 } 1261 ] 1262 } 1263 }, 1264 { 1265 "type": "matrix_expression", 1266 "named": true, 1267 "fields": {}, 1268 "children": { 1269 "multiple": true, 1270 "required": false, 1271 "types": [ 1272 { 1273 "type": "matrix_row", 1274 "named": true 1275 } 1276 ] 1277 } 1278 }, 1279 { 1280 "type": "matrix_row", 1281 "named": true, 1282 "fields": {}, 1283 "children": { 1284 "multiple": true, 1285 "required": true, 1286 "types": [ 1287 { 1288 "type": "_expression", 1289 "named": true 1290 } 1291 ] 1292 } 1293 }, 1294 { 1295 "type": "module_definition", 1296 "named": true, 1297 "fields": { 1298 "name": { 1299 "multiple": false, 1300 "required": true, 1301 "types": [ 1302 { 1303 "type": "identifier", 1304 "named": true 1305 } 1306 ] 1307 } 1308 }, 1309 "children": { 1310 "multiple": true, 1311 "required": false, 1312 "types": [ 1313 { 1314 "type": "_expression", 1315 "named": true 1316 }, 1317 { 1318 "type": "assignment_expression", 1319 "named": true 1320 }, 1321 { 1322 "type": "bare_tuple_expression", 1323 "named": true 1324 } 1325 ] 1326 } 1327 }, 1328 { 1329 "type": "named_argument", 1330 "named": true, 1331 "fields": {}, 1332 "children": { 1333 "multiple": true, 1334 "required": true, 1335 "types": [ 1336 { 1337 "type": "_expression", 1338 "named": true 1339 } 1340 ] 1341 } 1342 }, 1343 { 1344 "type": "named_field", 1345 "named": true, 1346 "fields": {}, 1347 "children": { 1348 "multiple": true, 1349 "required": true, 1350 "types": [ 1351 { 1352 "type": "_expression", 1353 "named": true 1354 } 1355 ] 1356 } 1357 }, 1358 { 1359 "type": "operator", 1360 "named": true, 1361 "fields": {} 1362 }, 1363 { 1364 "type": "optional_parameter", 1365 "named": true, 1366 "fields": {}, 1367 "children": { 1368 "multiple": true, 1369 "required": true, 1370 "types": [ 1371 { 1372 "type": "_expression", 1373 "named": true 1374 }, 1375 { 1376 "type": "typed_parameter", 1377 "named": true 1378 } 1379 ] 1380 } 1381 }, 1382 { 1383 "type": "pair_expression", 1384 "named": true, 1385 "fields": {}, 1386 "children": { 1387 "multiple": true, 1388 "required": true, 1389 "types": [ 1390 { 1391 "type": "_expression", 1392 "named": true 1393 } 1394 ] 1395 } 1396 }, 1397 { 1398 "type": "parameter_list", 1399 "named": true, 1400 "fields": {}, 1401 "children": { 1402 "multiple": true, 1403 "required": false, 1404 "types": [ 1405 { 1406 "type": "identifier", 1407 "named": true 1408 }, 1409 { 1410 "type": "keyword_parameters", 1411 "named": true 1412 }, 1413 { 1414 "type": "optional_parameter", 1415 "named": true 1416 }, 1417 { 1418 "type": "spread_parameter", 1419 "named": true 1420 }, 1421 { 1422 "type": "typed_parameter", 1423 "named": true 1424 } 1425 ] 1426 } 1427 }, 1428 { 1429 "type": "parameterized_identifier", 1430 "named": true, 1431 "fields": {}, 1432 "children": { 1433 "multiple": true, 1434 "required": true, 1435 "types": [ 1436 { 1437 "type": "field_expression", 1438 "named": true 1439 }, 1440 { 1441 "type": "identifier", 1442 "named": true 1443 }, 1444 { 1445 "type": "type_argument_list", 1446 "named": true 1447 } 1448 ] 1449 } 1450 }, 1451 { 1452 "type": "parenthesized_expression", 1453 "named": true, 1454 "fields": {}, 1455 "children": { 1456 "multiple": true, 1457 "required": true, 1458 "types": [ 1459 { 1460 "type": "_expression", 1461 "named": true 1462 }, 1463 { 1464 "type": "assignment_expression", 1465 "named": true 1466 }, 1467 { 1468 "type": "bare_tuple_expression", 1469 "named": true 1470 } 1471 ] 1472 } 1473 }, 1474 { 1475 "type": "primitive_definition", 1476 "named": true, 1477 "fields": { 1478 "name": { 1479 "multiple": false, 1480 "required": true, 1481 "types": [ 1482 { 1483 "type": "identifier", 1484 "named": true 1485 } 1486 ] 1487 }, 1488 "type_parameters": { 1489 "multiple": false, 1490 "required": false, 1491 "types": [ 1492 { 1493 "type": "type_parameter_list", 1494 "named": true 1495 } 1496 ] 1497 } 1498 }, 1499 "children": { 1500 "multiple": true, 1501 "required": true, 1502 "types": [ 1503 { 1504 "type": "number", 1505 "named": true 1506 }, 1507 { 1508 "type": "subtype_clause", 1509 "named": true 1510 } 1511 ] 1512 } 1513 }, 1514 { 1515 "type": "quote_expression", 1516 "named": true, 1517 "fields": {}, 1518 "children": { 1519 "multiple": false, 1520 "required": true, 1521 "types": [ 1522 { 1523 "type": "_expression", 1524 "named": true 1525 } 1526 ] 1527 } 1528 }, 1529 { 1530 "type": "quote_statement", 1531 "named": true, 1532 "fields": {}, 1533 "children": { 1534 "multiple": true, 1535 "required": false, 1536 "types": [ 1537 { 1538 "type": "_expression", 1539 "named": true 1540 }, 1541 { 1542 "type": "assignment_expression", 1543 "named": true 1544 }, 1545 { 1546 "type": "bare_tuple_expression", 1547 "named": true 1548 } 1549 ] 1550 } 1551 }, 1552 { 1553 "type": "range_expression", 1554 "named": true, 1555 "fields": {}, 1556 "children": { 1557 "multiple": true, 1558 "required": true, 1559 "types": [ 1560 { 1561 "type": "_expression", 1562 "named": true 1563 } 1564 ] 1565 } 1566 }, 1567 { 1568 "type": "return_statement", 1569 "named": true, 1570 "fields": {}, 1571 "children": { 1572 "multiple": false, 1573 "required": false, 1574 "types": [ 1575 { 1576 "type": "_expression", 1577 "named": true 1578 }, 1579 { 1580 "type": "bare_tuple_expression", 1581 "named": true 1582 } 1583 ] 1584 } 1585 }, 1586 { 1587 "type": "scoped_identifier", 1588 "named": true, 1589 "fields": {}, 1590 "children": { 1591 "multiple": true, 1592 "required": true, 1593 "types": [ 1594 { 1595 "type": "identifier", 1596 "named": true 1597 }, 1598 { 1599 "type": "scoped_identifier", 1600 "named": true 1601 } 1602 ] 1603 } 1604 }, 1605 { 1606 "type": "selected_import", 1607 "named": true, 1608 "fields": {}, 1609 "children": { 1610 "multiple": true, 1611 "required": true, 1612 "types": [ 1613 { 1614 "type": "identifier", 1615 "named": true 1616 }, 1617 { 1618 "type": "macro_identifier", 1619 "named": true 1620 }, 1621 { 1622 "type": "scoped_identifier", 1623 "named": true 1624 } 1625 ] 1626 } 1627 }, 1628 { 1629 "type": "source_file", 1630 "named": true, 1631 "fields": {}, 1632 "children": { 1633 "multiple": true, 1634 "required": false, 1635 "types": [ 1636 { 1637 "type": "_expression", 1638 "named": true 1639 }, 1640 { 1641 "type": "assignment_expression", 1642 "named": true 1643 }, 1644 { 1645 "type": "bare_tuple_expression", 1646 "named": true 1647 } 1648 ] 1649 } 1650 }, 1651 { 1652 "type": "spread_expression", 1653 "named": true, 1654 "fields": {}, 1655 "children": { 1656 "multiple": false, 1657 "required": true, 1658 "types": [ 1659 { 1660 "type": "_expression", 1661 "named": true 1662 } 1663 ] 1664 } 1665 }, 1666 { 1667 "type": "spread_parameter", 1668 "named": true, 1669 "fields": {}, 1670 "children": { 1671 "multiple": false, 1672 "required": true, 1673 "types": [ 1674 { 1675 "type": "identifier", 1676 "named": true 1677 } 1678 ] 1679 } 1680 }, 1681 { 1682 "type": "string", 1683 "named": true, 1684 "fields": { 1685 "prefix": { 1686 "multiple": false, 1687 "required": false, 1688 "types": [ 1689 { 1690 "type": "identifier", 1691 "named": true 1692 } 1693 ] 1694 } 1695 } 1696 }, 1697 { 1698 "type": "struct_definition", 1699 "named": true, 1700 "fields": { 1701 "name": { 1702 "multiple": false, 1703 "required": true, 1704 "types": [ 1705 { 1706 "type": "identifier", 1707 "named": true 1708 } 1709 ] 1710 }, 1711 "type_parameters": { 1712 "multiple": false, 1713 "required": false, 1714 "types": [ 1715 { 1716 "type": "type_parameter_list", 1717 "named": true 1718 } 1719 ] 1720 } 1721 }, 1722 "children": { 1723 "multiple": true, 1724 "required": false, 1725 "types": [ 1726 { 1727 "type": "_expression", 1728 "named": true 1729 }, 1730 { 1731 "type": "assignment_expression", 1732 "named": true 1733 }, 1734 { 1735 "type": "bare_tuple_expression", 1736 "named": true 1737 }, 1738 { 1739 "type": "subtype_clause", 1740 "named": true 1741 } 1742 ] 1743 } 1744 }, 1745 { 1746 "type": "subscript_expression", 1747 "named": true, 1748 "fields": {}, 1749 "children": { 1750 "multiple": true, 1751 "required": true, 1752 "types": [ 1753 { 1754 "type": "_expression", 1755 "named": true 1756 } 1757 ] 1758 } 1759 }, 1760 { 1761 "type": "subtype_clause", 1762 "named": true, 1763 "fields": {}, 1764 "children": { 1765 "multiple": false, 1766 "required": true, 1767 "types": [ 1768 { 1769 "type": "_expression", 1770 "named": true 1771 } 1772 ] 1773 } 1774 }, 1775 { 1776 "type": "ternary_expression", 1777 "named": true, 1778 "fields": {}, 1779 "children": { 1780 "multiple": true, 1781 "required": true, 1782 "types": [ 1783 { 1784 "type": "_expression", 1785 "named": true 1786 } 1787 ] 1788 } 1789 }, 1790 { 1791 "type": "try_statement", 1792 "named": true, 1793 "fields": {}, 1794 "children": { 1795 "multiple": true, 1796 "required": false, 1797 "types": [ 1798 { 1799 "type": "_expression", 1800 "named": true 1801 }, 1802 { 1803 "type": "assignment_expression", 1804 "named": true 1805 }, 1806 { 1807 "type": "bare_tuple_expression", 1808 "named": true 1809 }, 1810 { 1811 "type": "catch_clause", 1812 "named": true 1813 }, 1814 { 1815 "type": "finally_clause", 1816 "named": true 1817 } 1818 ] 1819 } 1820 }, 1821 { 1822 "type": "tuple_expression", 1823 "named": true, 1824 "fields": {}, 1825 "children": { 1826 "multiple": true, 1827 "required": false, 1828 "types": [ 1829 { 1830 "type": "_expression", 1831 "named": true 1832 }, 1833 { 1834 "type": "named_field", 1835 "named": true 1836 } 1837 ] 1838 } 1839 }, 1840 { 1841 "type": "type_argument_list", 1842 "named": true, 1843 "fields": {}, 1844 "children": { 1845 "multiple": true, 1846 "required": true, 1847 "types": [ 1848 { 1849 "type": "_expression", 1850 "named": true 1851 } 1852 ] 1853 } 1854 }, 1855 { 1856 "type": "type_parameter_list", 1857 "named": true, 1858 "fields": {}, 1859 "children": { 1860 "multiple": true, 1861 "required": true, 1862 "types": [ 1863 { 1864 "type": "constrained_parameter", 1865 "named": true 1866 }, 1867 { 1868 "type": "identifier", 1869 "named": true 1870 } 1871 ] 1872 } 1873 }, 1874 { 1875 "type": "typed_expression", 1876 "named": true, 1877 "fields": {}, 1878 "children": { 1879 "multiple": true, 1880 "required": true, 1881 "types": [ 1882 { 1883 "type": "_expression", 1884 "named": true 1885 } 1886 ] 1887 } 1888 }, 1889 { 1890 "type": "typed_parameter", 1891 "named": true, 1892 "fields": {}, 1893 "children": { 1894 "multiple": true, 1895 "required": true, 1896 "types": [ 1897 { 1898 "type": "identifier", 1899 "named": true 1900 }, 1901 { 1902 "type": "parameterized_identifier", 1903 "named": true 1904 } 1905 ] 1906 } 1907 }, 1908 { 1909 "type": "unary_expression", 1910 "named": true, 1911 "fields": {}, 1912 "children": { 1913 "multiple": false, 1914 "required": true, 1915 "types": [ 1916 { 1917 "type": "_expression", 1918 "named": true 1919 } 1920 ] 1921 } 1922 }, 1923 { 1924 "type": "variable_declaration", 1925 "named": true, 1926 "fields": {}, 1927 "children": { 1928 "multiple": true, 1929 "required": true, 1930 "types": [ 1931 { 1932 "type": "_expression", 1933 "named": true 1934 } 1935 ] 1936 } 1937 }, 1938 { 1939 "type": "while_statement", 1940 "named": true, 1941 "fields": { 1942 "condition": { 1943 "multiple": false, 1944 "required": true, 1945 "types": [ 1946 { 1947 "type": "_expression", 1948 "named": true 1949 } 1950 ] 1951 } 1952 }, 1953 "children": { 1954 "multiple": true, 1955 "required": false, 1956 "types": [ 1957 { 1958 "type": "_expression", 1959 "named": true 1960 }, 1961 { 1962 "type": "assignment_expression", 1963 "named": true 1964 }, 1965 { 1966 "type": "bare_tuple_expression", 1967 "named": true 1968 } 1969 ] 1970 } 1971 }, 1972 { 1973 "type": "\n", 1974 "named": false 1975 }, 1976 { 1977 "type": "!", 1978 "named": false 1979 }, 1980 { 1981 "type": "\"", 1982 "named": false 1983 }, 1984 { 1985 "type": "$", 1986 "named": false 1987 }, 1988 { 1989 "type": "&&", 1990 "named": false 1991 }, 1992 { 1993 "type": "'", 1994 "named": false 1995 }, 1996 { 1997 "type": "(", 1998 "named": false 1999 }, 2000 { 2001 "type": ")", 2002 "named": false 2003 }, 2004 { 2005 "type": "+", 2006 "named": false 2007 }, 2008 { 2009 "type": ",", 2010 "named": false 2011 }, 2012 { 2013 "type": "-", 2014 "named": false 2015 }, 2016 { 2017 "type": "->", 2018 "named": false 2019 }, 2020 { 2021 "type": ".", 2022 "named": false 2023 }, 2024 { 2025 "type": ".'", 2026 "named": false 2027 }, 2028 { 2029 "type": "...", 2030 "named": false 2031 }, 2032 { 2033 "type": ":", 2034 "named": false 2035 }, 2036 { 2037 "type": "::", 2038 "named": false 2039 }, 2040 { 2041 "type": ";", 2042 "named": false 2043 }, 2044 { 2045 "type": "<:", 2046 "named": false 2047 }, 2048 { 2049 "type": "<|", 2050 "named": false 2051 }, 2052 { 2053 "type": "=", 2054 "named": false 2055 }, 2056 { 2057 "type": "=>", 2058 "named": false 2059 }, 2060 { 2061 "type": ">:", 2062 "named": false 2063 }, 2064 { 2065 "type": "?", 2066 "named": false 2067 }, 2068 { 2069 "type": "@", 2070 "named": false 2071 }, 2072 { 2073 "type": "[", 2074 "named": false 2075 }, 2076 { 2077 "type": "]", 2078 "named": false 2079 }, 2080 { 2081 "type": "abstract", 2082 "named": false 2083 }, 2084 { 2085 "type": "begin", 2086 "named": false 2087 }, 2088 { 2089 "type": "block_comment", 2090 "named": true 2091 }, 2092 { 2093 "type": "break_statement", 2094 "named": true 2095 }, 2096 { 2097 "type": "catch", 2098 "named": false 2099 }, 2100 { 2101 "type": "character", 2102 "named": true 2103 }, 2104 { 2105 "type": "command_string", 2106 "named": true 2107 }, 2108 { 2109 "type": "comment", 2110 "named": true 2111 }, 2112 { 2113 "type": "const", 2114 "named": false 2115 }, 2116 { 2117 "type": "continue_statement", 2118 "named": true 2119 }, 2120 { 2121 "type": "do", 2122 "named": false 2123 }, 2124 { 2125 "type": "else", 2126 "named": false 2127 }, 2128 { 2129 "type": "elseif", 2130 "named": false 2131 }, 2132 { 2133 "type": "end", 2134 "named": false 2135 }, 2136 { 2137 "type": "export", 2138 "named": false 2139 }, 2140 { 2141 "type": "finally", 2142 "named": false 2143 }, 2144 { 2145 "type": "for", 2146 "named": false 2147 }, 2148 { 2149 "type": "function", 2150 "named": false 2151 }, 2152 { 2153 "type": "identifier", 2154 "named": true 2155 }, 2156 { 2157 "type": "if", 2158 "named": false 2159 }, 2160 { 2161 "type": "import", 2162 "named": false 2163 }, 2164 { 2165 "type": "in", 2166 "named": false 2167 }, 2168 { 2169 "type": "isa", 2170 "named": false 2171 }, 2172 { 2173 "type": "let", 2174 "named": false 2175 }, 2176 { 2177 "type": "macro", 2178 "named": false 2179 }, 2180 { 2181 "type": "module", 2182 "named": false 2183 }, 2184 { 2185 "type": "mutable", 2186 "named": false 2187 }, 2188 { 2189 "type": "number", 2190 "named": true 2191 }, 2192 { 2193 "type": "primitive", 2194 "named": false 2195 }, 2196 { 2197 "type": "quote", 2198 "named": false 2199 }, 2200 { 2201 "type": "return", 2202 "named": false 2203 }, 2204 { 2205 "type": "struct", 2206 "named": false 2207 }, 2208 { 2209 "type": "triple_string", 2210 "named": true 2211 }, 2212 { 2213 "type": "try", 2214 "named": false 2215 }, 2216 { 2217 "type": "type", 2218 "named": false 2219 }, 2220 { 2221 "type": "using", 2222 "named": false 2223 }, 2224 { 2225 "type": "while", 2226 "named": false 2227 }, 2228 { 2229 "type": "{", 2230 "named": false 2231 }, 2232 { 2233 "type": "|>", 2234 "named": false 2235 }, 2236 { 2237 "type": "||", 2238 "named": false 2239 }, 2240 { 2241 "type": "}", 2242 "named": false 2243 }, 2244 { 2245 "type": "~", 2246 "named": false 2247 }, 2248 { 2249 "type": "¬", 2250 "named": false 2251 }, 2252 { 2253 "type": "∈", 2254 "named": false 2255 }, 2256 { 2257 "type": "√", 2258 "named": false 2259 }, 2260 { 2261 "type": "∛", 2262 "named": false 2263 }, 2264 { 2265 "type": "∜", 2266 "named": false 2267 } 2268] 2269