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