1{
   2  "name": "javascript",
   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": "SEQ",
  38          "members": [
  39            {
  40              "type": "STRING",
  41              "value": "export"
  42            },
  43            {
  44              "type": "CHOICE",
  45              "members": [
  46                {
  47                  "type": "SEQ",
  48                  "members": [
  49                    {
  50                      "type": "STRING",
  51                      "value": "*"
  52                    },
  53                    {
  54                      "type": "SYMBOL",
  55                      "name": "_from_clause"
  56                    }
  57                  ]
  58                },
  59                {
  60                  "type": "SEQ",
  61                  "members": [
  62                    {
  63                      "type": "SYMBOL",
  64                      "name": "namespace_export"
  65                    },
  66                    {
  67                      "type": "SYMBOL",
  68                      "name": "_from_clause"
  69                    }
  70                  ]
  71                },
  72                {
  73                  "type": "SEQ",
  74                  "members": [
  75                    {
  76                      "type": "SYMBOL",
  77                      "name": "export_clause"
  78                    },
  79                    {
  80                      "type": "SYMBOL",
  81                      "name": "_from_clause"
  82                    }
  83                  ]
  84                },
  85                {
  86                  "type": "SYMBOL",
  87                  "name": "export_clause"
  88                }
  89              ]
  90            },
  91            {
  92              "type": "SYMBOL",
  93              "name": "_semicolon"
  94            }
  95          ]
  96        },
  97        {
  98          "type": "SEQ",
  99          "members": [
 100            {
 101              "type": "REPEAT",
 102              "content": {
 103                "type": "FIELD",
 104                "name": "decorator",
 105                "content": {
 106                  "type": "SYMBOL",
 107                  "name": "decorator"
 108                }
 109              }
 110            },
 111            {
 112              "type": "STRING",
 113              "value": "export"
 114            },
 115            {
 116              "type": "CHOICE",
 117              "members": [
 118                {
 119                  "type": "FIELD",
 120                  "name": "declaration",
 121                  "content": {
 122                    "type": "SYMBOL",
 123                    "name": "declaration"
 124                  }
 125                },
 126                {
 127                  "type": "SEQ",
 128                  "members": [
 129                    {
 130                      "type": "STRING",
 131                      "value": "default"
 132                    },
 133                    {
 134                      "type": "CHOICE",
 135                      "members": [
 136                        {
 137                          "type": "FIELD",
 138                          "name": "declaration",
 139                          "content": {
 140                            "type": "SYMBOL",
 141                            "name": "declaration"
 142                          }
 143                        },
 144                        {
 145                          "type": "SEQ",
 146                          "members": [
 147                            {
 148                              "type": "FIELD",
 149                              "name": "value",
 150                              "content": {
 151                                "type": "SYMBOL",
 152                                "name": "expression"
 153                              }
 154                            },
 155                            {
 156                              "type": "SYMBOL",
 157                              "name": "_semicolon"
 158                            }
 159                          ]
 160                        }
 161                      ]
 162                    }
 163                  ]
 164                }
 165              ]
 166            }
 167          ]
 168        }
 169      ]
 170    },
 171    "namespace_export": {
 172      "type": "SEQ",
 173      "members": [
 174        {
 175          "type": "STRING",
 176          "value": "*"
 177        },
 178        {
 179          "type": "STRING",
 180          "value": "as"
 181        },
 182        {
 183          "type": "SYMBOL",
 184          "name": "_module_export_name"
 185        }
 186      ]
 187    },
 188    "export_clause": {
 189      "type": "SEQ",
 190      "members": [
 191        {
 192          "type": "STRING",
 193          "value": "{"
 194        },
 195        {
 196          "type": "CHOICE",
 197          "members": [
 198            {
 199              "type": "SEQ",
 200              "members": [
 201                {
 202                  "type": "SYMBOL",
 203                  "name": "export_specifier"
 204                },
 205                {
 206                  "type": "REPEAT",
 207                  "content": {
 208                    "type": "SEQ",
 209                    "members": [
 210                      {
 211                        "type": "STRING",
 212                        "value": ","
 213                      },
 214                      {
 215                        "type": "SYMBOL",
 216                        "name": "export_specifier"
 217                      }
 218                    ]
 219                  }
 220                }
 221              ]
 222            },
 223            {
 224              "type": "BLANK"
 225            }
 226          ]
 227        },
 228        {
 229          "type": "CHOICE",
 230          "members": [
 231            {
 232              "type": "STRING",
 233              "value": ","
 234            },
 235            {
 236              "type": "BLANK"
 237            }
 238          ]
 239        },
 240        {
 241          "type": "STRING",
 242          "value": "}"
 243        }
 244      ]
 245    },
 246    "export_specifier": {
 247      "type": "SEQ",
 248      "members": [
 249        {
 250          "type": "FIELD",
 251          "name": "name",
 252          "content": {
 253            "type": "SYMBOL",
 254            "name": "_module_export_name"
 255          }
 256        },
 257        {
 258          "type": "CHOICE",
 259          "members": [
 260            {
 261              "type": "SEQ",
 262              "members": [
 263                {
 264                  "type": "STRING",
 265                  "value": "as"
 266                },
 267                {
 268                  "type": "FIELD",
 269                  "name": "alias",
 270                  "content": {
 271                    "type": "SYMBOL",
 272                    "name": "_module_export_name"
 273                  }
 274                }
 275              ]
 276            },
 277            {
 278              "type": "BLANK"
 279            }
 280          ]
 281        }
 282      ]
 283    },
 284    "_module_export_name": {
 285      "type": "CHOICE",
 286      "members": [
 287        {
 288          "type": "SYMBOL",
 289          "name": "identifier"
 290        },
 291        {
 292          "type": "SYMBOL",
 293          "name": "string"
 294        }
 295      ]
 296    },
 297    "declaration": {
 298      "type": "CHOICE",
 299      "members": [
 300        {
 301          "type": "SYMBOL",
 302          "name": "function_declaration"
 303        },
 304        {
 305          "type": "SYMBOL",
 306          "name": "generator_function_declaration"
 307        },
 308        {
 309          "type": "SYMBOL",
 310          "name": "class_declaration"
 311        },
 312        {
 313          "type": "SYMBOL",
 314          "name": "lexical_declaration"
 315        },
 316        {
 317          "type": "SYMBOL",
 318          "name": "variable_declaration"
 319        }
 320      ]
 321    },
 322    "import": {
 323      "type": "TOKEN",
 324      "content": {
 325        "type": "STRING",
 326        "value": "import"
 327      }
 328    },
 329    "import_statement": {
 330      "type": "SEQ",
 331      "members": [
 332        {
 333          "type": "STRING",
 334          "value": "import"
 335        },
 336        {
 337          "type": "CHOICE",
 338          "members": [
 339            {
 340              "type": "SEQ",
 341              "members": [
 342                {
 343                  "type": "SYMBOL",
 344                  "name": "import_clause"
 345                },
 346                {
 347                  "type": "SYMBOL",
 348                  "name": "_from_clause"
 349                }
 350              ]
 351            },
 352            {
 353              "type": "FIELD",
 354              "name": "source",
 355              "content": {
 356                "type": "SYMBOL",
 357                "name": "string"
 358              }
 359            }
 360          ]
 361        },
 362        {
 363          "type": "CHOICE",
 364          "members": [
 365            {
 366              "type": "SYMBOL",
 367              "name": "import_attribute"
 368            },
 369            {
 370              "type": "BLANK"
 371            }
 372          ]
 373        },
 374        {
 375          "type": "SYMBOL",
 376          "name": "_semicolon"
 377        }
 378      ]
 379    },
 380    "import_clause": {
 381      "type": "CHOICE",
 382      "members": [
 383        {
 384          "type": "SYMBOL",
 385          "name": "namespace_import"
 386        },
 387        {
 388          "type": "SYMBOL",
 389          "name": "named_imports"
 390        },
 391        {
 392          "type": "SEQ",
 393          "members": [
 394            {
 395              "type": "SYMBOL",
 396              "name": "identifier"
 397            },
 398            {
 399              "type": "CHOICE",
 400              "members": [
 401                {
 402                  "type": "SEQ",
 403                  "members": [
 404                    {
 405                      "type": "STRING",
 406                      "value": ","
 407                    },
 408                    {
 409                      "type": "CHOICE",
 410                      "members": [
 411                        {
 412                          "type": "SYMBOL",
 413                          "name": "namespace_import"
 414                        },
 415                        {
 416                          "type": "SYMBOL",
 417                          "name": "named_imports"
 418                        }
 419                      ]
 420                    }
 421                  ]
 422                },
 423                {
 424                  "type": "BLANK"
 425                }
 426              ]
 427            }
 428          ]
 429        }
 430      ]
 431    },
 432    "_from_clause": {
 433      "type": "SEQ",
 434      "members": [
 435        {
 436          "type": "STRING",
 437          "value": "from"
 438        },
 439        {
 440          "type": "FIELD",
 441          "name": "source",
 442          "content": {
 443            "type": "SYMBOL",
 444            "name": "string"
 445          }
 446        }
 447      ]
 448    },
 449    "namespace_import": {
 450      "type": "SEQ",
 451      "members": [
 452        {
 453          "type": "STRING",
 454          "value": "*"
 455        },
 456        {
 457          "type": "STRING",
 458          "value": "as"
 459        },
 460        {
 461          "type": "SYMBOL",
 462          "name": "identifier"
 463        }
 464      ]
 465    },
 466    "named_imports": {
 467      "type": "SEQ",
 468      "members": [
 469        {
 470          "type": "STRING",
 471          "value": "{"
 472        },
 473        {
 474          "type": "CHOICE",
 475          "members": [
 476            {
 477              "type": "SEQ",
 478              "members": [
 479                {
 480                  "type": "SYMBOL",
 481                  "name": "import_specifier"
 482                },
 483                {
 484                  "type": "REPEAT",
 485                  "content": {
 486                    "type": "SEQ",
 487                    "members": [
 488                      {
 489                        "type": "STRING",
 490                        "value": ","
 491                      },
 492                      {
 493                        "type": "SYMBOL",
 494                        "name": "import_specifier"
 495                      }
 496                    ]
 497                  }
 498                }
 499              ]
 500            },
 501            {
 502              "type": "BLANK"
 503            }
 504          ]
 505        },
 506        {
 507          "type": "CHOICE",
 508          "members": [
 509            {
 510              "type": "STRING",
 511              "value": ","
 512            },
 513            {
 514              "type": "BLANK"
 515            }
 516          ]
 517        },
 518        {
 519          "type": "STRING",
 520          "value": "}"
 521        }
 522      ]
 523    },
 524    "import_specifier": {
 525      "type": "CHOICE",
 526      "members": [
 527        {
 528          "type": "FIELD",
 529          "name": "name",
 530          "content": {
 531            "type": "SYMBOL",
 532            "name": "identifier"
 533          }
 534        },
 535        {
 536          "type": "SEQ",
 537          "members": [
 538            {
 539              "type": "FIELD",
 540              "name": "name",
 541              "content": {
 542                "type": "SYMBOL",
 543                "name": "_module_export_name"
 544              }
 545            },
 546            {
 547              "type": "STRING",
 548              "value": "as"
 549            },
 550            {
 551              "type": "FIELD",
 552              "name": "alias",
 553              "content": {
 554                "type": "SYMBOL",
 555                "name": "identifier"
 556              }
 557            }
 558          ]
 559        }
 560      ]
 561    },
 562    "import_attribute": {
 563      "type": "SEQ",
 564      "members": [
 565        {
 566          "type": "STRING",
 567          "value": "with"
 568        },
 569        {
 570          "type": "SYMBOL",
 571          "name": "object"
 572        }
 573      ]
 574    },
 575    "statement": {
 576      "type": "CHOICE",
 577      "members": [
 578        {
 579          "type": "SYMBOL",
 580          "name": "export_statement"
 581        },
 582        {
 583          "type": "SYMBOL",
 584          "name": "import_statement"
 585        },
 586        {
 587          "type": "SYMBOL",
 588          "name": "debugger_statement"
 589        },
 590        {
 591          "type": "SYMBOL",
 592          "name": "expression_statement"
 593        },
 594        {
 595          "type": "SYMBOL",
 596          "name": "declaration"
 597        },
 598        {
 599          "type": "SYMBOL",
 600          "name": "statement_block"
 601        },
 602        {
 603          "type": "SYMBOL",
 604          "name": "if_statement"
 605        },
 606        {
 607          "type": "SYMBOL",
 608          "name": "switch_statement"
 609        },
 610        {
 611          "type": "SYMBOL",
 612          "name": "for_statement"
 613        },
 614        {
 615          "type": "SYMBOL",
 616          "name": "for_in_statement"
 617        },
 618        {
 619          "type": "SYMBOL",
 620          "name": "while_statement"
 621        },
 622        {
 623          "type": "SYMBOL",
 624          "name": "do_statement"
 625        },
 626        {
 627          "type": "SYMBOL",
 628          "name": "try_statement"
 629        },
 630        {
 631          "type": "SYMBOL",
 632          "name": "with_statement"
 633        },
 634        {
 635          "type": "SYMBOL",
 636          "name": "break_statement"
 637        },
 638        {
 639          "type": "SYMBOL",
 640          "name": "continue_statement"
 641        },
 642        {
 643          "type": "SYMBOL",
 644          "name": "return_statement"
 645        },
 646        {
 647          "type": "SYMBOL",
 648          "name": "throw_statement"
 649        },
 650        {
 651          "type": "SYMBOL",
 652          "name": "empty_statement"
 653        },
 654        {
 655          "type": "SYMBOL",
 656          "name": "labeled_statement"
 657        }
 658      ]
 659    },
 660    "expression_statement": {
 661      "type": "SEQ",
 662      "members": [
 663        {
 664          "type": "SYMBOL",
 665          "name": "_expressions"
 666        },
 667        {
 668          "type": "SYMBOL",
 669          "name": "_semicolon"
 670        }
 671      ]
 672    },
 673    "variable_declaration": {
 674      "type": "SEQ",
 675      "members": [
 676        {
 677          "type": "STRING",
 678          "value": "var"
 679        },
 680        {
 681          "type": "SEQ",
 682          "members": [
 683            {
 684              "type": "SYMBOL",
 685              "name": "variable_declarator"
 686            },
 687            {
 688              "type": "REPEAT",
 689              "content": {
 690                "type": "SEQ",
 691                "members": [
 692                  {
 693                    "type": "STRING",
 694                    "value": ","
 695                  },
 696                  {
 697                    "type": "SYMBOL",
 698                    "name": "variable_declarator"
 699                  }
 700                ]
 701              }
 702            }
 703          ]
 704        },
 705        {
 706          "type": "SYMBOL",
 707          "name": "_semicolon"
 708        }
 709      ]
 710    },
 711    "lexical_declaration": {
 712      "type": "SEQ",
 713      "members": [
 714        {
 715          "type": "FIELD",
 716          "name": "kind",
 717          "content": {
 718            "type": "CHOICE",
 719            "members": [
 720              {
 721                "type": "STRING",
 722                "value": "let"
 723              },
 724              {
 725                "type": "STRING",
 726                "value": "const"
 727              }
 728            ]
 729          }
 730        },
 731        {
 732          "type": "SEQ",
 733          "members": [
 734            {
 735              "type": "SYMBOL",
 736              "name": "variable_declarator"
 737            },
 738            {
 739              "type": "REPEAT",
 740              "content": {
 741                "type": "SEQ",
 742                "members": [
 743                  {
 744                    "type": "STRING",
 745                    "value": ","
 746                  },
 747                  {
 748                    "type": "SYMBOL",
 749                    "name": "variable_declarator"
 750                  }
 751                ]
 752              }
 753            }
 754          ]
 755        },
 756        {
 757          "type": "SYMBOL",
 758          "name": "_semicolon"
 759        }
 760      ]
 761    },
 762    "variable_declarator": {
 763      "type": "SEQ",
 764      "members": [
 765        {
 766          "type": "FIELD",
 767          "name": "name",
 768          "content": {
 769            "type": "CHOICE",
 770            "members": [
 771              {
 772                "type": "SYMBOL",
 773                "name": "identifier"
 774              },
 775              {
 776                "type": "SYMBOL",
 777                "name": "_destructuring_pattern"
 778              }
 779            ]
 780          }
 781        },
 782        {
 783          "type": "CHOICE",
 784          "members": [
 785            {
 786              "type": "SYMBOL",
 787              "name": "_initializer"
 788            },
 789            {
 790              "type": "BLANK"
 791            }
 792          ]
 793        }
 794      ]
 795    },
 796    "statement_block": {
 797      "type": "PREC_RIGHT",
 798      "value": 0,
 799      "content": {
 800        "type": "SEQ",
 801        "members": [
 802          {
 803            "type": "STRING",
 804            "value": "{"
 805          },
 806          {
 807            "type": "REPEAT",
 808            "content": {
 809              "type": "SYMBOL",
 810              "name": "statement"
 811            }
 812          },
 813          {
 814            "type": "STRING",
 815            "value": "}"
 816          },
 817          {
 818            "type": "CHOICE",
 819            "members": [
 820              {
 821                "type": "SYMBOL",
 822                "name": "_automatic_semicolon"
 823              },
 824              {
 825                "type": "BLANK"
 826              }
 827            ]
 828          }
 829        ]
 830      }
 831    },
 832    "else_clause": {
 833      "type": "SEQ",
 834      "members": [
 835        {
 836          "type": "STRING",
 837          "value": "else"
 838        },
 839        {
 840          "type": "SYMBOL",
 841          "name": "statement"
 842        }
 843      ]
 844    },
 845    "if_statement": {
 846      "type": "PREC_RIGHT",
 847      "value": 0,
 848      "content": {
 849        "type": "SEQ",
 850        "members": [
 851          {
 852            "type": "STRING",
 853            "value": "if"
 854          },
 855          {
 856            "type": "FIELD",
 857            "name": "condition",
 858            "content": {
 859              "type": "SYMBOL",
 860              "name": "parenthesized_expression"
 861            }
 862          },
 863          {
 864            "type": "FIELD",
 865            "name": "consequence",
 866            "content": {
 867              "type": "SYMBOL",
 868              "name": "statement"
 869            }
 870          },
 871          {
 872            "type": "CHOICE",
 873            "members": [
 874              {
 875                "type": "FIELD",
 876                "name": "alternative",
 877                "content": {
 878                  "type": "SYMBOL",
 879                  "name": "else_clause"
 880                }
 881              },
 882              {
 883                "type": "BLANK"
 884              }
 885            ]
 886          }
 887        ]
 888      }
 889    },
 890    "switch_statement": {
 891      "type": "SEQ",
 892      "members": [
 893        {
 894          "type": "STRING",
 895          "value": "switch"
 896        },
 897        {
 898          "type": "FIELD",
 899          "name": "value",
 900          "content": {
 901            "type": "SYMBOL",
 902            "name": "parenthesized_expression"
 903          }
 904        },
 905        {
 906          "type": "FIELD",
 907          "name": "body",
 908          "content": {
 909            "type": "SYMBOL",
 910            "name": "switch_body"
 911          }
 912        }
 913      ]
 914    },
 915    "for_statement": {
 916      "type": "SEQ",
 917      "members": [
 918        {
 919          "type": "STRING",
 920          "value": "for"
 921        },
 922        {
 923          "type": "STRING",
 924          "value": "("
 925        },
 926        {
 927          "type": "FIELD",
 928          "name": "initializer",
 929          "content": {
 930            "type": "CHOICE",
 931            "members": [
 932              {
 933                "type": "SYMBOL",
 934                "name": "lexical_declaration"
 935              },
 936              {
 937                "type": "SYMBOL",
 938                "name": "variable_declaration"
 939              },
 940              {
 941                "type": "SYMBOL",
 942                "name": "expression_statement"
 943              },
 944              {
 945                "type": "SYMBOL",
 946                "name": "empty_statement"
 947              }
 948            ]
 949          }
 950        },
 951        {
 952          "type": "FIELD",
 953          "name": "condition",
 954          "content": {
 955            "type": "CHOICE",
 956            "members": [
 957              {
 958                "type": "SYMBOL",
 959                "name": "expression_statement"
 960              },
 961              {
 962                "type": "SYMBOL",
 963                "name": "empty_statement"
 964              }
 965            ]
 966          }
 967        },
 968        {
 969          "type": "FIELD",
 970          "name": "increment",
 971          "content": {
 972            "type": "CHOICE",
 973            "members": [
 974              {
 975                "type": "SYMBOL",
 976                "name": "_expressions"
 977              },
 978              {
 979                "type": "BLANK"
 980              }
 981            ]
 982          }
 983        },
 984        {
 985          "type": "STRING",
 986          "value": ")"
 987        },
 988        {
 989          "type": "FIELD",
 990          "name": "body",
 991          "content": {
 992            "type": "SYMBOL",
 993            "name": "statement"
 994          }
 995        }
 996      ]
 997    },
 998    "for_in_statement": {
 999      "type": "SEQ",
1000      "members": [
1001        {
1002          "type": "STRING",
1003          "value": "for"
1004        },
1005        {
1006          "type": "CHOICE",
1007          "members": [
1008            {
1009              "type": "STRING",
1010              "value": "await"
1011            },
1012            {
1013              "type": "BLANK"
1014            }
1015          ]
1016        },
1017        {
1018          "type": "SYMBOL",
1019          "name": "_for_header"
1020        },
1021        {
1022          "type": "FIELD",
1023          "name": "body",
1024          "content": {
1025            "type": "SYMBOL",
1026            "name": "statement"
1027          }
1028        }
1029      ]
1030    },
1031    "_for_header": {
1032      "type": "SEQ",
1033      "members": [
1034        {
1035          "type": "STRING",
1036          "value": "("
1037        },
1038        {
1039          "type": "CHOICE",
1040          "members": [
1041            {
1042              "type": "FIELD",
1043              "name": "left",
1044              "content": {
1045                "type": "CHOICE",
1046                "members": [
1047                  {
1048                    "type": "SYMBOL",
1049                    "name": "_lhs_expression"
1050                  },
1051                  {
1052                    "type": "SYMBOL",
1053                    "name": "parenthesized_expression"
1054                  }
1055                ]
1056              }
1057            },
1058            {
1059              "type": "SEQ",
1060              "members": [
1061                {
1062                  "type": "FIELD",
1063                  "name": "kind",
1064                  "content": {
1065                    "type": "STRING",
1066                    "value": "var"
1067                  }
1068                },
1069                {
1070                  "type": "FIELD",
1071                  "name": "left",
1072                  "content": {
1073                    "type": "CHOICE",
1074                    "members": [
1075                      {
1076                        "type": "SYMBOL",
1077                        "name": "identifier"
1078                      },
1079                      {
1080                        "type": "SYMBOL",
1081                        "name": "_destructuring_pattern"
1082                      }
1083                    ]
1084                  }
1085                },
1086                {
1087                  "type": "CHOICE",
1088                  "members": [
1089                    {
1090                      "type": "SYMBOL",
1091                      "name": "_initializer"
1092                    },
1093                    {
1094                      "type": "BLANK"
1095                    }
1096                  ]
1097                }
1098              ]
1099            },
1100            {
1101              "type": "SEQ",
1102              "members": [
1103                {
1104                  "type": "FIELD",
1105                  "name": "kind",
1106                  "content": {
1107                    "type": "CHOICE",
1108                    "members": [
1109                      {
1110                        "type": "STRING",
1111                        "value": "let"
1112                      },
1113                      {
1114                        "type": "STRING",
1115                        "value": "const"
1116                      }
1117                    ]
1118                  }
1119                },
1120                {
1121                  "type": "FIELD",
1122                  "name": "left",
1123                  "content": {
1124                    "type": "CHOICE",
1125                    "members": [
1126                      {
1127                        "type": "SYMBOL",
1128                        "name": "identifier"
1129                      },
1130                      {
1131                        "type": "SYMBOL",
1132                        "name": "_destructuring_pattern"
1133                      }
1134                    ]
1135                  }
1136                }
1137              ]
1138            }
1139          ]
1140        },
1141        {
1142          "type": "FIELD",
1143          "name": "operator",
1144          "content": {
1145            "type": "CHOICE",
1146            "members": [
1147              {
1148                "type": "STRING",
1149                "value": "in"
1150              },
1151              {
1152                "type": "STRING",
1153                "value": "of"
1154              }
1155            ]
1156          }
1157        },
1158        {
1159          "type": "FIELD",
1160          "name": "right",
1161          "content": {
1162            "type": "SYMBOL",
1163            "name": "_expressions"
1164          }
1165        },
1166        {
1167          "type": "STRING",
1168          "value": ")"
1169        }
1170      ]
1171    },
1172    "while_statement": {
1173      "type": "SEQ",
1174      "members": [
1175        {
1176          "type": "STRING",
1177          "value": "while"
1178        },
1179        {
1180          "type": "FIELD",
1181          "name": "condition",
1182          "content": {
1183            "type": "SYMBOL",
1184            "name": "parenthesized_expression"
1185          }
1186        },
1187        {
1188          "type": "FIELD",
1189          "name": "body",
1190          "content": {
1191            "type": "SYMBOL",
1192            "name": "statement"
1193          }
1194        }
1195      ]
1196    },
1197    "do_statement": {
1198      "type": "PREC_RIGHT",
1199      "value": 0,
1200      "content": {
1201        "type": "SEQ",
1202        "members": [
1203          {
1204            "type": "STRING",
1205            "value": "do"
1206          },
1207          {
1208            "type": "FIELD",
1209            "name": "body",
1210            "content": {
1211              "type": "SYMBOL",
1212              "name": "statement"
1213            }
1214          },
1215          {
1216            "type": "STRING",
1217            "value": "while"
1218          },
1219          {
1220            "type": "FIELD",
1221            "name": "condition",
1222            "content": {
1223              "type": "SYMBOL",
1224              "name": "parenthesized_expression"
1225            }
1226          },
1227          {
1228            "type": "CHOICE",
1229            "members": [
1230              {
1231                "type": "SYMBOL",
1232                "name": "_semicolon"
1233              },
1234              {
1235                "type": "BLANK"
1236              }
1237            ]
1238          }
1239        ]
1240      }
1241    },
1242    "try_statement": {
1243      "type": "SEQ",
1244      "members": [
1245        {
1246          "type": "STRING",
1247          "value": "try"
1248        },
1249        {
1250          "type": "FIELD",
1251          "name": "body",
1252          "content": {
1253            "type": "SYMBOL",
1254            "name": "statement_block"
1255          }
1256        },
1257        {
1258          "type": "CHOICE",
1259          "members": [
1260            {
1261              "type": "FIELD",
1262              "name": "handler",
1263              "content": {
1264                "type": "SYMBOL",
1265                "name": "catch_clause"
1266              }
1267            },
1268            {
1269              "type": "BLANK"
1270            }
1271          ]
1272        },
1273        {
1274          "type": "CHOICE",
1275          "members": [
1276            {
1277              "type": "FIELD",
1278              "name": "finalizer",
1279              "content": {
1280                "type": "SYMBOL",
1281                "name": "finally_clause"
1282              }
1283            },
1284            {
1285              "type": "BLANK"
1286            }
1287          ]
1288        }
1289      ]
1290    },
1291    "with_statement": {
1292      "type": "SEQ",
1293      "members": [
1294        {
1295          "type": "STRING",
1296          "value": "with"
1297        },
1298        {
1299          "type": "FIELD",
1300          "name": "object",
1301          "content": {
1302            "type": "SYMBOL",
1303            "name": "parenthesized_expression"
1304          }
1305        },
1306        {
1307          "type": "FIELD",
1308          "name": "body",
1309          "content": {
1310            "type": "SYMBOL",
1311            "name": "statement"
1312          }
1313        }
1314      ]
1315    },
1316    "break_statement": {
1317      "type": "SEQ",
1318      "members": [
1319        {
1320          "type": "STRING",
1321          "value": "break"
1322        },
1323        {
1324          "type": "FIELD",
1325          "name": "label",
1326          "content": {
1327            "type": "CHOICE",
1328            "members": [
1329              {
1330                "type": "ALIAS",
1331                "content": {
1332                  "type": "SYMBOL",
1333                  "name": "identifier"
1334                },
1335                "named": true,
1336                "value": "statement_identifier"
1337              },
1338              {
1339                "type": "BLANK"
1340              }
1341            ]
1342          }
1343        },
1344        {
1345          "type": "SYMBOL",
1346          "name": "_semicolon"
1347        }
1348      ]
1349    },
1350    "continue_statement": {
1351      "type": "SEQ",
1352      "members": [
1353        {
1354          "type": "STRING",
1355          "value": "continue"
1356        },
1357        {
1358          "type": "FIELD",
1359          "name": "label",
1360          "content": {
1361            "type": "CHOICE",
1362            "members": [
1363              {
1364                "type": "ALIAS",
1365                "content": {
1366                  "type": "SYMBOL",
1367                  "name": "identifier"
1368                },
1369                "named": true,
1370                "value": "statement_identifier"
1371              },
1372              {
1373                "type": "BLANK"
1374              }
1375            ]
1376          }
1377        },
1378        {
1379          "type": "SYMBOL",
1380          "name": "_semicolon"
1381        }
1382      ]
1383    },
1384    "debugger_statement": {
1385      "type": "SEQ",
1386      "members": [
1387        {
1388          "type": "STRING",
1389          "value": "debugger"
1390        },
1391        {
1392          "type": "SYMBOL",
1393          "name": "_semicolon"
1394        }
1395      ]
1396    },
1397    "return_statement": {
1398      "type": "SEQ",
1399      "members": [
1400        {
1401          "type": "STRING",
1402          "value": "return"
1403        },
1404        {
1405          "type": "CHOICE",
1406          "members": [
1407            {
1408              "type": "SYMBOL",
1409              "name": "_expressions"
1410            },
1411            {
1412              "type": "BLANK"
1413            }
1414          ]
1415        },
1416        {
1417          "type": "SYMBOL",
1418          "name": "_semicolon"
1419        }
1420      ]
1421    },
1422    "throw_statement": {
1423      "type": "SEQ",
1424      "members": [
1425        {
1426          "type": "STRING",
1427          "value": "throw"
1428        },
1429        {
1430          "type": "SYMBOL",
1431          "name": "_expressions"
1432        },
1433        {
1434          "type": "SYMBOL",
1435          "name": "_semicolon"
1436        }
1437      ]
1438    },
1439    "empty_statement": {
1440      "type": "STRING",
1441      "value": ";"
1442    },
1443    "labeled_statement": {
1444      "type": "PREC_DYNAMIC",
1445      "value": -1,
1446      "content": {
1447        "type": "SEQ",
1448        "members": [
1449          {
1450            "type": "FIELD",
1451            "name": "label",
1452            "content": {
1453              "type": "ALIAS",
1454              "content": {
1455                "type": "CHOICE",
1456                "members": [
1457                  {
1458                    "type": "SYMBOL",
1459                    "name": "identifier"
1460                  },
1461                  {
1462                    "type": "SYMBOL",
1463                    "name": "_reserved_identifier"
1464                  }
1465                ]
1466              },
1467              "named": true,
1468              "value": "statement_identifier"
1469            }
1470          },
1471          {
1472            "type": "STRING",
1473            "value": ":"
1474          },
1475          {
1476            "type": "FIELD",
1477            "name": "body",
1478            "content": {
1479              "type": "SYMBOL",
1480              "name": "statement"
1481            }
1482          }
1483        ]
1484      }
1485    },
1486    "switch_body": {
1487      "type": "SEQ",
1488      "members": [
1489        {
1490          "type": "STRING",
1491          "value": "{"
1492        },
1493        {
1494          "type": "REPEAT",
1495          "content": {
1496            "type": "CHOICE",
1497            "members": [
1498              {
1499                "type": "SYMBOL",
1500                "name": "switch_case"
1501              },
1502              {
1503                "type": "SYMBOL",
1504                "name": "switch_default"
1505              }
1506            ]
1507          }
1508        },
1509        {
1510          "type": "STRING",
1511          "value": "}"
1512        }
1513      ]
1514    },
1515    "switch_case": {
1516      "type": "SEQ",
1517      "members": [
1518        {
1519          "type": "STRING",
1520          "value": "case"
1521        },
1522        {
1523          "type": "FIELD",
1524          "name": "value",
1525          "content": {
1526            "type": "SYMBOL",
1527            "name": "_expressions"
1528          }
1529        },
1530        {
1531          "type": "STRING",
1532          "value": ":"
1533        },
1534        {
1535          "type": "FIELD",
1536          "name": "body",
1537          "content": {
1538            "type": "REPEAT",
1539            "content": {
1540              "type": "SYMBOL",
1541              "name": "statement"
1542            }
1543          }
1544        }
1545      ]
1546    },
1547    "switch_default": {
1548      "type": "SEQ",
1549      "members": [
1550        {
1551          "type": "STRING",
1552          "value": "default"
1553        },
1554        {
1555          "type": "STRING",
1556          "value": ":"
1557        },
1558        {
1559          "type": "FIELD",
1560          "name": "body",
1561          "content": {
1562            "type": "REPEAT",
1563            "content": {
1564              "type": "SYMBOL",
1565              "name": "statement"
1566            }
1567          }
1568        }
1569      ]
1570    },
1571    "catch_clause": {
1572      "type": "SEQ",
1573      "members": [
1574        {
1575          "type": "STRING",
1576          "value": "catch"
1577        },
1578        {
1579          "type": "CHOICE",
1580          "members": [
1581            {
1582              "type": "SEQ",
1583              "members": [
1584                {
1585                  "type": "STRING",
1586                  "value": "("
1587                },
1588                {
1589                  "type": "FIELD",
1590                  "name": "parameter",
1591                  "content": {
1592                    "type": "CHOICE",
1593                    "members": [
1594                      {
1595                        "type": "SYMBOL",
1596                        "name": "identifier"
1597                      },
1598                      {
1599                        "type": "SYMBOL",
1600                        "name": "_destructuring_pattern"
1601                      }
1602                    ]
1603                  }
1604                },
1605                {
1606                  "type": "STRING",
1607                  "value": ")"
1608                }
1609              ]
1610            },
1611            {
1612              "type": "BLANK"
1613            }
1614          ]
1615        },
1616        {
1617          "type": "FIELD",
1618          "name": "body",
1619          "content": {
1620            "type": "SYMBOL",
1621            "name": "statement_block"
1622          }
1623        }
1624      ]
1625    },
1626    "finally_clause": {
1627      "type": "SEQ",
1628      "members": [
1629        {
1630          "type": "STRING",
1631          "value": "finally"
1632        },
1633        {
1634          "type": "FIELD",
1635          "name": "body",
1636          "content": {
1637            "type": "SYMBOL",
1638            "name": "statement_block"
1639          }
1640        }
1641      ]
1642    },
1643    "parenthesized_expression": {
1644      "type": "SEQ",
1645      "members": [
1646        {
1647          "type": "STRING",
1648          "value": "("
1649        },
1650        {
1651          "type": "SYMBOL",
1652          "name": "_expressions"
1653        },
1654        {
1655          "type": "STRING",
1656          "value": ")"
1657        }
1658      ]
1659    },
1660    "_expressions": {
1661      "type": "CHOICE",
1662      "members": [
1663        {
1664          "type": "SYMBOL",
1665          "name": "expression"
1666        },
1667        {
1668          "type": "SYMBOL",
1669          "name": "sequence_expression"
1670        }
1671      ]
1672    },
1673    "expression": {
1674      "type": "CHOICE",
1675      "members": [
1676        {
1677          "type": "SYMBOL",
1678          "name": "primary_expression"
1679        },
1680        {
1681          "type": "SYMBOL",
1682          "name": "glimmer_template"
1683        },
1684        {
1685          "type": "SYMBOL",
1686          "name": "_jsx_element"
1687        },
1688        {
1689          "type": "SYMBOL",
1690          "name": "assignment_expression"
1691        },
1692        {
1693          "type": "SYMBOL",
1694          "name": "augmented_assignment_expression"
1695        },
1696        {
1697          "type": "SYMBOL",
1698          "name": "await_expression"
1699        },
1700        {
1701          "type": "SYMBOL",
1702          "name": "unary_expression"
1703        },
1704        {
1705          "type": "SYMBOL",
1706          "name": "binary_expression"
1707        },
1708        {
1709          "type": "SYMBOL",
1710          "name": "ternary_expression"
1711        },
1712        {
1713          "type": "SYMBOL",
1714          "name": "update_expression"
1715        },
1716        {
1717          "type": "SYMBOL",
1718          "name": "new_expression"
1719        },
1720        {
1721          "type": "SYMBOL",
1722          "name": "yield_expression"
1723        }
1724      ]
1725    },
1726    "primary_expression": {
1727      "type": "CHOICE",
1728      "members": [
1729        {
1730          "type": "SYMBOL",
1731          "name": "subscript_expression"
1732        },
1733        {
1734          "type": "SYMBOL",
1735          "name": "member_expression"
1736        },
1737        {
1738          "type": "SYMBOL",
1739          "name": "parenthesized_expression"
1740        },
1741        {
1742          "type": "SYMBOL",
1743          "name": "_identifier"
1744        },
1745        {
1746          "type": "ALIAS",
1747          "content": {
1748            "type": "SYMBOL",
1749            "name": "_reserved_identifier"
1750          },
1751          "named": true,
1752          "value": "identifier"
1753        },
1754        {
1755          "type": "SYMBOL",
1756          "name": "this"
1757        },
1758        {
1759          "type": "SYMBOL",
1760          "name": "super"
1761        },
1762        {
1763          "type": "SYMBOL",
1764          "name": "number"
1765        },
1766        {
1767          "type": "SYMBOL",
1768          "name": "string"
1769        },
1770        {
1771          "type": "SYMBOL",
1772          "name": "template_string"
1773        },
1774        {
1775          "type": "SYMBOL",
1776          "name": "regex"
1777        },
1778        {
1779          "type": "SYMBOL",
1780          "name": "true"
1781        },
1782        {
1783          "type": "SYMBOL",
1784          "name": "false"
1785        },
1786        {
1787          "type": "SYMBOL",
1788          "name": "null"
1789        },
1790        {
1791          "type": "SYMBOL",
1792          "name": "object"
1793        },
1794        {
1795          "type": "SYMBOL",
1796          "name": "array"
1797        },
1798        {
1799          "type": "SYMBOL",
1800          "name": "function_expression"
1801        },
1802        {
1803          "type": "SYMBOL",
1804          "name": "arrow_function"
1805        },
1806        {
1807          "type": "SYMBOL",
1808          "name": "generator_function"
1809        },
1810        {
1811          "type": "SYMBOL",
1812          "name": "class"
1813        },
1814        {
1815          "type": "SYMBOL",
1816          "name": "meta_property"
1817        },
1818        {
1819          "type": "SYMBOL",
1820          "name": "call_expression"
1821        }
1822      ]
1823    },
1824    "yield_expression": {
1825      "type": "PREC_RIGHT",
1826      "value": 0,
1827      "content": {
1828        "type": "SEQ",
1829        "members": [
1830          {
1831            "type": "STRING",
1832            "value": "yield"
1833          },
1834          {
1835            "type": "CHOICE",
1836            "members": [
1837              {
1838                "type": "SEQ",
1839                "members": [
1840                  {
1841                    "type": "STRING",
1842                    "value": "*"
1843                  },
1844                  {
1845                    "type": "SYMBOL",
1846                    "name": "expression"
1847                  }
1848                ]
1849              },
1850              {
1851                "type": "CHOICE",
1852                "members": [
1853                  {
1854                    "type": "SYMBOL",
1855                    "name": "expression"
1856                  },
1857                  {
1858                    "type": "BLANK"
1859                  }
1860                ]
1861              }
1862            ]
1863          }
1864        ]
1865      }
1866    },
1867    "object": {
1868      "type": "PREC",
1869      "value": "object",
1870      "content": {
1871        "type": "SEQ",
1872        "members": [
1873          {
1874            "type": "STRING",
1875            "value": "{"
1876          },
1877          {
1878            "type": "CHOICE",
1879            "members": [
1880              {
1881                "type": "SEQ",
1882                "members": [
1883                  {
1884                    "type": "CHOICE",
1885                    "members": [
1886                      {
1887                        "type": "CHOICE",
1888                        "members": [
1889                          {
1890                            "type": "SYMBOL",
1891                            "name": "pair"
1892                          },
1893                          {
1894                            "type": "SYMBOL",
1895                            "name": "spread_element"
1896                          },
1897                          {
1898                            "type": "SYMBOL",
1899                            "name": "method_definition"
1900                          },
1901                          {
1902                            "type": "ALIAS",
1903                            "content": {
1904                              "type": "CHOICE",
1905                              "members": [
1906                                {
1907                                  "type": "SYMBOL",
1908                                  "name": "identifier"
1909                                },
1910                                {
1911                                  "type": "SYMBOL",
1912                                  "name": "_reserved_identifier"
1913                                }
1914                              ]
1915                            },
1916                            "named": true,
1917                            "value": "shorthand_property_identifier"
1918                          }
1919                        ]
1920                      },
1921                      {
1922                        "type": "BLANK"
1923                      }
1924                    ]
1925                  },
1926                  {
1927                    "type": "REPEAT",
1928                    "content": {
1929                      "type": "SEQ",
1930                      "members": [
1931                        {
1932                          "type": "STRING",
1933                          "value": ","
1934                        },
1935                        {
1936                          "type": "CHOICE",
1937                          "members": [
1938                            {
1939                              "type": "CHOICE",
1940                              "members": [
1941                                {
1942                                  "type": "SYMBOL",
1943                                  "name": "pair"
1944                                },
1945                                {
1946                                  "type": "SYMBOL",
1947                                  "name": "spread_element"
1948                                },
1949                                {
1950                                  "type": "SYMBOL",
1951                                  "name": "method_definition"
1952                                },
1953                                {
1954                                  "type": "ALIAS",
1955                                  "content": {
1956                                    "type": "CHOICE",
1957                                    "members": [
1958                                      {
1959                                        "type": "SYMBOL",
1960                                        "name": "identifier"
1961                                      },
1962                                      {
1963                                        "type": "SYMBOL",
1964                                        "name": "_reserved_identifier"
1965                                      }
1966                                    ]
1967                                  },
1968                                  "named": true,
1969                                  "value": "shorthand_property_identifier"
1970                                }
1971                              ]
1972                            },
1973                            {
1974                              "type": "BLANK"
1975                            }
1976                          ]
1977                        }
1978                      ]
1979                    }
1980                  }
1981                ]
1982              },
1983              {
1984                "type": "BLANK"
1985              }
1986            ]
1987          },
1988          {
1989            "type": "STRING",
1990            "value": "}"
1991          }
1992        ]
1993      }
1994    },
1995    "object_pattern": {
1996      "type": "PREC",
1997      "value": "object",
1998      "content": {
1999        "type": "SEQ",
2000        "members": [
2001          {
2002            "type": "STRING",
2003            "value": "{"
2004          },
2005          {
2006            "type": "CHOICE",
2007            "members": [
2008              {
2009                "type": "SEQ",
2010                "members": [
2011                  {
2012                    "type": "CHOICE",
2013                    "members": [
2014                      {
2015                        "type": "CHOICE",
2016                        "members": [
2017                          {
2018                            "type": "SYMBOL",
2019                            "name": "pair_pattern"
2020                          },
2021                          {
2022                            "type": "SYMBOL",
2023                            "name": "rest_pattern"
2024                          },
2025                          {
2026                            "type": "SYMBOL",
2027                            "name": "object_assignment_pattern"
2028                          },
2029                          {
2030                            "type": "ALIAS",
2031                            "content": {
2032                              "type": "CHOICE",
2033                              "members": [
2034                                {
2035                                  "type": "SYMBOL",
2036                                  "name": "identifier"
2037                                },
2038                                {
2039                                  "type": "SYMBOL",
2040                                  "name": "_reserved_identifier"
2041                                }
2042                              ]
2043                            },
2044                            "named": true,
2045                            "value": "shorthand_property_identifier_pattern"
2046                          }
2047                        ]
2048                      },
2049                      {
2050                        "type": "BLANK"
2051                      }
2052                    ]
2053                  },
2054                  {
2055                    "type": "REPEAT",
2056                    "content": {
2057                      "type": "SEQ",
2058                      "members": [
2059                        {
2060                          "type": "STRING",
2061                          "value": ","
2062                        },
2063                        {
2064                          "type": "CHOICE",
2065                          "members": [
2066                            {
2067                              "type": "CHOICE",
2068                              "members": [
2069                                {
2070                                  "type": "SYMBOL",
2071                                  "name": "pair_pattern"
2072                                },
2073                                {
2074                                  "type": "SYMBOL",
2075                                  "name": "rest_pattern"
2076                                },
2077                                {
2078                                  "type": "SYMBOL",
2079                                  "name": "object_assignment_pattern"
2080                                },
2081                                {
2082                                  "type": "ALIAS",
2083                                  "content": {
2084                                    "type": "CHOICE",
2085                                    "members": [
2086                                      {
2087                                        "type": "SYMBOL",
2088                                        "name": "identifier"
2089                                      },
2090                                      {
2091                                        "type": "SYMBOL",
2092                                        "name": "_reserved_identifier"
2093                                      }
2094                                    ]
2095                                  },
2096                                  "named": true,
2097                                  "value": "shorthand_property_identifier_pattern"
2098                                }
2099                              ]
2100                            },
2101                            {
2102                              "type": "BLANK"
2103                            }
2104                          ]
2105                        }
2106                      ]
2107                    }
2108                  }
2109                ]
2110              },
2111              {
2112                "type": "BLANK"
2113              }
2114            ]
2115          },
2116          {
2117            "type": "STRING",
2118            "value": "}"
2119          }
2120        ]
2121      }
2122    },
2123    "assignment_pattern": {
2124      "type": "SEQ",
2125      "members": [
2126        {
2127          "type": "FIELD",
2128          "name": "left",
2129          "content": {
2130            "type": "SYMBOL",
2131            "name": "pattern"
2132          }
2133        },
2134        {
2135          "type": "STRING",
2136          "value": "="
2137        },
2138        {
2139          "type": "FIELD",
2140          "name": "right",
2141          "content": {
2142            "type": "SYMBOL",
2143            "name": "expression"
2144          }
2145        }
2146      ]
2147    },
2148    "object_assignment_pattern": {
2149      "type": "SEQ",
2150      "members": [
2151        {
2152          "type": "FIELD",
2153          "name": "left",
2154          "content": {
2155            "type": "CHOICE",
2156            "members": [
2157              {
2158                "type": "ALIAS",
2159                "content": {
2160                  "type": "CHOICE",
2161                  "members": [
2162                    {
2163                      "type": "SYMBOL",
2164                      "name": "_reserved_identifier"
2165                    },
2166                    {
2167                      "type": "SYMBOL",
2168                      "name": "identifier"
2169                    }
2170                  ]
2171                },
2172                "named": true,
2173                "value": "shorthand_property_identifier_pattern"
2174              },
2175              {
2176                "type": "SYMBOL",
2177                "name": "_destructuring_pattern"
2178              }
2179            ]
2180          }
2181        },
2182        {
2183          "type": "STRING",
2184          "value": "="
2185        },
2186        {
2187          "type": "FIELD",
2188          "name": "right",
2189          "content": {
2190            "type": "SYMBOL",
2191            "name": "expression"
2192          }
2193        }
2194      ]
2195    },
2196    "array": {
2197      "type": "SEQ",
2198      "members": [
2199        {
2200          "type": "STRING",
2201          "value": "["
2202        },
2203        {
2204          "type": "CHOICE",
2205          "members": [
2206            {
2207              "type": "SEQ",
2208              "members": [
2209                {
2210                  "type": "CHOICE",
2211                  "members": [
2212                    {
2213                      "type": "CHOICE",
2214                      "members": [
2215                        {
2216                          "type": "SYMBOL",
2217                          "name": "expression"
2218                        },
2219                        {
2220                          "type": "SYMBOL",
2221                          "name": "spread_element"
2222                        }
2223                      ]
2224                    },
2225                    {
2226                      "type": "BLANK"
2227                    }
2228                  ]
2229                },
2230                {
2231                  "type": "REPEAT",
2232                  "content": {
2233                    "type": "SEQ",
2234                    "members": [
2235                      {
2236                        "type": "STRING",
2237                        "value": ","
2238                      },
2239                      {
2240                        "type": "CHOICE",
2241                        "members": [
2242                          {
2243                            "type": "CHOICE",
2244                            "members": [
2245                              {
2246                                "type": "SYMBOL",
2247                                "name": "expression"
2248                              },
2249                              {
2250                                "type": "SYMBOL",
2251                                "name": "spread_element"
2252                              }
2253                            ]
2254                          },
2255                          {
2256                            "type": "BLANK"
2257                          }
2258                        ]
2259                      }
2260                    ]
2261                  }
2262                }
2263              ]
2264            },
2265            {
2266              "type": "BLANK"
2267            }
2268          ]
2269        },
2270        {
2271          "type": "STRING",
2272          "value": "]"
2273        }
2274      ]
2275    },
2276    "array_pattern": {
2277      "type": "SEQ",
2278      "members": [
2279        {
2280          "type": "STRING",
2281          "value": "["
2282        },
2283        {
2284          "type": "CHOICE",
2285          "members": [
2286            {
2287              "type": "SEQ",
2288              "members": [
2289                {
2290                  "type": "CHOICE",
2291                  "members": [
2292                    {
2293                      "type": "CHOICE",
2294                      "members": [
2295                        {
2296                          "type": "SYMBOL",
2297                          "name": "pattern"
2298                        },
2299                        {
2300                          "type": "SYMBOL",
2301                          "name": "assignment_pattern"
2302                        }
2303                      ]
2304                    },
2305                    {
2306                      "type": "BLANK"
2307                    }
2308                  ]
2309                },
2310                {
2311                  "type": "REPEAT",
2312                  "content": {
2313                    "type": "SEQ",
2314                    "members": [
2315                      {
2316                        "type": "STRING",
2317                        "value": ","
2318                      },
2319                      {
2320                        "type": "CHOICE",
2321                        "members": [
2322                          {
2323                            "type": "CHOICE",
2324                            "members": [
2325                              {
2326                                "type": "SYMBOL",
2327                                "name": "pattern"
2328                              },
2329                              {
2330                                "type": "SYMBOL",
2331                                "name": "assignment_pattern"
2332                              }
2333                            ]
2334                          },
2335                          {
2336                            "type": "BLANK"
2337                          }
2338                        ]
2339                      }
2340                    ]
2341                  }
2342                }
2343              ]
2344            },
2345            {
2346              "type": "BLANK"
2347            }
2348          ]
2349        },
2350        {
2351          "type": "STRING",
2352          "value": "]"
2353        }
2354      ]
2355    },
2356    "glimmer_template": {
2357      "type": "CHOICE",
2358      "members": [
2359        {
2360          "type": "SEQ",
2361          "members": [
2362            {
2363              "type": "FIELD",
2364              "name": "open_tag",
2365              "content": {
2366                "type": "SYMBOL",
2367                "name": "glimmer_opening_tag"
2368              }
2369            },
2370            {
2371              "type": "FIELD",
2372              "name": "content",
2373              "content": {
2374                "type": "REPEAT",
2375                "content": {
2376                  "type": "SYMBOL",
2377                  "name": "_glimmer_template_content"
2378                }
2379              }
2380            },
2381            {
2382              "type": "FIELD",
2383              "name": "close_tag",
2384              "content": {
2385                "type": "SYMBOL",
2386                "name": "glimmer_closing_tag"
2387              }
2388            }
2389          ]
2390        },
2391        {
2392          "type": "SEQ",
2393          "members": [
2394            {
2395              "type": "FIELD",
2396              "name": "open_tag",
2397              "content": {
2398                "type": "SYMBOL",
2399                "name": "glimmer_opening_tag"
2400              }
2401            },
2402            {
2403              "type": "FIELD",
2404              "name": "close_tag",
2405              "content": {
2406                "type": "SYMBOL",
2407                "name": "glimmer_closing_tag"
2408              }
2409            }
2410          ]
2411        }
2412      ]
2413    },
2414    "_glimmer_template_content": {
2415      "type": "PATTERN",
2416      "value": ".{1,}"
2417    },
2418    "glimmer_opening_tag": {
2419      "type": "SEQ",
2420      "members": [
2421        {
2422          "type": "STRING",
2423          "value": "<template>"
2424        }
2425      ]
2426    },
2427    "glimmer_closing_tag": {
2428      "type": "SEQ",
2429      "members": [
2430        {
2431          "type": "STRING",
2432          "value": "</template>"
2433        }
2434      ]
2435    },
2436    "_jsx_element": {
2437      "type": "CHOICE",
2438      "members": [
2439        {
2440          "type": "SYMBOL",
2441          "name": "jsx_element"
2442        },
2443        {
2444          "type": "SYMBOL",
2445          "name": "jsx_self_closing_element"
2446        }
2447      ]
2448    },
2449    "jsx_element": {
2450      "type": "SEQ",
2451      "members": [
2452        {
2453          "type": "FIELD",
2454          "name": "open_tag",
2455          "content": {
2456            "type": "SYMBOL",
2457            "name": "jsx_opening_element"
2458          }
2459        },
2460        {
2461          "type": "REPEAT",
2462          "content": {
2463            "type": "SYMBOL",
2464            "name": "_jsx_child"
2465          }
2466        },
2467        {
2468          "type": "FIELD",
2469          "name": "close_tag",
2470          "content": {
2471            "type": "SYMBOL",
2472            "name": "jsx_closing_element"
2473          }
2474        }
2475      ]
2476    },
2477    "jsx_text": {
2478      "type": "CHOICE",
2479      "members": [
2480        {
2481          "type": "PATTERN",
2482          "value": "[^{}<>\\n& ]([^{}<>\\n&]*[^{}<>\\n& ])?"
2483        },
2484        {
2485          "type": "PATTERN",
2486          "value": "\\/\\/[^\\n]*"
2487        }
2488      ]
2489    },
2490    "html_character_reference": {
2491      "type": "PATTERN",
2492      "value": "&(#([xX][0-9a-fA-F]{1,6}|[0-9]{1,5})|[A-Za-z]{1,30});"
2493    },
2494    "jsx_expression": {
2495      "type": "SEQ",
2496      "members": [
2497        {
2498          "type": "STRING",
2499          "value": "{"
2500        },
2501        {
2502          "type": "CHOICE",
2503          "members": [
2504            {
2505              "type": "CHOICE",
2506              "members": [
2507                {
2508                  "type": "SYMBOL",
2509                  "name": "expression"
2510                },
2511                {
2512                  "type": "SYMBOL",
2513                  "name": "sequence_expression"
2514                },
2515                {
2516                  "type": "SYMBOL",
2517                  "name": "spread_element"
2518                }
2519              ]
2520            },
2521            {
2522              "type": "BLANK"
2523            }
2524          ]
2525        },
2526        {
2527          "type": "STRING",
2528          "value": "}"
2529        }
2530      ]
2531    },
2532    "_jsx_child": {
2533      "type": "CHOICE",
2534      "members": [
2535        {
2536          "type": "SYMBOL",
2537          "name": "jsx_text"
2538        },
2539        {
2540          "type": "SYMBOL",
2541          "name": "html_character_reference"
2542        },
2543        {
2544          "type": "SYMBOL",
2545          "name": "_jsx_element"
2546        },
2547        {
2548          "type": "SYMBOL",
2549          "name": "jsx_expression"
2550        }
2551      ]
2552    },
2553    "jsx_opening_element": {
2554      "type": "PREC_DYNAMIC",
2555      "value": -1,
2556      "content": {
2557        "type": "SEQ",
2558        "members": [
2559          {
2560            "type": "STRING",
2561            "value": "<"
2562          },
2563          {
2564            "type": "CHOICE",
2565            "members": [
2566              {
2567                "type": "SEQ",
2568                "members": [
2569                  {
2570                    "type": "FIELD",
2571                    "name": "name",
2572                    "content": {
2573                      "type": "SYMBOL",
2574                      "name": "_jsx_element_name"
2575                    }
2576                  },
2577                  {
2578                    "type": "REPEAT",
2579                    "content": {
2580                      "type": "FIELD",
2581                      "name": "attribute",
2582                      "content": {
2583                        "type": "SYMBOL",
2584                        "name": "_jsx_attribute"
2585                      }
2586                    }
2587                  }
2588                ]
2589              },
2590              {
2591                "type": "BLANK"
2592              }
2593            ]
2594          },
2595          {
2596            "type": "STRING",
2597            "value": ">"
2598          }
2599        ]
2600      }
2601    },
2602    "jsx_identifier": {
2603      "type": "PATTERN",
2604      "value": "[a-zA-Z_$][a-zA-Z\\d_$]*-[a-zA-Z\\d_$\\-]*"
2605    },
2606    "_jsx_identifier": {
2607      "type": "CHOICE",
2608      "members": [
2609        {
2610          "type": "ALIAS",
2611          "content": {
2612            "type": "SYMBOL",
2613            "name": "jsx_identifier"
2614          },
2615          "named": true,
2616          "value": "identifier"
2617        },
2618        {
2619          "type": "SYMBOL",
2620          "name": "identifier"
2621        }
2622      ]
2623    },
2624    "nested_identifier": {
2625      "type": "PREC",
2626      "value": "member",
2627      "content": {
2628        "type": "SEQ",
2629        "members": [
2630          {
2631            "type": "FIELD",
2632            "name": "object",
2633            "content": {
2634              "type": "CHOICE",
2635              "members": [
2636                {
2637                  "type": "SYMBOL",
2638                  "name": "identifier"
2639                },
2640                {
2641                  "type": "ALIAS",
2642                  "content": {
2643                    "type": "SYMBOL",
2644                    "name": "nested_identifier"
2645                  },
2646                  "named": true,
2647                  "value": "member_expression"
2648                }
2649              ]
2650            }
2651          },
2652          {
2653            "type": "STRING",
2654            "value": "."
2655          },
2656          {
2657            "type": "FIELD",
2658            "name": "property",
2659            "content": {
2660              "type": "ALIAS",
2661              "content": {
2662                "type": "SYMBOL",
2663                "name": "identifier"
2664              },
2665              "named": true,
2666              "value": "property_identifier"
2667            }
2668          }
2669        ]
2670      }
2671    },
2672    "jsx_namespace_name": {
2673      "type": "SEQ",
2674      "members": [
2675        {
2676          "type": "SYMBOL",
2677          "name": "_jsx_identifier"
2678        },
2679        {
2680          "type": "STRING",
2681          "value": ":"
2682        },
2683        {
2684          "type": "SYMBOL",
2685          "name": "_jsx_identifier"
2686        }
2687      ]
2688    },
2689    "_jsx_element_name": {
2690      "type": "CHOICE",
2691      "members": [
2692        {
2693          "type": "SYMBOL",
2694          "name": "_jsx_identifier"
2695        },
2696        {
2697          "type": "ALIAS",
2698          "content": {
2699            "type": "SYMBOL",
2700            "name": "nested_identifier"
2701          },
2702          "named": true,
2703          "value": "member_expression"
2704        },
2705        {
2706          "type": "SYMBOL",
2707          "name": "jsx_namespace_name"
2708        }
2709      ]
2710    },
2711    "jsx_closing_element": {
2712      "type": "SEQ",
2713      "members": [
2714        {
2715          "type": "STRING",
2716          "value": "</"
2717        },
2718        {
2719          "type": "CHOICE",
2720          "members": [
2721            {
2722              "type": "FIELD",
2723              "name": "name",
2724              "content": {
2725                "type": "SYMBOL",
2726                "name": "_jsx_element_name"
2727              }
2728            },
2729            {
2730              "type": "BLANK"
2731            }
2732          ]
2733        },
2734        {
2735          "type": "STRING",
2736          "value": ">"
2737        }
2738      ]
2739    },
2740    "jsx_self_closing_element": {
2741      "type": "SEQ",
2742      "members": [
2743        {
2744          "type": "STRING",
2745          "value": "<"
2746        },
2747        {
2748          "type": "FIELD",
2749          "name": "name",
2750          "content": {
2751            "type": "SYMBOL",
2752            "name": "_jsx_element_name"
2753          }
2754        },
2755        {
2756          "type": "REPEAT",
2757          "content": {
2758            "type": "FIELD",
2759            "name": "attribute",
2760            "content": {
2761              "type": "SYMBOL",
2762              "name": "_jsx_attribute"
2763            }
2764          }
2765        },
2766        {
2767          "type": "STRING",
2768          "value": "/>"
2769        }
2770      ]
2771    },
2772    "_jsx_attribute": {
2773      "type": "CHOICE",
2774      "members": [
2775        {
2776          "type": "SYMBOL",
2777          "name": "jsx_attribute"
2778        },
2779        {
2780          "type": "SYMBOL",
2781          "name": "jsx_expression"
2782        }
2783      ]
2784    },
2785    "_jsx_attribute_name": {
2786      "type": "CHOICE",
2787      "members": [
2788        {
2789          "type": "ALIAS",
2790          "content": {
2791            "type": "SYMBOL",
2792            "name": "_jsx_identifier"
2793          },
2794          "named": true,
2795          "value": "property_identifier"
2796        },
2797        {
2798          "type": "SYMBOL",
2799          "name": "jsx_namespace_name"
2800        }
2801      ]
2802    },
2803    "jsx_attribute": {
2804      "type": "SEQ",
2805      "members": [
2806        {
2807          "type": "SYMBOL",
2808          "name": "_jsx_attribute_name"
2809        },
2810        {
2811          "type": "CHOICE",
2812          "members": [
2813            {
2814              "type": "SEQ",
2815              "members": [
2816                {
2817                  "type": "STRING",
2818                  "value": "="
2819                },
2820                {
2821                  "type": "SYMBOL",
2822                  "name": "_jsx_attribute_value"
2823                }
2824              ]
2825            },
2826            {
2827              "type": "BLANK"
2828            }
2829          ]
2830        }
2831      ]
2832    },
2833    "_jsx_string": {
2834      "type": "CHOICE",
2835      "members": [
2836        {
2837          "type": "SEQ",
2838          "members": [
2839            {
2840              "type": "STRING",
2841              "value": "\""
2842            },
2843            {
2844              "type": "REPEAT",
2845              "content": {
2846                "type": "CHOICE",
2847                "members": [
2848                  {
2849                    "type": "ALIAS",
2850                    "content": {
2851                      "type": "SYMBOL",
2852                      "name": "unescaped_double_jsx_string_fragment"
2853                    },
2854                    "named": true,
2855                    "value": "string_fragment"
2856                  },
2857                  {
2858                    "type": "SYMBOL",
2859                    "name": "html_character_reference"
2860                  }
2861                ]
2862              }
2863            },
2864            {
2865              "type": "STRING",
2866              "value": "\""
2867            }
2868          ]
2869        },
2870        {
2871          "type": "SEQ",
2872          "members": [
2873            {
2874              "type": "STRING",
2875              "value": "'"
2876            },
2877            {
2878              "type": "REPEAT",
2879              "content": {
2880                "type": "CHOICE",
2881                "members": [
2882                  {
2883                    "type": "ALIAS",
2884                    "content": {
2885                      "type": "SYMBOL",
2886                      "name": "unescaped_single_jsx_string_fragment"
2887                    },
2888                    "named": true,
2889                    "value": "string_fragment"
2890                  },
2891                  {
2892                    "type": "SYMBOL",
2893                    "name": "html_character_reference"
2894                  }
2895                ]
2896              }
2897            },
2898            {
2899              "type": "STRING",
2900              "value": "'"
2901            }
2902          ]
2903        }
2904      ]
2905    },
2906    "unescaped_double_jsx_string_fragment": {
2907      "type": "IMMEDIATE_TOKEN",
2908      "content": {
2909        "type": "PREC",
2910        "value": 1,
2911        "content": {
2912          "type": "PATTERN",
2913          "value": "([^\"&]|&[^#A-Za-z])+"
2914        }
2915      }
2916    },
2917    "unescaped_single_jsx_string_fragment": {
2918      "type": "IMMEDIATE_TOKEN",
2919      "content": {
2920        "type": "PREC",
2921        "value": 1,
2922        "content": {
2923          "type": "PATTERN",
2924          "value": "([^'&]|&[^#A-Za-z])+"
2925        }
2926      }
2927    },
2928    "_jsx_attribute_value": {
2929      "type": "CHOICE",
2930      "members": [
2931        {
2932          "type": "ALIAS",
2933          "content": {
2934            "type": "SYMBOL",
2935            "name": "_jsx_string"
2936          },
2937          "named": true,
2938          "value": "string"
2939        },
2940        {
2941          "type": "SYMBOL",
2942          "name": "jsx_expression"
2943        },
2944        {
2945          "type": "SYMBOL",
2946          "name": "_jsx_element"
2947        }
2948      ]
2949    },
2950    "class": {
2951      "type": "PREC",
2952      "value": "literal",
2953      "content": {
2954        "type": "SEQ",
2955        "members": [
2956          {
2957            "type": "REPEAT",
2958            "content": {
2959              "type": "FIELD",
2960              "name": "decorator",
2961              "content": {
2962                "type": "SYMBOL",
2963                "name": "decorator"
2964              }
2965            }
2966          },
2967          {
2968            "type": "STRING",
2969            "value": "class"
2970          },
2971          {
2972            "type": "FIELD",
2973            "name": "name",
2974            "content": {
2975              "type": "CHOICE",
2976              "members": [
2977                {
2978                  "type": "SYMBOL",
2979                  "name": "identifier"
2980                },
2981                {
2982                  "type": "BLANK"
2983                }
2984              ]
2985            }
2986          },
2987          {
2988            "type": "CHOICE",
2989            "members": [
2990              {
2991                "type": "SYMBOL",
2992                "name": "class_heritage"
2993              },
2994              {
2995                "type": "BLANK"
2996              }
2997            ]
2998          },
2999          {
3000            "type": "FIELD",
3001            "name": "body",
3002            "content": {
3003              "type": "SYMBOL",
3004              "name": "class_body"
3005            }
3006          }
3007        ]
3008      }
3009    },
3010    "class_declaration": {
3011      "type": "PREC",
3012      "value": "declaration",
3013      "content": {
3014        "type": "SEQ",
3015        "members": [
3016          {
3017            "type": "REPEAT",
3018            "content": {
3019              "type": "FIELD",
3020              "name": "decorator",
3021              "content": {
3022                "type": "SYMBOL",
3023                "name": "decorator"
3024              }
3025            }
3026          },
3027          {
3028            "type": "STRING",
3029            "value": "class"
3030          },
3031          {
3032            "type": "FIELD",
3033            "name": "name",
3034            "content": {
3035              "type": "SYMBOL",
3036              "name": "identifier"
3037            }
3038          },
3039          {
3040            "type": "CHOICE",
3041            "members": [
3042              {
3043                "type": "SYMBOL",
3044                "name": "class_heritage"
3045              },
3046              {
3047                "type": "BLANK"
3048              }
3049            ]
3050          },
3051          {
3052            "type": "FIELD",
3053            "name": "body",
3054            "content": {
3055              "type": "SYMBOL",
3056              "name": "class_body"
3057            }
3058          },
3059          {
3060            "type": "CHOICE",
3061            "members": [
3062              {
3063                "type": "SYMBOL",
3064                "name": "_automatic_semicolon"
3065              },
3066              {
3067                "type": "BLANK"
3068              }
3069            ]
3070          }
3071        ]
3072      }
3073    },
3074    "class_heritage": {
3075      "type": "SEQ",
3076      "members": [
3077        {
3078          "type": "STRING",
3079          "value": "extends"
3080        },
3081        {
3082          "type": "SYMBOL",
3083          "name": "expression"
3084        }
3085      ]
3086    },
3087    "function_expression": {
3088      "type": "PREC",
3089      "value": "literal",
3090      "content": {
3091        "type": "SEQ",
3092        "members": [
3093          {
3094            "type": "CHOICE",
3095            "members": [
3096              {
3097                "type": "STRING",
3098                "value": "async"
3099              },
3100              {
3101                "type": "BLANK"
3102              }
3103            ]
3104          },
3105          {
3106            "type": "STRING",
3107            "value": "function"
3108          },
3109          {
3110            "type": "FIELD",
3111            "name": "name",
3112            "content": {
3113              "type": "CHOICE",
3114              "members": [
3115                {
3116                  "type": "SYMBOL",
3117                  "name": "identifier"
3118                },
3119                {
3120                  "type": "BLANK"
3121                }
3122              ]
3123            }
3124          },
3125          {
3126            "type": "SYMBOL",
3127            "name": "_call_signature"
3128          },
3129          {
3130            "type": "FIELD",
3131            "name": "body",
3132            "content": {
3133              "type": "SYMBOL",
3134              "name": "statement_block"
3135            }
3136          }
3137        ]
3138      }
3139    },
3140    "function_declaration": {
3141      "type": "PREC_RIGHT",
3142      "value": "declaration",
3143      "content": {
3144        "type": "SEQ",
3145        "members": [
3146          {
3147            "type": "CHOICE",
3148            "members": [
3149              {
3150                "type": "STRING",
3151                "value": "async"
3152              },
3153              {
3154                "type": "BLANK"
3155              }
3156            ]
3157          },
3158          {
3159            "type": "STRING",
3160            "value": "function"
3161          },
3162          {
3163            "type": "FIELD",
3164            "name": "name",
3165            "content": {
3166              "type": "SYMBOL",
3167              "name": "identifier"
3168            }
3169          },
3170          {
3171            "type": "SYMBOL",
3172            "name": "_call_signature"
3173          },
3174          {
3175            "type": "FIELD",
3176            "name": "body",
3177            "content": {
3178              "type": "SYMBOL",
3179              "name": "statement_block"
3180            }
3181          },
3182          {
3183            "type": "CHOICE",
3184            "members": [
3185              {
3186                "type": "SYMBOL",
3187                "name": "_automatic_semicolon"
3188              },
3189              {
3190                "type": "BLANK"
3191              }
3192            ]
3193          }
3194        ]
3195      }
3196    },
3197    "generator_function": {
3198      "type": "PREC",
3199      "value": "literal",
3200      "content": {
3201        "type": "SEQ",
3202        "members": [
3203          {
3204            "type": "CHOICE",
3205            "members": [
3206              {
3207                "type": "STRING",
3208                "value": "async"
3209              },
3210              {
3211                "type": "BLANK"
3212              }
3213            ]
3214          },
3215          {
3216            "type": "STRING",
3217            "value": "function"
3218          },
3219          {
3220            "type": "STRING",
3221            "value": "*"
3222          },
3223          {
3224            "type": "FIELD",
3225            "name": "name",
3226            "content": {
3227              "type": "CHOICE",
3228              "members": [
3229                {
3230                  "type": "SYMBOL",
3231                  "name": "identifier"
3232                },
3233                {
3234                  "type": "BLANK"
3235                }
3236              ]
3237            }
3238          },
3239          {
3240            "type": "SYMBOL",
3241            "name": "_call_signature"
3242          },
3243          {
3244            "type": "FIELD",
3245            "name": "body",
3246            "content": {
3247              "type": "SYMBOL",
3248              "name": "statement_block"
3249            }
3250          }
3251        ]
3252      }
3253    },
3254    "generator_function_declaration": {
3255      "type": "PREC_RIGHT",
3256      "value": "declaration",
3257      "content": {
3258        "type": "SEQ",
3259        "members": [
3260          {
3261            "type": "CHOICE",
3262            "members": [
3263              {
3264                "type": "STRING",
3265                "value": "async"
3266              },
3267              {
3268                "type": "BLANK"
3269              }
3270            ]
3271          },
3272          {
3273            "type": "STRING",
3274            "value": "function"
3275          },
3276          {
3277            "type": "STRING",
3278            "value": "*"
3279          },
3280          {
3281            "type": "FIELD",
3282            "name": "name",
3283            "content": {
3284              "type": "SYMBOL",
3285              "name": "identifier"
3286            }
3287          },
3288          {
3289            "type": "SYMBOL",
3290            "name": "_call_signature"
3291          },
3292          {
3293            "type": "FIELD",
3294            "name": "body",
3295            "content": {
3296              "type": "SYMBOL",
3297              "name": "statement_block"
3298            }
3299          },
3300          {
3301            "type": "CHOICE",
3302            "members": [
3303              {
3304                "type": "SYMBOL",
3305                "name": "_automatic_semicolon"
3306              },
3307              {
3308                "type": "BLANK"
3309              }
3310            ]
3311          }
3312        ]
3313      }
3314    },
3315    "arrow_function": {
3316      "type": "SEQ",
3317      "members": [
3318        {
3319          "type": "CHOICE",
3320          "members": [
3321            {
3322              "type": "STRING",
3323              "value": "async"
3324            },
3325            {
3326              "type": "BLANK"
3327            }
3328          ]
3329        },
3330        {
3331          "type": "CHOICE",
3332          "members": [
3333            {
3334              "type": "FIELD",
3335              "name": "parameter",
3336              "content": {
3337                "type": "CHOICE",
3338                "members": [
3339                  {
3340                    "type": "ALIAS",
3341                    "content": {
3342                      "type": "SYMBOL",
3343                      "name": "_reserved_identifier"
3344                    },
3345                    "named": true,
3346                    "value": "identifier"
3347                  },
3348                  {
3349                    "type": "SYMBOL",
3350                    "name": "identifier"
3351                  }
3352                ]
3353              }
3354            },
3355            {
3356              "type": "SYMBOL",
3357              "name": "_call_signature"
3358            }
3359          ]
3360        },
3361        {
3362          "type": "STRING",
3363          "value": "=>"
3364        },
3365        {
3366          "type": "FIELD",
3367          "name": "body",
3368          "content": {
3369            "type": "CHOICE",
3370            "members": [
3371              {
3372                "type": "SYMBOL",
3373                "name": "expression"
3374              },
3375              {
3376                "type": "SYMBOL",
3377                "name": "statement_block"
3378              }
3379            ]
3380          }
3381        }
3382      ]
3383    },
3384    "_call_signature": {
3385      "type": "FIELD",
3386      "name": "parameters",
3387      "content": {
3388        "type": "SYMBOL",
3389        "name": "formal_parameters"
3390      }
3391    },
3392    "_formal_parameter": {
3393      "type": "CHOICE",
3394      "members": [
3395        {
3396          "type": "SYMBOL",
3397          "name": "pattern"
3398        },
3399        {
3400          "type": "SYMBOL",
3401          "name": "assignment_pattern"
3402        }
3403      ]
3404    },
3405    "optional_chain": {
3406      "type": "STRING",
3407      "value": "?."
3408    },
3409    "call_expression": {
3410      "type": "CHOICE",
3411      "members": [
3412        {
3413          "type": "PREC",
3414          "value": "call",
3415          "content": {
3416            "type": "SEQ",
3417            "members": [
3418              {
3419                "type": "FIELD",
3420                "name": "function",
3421                "content": {
3422                  "type": "CHOICE",
3423                  "members": [
3424                    {
3425                      "type": "SYMBOL",
3426                      "name": "expression"
3427                    },
3428                    {
3429                      "type": "SYMBOL",
3430                      "name": "import"
3431                    }
3432                  ]
3433                }
3434              },
3435              {
3436                "type": "FIELD",
3437                "name": "arguments",
3438                "content": {
3439                  "type": "CHOICE",
3440                  "members": [
3441                    {
3442                      "type": "SYMBOL",
3443                      "name": "arguments"
3444                    },
3445                    {
3446                      "type": "SYMBOL",
3447                      "name": "template_string"
3448                    }
3449                  ]
3450                }
3451              }
3452            ]
3453          }
3454        },
3455        {
3456          "type": "PREC",
3457          "value": "member",
3458          "content": {
3459            "type": "SEQ",
3460            "members": [
3461              {
3462                "type": "FIELD",
3463                "name": "function",
3464                "content": {
3465                  "type": "SYMBOL",
3466                  "name": "primary_expression"
3467                }
3468              },
3469              {
3470                "type": "FIELD",
3471                "name": "optional_chain",
3472                "content": {
3473                  "type": "SYMBOL",
3474                  "name": "optional_chain"
3475                }
3476              },
3477              {
3478                "type": "FIELD",
3479                "name": "arguments",
3480                "content": {
3481                  "type": "SYMBOL",
3482                  "name": "arguments"
3483                }
3484              }
3485            ]
3486          }
3487        }
3488      ]
3489    },
3490    "new_expression": {
3491      "type": "PREC_RIGHT",
3492      "value": "new",
3493      "content": {
3494        "type": "SEQ",
3495        "members": [
3496          {
3497            "type": "STRING",
3498            "value": "new"
3499          },
3500          {
3501            "type": "FIELD",
3502            "name": "constructor",
3503            "content": {
3504              "type": "CHOICE",
3505              "members": [
3506                {
3507                  "type": "SYMBOL",
3508                  "name": "primary_expression"
3509                },
3510                {
3511                  "type": "SYMBOL",
3512                  "name": "new_expression"
3513                }
3514              ]
3515            }
3516          },
3517          {
3518            "type": "FIELD",
3519            "name": "arguments",
3520            "content": {
3521              "type": "CHOICE",
3522              "members": [
3523                {
3524                  "type": "PREC_DYNAMIC",
3525                  "value": 1,
3526                  "content": {
3527                    "type": "SYMBOL",
3528                    "name": "arguments"
3529                  }
3530                },
3531                {
3532                  "type": "BLANK"
3533                }
3534              ]
3535            }
3536          }
3537        ]
3538      }
3539    },
3540    "await_expression": {
3541      "type": "PREC",
3542      "value": "unary_void",
3543      "content": {
3544        "type": "SEQ",
3545        "members": [
3546          {
3547            "type": "STRING",
3548            "value": "await"
3549          },
3550          {
3551            "type": "SYMBOL",
3552            "name": "expression"
3553          }
3554        ]
3555      }
3556    },
3557    "member_expression": {
3558      "type": "PREC",
3559      "value": "member",
3560      "content": {
3561        "type": "SEQ",
3562        "members": [
3563          {
3564            "type": "FIELD",
3565            "name": "object",
3566            "content": {
3567              "type": "CHOICE",
3568              "members": [
3569                {
3570                  "type": "SYMBOL",
3571                  "name": "expression"
3572                },
3573                {
3574                  "type": "SYMBOL",
3575                  "name": "primary_expression"
3576                },
3577                {
3578                  "type": "SYMBOL",
3579                  "name": "import"
3580                }
3581              ]
3582            }
3583          },
3584          {
3585            "type": "CHOICE",
3586            "members": [
3587              {
3588                "type": "STRING",
3589                "value": "."
3590              },
3591              {
3592                "type": "FIELD",
3593                "name": "optional_chain",
3594                "content": {
3595                  "type": "SYMBOL",
3596                  "name": "optional_chain"
3597                }
3598              }
3599            ]
3600          },
3601          {
3602            "type": "FIELD",
3603            "name": "property",
3604            "content": {
3605              "type": "CHOICE",
3606              "members": [
3607                {
3608                  "type": "SYMBOL",
3609                  "name": "private_property_identifier"
3610                },
3611                {
3612                  "type": "ALIAS",
3613                  "content": {
3614                    "type": "SYMBOL",
3615                    "name": "identifier"
3616                  },
3617                  "named": true,
3618                  "value": "property_identifier"
3619                }
3620              ]
3621            }
3622          }
3623        ]
3624      }
3625    },
3626    "subscript_expression": {
3627      "type": "PREC_RIGHT",
3628      "value": "member",
3629      "content": {
3630        "type": "SEQ",
3631        "members": [
3632          {
3633            "type": "FIELD",
3634            "name": "object",
3635            "content": {
3636              "type": "CHOICE",
3637              "members": [
3638                {
3639                  "type": "SYMBOL",
3640                  "name": "expression"
3641                },
3642                {
3643                  "type": "SYMBOL",
3644                  "name": "primary_expression"
3645                }
3646              ]
3647            }
3648          },
3649          {
3650            "type": "CHOICE",
3651            "members": [
3652              {
3653                "type": "FIELD",
3654                "name": "optional_chain",
3655                "content": {
3656                  "type": "SYMBOL",
3657                  "name": "optional_chain"
3658                }
3659              },
3660              {
3661                "type": "BLANK"
3662              }
3663            ]
3664          },
3665          {
3666            "type": "STRING",
3667            "value": "["
3668          },
3669          {
3670            "type": "FIELD",
3671            "name": "index",
3672            "content": {
3673              "type": "SYMBOL",
3674              "name": "_expressions"
3675            }
3676          },
3677          {
3678            "type": "STRING",
3679            "value": "]"
3680          }
3681        ]
3682      }
3683    },
3684    "_lhs_expression": {
3685      "type": "CHOICE",
3686      "members": [
3687        {
3688          "type": "SYMBOL",
3689          "name": "member_expression"
3690        },
3691        {
3692          "type": "SYMBOL",
3693          "name": "subscript_expression"
3694        },
3695        {
3696          "type": "SYMBOL",
3697          "name": "_identifier"
3698        },
3699        {
3700          "type": "ALIAS",
3701          "content": {
3702            "type": "SYMBOL",
3703            "name": "_reserved_identifier"
3704          },
3705          "named": true,
3706          "value": "identifier"
3707        },
3708        {
3709          "type": "SYMBOL",
3710          "name": "_destructuring_pattern"
3711        }
3712      ]
3713    },
3714    "assignment_expression": {
3715      "type": "PREC_RIGHT",
3716      "value": "assign",
3717      "content": {
3718        "type": "SEQ",
3719        "members": [
3720          {
3721            "type": "FIELD",
3722            "name": "left",
3723            "content": {
3724              "type": "CHOICE",
3725              "members": [
3726                {
3727                  "type": "SYMBOL",
3728                  "name": "parenthesized_expression"
3729                },
3730                {
3731                  "type": "SYMBOL",
3732                  "name": "_lhs_expression"
3733                }
3734              ]
3735            }
3736          },
3737          {
3738            "type": "STRING",
3739            "value": "="
3740          },
3741          {
3742            "type": "FIELD",
3743            "name": "right",
3744            "content": {
3745              "type": "SYMBOL",
3746              "name": "expression"
3747            }
3748          }
3749        ]
3750      }
3751    },
3752    "_augmented_assignment_lhs": {
3753      "type": "CHOICE",
3754      "members": [
3755        {
3756          "type": "SYMBOL",
3757          "name": "member_expression"
3758        },
3759        {
3760          "type": "SYMBOL",
3761          "name": "subscript_expression"
3762        },
3763        {
3764          "type": "ALIAS",
3765          "content": {
3766            "type": "SYMBOL",
3767            "name": "_reserved_identifier"
3768          },
3769          "named": true,
3770          "value": "identifier"
3771        },
3772        {
3773          "type": "SYMBOL",
3774          "name": "identifier"
3775        },
3776        {
3777          "type": "SYMBOL",
3778          "name": "parenthesized_expression"
3779        }
3780      ]
3781    },
3782    "augmented_assignment_expression": {
3783      "type": "PREC_RIGHT",
3784      "value": "assign",
3785      "content": {
3786        "type": "SEQ",
3787        "members": [
3788          {
3789            "type": "FIELD",
3790            "name": "left",
3791            "content": {
3792              "type": "SYMBOL",
3793              "name": "_augmented_assignment_lhs"
3794            }
3795          },
3796          {
3797            "type": "FIELD",
3798            "name": "operator",
3799            "content": {
3800              "type": "CHOICE",
3801              "members": [
3802                {
3803                  "type": "STRING",
3804                  "value": "+="
3805                },
3806                {
3807                  "type": "STRING",
3808                  "value": "-="
3809                },
3810                {
3811                  "type": "STRING",
3812                  "value": "*="
3813                },
3814                {
3815                  "type": "STRING",
3816                  "value": "/="
3817                },
3818                {
3819                  "type": "STRING",
3820                  "value": "%="
3821                },
3822                {
3823                  "type": "STRING",
3824                  "value": "^="
3825                },
3826                {
3827                  "type": "STRING",
3828                  "value": "&="
3829                },
3830                {
3831                  "type": "STRING",
3832                  "value": "|="
3833                },
3834                {
3835                  "type": "STRING",
3836                  "value": ">>="
3837                },
3838                {
3839                  "type": "STRING",
3840                  "value": ">>>="
3841                },
3842                {
3843                  "type": "STRING",
3844                  "value": "<<="
3845                },
3846                {
3847                  "type": "STRING",
3848                  "value": "**="
3849                },
3850                {
3851                  "type": "STRING",
3852                  "value": "&&="
3853                },
3854                {
3855                  "type": "STRING",
3856                  "value": "||="
3857                },
3858                {
3859                  "type": "STRING",
3860                  "value": "??="
3861                }
3862              ]
3863            }
3864          },
3865          {
3866            "type": "FIELD",
3867            "name": "right",
3868            "content": {
3869              "type": "SYMBOL",
3870              "name": "expression"
3871            }
3872          }
3873        ]
3874      }
3875    },
3876    "_initializer": {
3877      "type": "SEQ",
3878      "members": [
3879        {
3880          "type": "STRING",
3881          "value": "="
3882        },
3883        {
3884          "type": "FIELD",
3885          "name": "value",
3886          "content": {
3887            "type": "SYMBOL",
3888            "name": "expression"
3889          }
3890        }
3891      ]
3892    },
3893    "_destructuring_pattern": {
3894      "type": "CHOICE",
3895      "members": [
3896        {
3897          "type": "SYMBOL",
3898          "name": "object_pattern"
3899        },
3900        {
3901          "type": "SYMBOL",
3902          "name": "array_pattern"
3903        }
3904      ]
3905    },
3906    "spread_element": {
3907      "type": "SEQ",
3908      "members": [
3909        {
3910          "type": "STRING",
3911          "value": "..."
3912        },
3913        {
3914          "type": "SYMBOL",
3915          "name": "expression"
3916        }
3917      ]
3918    },
3919    "ternary_expression": {
3920      "type": "PREC_RIGHT",
3921      "value": "ternary",
3922      "content": {
3923        "type": "SEQ",
3924        "members": [
3925          {
3926            "type": "FIELD",
3927            "name": "condition",
3928            "content": {
3929              "type": "SYMBOL",
3930              "name": "expression"
3931            }
3932          },
3933          {
3934            "type": "ALIAS",
3935            "content": {
3936              "type": "SYMBOL",
3937              "name": "_ternary_qmark"
3938            },
3939            "named": false,
3940            "value": "?"
3941          },
3942          {
3943            "type": "FIELD",
3944            "name": "consequence",
3945            "content": {
3946              "type": "SYMBOL",
3947              "name": "expression"
3948            }
3949          },
3950          {
3951            "type": "STRING",
3952            "value": ":"
3953          },
3954          {
3955            "type": "FIELD",
3956            "name": "alternative",
3957            "content": {
3958              "type": "SYMBOL",
3959              "name": "expression"
3960            }
3961          }
3962        ]
3963      }
3964    },
3965    "binary_expression": {
3966      "type": "CHOICE",
3967      "members": [
3968        {
3969          "type": "PREC_LEFT",
3970          "value": "logical_and",
3971          "content": {
3972            "type": "SEQ",
3973            "members": [
3974              {
3975                "type": "FIELD",
3976                "name": "left",
3977                "content": {
3978                  "type": "SYMBOL",
3979                  "name": "expression"
3980                }
3981              },
3982              {
3983                "type": "FIELD",
3984                "name": "operator",
3985                "content": {
3986                  "type": "STRING",
3987                  "value": "&&"
3988                }
3989              },
3990              {
3991                "type": "FIELD",
3992                "name": "right",
3993                "content": {
3994                  "type": "SYMBOL",
3995                  "name": "expression"
3996                }
3997              }
3998            ]
3999          }
4000        },
4001        {
4002          "type": "PREC_LEFT",
4003          "value": "logical_or",
4004          "content": {
4005            "type": "SEQ",
4006            "members": [
4007              {
4008                "type": "FIELD",
4009                "name": "left",
4010                "content": {
4011                  "type": "SYMBOL",
4012                  "name": "expression"
4013                }
4014              },
4015              {
4016                "type": "FIELD",
4017                "name": "operator",
4018                "content": {
4019                  "type": "STRING",
4020                  "value": "||"
4021                }
4022              },
4023              {
4024                "type": "FIELD",
4025                "name": "right",
4026                "content": {
4027                  "type": "SYMBOL",
4028                  "name": "expression"
4029                }
4030              }
4031            ]
4032          }
4033        },
4034        {
4035          "type": "PREC_LEFT",
4036          "value": "binary_shift",
4037          "content": {
4038            "type": "SEQ",
4039            "members": [
4040              {
4041                "type": "FIELD",
4042                "name": "left",
4043                "content": {
4044                  "type": "SYMBOL",
4045                  "name": "expression"
4046                }
4047              },
4048              {
4049                "type": "FIELD",
4050                "name": "operator",
4051                "content": {
4052                  "type": "STRING",
4053                  "value": ">>"
4054                }
4055              },
4056              {
4057                "type": "FIELD",
4058                "name": "right",
4059                "content": {
4060                  "type": "SYMBOL",
4061                  "name": "expression"
4062                }
4063              }
4064            ]
4065          }
4066        },
4067        {
4068          "type": "PREC_LEFT",
4069          "value": "binary_shift",
4070          "content": {
4071            "type": "SEQ",
4072            "members": [
4073              {
4074                "type": "FIELD",
4075                "name": "left",
4076                "content": {
4077                  "type": "SYMBOL",
4078                  "name": "expression"
4079                }
4080              },
4081              {
4082                "type": "FIELD",
4083                "name": "operator",
4084                "content": {
4085                  "type": "STRING",
4086                  "value": ">>>"
4087                }
4088              },
4089              {
4090                "type": "FIELD",
4091                "name": "right",
4092                "content": {
4093                  "type": "SYMBOL",
4094                  "name": "expression"
4095                }
4096              }
4097            ]
4098          }
4099        },
4100        {
4101          "type": "PREC_LEFT",
4102          "value": "binary_shift",
4103          "content": {
4104            "type": "SEQ",
4105            "members": [
4106              {
4107                "type": "FIELD",
4108                "name": "left",
4109                "content": {
4110                  "type": "SYMBOL",
4111                  "name": "expression"
4112                }
4113              },
4114              {
4115                "type": "FIELD",
4116                "name": "operator",
4117                "content": {
4118                  "type": "STRING",
4119                  "value": "<<"
4120                }
4121              },
4122              {
4123                "type": "FIELD",
4124                "name": "right",
4125                "content": {
4126                  "type": "SYMBOL",
4127                  "name": "expression"
4128                }
4129              }
4130            ]
4131          }
4132        },
4133        {
4134          "type": "PREC_LEFT",
4135          "value": "bitwise_and",
4136          "content": {
4137            "type": "SEQ",
4138            "members": [
4139              {
4140                "type": "FIELD",
4141                "name": "left",
4142                "content": {
4143                  "type": "SYMBOL",
4144                  "name": "expression"
4145                }
4146              },
4147              {
4148                "type": "FIELD",
4149                "name": "operator",
4150                "content": {
4151                  "type": "STRING",
4152                  "value": "&"
4153                }
4154              },
4155              {
4156                "type": "FIELD",
4157                "name": "right",
4158                "content": {
4159                  "type": "SYMBOL",
4160                  "name": "expression"
4161                }
4162              }
4163            ]
4164          }
4165        },
4166        {
4167          "type": "PREC_LEFT",
4168          "value": "bitwise_xor",
4169          "content": {
4170            "type": "SEQ",
4171            "members": [
4172              {
4173                "type": "FIELD",
4174                "name": "left",
4175                "content": {
4176                  "type": "SYMBOL",
4177                  "name": "expression"
4178                }
4179              },
4180              {
4181                "type": "FIELD",
4182                "name": "operator",
4183                "content": {
4184                  "type": "STRING",
4185                  "value": "^"
4186                }
4187              },
4188              {
4189                "type": "FIELD",
4190                "name": "right",
4191                "content": {
4192                  "type": "SYMBOL",
4193                  "name": "expression"
4194                }
4195              }
4196            ]
4197          }
4198        },
4199        {
4200          "type": "PREC_LEFT",
4201          "value": "bitwise_or",
4202          "content": {
4203            "type": "SEQ",
4204            "members": [
4205              {
4206                "type": "FIELD",
4207                "name": "left",
4208                "content": {
4209                  "type": "SYMBOL",
4210                  "name": "expression"
4211                }
4212              },
4213              {
4214                "type": "FIELD",
4215                "name": "operator",
4216                "content": {
4217                  "type": "STRING",
4218                  "value": "|"
4219                }
4220              },
4221              {
4222                "type": "FIELD",
4223                "name": "right",
4224                "content": {
4225                  "type": "SYMBOL",
4226                  "name": "expression"
4227                }
4228              }
4229            ]
4230          }
4231        },
4232        {
4233          "type": "PREC_LEFT",
4234          "value": "binary_plus",
4235          "content": {
4236            "type": "SEQ",
4237            "members": [
4238              {
4239                "type": "FIELD",
4240                "name": "left",
4241                "content": {
4242                  "type": "SYMBOL",
4243                  "name": "expression"
4244                }
4245              },
4246              {
4247                "type": "FIELD",
4248                "name": "operator",
4249                "content": {
4250                  "type": "STRING",
4251                  "value": "+"
4252                }
4253              },
4254              {
4255                "type": "FIELD",
4256                "name": "right",
4257                "content": {
4258                  "type": "SYMBOL",
4259                  "name": "expression"
4260                }
4261              }
4262            ]
4263          }
4264        },
4265        {
4266          "type": "PREC_LEFT",
4267          "value": "binary_plus",
4268          "content": {
4269            "type": "SEQ",
4270            "members": [
4271              {
4272                "type": "FIELD",
4273                "name": "left",
4274                "content": {
4275                  "type": "SYMBOL",
4276                  "name": "expression"
4277                }
4278              },
4279              {
4280                "type": "FIELD",
4281                "name": "operator",
4282                "content": {
4283                  "type": "STRING",
4284                  "value": "-"
4285                }
4286              },
4287              {
4288                "type": "FIELD",
4289                "name": "right",
4290                "content": {
4291                  "type": "SYMBOL",
4292                  "name": "expression"
4293                }
4294              }
4295            ]
4296          }
4297        },
4298        {
4299          "type": "PREC_LEFT",
4300          "value": "binary_times",
4301          "content": {
4302            "type": "SEQ",
4303            "members": [
4304              {
4305                "type": "FIELD",
4306                "name": "left",
4307                "content": {
4308                  "type": "SYMBOL",
4309                  "name": "expression"
4310                }
4311              },
4312              {
4313                "type": "FIELD",
4314                "name": "operator",
4315                "content": {
4316                  "type": "STRING",
4317                  "value": "*"
4318                }
4319              },
4320              {
4321                "type": "FIELD",
4322                "name": "right",
4323                "content": {
4324                  "type": "SYMBOL",
4325                  "name": "expression"
4326                }
4327              }
4328            ]
4329          }
4330        },
4331        {
4332          "type": "PREC_LEFT",
4333          "value": "binary_times",
4334          "content": {
4335            "type": "SEQ",
4336            "members": [
4337              {
4338                "type": "FIELD",
4339                "name": "left",
4340                "content": {
4341                  "type": "SYMBOL",
4342                  "name": "expression"
4343                }
4344              },
4345              {
4346                "type": "FIELD",
4347                "name": "operator",
4348                "content": {
4349                  "type": "STRING",
4350                  "value": "/"
4351                }
4352              },
4353              {
4354                "type": "FIELD",
4355                "name": "right",
4356                "content": {
4357                  "type": "SYMBOL",
4358                  "name": "expression"
4359                }
4360              }
4361            ]
4362          }
4363        },
4364        {
4365          "type": "PREC_LEFT",
4366          "value": "binary_times",
4367          "content": {
4368            "type": "SEQ",
4369            "members": [
4370              {
4371                "type": "FIELD",
4372                "name": "left",
4373                "content": {
4374                  "type": "SYMBOL",
4375                  "name": "expression"
4376                }
4377              },
4378              {
4379                "type": "FIELD",
4380                "name": "operator",
4381                "content": {
4382                  "type": "STRING",
4383                  "value": "%"
4384                }
4385              },
4386              {
4387                "type": "FIELD",
4388                "name": "right",
4389                "content": {
4390                  "type": "SYMBOL",
4391                  "name": "expression"
4392                }
4393              }
4394            ]
4395          }
4396        },
4397        {
4398          "type": "PREC_RIGHT",
4399          "value": "binary_exp",
4400          "content": {
4401            "type": "SEQ",
4402            "members": [
4403              {
4404                "type": "FIELD",
4405                "name": "left",
4406                "content": {
4407                  "type": "SYMBOL",
4408                  "name": "expression"
4409                }
4410              },
4411              {
4412                "type": "FIELD",
4413                "name": "operator",
4414                "content": {
4415                  "type": "STRING",
4416                  "value": "**"
4417                }
4418              },
4419              {
4420                "type": "FIELD",
4421                "name": "right",
4422                "content": {
4423                  "type": "SYMBOL",
4424                  "name": "expression"
4425                }
4426              }
4427            ]
4428          }
4429        },
4430        {
4431          "type": "PREC_LEFT",
4432          "value": "binary_relation",
4433          "content": {
4434            "type": "SEQ",
4435            "members": [
4436              {
4437                "type": "FIELD",
4438                "name": "left",
4439                "content": {
4440                  "type": "SYMBOL",
4441                  "name": "expression"
4442                }
4443              },
4444              {
4445                "type": "FIELD",
4446                "name": "operator",
4447                "content": {
4448                  "type": "STRING",
4449                  "value": "<"
4450                }
4451              },
4452              {
4453                "type": "FIELD",
4454                "name": "right",
4455                "content": {
4456                  "type": "SYMBOL",
4457                  "name": "expression"
4458                }
4459              }
4460            ]
4461          }
4462        },
4463        {
4464          "type": "PREC_LEFT",
4465          "value": "binary_relation",
4466          "content": {
4467            "type": "SEQ",
4468            "members": [
4469              {
4470                "type": "FIELD",
4471                "name": "left",
4472                "content": {
4473                  "type": "SYMBOL",
4474                  "name": "expression"
4475                }
4476              },
4477              {
4478                "type": "FIELD",
4479                "name": "operator",
4480                "content": {
4481                  "type": "STRING",
4482                  "value": "<="
4483                }
4484              },
4485              {
4486                "type": "FIELD",
4487                "name": "right",
4488                "content": {
4489                  "type": "SYMBOL",
4490                  "name": "expression"
4491                }
4492              }
4493            ]
4494          }
4495        },
4496        {
4497          "type": "PREC_LEFT",
4498          "value": "binary_equality",
4499          "content": {
4500            "type": "SEQ",
4501            "members": [
4502              {
4503                "type": "FIELD",
4504                "name": "left",
4505                "content": {
4506                  "type": "SYMBOL",
4507                  "name": "expression"
4508                }
4509              },
4510              {
4511                "type": "FIELD",
4512                "name": "operator",
4513                "content": {
4514                  "type": "STRING",
4515                  "value": "=="
4516                }
4517              },
4518              {
4519                "type": "FIELD",
4520                "name": "right",
4521                "content": {
4522                  "type": "SYMBOL",
4523                  "name": "expression"
4524                }
4525              }
4526            ]
4527          }
4528        },
4529        {
4530          "type": "PREC_LEFT",
4531          "value": "binary_equality",
4532          "content": {
4533            "type": "SEQ",
4534            "members": [
4535              {
4536                "type": "FIELD",
4537                "name": "left",
4538                "content": {
4539                  "type": "SYMBOL",
4540                  "name": "expression"
4541                }
4542              },
4543              {
4544                "type": "FIELD",
4545                "name": "operator",
4546                "content": {
4547                  "type": "STRING",
4548                  "value": "==="
4549                }
4550              },
4551              {
4552                "type": "FIELD",
4553                "name": "right",
4554                "content": {
4555                  "type": "SYMBOL",
4556                  "name": "expression"
4557                }
4558              }
4559            ]
4560          }
4561        },
4562        {
4563          "type": "PREC_LEFT",
4564          "value": "binary_equality",
4565          "content": {
4566            "type": "SEQ",
4567            "members": [
4568              {
4569                "type": "FIELD",
4570                "name": "left",
4571                "content": {
4572                  "type": "SYMBOL",
4573                  "name": "expression"
4574                }
4575              },
4576              {
4577                "type": "FIELD",
4578                "name": "operator",
4579                "content": {
4580                  "type": "STRING",
4581                  "value": "!="
4582                }
4583              },
4584              {
4585                "type": "FIELD",
4586                "name": "right",
4587                "content": {
4588                  "type": "SYMBOL",
4589                  "name": "expression"
4590                }
4591              }
4592            ]
4593          }
4594        },
4595        {
4596          "type": "PREC_LEFT",
4597          "value": "binary_equality",
4598          "content": {
4599            "type": "SEQ",
4600            "members": [
4601              {
4602                "type": "FIELD",
4603                "name": "left",
4604                "content": {
4605                  "type": "SYMBOL",
4606                  "name": "expression"
4607                }
4608              },
4609              {
4610                "type": "FIELD",
4611                "name": "operator",
4612                "content": {
4613                  "type": "STRING",
4614                  "value": "!=="
4615                }
4616              },
4617              {
4618                "type": "FIELD",
4619                "name": "right",
4620                "content": {
4621                  "type": "SYMBOL",
4622                  "name": "expression"
4623                }
4624              }
4625            ]
4626          }
4627        },
4628        {
4629          "type": "PREC_LEFT",
4630          "value": "binary_relation",
4631          "content": {
4632            "type": "SEQ",
4633            "members": [
4634              {
4635                "type": "FIELD",
4636                "name": "left",
4637                "content": {
4638                  "type": "SYMBOL",
4639                  "name": "expression"
4640                }
4641              },
4642              {
4643                "type": "FIELD",
4644                "name": "operator",
4645                "content": {
4646                  "type": "STRING",
4647                  "value": ">="
4648                }
4649              },
4650              {
4651                "type": "FIELD",
4652                "name": "right",
4653                "content": {
4654                  "type": "SYMBOL",
4655                  "name": "expression"
4656                }
4657              }
4658            ]
4659          }
4660        },
4661        {
4662          "type": "PREC_LEFT",
4663          "value": "binary_relation",
4664          "content": {
4665            "type": "SEQ",
4666            "members": [
4667              {
4668                "type": "FIELD",
4669                "name": "left",
4670                "content": {
4671                  "type": "SYMBOL",
4672                  "name": "expression"
4673                }
4674              },
4675              {
4676                "type": "FIELD",
4677                "name": "operator",
4678                "content": {
4679                  "type": "STRING",
4680                  "value": ">"
4681                }
4682              },
4683              {
4684                "type": "FIELD",
4685                "name": "right",
4686                "content": {
4687                  "type": "SYMBOL",
4688                  "name": "expression"
4689                }
4690              }
4691            ]
4692          }
4693        },
4694        {
4695          "type": "PREC_LEFT",
4696          "value": "ternary",
4697          "content": {
4698            "type": "SEQ",
4699            "members": [
4700              {
4701                "type": "FIELD",
4702                "name": "left",
4703                "content": {
4704                  "type": "SYMBOL",
4705                  "name": "expression"
4706                }
4707              },
4708              {
4709                "type": "FIELD",
4710                "name": "operator",
4711                "content": {
4712                  "type": "STRING",
4713                  "value": "??"
4714                }
4715              },
4716              {
4717                "type": "FIELD",
4718                "name": "right",
4719                "content": {
4720                  "type": "SYMBOL",
4721                  "name": "expression"
4722                }
4723              }
4724            ]
4725          }
4726        },
4727        {
4728          "type": "PREC_LEFT",
4729          "value": "binary_relation",
4730          "content": {
4731            "type": "SEQ",
4732            "members": [
4733              {
4734                "type": "FIELD",
4735                "name": "left",
4736                "content": {
4737                  "type": "SYMBOL",
4738                  "name": "expression"
4739                }
4740              },
4741              {
4742                "type": "FIELD",
4743                "name": "operator",
4744                "content": {
4745                  "type": "STRING",
4746                  "value": "instanceof"
4747                }
4748              },
4749              {
4750                "type": "FIELD",
4751                "name": "right",
4752                "content": {
4753                  "type": "SYMBOL",
4754                  "name": "expression"
4755                }
4756              }
4757            ]
4758          }
4759        },
4760        {
4761          "type": "PREC_LEFT",
4762          "value": "binary_relation",
4763          "content": {
4764            "type": "SEQ",
4765            "members": [
4766              {
4767                "type": "FIELD",
4768                "name": "left",
4769                "content": {
4770                  "type": "CHOICE",
4771                  "members": [
4772                    {
4773                      "type": "SYMBOL",
4774                      "name": "expression"
4775                    },
4776                    {
4777                      "type": "SYMBOL",
4778                      "name": "private_property_identifier"
4779                    }
4780                  ]
4781                }
4782              },
4783              {
4784                "type": "FIELD",
4785                "name": "operator",
4786                "content": {
4787                  "type": "STRING",
4788                  "value": "in"
4789                }
4790              },
4791              {
4792                "type": "FIELD",
4793                "name": "right",
4794                "content": {
4795                  "type": "SYMBOL",
4796                  "name": "expression"
4797                }
4798              }
4799            ]
4800          }
4801        }
4802      ]
4803    },
4804    "unary_expression": {
4805      "type": "PREC_LEFT",
4806      "value": "unary_void",
4807      "content": {
4808        "type": "SEQ",
4809        "members": [
4810          {
4811            "type": "FIELD",
4812            "name": "operator",
4813            "content": {
4814              "type": "CHOICE",
4815              "members": [
4816                {
4817                  "type": "STRING",
4818                  "value": "!"
4819                },
4820                {
4821                  "type": "STRING",
4822                  "value": "~"
4823                },
4824                {
4825                  "type": "STRING",
4826                  "value": "-"
4827                },
4828                {
4829                  "type": "STRING",
4830                  "value": "+"
4831                },
4832                {
4833                  "type": "STRING",
4834                  "value": "typeof"
4835                },
4836                {
4837                  "type": "STRING",
4838                  "value": "void"
4839                },
4840                {
4841                  "type": "STRING",
4842                  "value": "delete"
4843                }
4844              ]
4845            }
4846          },
4847          {
4848            "type": "FIELD",
4849            "name": "argument",
4850            "content": {
4851              "type": "SYMBOL",
4852              "name": "expression"
4853            }
4854          }
4855        ]
4856      }
4857    },
4858    "update_expression": {
4859      "type": "PREC_LEFT",
4860      "value": 0,
4861      "content": {
4862        "type": "CHOICE",
4863        "members": [
4864          {
4865            "type": "SEQ",
4866            "members": [
4867              {
4868                "type": "FIELD",
4869                "name": "argument",
4870                "content": {
4871                  "type": "SYMBOL",
4872                  "name": "expression"
4873                }
4874              },
4875              {
4876                "type": "FIELD",
4877                "name": "operator",
4878                "content": {
4879                  "type": "CHOICE",
4880                  "members": [
4881                    {
4882                      "type": "STRING",
4883                      "value": "++"
4884                    },
4885                    {
4886                      "type": "STRING",
4887                      "value": "--"
4888                    }
4889                  ]
4890                }
4891              }
4892            ]
4893          },
4894          {
4895            "type": "SEQ",
4896            "members": [
4897              {
4898                "type": "FIELD",
4899                "name": "operator",
4900                "content": {
4901                  "type": "CHOICE",
4902                  "members": [
4903                    {
4904                      "type": "STRING",
4905                      "value": "++"
4906                    },
4907                    {
4908                      "type": "STRING",
4909                      "value": "--"
4910                    }
4911                  ]
4912                }
4913              },
4914              {
4915                "type": "FIELD",
4916                "name": "argument",
4917                "content": {
4918                  "type": "SYMBOL",
4919                  "name": "expression"
4920                }
4921              }
4922            ]
4923          }
4924        ]
4925      }
4926    },
4927    "sequence_expression": {
4928      "type": "PREC_RIGHT",
4929      "value": 0,
4930      "content": {
4931        "type": "SEQ",
4932        "members": [
4933          {
4934            "type": "SYMBOL",
4935            "name": "expression"
4936          },
4937          {
4938            "type": "REPEAT",
4939            "content": {
4940              "type": "SEQ",
4941              "members": [
4942                {
4943                  "type": "STRING",
4944                  "value": ","
4945                },
4946                {
4947                  "type": "SYMBOL",
4948                  "name": "expression"
4949                }
4950              ]
4951            }
4952          }
4953        ]
4954      }
4955    },
4956    "string": {
4957      "type": "CHOICE",
4958      "members": [
4959        {
4960          "type": "SEQ",
4961          "members": [
4962            {
4963              "type": "STRING",
4964              "value": "\""
4965            },
4966            {
4967              "type": "REPEAT",
4968              "content": {
4969                "type": "CHOICE",
4970                "members": [
4971                  {
4972                    "type": "ALIAS",
4973                    "content": {
4974                      "type": "SYMBOL",
4975                      "name": "unescaped_double_string_fragment"
4976                    },
4977                    "named": true,
4978                    "value": "string_fragment"
4979                  },
4980                  {
4981                    "type": "SYMBOL",
4982                    "name": "escape_sequence"
4983                  }
4984                ]
4985              }
4986            },
4987            {
4988              "type": "STRING",
4989              "value": "\""
4990            }
4991          ]
4992        },
4993        {
4994          "type": "SEQ",
4995          "members": [
4996            {
4997              "type": "STRING",
4998              "value": "'"
4999            },
5000            {
5001              "type": "REPEAT",
5002              "content": {
5003                "type": "CHOICE",
5004                "members": [
5005                  {
5006                    "type": "ALIAS",
5007                    "content": {
5008                      "type": "SYMBOL",
5009                      "name": "unescaped_single_string_fragment"
5010                    },
5011                    "named": true,
5012                    "value": "string_fragment"
5013                  },
5014                  {
5015                    "type": "SYMBOL",
5016                    "name": "escape_sequence"
5017                  }
5018                ]
5019              }
5020            },
5021            {
5022              "type": "STRING",
5023              "value": "'"
5024            }
5025          ]
5026        }
5027      ]
5028    },
5029    "unescaped_double_string_fragment": {
5030      "type": "IMMEDIATE_TOKEN",
5031      "content": {
5032        "type": "PREC",
5033        "value": 1,
5034        "content": {
5035          "type": "PATTERN",
5036          "value": "[^\"\\\\\\r\\n]+"
5037        }
5038      }
5039    },
5040    "unescaped_single_string_fragment": {
5041      "type": "IMMEDIATE_TOKEN",
5042      "content": {
5043        "type": "PREC",
5044        "value": 1,
5045        "content": {
5046          "type": "PATTERN",
5047          "value": "[^'\\\\\\r\\n]+"
5048        }
5049      }
5050    },
5051    "escape_sequence": {
5052      "type": "IMMEDIATE_TOKEN",
5053      "content": {
5054        "type": "SEQ",
5055        "members": [
5056          {
5057            "type": "STRING",
5058            "value": "\\"
5059          },
5060          {
5061            "type": "CHOICE",
5062            "members": [
5063              {
5064                "type": "PATTERN",
5065                "value": "[^xu0-7]"
5066              },
5067              {
5068                "type": "PATTERN",
5069                "value": "[0-7]{1,3}"
5070              },
5071              {
5072                "type": "PATTERN",
5073                "value": "x[0-9a-fA-F]{2}"
5074              },
5075              {
5076                "type": "PATTERN",
5077                "value": "u[0-9a-fA-F]{4}"
5078              },
5079              {
5080                "type": "PATTERN",
5081                "value": "u\\{[0-9a-fA-F]+\\}"
5082              },
5083              {
5084                "type": "PATTERN",
5085                "value": "[\\r?][\\n\\u2028\\u2029]"
5086              }
5087            ]
5088          }
5089        ]
5090      }
5091    },
5092    "comment": {
5093      "type": "CHOICE",
5094      "members": [
5095        {
5096          "type": "TOKEN",
5097          "content": {
5098            "type": "CHOICE",
5099            "members": [
5100              {
5101                "type": "SEQ",
5102                "members": [
5103                  {
5104                    "type": "STRING",
5105                    "value": "//"
5106                  },
5107                  {
5108                    "type": "PATTERN",
5109                    "value": ".*"
5110                  }
5111                ]
5112              },
5113              {
5114                "type": "SEQ",
5115                "members": [
5116                  {
5117                    "type": "STRING",
5118                    "value": "/*"
5119                  },
5120                  {
5121                    "type": "PATTERN",
5122                    "value": "[^*]*\\*+([^/*][^*]*\\*+)*"
5123                  },
5124                  {
5125                    "type": "STRING",
5126                    "value": "/"
5127                  }
5128                ]
5129              }
5130            ]
5131          }
5132        }
5133      ]
5134    },
5135    "template_string": {
5136      "type": "SEQ",
5137      "members": [
5138        {
5139          "type": "STRING",
5140          "value": "`"
5141        },
5142        {
5143          "type": "REPEAT",
5144          "content": {
5145            "type": "CHOICE",
5146            "members": [
5147              {
5148                "type": "ALIAS",
5149                "content": {
5150                  "type": "SYMBOL",
5151                  "name": "_template_chars"
5152                },
5153                "named": true,
5154                "value": "string_fragment"
5155              },
5156              {
5157                "type": "SYMBOL",
5158                "name": "escape_sequence"
5159              },
5160              {
5161                "type": "SYMBOL",
5162                "name": "template_substitution"
5163              }
5164            ]
5165          }
5166        },
5167        {
5168          "type": "STRING",
5169          "value": "`"
5170        }
5171      ]
5172    },
5173    "template_substitution": {
5174      "type": "SEQ",
5175      "members": [
5176        {
5177          "type": "STRING",
5178          "value": "${"
5179        },
5180        {
5181          "type": "SYMBOL",
5182          "name": "_expressions"
5183        },
5184        {
5185          "type": "STRING",
5186          "value": "}"
5187        }
5188      ]
5189    },
5190    "regex": {
5191      "type": "SEQ",
5192      "members": [
5193        {
5194          "type": "STRING",
5195          "value": "/"
5196        },
5197        {
5198          "type": "FIELD",
5199          "name": "pattern",
5200          "content": {
5201            "type": "SYMBOL",
5202            "name": "regex_pattern"
5203          }
5204        },
5205        {
5206          "type": "IMMEDIATE_TOKEN",
5207          "content": {
5208            "type": "PREC",
5209            "value": 1,
5210            "content": {
5211              "type": "STRING",
5212              "value": "/"
5213            }
5214          }
5215        },
5216        {
5217          "type": "CHOICE",
5218          "members": [
5219            {
5220              "type": "FIELD",
5221              "name": "flags",
5222              "content": {
5223                "type": "SYMBOL",
5224                "name": "regex_flags"
5225              }
5226            },
5227            {
5228              "type": "BLANK"
5229            }
5230          ]
5231        }
5232      ]
5233    },
5234    "regex_pattern": {
5235      "type": "IMMEDIATE_TOKEN",
5236      "content": {
5237        "type": "PREC",
5238        "value": -1,
5239        "content": {
5240          "type": "REPEAT1",
5241          "content": {
5242            "type": "CHOICE",
5243            "members": [
5244              {
5245                "type": "SEQ",
5246                "members": [
5247                  {
5248                    "type": "STRING",
5249                    "value": "["
5250                  },
5251                  {
5252                    "type": "REPEAT",
5253                    "content": {
5254                      "type": "CHOICE",
5255                      "members": [
5256                        {
5257                          "type": "SEQ",
5258                          "members": [
5259                            {
5260                              "type": "STRING",
5261                              "value": "\\"
5262                            },
5263                            {
5264                              "type": "PATTERN",
5265                              "value": "."
5266                            }
5267                          ]
5268                        },
5269                        {
5270                          "type": "PATTERN",
5271                          "value": "[^\\]\\n\\\\]"
5272                        }
5273                      ]
5274                    }
5275                  },
5276                  {
5277                    "type": "STRING",
5278                    "value": "]"
5279                  }
5280                ]
5281              },
5282              {
5283                "type": "SEQ",
5284                "members": [
5285                  {
5286                    "type": "STRING",
5287                    "value": "\\"
5288                  },
5289                  {
5290                    "type": "PATTERN",
5291                    "value": "."
5292                  }
5293                ]
5294              },
5295              {
5296                "type": "PATTERN",
5297                "value": "[^/\\\\\\[\\n]"
5298              }
5299            ]
5300          }
5301        }
5302      }
5303    },
5304    "regex_flags": {
5305      "type": "IMMEDIATE_TOKEN",
5306      "content": {
5307        "type": "PATTERN",
5308        "value": "[a-z]+"
5309      }
5310    },
5311    "number": {
5312      "type": "TOKEN",
5313      "content": {
5314        "type": "CHOICE",
5315        "members": [
5316          {
5317            "type": "SEQ",
5318            "members": [
5319              {
5320                "type": "CHOICE",
5321                "members": [
5322                  {
5323                    "type": "STRING",
5324                    "value": "0x"
5325                  },
5326                  {
5327                    "type": "STRING",
5328                    "value": "0X"
5329                  }
5330                ]
5331              },
5332              {
5333                "type": "PATTERN",
5334                "value": "[\\da-fA-F](_?[\\da-fA-F])*"
5335              }
5336            ]
5337          },
5338          {
5339            "type": "CHOICE",
5340            "members": [
5341              {
5342                "type": "SEQ",
5343                "members": [
5344                  {
5345                    "type": "CHOICE",
5346                    "members": [
5347                      {
5348                        "type": "STRING",
5349                        "value": "0"
5350                      },
5351                      {
5352                        "type": "SEQ",
5353                        "members": [
5354                          {
5355                            "type": "CHOICE",
5356                            "members": [
5357                              {
5358                                "type": "STRING",
5359                                "value": "0"
5360                              },
5361                              {
5362                                "type": "BLANK"
5363                              }
5364                            ]
5365                          },
5366                          {
5367                            "type": "PATTERN",
5368                            "value": "[1-9]"
5369                          },
5370                          {
5371                            "type": "CHOICE",
5372                            "members": [
5373                              {
5374                                "type": "SEQ",
5375                                "members": [
5376                                  {
5377                                    "type": "CHOICE",
5378                                    "members": [
5379                                      {
5380                                        "type": "STRING",
5381                                        "value": "_"
5382                                      },
5383                                      {
5384                                        "type": "BLANK"
5385                                      }
5386                                    ]
5387                                  },
5388                                  {
5389                                    "type": "PATTERN",
5390                                    "value": "\\d(_?\\d)*"
5391                                  }
5392                                ]
5393                              },
5394                              {
5395                                "type": "BLANK"
5396                              }
5397                            ]
5398                          }
5399                        ]
5400                      }
5401                    ]
5402                  },
5403                  {
5404                    "type": "STRING",
5405                    "value": "."
5406                  },
5407                  {
5408                    "type": "CHOICE",
5409                    "members": [
5410                      {
5411                        "type": "PATTERN",
5412                        "value": "\\d(_?\\d)*"
5413                      },
5414                      {
5415                        "type": "BLANK"
5416                      }
5417                    ]
5418                  },
5419                  {
5420                    "type": "CHOICE",
5421                    "members": [
5422                      {
5423                        "type": "SEQ",
5424                        "members": [
5425                          {
5426                            "type": "CHOICE",
5427                            "members": [
5428                              {
5429                                "type": "STRING",
5430                                "value": "e"
5431                              },
5432                              {
5433                                "type": "STRING",
5434                                "value": "E"
5435                              }
5436                            ]
5437                          },
5438                          {
5439                            "type": "SEQ",
5440                            "members": [
5441                              {
5442                                "type": "CHOICE",
5443                                "members": [
5444                                  {
5445                                    "type": "CHOICE",
5446                                    "members": [
5447                                      {
5448                                        "type": "STRING",
5449                                        "value": "-"
5450                                      },
5451                                      {
5452                                        "type": "STRING",
5453                                        "value": "+"
5454                                      }
5455                                    ]
5456                                  },
5457                                  {
5458                                    "type": "BLANK"
5459                                  }
5460                                ]
5461                              },
5462                              {
5463                                "type": "PATTERN",
5464                                "value": "\\d(_?\\d)*"
5465                              }
5466                            ]
5467                          }
5468                        ]
5469                      },
5470                      {
5471                        "type": "BLANK"
5472                      }
5473                    ]
5474                  }
5475                ]
5476              },
5477              {
5478                "type": "SEQ",
5479                "members": [
5480                  {
5481                    "type": "STRING",
5482                    "value": "."
5483                  },
5484                  {
5485                    "type": "PATTERN",
5486                    "value": "\\d(_?\\d)*"
5487                  },
5488                  {
5489                    "type": "CHOICE",
5490                    "members": [
5491                      {
5492                        "type": "SEQ",
5493                        "members": [
5494                          {
5495                            "type": "CHOICE",
5496                            "members": [
5497                              {
5498                                "type": "STRING",
5499                                "value": "e"
5500                              },
5501                              {
5502                                "type": "STRING",
5503                                "value": "E"
5504                              }
5505                            ]
5506                          },
5507                          {
5508                            "type": "SEQ",
5509                            "members": [
5510                              {
5511                                "type": "CHOICE",
5512                                "members": [
5513                                  {
5514                                    "type": "CHOICE",
5515                                    "members": [
5516                                      {
5517                                        "type": "STRING",
5518                                        "value": "-"
5519                                      },
5520                                      {
5521                                        "type": "STRING",
5522                                        "value": "+"
5523                                      }
5524                                    ]
5525                                  },
5526                                  {
5527                                    "type": "BLANK"
5528                                  }
5529                                ]
5530                              },
5531                              {
5532                                "type": "PATTERN",
5533                                "value": "\\d(_?\\d)*"
5534                              }
5535                            ]
5536                          }
5537                        ]
5538                      },
5539                      {
5540                        "type": "BLANK"
5541                      }
5542                    ]
5543                  }
5544                ]
5545              },
5546              {
5547                "type": "SEQ",
5548                "members": [
5549                  {
5550                    "type": "CHOICE",
5551                    "members": [
5552                      {
5553                        "type": "STRING",
5554                        "value": "0"
5555                      },
5556                      {
5557                        "type": "SEQ",
5558                        "members": [
5559                          {
5560                            "type": "CHOICE",
5561                            "members": [
5562                              {
5563                                "type": "STRING",
5564                                "value": "0"
5565                              },
5566                              {
5567                                "type": "BLANK"
5568                              }
5569                            ]
5570                          },
5571                          {
5572                            "type": "PATTERN",
5573                            "value": "[1-9]"
5574                          },
5575                          {
5576                            "type": "CHOICE",
5577                            "members": [
5578                              {
5579                                "type": "SEQ",
5580                                "members": [
5581                                  {
5582                                    "type": "CHOICE",
5583                                    "members": [
5584                                      {
5585                                        "type": "STRING",
5586                                        "value": "_"
5587                                      },
5588                                      {
5589                                        "type": "BLANK"
5590                                      }
5591                                    ]
5592                                  },
5593                                  {
5594                                    "type": "PATTERN",
5595                                    "value": "\\d(_?\\d)*"
5596                                  }
5597                                ]
5598                              },
5599                              {
5600                                "type": "BLANK"
5601                              }
5602                            ]
5603                          }
5604                        ]
5605                      }
5606                    ]
5607                  },
5608                  {
5609                    "type": "SEQ",
5610                    "members": [
5611                      {
5612                        "type": "CHOICE",
5613                        "members": [
5614                          {
5615                            "type": "STRING",
5616                            "value": "e"
5617                          },
5618                          {
5619                            "type": "STRING",
5620                            "value": "E"
5621                          }
5622                        ]
5623                      },
5624                      {
5625                        "type": "SEQ",
5626                        "members": [
5627                          {
5628                            "type": "CHOICE",
5629                            "members": [
5630                              {
5631                                "type": "CHOICE",
5632                                "members": [
5633                                  {
5634                                    "type": "STRING",
5635                                    "value": "-"
5636                                  },
5637                                  {
5638                                    "type": "STRING",
5639                                    "value": "+"
5640                                  }
5641                                ]
5642                              },
5643                              {
5644                                "type": "BLANK"
5645                              }
5646                            ]
5647                          },
5648                          {
5649                            "type": "PATTERN",
5650                            "value": "\\d(_?\\d)*"
5651                          }
5652                        ]
5653                      }
5654                    ]
5655                  }
5656                ]
5657              },
5658              {
5659                "type": "SEQ",
5660                "members": [
5661                  {
5662                    "type": "PATTERN",
5663                    "value": "\\d(_?\\d)*"
5664                  }
5665                ]
5666              }
5667            ]
5668          },
5669          {
5670            "type": "SEQ",
5671            "members": [
5672              {
5673                "type": "CHOICE",
5674                "members": [
5675                  {
5676                    "type": "STRING",
5677                    "value": "0b"
5678                  },
5679                  {
5680                    "type": "STRING",
5681                    "value": "0B"
5682                  }
5683                ]
5684              },
5685              {
5686                "type": "PATTERN",
5687                "value": "[0-1](_?[0-1])*"
5688              }
5689            ]
5690          },
5691          {
5692            "type": "SEQ",
5693            "members": [
5694              {
5695                "type": "CHOICE",
5696                "members": [
5697                  {
5698                    "type": "STRING",
5699                    "value": "0o"
5700                  },
5701                  {
5702                    "type": "STRING",
5703                    "value": "0O"
5704                  }
5705                ]
5706              },
5707              {
5708                "type": "PATTERN",
5709                "value": "[0-7](_?[0-7])*"
5710              }
5711            ]
5712          },
5713          {
5714            "type": "SEQ",
5715            "members": [
5716              {
5717                "type": "CHOICE",
5718                "members": [
5719                  {
5720                    "type": "SEQ",
5721                    "members": [
5722                      {
5723                        "type": "CHOICE",
5724                        "members": [
5725                          {
5726                            "type": "STRING",
5727                            "value": "0x"
5728                          },
5729                          {
5730                            "type": "STRING",
5731                            "value": "0X"
5732                          }
5733                        ]
5734                      },
5735                      {
5736                        "type": "PATTERN",
5737                        "value": "[\\da-fA-F](_?[\\da-fA-F])*"
5738                      }
5739                    ]
5740                  },
5741                  {
5742                    "type": "SEQ",
5743                    "members": [
5744                      {
5745                        "type": "CHOICE",
5746                        "members": [
5747                          {
5748                            "type": "STRING",
5749                            "value": "0b"
5750                          },
5751                          {
5752                            "type": "STRING",
5753                            "value": "0B"
5754                          }
5755                        ]
5756                      },
5757                      {
5758                        "type": "PATTERN",
5759                        "value": "[0-1](_?[0-1])*"
5760                      }
5761                    ]
5762                  },
5763                  {
5764                    "type": "SEQ",
5765                    "members": [
5766                      {
5767                        "type": "CHOICE",
5768                        "members": [
5769                          {
5770                            "type": "STRING",
5771                            "value": "0o"
5772                          },
5773                          {
5774                            "type": "STRING",
5775                            "value": "0O"
5776                          }
5777                        ]
5778                      },
5779                      {
5780                        "type": "PATTERN",
5781                        "value": "[0-7](_?[0-7])*"
5782                      }
5783                    ]
5784                  },
5785                  {
5786                    "type": "PATTERN",
5787                    "value": "\\d(_?\\d)*"
5788                  }
5789                ]
5790              },
5791              {
5792                "type": "STRING",
5793                "value": "n"
5794              }
5795            ]
5796          }
5797        ]
5798      }
5799    },
5800    "_identifier": {
5801      "type": "CHOICE",
5802      "members": [
5803        {
5804          "type": "SYMBOL",
5805          "name": "undefined"
5806        },
5807        {
5808          "type": "SYMBOL",
5809          "name": "identifier"
5810        }
5811      ]
5812    },
5813    "identifier": {
5814      "type": "TOKEN",
5815      "content": {
5816        "type": "SEQ",
5817        "members": [
5818          {
5819            "type": "PATTERN",
5820            "value": "[^\\x00-\\x1F\\s\\p{Zs}0-9:;`\"'@#.,|^&<=>+\\-*/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
5821          },
5822          {
5823            "type": "REPEAT",
5824            "content": {
5825              "type": "PATTERN",
5826              "value": "[^\\x00-\\x1F\\s\\p{Zs}:;`\"'@#.,|^&<=>+\\-*/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
5827            }
5828          }
5829        ]
5830      }
5831    },
5832    "private_property_identifier": {
5833      "type": "TOKEN",
5834      "content": {
5835        "type": "SEQ",
5836        "members": [
5837          {
5838            "type": "STRING",
5839            "value": "#"
5840          },
5841          {
5842            "type": "PATTERN",
5843            "value": "[^\\x00-\\x1F\\s\\p{Zs}0-9:;`\"'@#.,|^&<=>+\\-*/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
5844          },
5845          {
5846            "type": "REPEAT",
5847            "content": {
5848              "type": "PATTERN",
5849              "value": "[^\\x00-\\x1F\\s\\p{Zs}:;`\"'@#.,|^&<=>+\\-*/\\\\%?!~()\\[\\]{}\\uFEFF\\u2060\\u200B]|\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}"
5850            }
5851          }
5852        ]
5853      }
5854    },
5855    "meta_property": {
5856      "type": "SEQ",
5857      "members": [
5858        {
5859          "type": "STRING",
5860          "value": "new"
5861        },
5862        {
5863          "type": "STRING",
5864          "value": "."
5865        },
5866        {
5867          "type": "STRING",
5868          "value": "target"
5869        }
5870      ]
5871    },
5872    "this": {
5873      "type": "STRING",
5874      "value": "this"
5875    },
5876    "super": {
5877      "type": "STRING",
5878      "value": "super"
5879    },
5880    "true": {
5881      "type": "STRING",
5882      "value": "true"
5883    },
5884    "false": {
5885      "type": "STRING",
5886      "value": "false"
5887    },
5888    "null": {
5889      "type": "STRING",
5890      "value": "null"
5891    },
5892    "undefined": {
5893      "type": "STRING",
5894      "value": "undefined"
5895    },
5896    "arguments": {
5897      "type": "SEQ",
5898      "members": [
5899        {
5900          "type": "STRING",
5901          "value": "("
5902        },
5903        {
5904          "type": "CHOICE",
5905          "members": [
5906            {
5907              "type": "SEQ",
5908              "members": [
5909                {
5910                  "type": "CHOICE",
5911                  "members": [
5912                    {
5913                      "type": "CHOICE",
5914                      "members": [
5915                        {
5916                          "type": "SYMBOL",
5917                          "name": "expression"
5918                        },
5919                        {
5920                          "type": "SYMBOL",
5921                          "name": "spread_element"
5922                        }
5923                      ]
5924                    },
5925                    {
5926                      "type": "BLANK"
5927                    }
5928                  ]
5929                },
5930                {
5931                  "type": "REPEAT",
5932                  "content": {
5933                    "type": "SEQ",
5934                    "members": [
5935                      {
5936                        "type": "STRING",
5937                        "value": ","
5938                      },
5939                      {
5940                        "type": "CHOICE",
5941                        "members": [
5942                          {
5943                            "type": "CHOICE",
5944                            "members": [
5945                              {
5946                                "type": "SYMBOL",
5947                                "name": "expression"
5948                              },
5949                              {
5950                                "type": "SYMBOL",
5951                                "name": "spread_element"
5952                              }
5953                            ]
5954                          },
5955                          {
5956                            "type": "BLANK"
5957                          }
5958                        ]
5959                      }
5960                    ]
5961                  }
5962                }
5963              ]
5964            },
5965            {
5966              "type": "BLANK"
5967            }
5968          ]
5969        },
5970        {
5971          "type": "STRING",
5972          "value": ")"
5973        }
5974      ]
5975    },
5976    "decorator": {
5977      "type": "SEQ",
5978      "members": [
5979        {
5980          "type": "STRING",
5981          "value": "@"
5982        },
5983        {
5984          "type": "CHOICE",
5985          "members": [
5986            {
5987              "type": "SYMBOL",
5988              "name": "identifier"
5989            },
5990            {
5991              "type": "ALIAS",
5992              "content": {
5993                "type": "SYMBOL",
5994                "name": "decorator_member_expression"
5995              },
5996              "named": true,
5997              "value": "member_expression"
5998            },
5999            {
6000              "type": "ALIAS",
6001              "content": {
6002                "type": "SYMBOL",
6003                "name": "decorator_call_expression"
6004              },
6005              "named": true,
6006              "value": "call_expression"
6007            }
6008          ]
6009        }
6010      ]
6011    },
6012    "decorator_member_expression": {
6013      "type": "PREC",
6014      "value": "member",
6015      "content": {
6016        "type": "SEQ",
6017        "members": [
6018          {
6019            "type": "FIELD",
6020            "name": "object",
6021            "content": {
6022              "type": "CHOICE",
6023              "members": [
6024                {
6025                  "type": "SYMBOL",
6026                  "name": "identifier"
6027                },
6028                {
6029                  "type": "ALIAS",
6030                  "content": {
6031                    "type": "SYMBOL",
6032                    "name": "decorator_member_expression"
6033                  },
6034                  "named": true,
6035                  "value": "member_expression"
6036                }
6037              ]
6038            }
6039          },
6040          {
6041            "type": "STRING",
6042            "value": "."
6043          },
6044          {
6045            "type": "FIELD",
6046            "name": "property",
6047            "content": {
6048              "type": "ALIAS",
6049              "content": {
6050                "type": "SYMBOL",
6051                "name": "identifier"
6052              },
6053              "named": true,
6054              "value": "property_identifier"
6055            }
6056          }
6057        ]
6058      }
6059    },
6060    "decorator_call_expression": {
6061      "type": "PREC",
6062      "value": "call",
6063      "content": {
6064        "type": "SEQ",
6065        "members": [
6066          {
6067            "type": "FIELD",
6068            "name": "function",
6069            "content": {
6070              "type": "CHOICE",
6071              "members": [
6072                {
6073                  "type": "SYMBOL",
6074                  "name": "identifier"
6075                },
6076                {
6077                  "type": "ALIAS",
6078                  "content": {
6079                    "type": "SYMBOL",
6080                    "name": "decorator_member_expression"
6081                  },
6082                  "named": true,
6083                  "value": "member_expression"
6084                }
6085              ]
6086            }
6087          },
6088          {
6089            "type": "FIELD",
6090            "name": "arguments",
6091            "content": {
6092              "type": "SYMBOL",
6093              "name": "arguments"
6094            }
6095          }
6096        ]
6097      }
6098    },
6099    "class_body": {
6100      "type": "SEQ",
6101      "members": [
6102        {
6103          "type": "STRING",
6104          "value": "{"
6105        },
6106        {
6107          "type": "REPEAT",
6108          "content": {
6109            "type": "CHOICE",
6110            "members": [
6111              {
6112                "type": "SEQ",
6113                "members": [
6114                  {
6115                    "type": "FIELD",
6116                    "name": "member",
6117                    "content": {
6118                      "type": "SYMBOL",
6119                      "name": "method_definition"
6120                    }
6121                  },
6122                  {
6123                    "type": "CHOICE",
6124                    "members": [
6125                      {
6126                        "type": "STRING",
6127                        "value": ";"
6128                      },
6129                      {
6130                        "type": "BLANK"
6131                      }
6132                    ]
6133                  }
6134                ]
6135              },
6136              {
6137                "type": "SEQ",
6138                "members": [
6139                  {
6140                    "type": "FIELD",
6141                    "name": "member",
6142                    "content": {
6143                      "type": "SYMBOL",
6144                      "name": "field_definition"
6145                    }
6146                  },
6147                  {
6148                    "type": "SYMBOL",
6149                    "name": "_semicolon"
6150                  }
6151                ]
6152              },
6153              {
6154                "type": "FIELD",
6155                "name": "member",
6156                "content": {
6157                  "type": "SYMBOL",
6158                  "name": "class_static_block"
6159                }
6160              },
6161              {
6162                "type": "FIELD",
6163                "name": "template",
6164                "content": {
6165                  "type": "SYMBOL",
6166                  "name": "glimmer_template"
6167                }
6168              },
6169              {
6170                "type": "STRING",
6171                "value": ";"
6172              }
6173            ]
6174          }
6175        },
6176        {
6177          "type": "STRING",
6178          "value": "}"
6179        }
6180      ]
6181    },
6182    "field_definition": {
6183      "type": "SEQ",
6184      "members": [
6185        {
6186          "type": "REPEAT",
6187          "content": {
6188            "type": "FIELD",
6189            "name": "decorator",
6190            "content": {
6191              "type": "SYMBOL",
6192              "name": "decorator"
6193            }
6194          }
6195        },
6196        {
6197          "type": "CHOICE",
6198          "members": [
6199            {
6200              "type": "STRING",
6201              "value": "static"
6202            },
6203            {
6204              "type": "BLANK"
6205            }
6206          ]
6207        },
6208        {
6209          "type": "FIELD",
6210          "name": "property",
6211          "content": {
6212            "type": "SYMBOL",
6213            "name": "_property_name"
6214          }
6215        },
6216        {
6217          "type": "CHOICE",
6218          "members": [
6219            {
6220              "type": "SYMBOL",
6221              "name": "_initializer"
6222            },
6223            {
6224              "type": "BLANK"
6225            }
6226          ]
6227        }
6228      ]
6229    },
6230    "formal_parameters": {
6231      "type": "SEQ",
6232      "members": [
6233        {
6234          "type": "STRING",
6235          "value": "("
6236        },
6237        {
6238          "type": "CHOICE",
6239          "members": [
6240            {
6241              "type": "SEQ",
6242              "members": [
6243                {
6244                  "type": "SEQ",
6245                  "members": [
6246                    {
6247                      "type": "SYMBOL",
6248                      "name": "_formal_parameter"
6249                    },
6250                    {
6251                      "type": "REPEAT",
6252                      "content": {
6253                        "type": "SEQ",
6254                        "members": [
6255                          {
6256                            "type": "STRING",
6257                            "value": ","
6258                          },
6259                          {
6260                            "type": "SYMBOL",
6261                            "name": "_formal_parameter"
6262                          }
6263                        ]
6264                      }
6265                    }
6266                  ]
6267                },
6268                {
6269                  "type": "CHOICE",
6270                  "members": [
6271                    {
6272                      "type": "STRING",
6273                      "value": ","
6274                    },
6275                    {
6276                      "type": "BLANK"
6277                    }
6278                  ]
6279                }
6280              ]
6281            },
6282            {
6283              "type": "BLANK"
6284            }
6285          ]
6286        },
6287        {
6288          "type": "STRING",
6289          "value": ")"
6290        }
6291      ]
6292    },
6293    "class_static_block": {
6294      "type": "SEQ",
6295      "members": [
6296        {
6297          "type": "STRING",
6298          "value": "static"
6299        },
6300        {
6301          "type": "FIELD",
6302          "name": "body",
6303          "content": {
6304            "type": "SYMBOL",
6305            "name": "statement_block"
6306          }
6307        }
6308      ]
6309    },
6310    "pattern": {
6311      "type": "PREC_DYNAMIC",
6312      "value": -1,
6313      "content": {
6314        "type": "CHOICE",
6315        "members": [
6316          {
6317            "type": "SYMBOL",
6318            "name": "_lhs_expression"
6319          },
6320          {
6321            "type": "SYMBOL",
6322            "name": "rest_pattern"
6323          }
6324        ]
6325      }
6326    },
6327    "rest_pattern": {
6328      "type": "PREC_RIGHT",
6329      "value": 0,
6330      "content": {
6331        "type": "SEQ",
6332        "members": [
6333          {
6334            "type": "STRING",
6335            "value": "..."
6336          },
6337          {
6338            "type": "SYMBOL",
6339            "name": "_lhs_expression"
6340          }
6341        ]
6342      }
6343    },
6344    "method_definition": {
6345      "type": "SEQ",
6346      "members": [
6347        {
6348          "type": "REPEAT",
6349          "content": {
6350            "type": "FIELD",
6351            "name": "decorator",
6352            "content": {
6353              "type": "SYMBOL",
6354              "name": "decorator"
6355            }
6356          }
6357        },
6358        {
6359          "type": "CHOICE",
6360          "members": [
6361            {
6362              "type": "CHOICE",
6363              "members": [
6364                {
6365                  "type": "STRING",
6366                  "value": "static"
6367                },
6368                {
6369                  "type": "ALIAS",
6370                  "content": {
6371                    "type": "TOKEN",
6372                    "content": {
6373                      "type": "SEQ",
6374                      "members": [
6375                        {
6376                          "type": "STRING",
6377                          "value": "static"
6378                        },
6379                        {
6380                          "type": "PATTERN",
6381                          "value": "\\s+"
6382                        },
6383                        {
6384                          "type": "STRING",
6385                          "value": "get"
6386                        },
6387                        {
6388                          "type": "PATTERN",
6389                          "value": "\\s*\\n"
6390                        }
6391                      ]
6392                    }
6393                  },
6394                  "named": false,
6395                  "value": "static get"
6396                }
6397              ]
6398            },
6399            {
6400              "type": "BLANK"
6401            }
6402          ]
6403        },
6404        {
6405          "type": "CHOICE",
6406          "members": [
6407            {
6408              "type": "STRING",
6409              "value": "async"
6410            },
6411            {
6412              "type": "BLANK"
6413            }
6414          ]
6415        },
6416        {
6417          "type": "CHOICE",
6418          "members": [
6419            {
6420              "type": "CHOICE",
6421              "members": [
6422                {
6423                  "type": "STRING",
6424                  "value": "get"
6425                },
6426                {
6427                  "type": "STRING",
6428                  "value": "set"
6429                },
6430                {
6431                  "type": "STRING",
6432                  "value": "*"
6433                }
6434              ]
6435            },
6436            {
6437              "type": "BLANK"
6438            }
6439          ]
6440        },
6441        {
6442          "type": "FIELD",
6443          "name": "name",
6444          "content": {
6445            "type": "SYMBOL",
6446            "name": "_property_name"
6447          }
6448        },
6449        {
6450          "type": "FIELD",
6451          "name": "parameters",
6452          "content": {
6453            "type": "SYMBOL",
6454            "name": "formal_parameters"
6455          }
6456        },
6457        {
6458          "type": "FIELD",
6459          "name": "body",
6460          "content": {
6461            "type": "SYMBOL",
6462            "name": "statement_block"
6463          }
6464        }
6465      ]
6466    },
6467    "pair": {
6468      "type": "SEQ",
6469      "members": [
6470        {
6471          "type": "FIELD",
6472          "name": "key",
6473          "content": {
6474            "type": "SYMBOL",
6475            "name": "_property_name"
6476          }
6477        },
6478        {
6479          "type": "STRING",
6480          "value": ":"
6481        },
6482        {
6483          "type": "FIELD",
6484          "name": "value",
6485          "content": {
6486            "type": "SYMBOL",
6487            "name": "expression"
6488          }
6489        }
6490      ]
6491    },
6492    "pair_pattern": {
6493      "type": "SEQ",
6494      "members": [
6495        {
6496          "type": "FIELD",
6497          "name": "key",
6498          "content": {
6499            "type": "SYMBOL",
6500            "name": "_property_name"
6501          }
6502        },
6503        {
6504          "type": "STRING",
6505          "value": ":"
6506        },
6507        {
6508          "type": "FIELD",
6509          "name": "value",
6510          "content": {
6511            "type": "CHOICE",
6512            "members": [
6513              {
6514                "type": "SYMBOL",
6515                "name": "pattern"
6516              },
6517              {
6518                "type": "SYMBOL",
6519                "name": "assignment_pattern"
6520              }
6521            ]
6522          }
6523        }
6524      ]
6525    },
6526    "_property_name": {
6527      "type": "CHOICE",
6528      "members": [
6529        {
6530          "type": "ALIAS",
6531          "content": {
6532            "type": "CHOICE",
6533            "members": [
6534              {
6535                "type": "SYMBOL",
6536                "name": "identifier"
6537              },
6538              {
6539                "type": "SYMBOL",
6540                "name": "_reserved_identifier"
6541              }
6542            ]
6543          },
6544          "named": true,
6545          "value": "property_identifier"
6546        },
6547        {
6548          "type": "SYMBOL",
6549          "name": "private_property_identifier"
6550        },
6551        {
6552          "type": "SYMBOL",
6553          "name": "string"
6554        },
6555        {
6556          "type": "SYMBOL",
6557          "name": "number"
6558        },
6559        {
6560          "type": "SYMBOL",
6561          "name": "computed_property_name"
6562        }
6563      ]
6564    },
6565    "computed_property_name": {
6566      "type": "SEQ",
6567      "members": [
6568        {
6569          "type": "STRING",
6570          "value": "["
6571        },
6572        {
6573          "type": "SYMBOL",
6574          "name": "expression"
6575        },
6576        {
6577          "type": "STRING",
6578          "value": "]"
6579        }
6580      ]
6581    },
6582    "_reserved_identifier": {
6583      "type": "CHOICE",
6584      "members": [
6585        {
6586          "type": "STRING",
6587          "value": "get"
6588        },
6589        {
6590          "type": "STRING",
6591          "value": "set"
6592        },
6593        {
6594          "type": "STRING",
6595          "value": "async"
6596        },
6597        {
6598          "type": "STRING",
6599          "value": "static"
6600        },
6601        {
6602          "type": "STRING",
6603          "value": "export"
6604        },
6605        {
6606          "type": "STRING",
6607          "value": "let"
6608        }
6609      ]
6610    },
6611    "_semicolon": {
6612      "type": "CHOICE",
6613      "members": [
6614        {
6615          "type": "SYMBOL",
6616          "name": "_automatic_semicolon"
6617        },
6618        {
6619          "type": "STRING",
6620          "value": ";"
6621        }
6622      ]
6623    }
6624  },
6625  "extras": [
6626    {
6627      "type": "SYMBOL",
6628      "name": "comment"
6629    },
6630    {
6631      "type": "SYMBOL",
6632      "name": "html_comment"
6633    },
6634    {
6635      "type": "PATTERN",
6636      "value": "[\\s\\p{Zs}\\uFEFF\\u2028\\u2029\\u2060\\u200B]"
6637    }
6638  ],
6639  "conflicts": [
6640    [
6641      "primary_expression",
6642      "_property_name"
6643    ],
6644    [
6645      "primary_expression",
6646      "_property_name",
6647      "arrow_function"
6648    ],
6649    [
6650      "primary_expression",
6651      "arrow_function"
6652    ],
6653    [
6654      "primary_expression",
6655      "method_definition"
6656    ],
6657    [
6658      "primary_expression",
6659      "rest_pattern"
6660    ],
6661    [
6662      "primary_expression",
6663      "pattern"
6664    ],
6665    [
6666      "primary_expression",
6667      "_for_header"
6668    ],
6669    [
6670      "array",
6671      "array_pattern"
6672    ],
6673    [
6674      "object",
6675      "object_pattern"
6676    ],
6677    [
6678      "assignment_expression",
6679      "pattern"
6680    ],
6681    [
6682      "assignment_expression",
6683      "object_assignment_pattern"
6684    ],
6685    [
6686      "labeled_statement",
6687      "_property_name"
6688    ],
6689    [
6690      "computed_property_name",
6691      "array"
6692    ],
6693    [
6694      "binary_expression",
6695      "_initializer"
6696    ]
6697  ],
6698  "precedences": [
6699    [
6700      {
6701        "type": "STRING",
6702        "value": "member"
6703      },
6704      {
6705        "type": "STRING",
6706        "value": "call"
6707      },
6708      {
6709        "type": "SYMBOL",
6710        "name": "update_expression"
6711      },
6712      {
6713        "type": "STRING",
6714        "value": "unary_void"
6715      },
6716      {
6717        "type": "STRING",
6718        "value": "binary_exp"
6719      },
6720      {
6721        "type": "STRING",
6722        "value": "binary_times"
6723      },
6724      {
6725        "type": "STRING",
6726        "value": "binary_plus"
6727      },
6728      {
6729        "type": "STRING",
6730        "value": "binary_shift"
6731      },
6732      {
6733        "type": "STRING",
6734        "value": "binary_compare"
6735      },
6736      {
6737        "type": "STRING",
6738        "value": "binary_relation"
6739      },
6740      {
6741        "type": "STRING",
6742        "value": "binary_equality"
6743      },
6744      {
6745        "type": "STRING",
6746        "value": "bitwise_and"
6747      },
6748      {
6749        "type": "STRING",
6750        "value": "bitwise_xor"
6751      },
6752      {
6753        "type": "STRING",
6754        "value": "bitwise_or"
6755      },
6756      {
6757        "type": "STRING",
6758        "value": "logical_and"
6759      },
6760      {
6761        "type": "STRING",
6762        "value": "logical_or"
6763      },
6764      {
6765        "type": "STRING",
6766        "value": "ternary"
6767      },
6768      {
6769        "type": "SYMBOL",
6770        "name": "sequence_expression"
6771      },
6772      {
6773        "type": "SYMBOL",
6774        "name": "arrow_function"
6775      }
6776    ],
6777    [
6778      {
6779        "type": "STRING",
6780        "value": "assign"
6781      },
6782      {
6783        "type": "SYMBOL",
6784        "name": "primary_expression"
6785      }
6786    ],
6787    [
6788      {
6789        "type": "STRING",
6790        "value": "member"
6791      },
6792      {
6793        "type": "STRING",
6794        "value": "new"
6795      },
6796      {
6797        "type": "STRING",
6798        "value": "call"
6799      },
6800      {
6801        "type": "SYMBOL",
6802        "name": "expression"
6803      }
6804    ],
6805    [
6806      {
6807        "type": "STRING",
6808        "value": "declaration"
6809      },
6810      {
6811        "type": "STRING",
6812        "value": "literal"
6813      }
6814    ],
6815    [
6816      {
6817        "type": "SYMBOL",
6818        "name": "primary_expression"
6819      },
6820      {
6821        "type": "SYMBOL",
6822        "name": "statement_block"
6823      },
6824      {
6825        "type": "STRING",
6826        "value": "object"
6827      }
6828    ],
6829    [
6830      {
6831        "type": "SYMBOL",
6832        "name": "import_statement"
6833      },
6834      {
6835        "type": "SYMBOL",
6836        "name": "import"
6837      }
6838    ],
6839    [
6840      {
6841        "type": "SYMBOL",
6842        "name": "export_statement"
6843      },
6844      {
6845        "type": "SYMBOL",
6846        "name": "primary_expression"
6847      }
6848    ],
6849    [
6850      {
6851        "type": "SYMBOL",
6852        "name": "lexical_declaration"
6853      },
6854      {
6855        "type": "SYMBOL",
6856        "name": "primary_expression"
6857      }
6858    ]
6859  ],
6860  "externals": [
6861    {
6862      "type": "SYMBOL",
6863      "name": "_automatic_semicolon"
6864    },
6865    {
6866      "type": "SYMBOL",
6867      "name": "_template_chars"
6868    },
6869    {
6870      "type": "SYMBOL",
6871      "name": "_ternary_qmark"
6872    },
6873    {
6874      "type": "SYMBOL",
6875      "name": "html_comment"
6876    },
6877    {
6878      "type": "STRING",
6879      "value": "||"
6880    },
6881    {
6882      "type": "SYMBOL",
6883      "name": "escape_sequence"
6884    },
6885    {
6886      "type": "SYMBOL",
6887      "name": "regex_pattern"
6888    }
6889  ],
6890  "inline": [
6891    "_call_signature",
6892    "_formal_parameter",
6893    "statement",
6894    "_expressions",
6895    "_semicolon",
6896    "_identifier",
6897    "_reserved_identifier",
6898    "_jsx_attribute",
6899    "_jsx_element_name",
6900    "_jsx_child",
6901    "_jsx_element",
6902    "_jsx_attribute_name",
6903    "_jsx_attribute_value",
6904    "_jsx_identifier",
6905    "_lhs_expression"
6906  ],
6907  "supertypes": [
6908    "statement",
6909    "declaration",
6910    "expression",
6911    "primary_expression",
6912    "pattern"
6913  ]
6914}