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