aboutsummaryrefslogtreecommitdiff
path: root/vendor/tree-sitter-javascript/src/grammar.json
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/tree-sitter-javascript/src/grammar.json')
-rw-r--r--vendor/tree-sitter-javascript/src/grammar.json6914
1 files changed, 6914 insertions, 0 deletions
diff --git a/vendor/tree-sitter-javascript/src/grammar.json b/vendor/tree-sitter-javascript/src/grammar.json
new file mode 100644
index 0000000..7168bb4
--- /dev/null
+++ b/vendor/tree-sitter-javascript/src/grammar.json
@@ -0,0 +1,6914 @@
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}