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