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": "SYMBOL",
30          "name": "_simple_statement"
31        },
32        {
33          "type": "CHOICE",
34          "members": [
35            {
36              "type": "REPEAT",
37              "content": {
38                "type": "SEQ",
39                "members": [
40                  {
41                    "type": "SYMBOL",
42                    "name": "_semicolon"
43                  },
44                  {
45                    "type": "SYMBOL",
46                    "name": "_simple_statement"
47                  }
48                ]
49              }
50            },
51            {
52              "type": "BLANK"
53            }
54          ]
55        },
56        {
57          "type": "CHOICE",
58          "members": [
59            {
60              "type": "SYMBOL",
61              "name": "_semicolon"
62            },
63            {
64              "type": "BLANK"
65            }
66          ]
67        },
68        {
69          "type": "SYMBOL",
70          "name": "_newline"
71        }
72      ]
73    },
74    "_simple_statement": {
75      "type": "CHOICE",
76      "members": [
77        {
78          "type": "SYMBOL",
79          "name": "future_import_statement"
80        },
81        {
82          "type": "SYMBOL",
83          "name": "import_statement"
84        },
85        {
86          "type": "SYMBOL",
87          "name": "import_from_statement"
88        },
89        {
90          "type": "SYMBOL",
91          "name": "print_statement"
92        },
93        {
94          "type": "SYMBOL",
95          "name": "assert_statement"
96        },
97        {
98          "type": "SYMBOL",
99          "name": "expression_statement"
100        },
101        {
102          "type": "SYMBOL",
103          "name": "return_statement"
104        },
105        {
106          "type": "SYMBOL",
107          "name": "delete_statement"
108        },
109        {
110          "type": "SYMBOL",
111          "name": "raise_statement"
112        },
113        {
114          "type": "SYMBOL",
115          "name": "pass_statement"
116        },
117        {
118          "type": "SYMBOL",
119          "name": "break_statement"
120        },
121        {
122          "type": "SYMBOL",
123          "name": "continue_statement"
124        },
125        {
126          "type": "SYMBOL",
127          "name": "global_statement"
128        },
129        {
130          "type": "SYMBOL",
131          "name": "nonlocal_statement"
132        },
133        {
134          "type": "SYMBOL",
135          "name": "exec_statement"
136        }
137      ]
138    },
139    "import_statement": {
140      "type": "SEQ",
141      "members": [
142        {
143          "type": "STRING",
144          "value": "import"
145        },
146        {
147          "type": "SYMBOL",
148          "name": "_import_list"
149        }
150      ]
151    },
152    "import_prefix": {
153      "type": "REPEAT1",
154      "content": {
155        "type": "STRING",
156        "value": "."
157      }
158    },
159    "relative_import": {
160      "type": "SEQ",
161      "members": [
162        {
163          "type": "SYMBOL",
164          "name": "import_prefix"
165        },
166        {
167          "type": "CHOICE",
168          "members": [
169            {
170              "type": "SYMBOL",
171              "name": "dotted_name"
172            },
173            {
174              "type": "BLANK"
175            }
176          ]
177        }
178      ]
179    },
180    "future_import_statement": {
181      "type": "SEQ",
182      "members": [
183        {
184          "type": "STRING",
185          "value": "from"
186        },
187        {
188          "type": "STRING",
189          "value": "__future__"
190        },
191        {
192          "type": "STRING",
193          "value": "import"
194        },
195        {
196          "type": "CHOICE",
197          "members": [
198            {
199              "type": "SYMBOL",
200              "name": "_import_list"
201            },
202            {
203              "type": "SEQ",
204              "members": [
205                {
206                  "type": "STRING",
207                  "value": "("
208                },
209                {
210                  "type": "SYMBOL",
211                  "name": "_import_list"
212                },
213                {
214                  "type": "STRING",
215                  "value": ")"
216                }
217              ]
218            }
219          ]
220        }
221      ]
222    },
223    "import_from_statement": {
224      "type": "SEQ",
225      "members": [
226        {
227          "type": "STRING",
228          "value": "from"
229        },
230        {
231          "type": "FIELD",
232          "name": "module_name",
233          "content": {
234            "type": "CHOICE",
235            "members": [
236              {
237                "type": "SYMBOL",
238                "name": "relative_import"
239              },
240              {
241                "type": "SYMBOL",
242                "name": "dotted_name"
243              }
244            ]
245          }
246        },
247        {
248          "type": "STRING",
249          "value": "import"
250        },
251        {
252          "type": "CHOICE",
253          "members": [
254            {
255              "type": "SYMBOL",
256              "name": "wildcard_import"
257            },
258            {
259              "type": "SYMBOL",
260              "name": "_import_list"
261            },
262            {
263              "type": "SEQ",
264              "members": [
265                {
266                  "type": "STRING",
267                  "value": "("
268                },
269                {
270                  "type": "SYMBOL",
271                  "name": "_import_list"
272                },
273                {
274                  "type": "STRING",
275                  "value": ")"
276                }
277              ]
278            }
279          ]
280        }
281      ]
282    },
283    "_import_list": {
284      "type": "SEQ",
285      "members": [
286        {
287          "type": "SEQ",
288          "members": [
289            {
290              "type": "FIELD",
291              "name": "name",
292              "content": {
293                "type": "CHOICE",
294                "members": [
295                  {
296                    "type": "SYMBOL",
297                    "name": "dotted_name"
298                  },
299                  {
300                    "type": "SYMBOL",
301                    "name": "aliased_import"
302                  }
303                ]
304              }
305            },
306            {
307              "type": "REPEAT",
308              "content": {
309                "type": "SEQ",
310                "members": [
311                  {
312                    "type": "STRING",
313                    "value": ","
314                  },
315                  {
316                    "type": "FIELD",
317                    "name": "name",
318                    "content": {
319                      "type": "CHOICE",
320                      "members": [
321                        {
322                          "type": "SYMBOL",
323                          "name": "dotted_name"
324                        },
325                        {
326                          "type": "SYMBOL",
327                          "name": "aliased_import"
328                        }
329                      ]
330                    }
331                  }
332                ]
333              }
334            }
335          ]
336        },
337        {
338          "type": "CHOICE",
339          "members": [
340            {
341              "type": "STRING",
342              "value": ","
343            },
344            {
345              "type": "BLANK"
346            }
347          ]
348        }
349      ]
350    },
351    "aliased_import": {
352      "type": "SEQ",
353      "members": [
354        {
355          "type": "FIELD",
356          "name": "name",
357          "content": {
358            "type": "SYMBOL",
359            "name": "dotted_name"
360          }
361        },
362        {
363          "type": "STRING",
364          "value": "as"
365        },
366        {
367          "type": "FIELD",
368          "name": "alias",
369          "content": {
370            "type": "SYMBOL",
371            "name": "identifier"
372          }
373        }
374      ]
375    },
376    "wildcard_import": {
377      "type": "STRING",
378      "value": "*"
379    },
380    "print_statement": {
381      "type": "CHOICE",
382      "members": [
383        {
384          "type": "PREC",
385          "value": 1,
386          "content": {
387            "type": "SEQ",
388            "members": [
389              {
390                "type": "STRING",
391                "value": "print"
392              },
393              {
394                "type": "SYMBOL",
395                "name": "chevron"
396              },
397              {
398                "type": "REPEAT",
399                "content": {
400                  "type": "SEQ",
401                  "members": [
402                    {
403                      "type": "STRING",
404                      "value": ","
405                    },
406                    {
407                      "type": "FIELD",
408                      "name": "argument",
409                      "content": {
410                        "type": "SYMBOL",
411                        "name": "expression"
412                      }
413                    }
414                  ]
415                }
416              },
417              {
418                "type": "CHOICE",
419                "members": [
420                  {
421                    "type": "STRING",
422                    "value": ","
423                  },
424                  {
425                    "type": "BLANK"
426                  }
427                ]
428              }
429            ]
430          }
431        },
432        {
433          "type": "PREC",
434          "value": -10,
435          "content": {
436            "type": "SEQ",
437            "members": [
438              {
439                "type": "STRING",
440                "value": "print"
441              },
442              {
443                "type": "SEQ",
444                "members": [
445                  {
446                    "type": "FIELD",
447                    "name": "argument",
448                    "content": {
449                      "type": "SYMBOL",
450                      "name": "expression"
451                    }
452                  },
453                  {
454                    "type": "REPEAT",
455                    "content": {
456                      "type": "SEQ",
457                      "members": [
458                        {
459                          "type": "STRING",
460                          "value": ","
461                        },
462                        {
463                          "type": "FIELD",
464                          "name": "argument",
465                          "content": {
466                            "type": "SYMBOL",
467                            "name": "expression"
468                          }
469                        }
470                      ]
471                    }
472                  }
473                ]
474              },
475              {
476                "type": "CHOICE",
477                "members": [
478                  {
479                    "type": "STRING",
480                    "value": ","
481                  },
482                  {
483                    "type": "BLANK"
484                  }
485                ]
486              }
487            ]
488          }
489        }
490      ]
491    },
492    "chevron": {
493      "type": "SEQ",
494      "members": [
495        {
496          "type": "STRING",
497          "value": ">>"
498        },
499        {
500          "type": "SYMBOL",
501          "name": "expression"
502        }
503      ]
504    },
505    "assert_statement": {
506      "type": "SEQ",
507      "members": [
508        {
509          "type": "STRING",
510          "value": "assert"
511        },
512        {
513          "type": "SEQ",
514          "members": [
515            {
516              "type": "SYMBOL",
517              "name": "expression"
518            },
519            {
520              "type": "REPEAT",
521              "content": {
522                "type": "SEQ",
523                "members": [
524                  {
525                    "type": "STRING",
526                    "value": ","
527                  },
528                  {
529                    "type": "SYMBOL",
530                    "name": "expression"
531                  }
532                ]
533              }
534            }
535          ]
536        }
537      ]
538    },
539    "expression_statement": {
540      "type": "CHOICE",
541      "members": [
542        {
543          "type": "SYMBOL",
544          "name": "expression"
545        },
546        {
547          "type": "SEQ",
548          "members": [
549            {
550              "type": "SEQ",
551              "members": [
552                {
553                  "type": "SYMBOL",
554                  "name": "expression"
555                },
556                {
557                  "type": "REPEAT",
558                  "content": {
559                    "type": "SEQ",
560                    "members": [
561                      {
562                        "type": "STRING",
563                        "value": ","
564                      },
565                      {
566                        "type": "SYMBOL",
567                        "name": "expression"
568                      }
569                    ]
570                  }
571                }
572              ]
573            },
574            {
575              "type": "CHOICE",
576              "members": [
577                {
578                  "type": "STRING",
579                  "value": ","
580                },
581                {
582                  "type": "BLANK"
583                }
584              ]
585            }
586          ]
587        },
588        {
589          "type": "SYMBOL",
590          "name": "assignment"
591        },
592        {
593          "type": "SYMBOL",
594          "name": "augmented_assignment"
595        },
596        {
597          "type": "SYMBOL",
598          "name": "yield"
599        }
600      ]
601    },
602    "named_expression": {
603      "type": "SEQ",
604      "members": [
605        {
606          "type": "FIELD",
607          "name": "name",
608          "content": {
609            "type": "SYMBOL",
610            "name": "identifier"
611          }
612        },
613        {
614          "type": "STRING",
615          "value": ":="
616        },
617        {
618          "type": "FIELD",
619          "name": "value",
620          "content": {
621            "type": "SYMBOL",
622            "name": "expression"
623          }
624        }
625      ]
626    },
627    "return_statement": {
628      "type": "SEQ",
629      "members": [
630        {
631          "type": "STRING",
632          "value": "return"
633        },
634        {
635          "type": "CHOICE",
636          "members": [
637            {
638              "type": "SYMBOL",
639              "name": "_expressions"
640            },
641            {
642              "type": "BLANK"
643            }
644          ]
645        }
646      ]
647    },
648    "delete_statement": {
649      "type": "SEQ",
650      "members": [
651        {
652          "type": "STRING",
653          "value": "del"
654        },
655        {
656          "type": "SYMBOL",
657          "name": "_expressions"
658        }
659      ]
660    },
661    "_expressions": {
662      "type": "CHOICE",
663      "members": [
664        {
665          "type": "SYMBOL",
666          "name": "expression"
667        },
668        {
669          "type": "SYMBOL",
670          "name": "expression_list"
671        }
672      ]
673    },
674    "raise_statement": {
675      "type": "SEQ",
676      "members": [
677        {
678          "type": "STRING",
679          "value": "raise"
680        },
681        {
682          "type": "CHOICE",
683          "members": [
684            {
685              "type": "SYMBOL",
686              "name": "_expressions"
687            },
688            {
689              "type": "BLANK"
690            }
691          ]
692        },
693        {
694          "type": "CHOICE",
695          "members": [
696            {
697              "type": "SEQ",
698              "members": [
699                {
700                  "type": "STRING",
701                  "value": "from"
702                },
703                {
704                  "type": "FIELD",
705                  "name": "cause",
706                  "content": {
707                    "type": "SYMBOL",
708                    "name": "expression"
709                  }
710                }
711              ]
712            },
713            {
714              "type": "BLANK"
715            }
716          ]
717        }
718      ]
719    },
720    "pass_statement": {
721      "type": "PREC_LEFT",
722      "value": 0,
723      "content": {
724        "type": "STRING",
725        "value": "pass"
726      }
727    },
728    "break_statement": {
729      "type": "PREC_LEFT",
730      "value": 0,
731      "content": {
732        "type": "STRING",
733        "value": "break"
734      }
735    },
736    "continue_statement": {
737      "type": "PREC_LEFT",
738      "value": 0,
739      "content": {
740        "type": "STRING",
741        "value": "continue"
742      }
743    },
744    "_compound_statement": {
745      "type": "CHOICE",
746      "members": [
747        {
748          "type": "SYMBOL",
749          "name": "if_statement"
750        },
751        {
752          "type": "SYMBOL",
753          "name": "for_statement"
754        },
755        {
756          "type": "SYMBOL",
757          "name": "while_statement"
758        },
759        {
760          "type": "SYMBOL",
761          "name": "try_statement"
762        },
763        {
764          "type": "SYMBOL",
765          "name": "with_statement"
766        },
767        {
768          "type": "SYMBOL",
769          "name": "function_definition"
770        },
771        {
772          "type": "SYMBOL",
773          "name": "class_definition"
774        },
775        {
776          "type": "SYMBOL",
777          "name": "decorated_definition"
778        }
779      ]
780    },
781    "if_statement": {
782      "type": "SEQ",
783      "members": [
784        {
785          "type": "STRING",
786          "value": "if"
787        },
788        {
789          "type": "FIELD",
790          "name": "condition",
791          "content": {
792            "type": "SYMBOL",
793            "name": "expression"
794          }
795        },
796        {
797          "type": "STRING",
798          "value": ":"
799        },
800        {
801          "type": "FIELD",
802          "name": "consequence",
803          "content": {
804            "type": "SYMBOL",
805            "name": "_suite"
806          }
807        },
808        {
809          "type": "REPEAT",
810          "content": {
811            "type": "FIELD",
812            "name": "alternative",
813            "content": {
814              "type": "SYMBOL",
815              "name": "elif_clause"
816            }
817          }
818        },
819        {
820          "type": "CHOICE",
821          "members": [
822            {
823              "type": "FIELD",
824              "name": "alternative",
825              "content": {
826                "type": "SYMBOL",
827                "name": "else_clause"
828              }
829            },
830            {
831              "type": "BLANK"
832            }
833          ]
834        }
835      ]
836    },
837    "elif_clause": {
838      "type": "SEQ",
839      "members": [
840        {
841          "type": "STRING",
842          "value": "elif"
843        },
844        {
845          "type": "FIELD",
846          "name": "condition",
847          "content": {
848            "type": "SYMBOL",
849            "name": "expression"
850          }
851        },
852        {
853          "type": "STRING",
854          "value": ":"
855        },
856        {
857          "type": "FIELD",
858          "name": "consequence",
859          "content": {
860            "type": "SYMBOL",
861            "name": "_suite"
862          }
863        }
864      ]
865    },
866    "else_clause": {
867      "type": "SEQ",
868      "members": [
869        {
870          "type": "STRING",
871          "value": "else"
872        },
873        {
874          "type": "STRING",
875          "value": ":"
876        },
877        {
878          "type": "FIELD",
879          "name": "body",
880          "content": {
881            "type": "SYMBOL",
882            "name": "_suite"
883          }
884        }
885      ]
886    },
887    "for_statement": {
888      "type": "SEQ",
889      "members": [
890        {
891          "type": "CHOICE",
892          "members": [
893            {
894              "type": "STRING",
895              "value": "async"
896            },
897            {
898              "type": "BLANK"
899            }
900          ]
901        },
902        {
903          "type": "STRING",
904          "value": "for"
905        },
906        {
907          "type": "FIELD",
908          "name": "left",
909          "content": {
910            "type": "SYMBOL",
911            "name": "_left_hand_side"
912          }
913        },
914        {
915          "type": "STRING",
916          "value": "in"
917        },
918        {
919          "type": "FIELD",
920          "name": "right",
921          "content": {
922            "type": "SYMBOL",
923            "name": "_expressions"
924          }
925        },
926        {
927          "type": "STRING",
928          "value": ":"
929        },
930        {
931          "type": "FIELD",
932          "name": "body",
933          "content": {
934            "type": "SYMBOL",
935            "name": "_suite"
936          }
937        },
938        {
939          "type": "FIELD",
940          "name": "alternative",
941          "content": {
942            "type": "CHOICE",
943            "members": [
944              {
945                "type": "SYMBOL",
946                "name": "else_clause"
947              },
948              {
949                "type": "BLANK"
950              }
951            ]
952          }
953        }
954      ]
955    },
956    "while_statement": {
957      "type": "SEQ",
958      "members": [
959        {
960          "type": "STRING",
961          "value": "while"
962        },
963        {
964          "type": "FIELD",
965          "name": "condition",
966          "content": {
967            "type": "SYMBOL",
968            "name": "expression"
969          }
970        },
971        {
972          "type": "STRING",
973          "value": ":"
974        },
975        {
976          "type": "FIELD",
977          "name": "body",
978          "content": {
979            "type": "SYMBOL",
980            "name": "_suite"
981          }
982        },
983        {
984          "type": "CHOICE",
985          "members": [
986            {
987              "type": "FIELD",
988              "name": "alternative",
989              "content": {
990                "type": "SYMBOL",
991                "name": "else_clause"
992              }
993            },
994            {
995              "type": "BLANK"
996            }
997          ]
998        }
999      ]
1000    },
1001    "try_statement": {
1002      "type": "SEQ",
1003      "members": [
1004        {
1005          "type": "STRING",
1006          "value": "try"
1007        },
1008        {
1009          "type": "STRING",
1010          "value": ":"
1011        },
1012        {
1013          "type": "FIELD",
1014          "name": "body",
1015          "content": {
1016            "type": "SYMBOL",
1017            "name": "_suite"
1018          }
1019        },
1020        {
1021          "type": "CHOICE",
1022          "members": [
1023            {
1024              "type": "SEQ",
1025              "members": [
1026                {
1027                  "type": "REPEAT1",
1028                  "content": {
1029                    "type": "SYMBOL",
1030                    "name": "except_clause"
1031                  }
1032                },
1033                {
1034                  "type": "CHOICE",
1035                  "members": [
1036                    {
1037                      "type": "SYMBOL",
1038                      "name": "else_clause"
1039                    },
1040                    {
1041                      "type": "BLANK"
1042                    }
1043                  ]
1044                },
1045                {
1046                  "type": "CHOICE",
1047                  "members": [
1048                    {
1049                      "type": "SYMBOL",
1050                      "name": "finally_clause"
1051                    },
1052                    {
1053                      "type": "BLANK"
1054                    }
1055                  ]
1056                }
1057              ]
1058            },
1059            {
1060              "type": "SYMBOL",
1061              "name": "finally_clause"
1062            }
1063          ]
1064        }
1065      ]
1066    },
1067    "except_clause": {
1068      "type": "SEQ",
1069      "members": [
1070        {
1071          "type": "STRING",
1072          "value": "except"
1073        },
1074        {
1075          "type": "CHOICE",
1076          "members": [
1077            {
1078              "type": "SEQ",
1079              "members": [
1080                {
1081                  "type": "SYMBOL",
1082                  "name": "expression"
1083                },
1084                {
1085                  "type": "CHOICE",
1086                  "members": [
1087                    {
1088                      "type": "SEQ",
1089                      "members": [
1090                        {
1091                          "type": "CHOICE",
1092                          "members": [
1093                            {
1094                              "type": "STRING",
1095                              "value": "as"
1096                            },
1097                            {
1098                              "type": "STRING",
1099                              "value": ","
1100                            }
1101                          ]
1102                        },
1103                        {
1104                          "type": "SYMBOL",
1105                          "name": "expression"
1106                        }
1107                      ]
1108                    },
1109                    {
1110                      "type": "BLANK"
1111                    }
1112                  ]
1113                }
1114              ]
1115            },
1116            {
1117              "type": "BLANK"
1118            }
1119          ]
1120        },
1121        {
1122          "type": "STRING",
1123          "value": ":"
1124        },
1125        {
1126          "type": "SYMBOL",
1127          "name": "_suite"
1128        }
1129      ]
1130    },
1131    "finally_clause": {
1132      "type": "SEQ",
1133      "members": [
1134        {
1135          "type": "STRING",
1136          "value": "finally"
1137        },
1138        {
1139          "type": "STRING",
1140          "value": ":"
1141        },
1142        {
1143          "type": "SYMBOL",
1144          "name": "_suite"
1145        }
1146      ]
1147    },
1148    "with_statement": {
1149      "type": "SEQ",
1150      "members": [
1151        {
1152          "type": "CHOICE",
1153          "members": [
1154            {
1155              "type": "STRING",
1156              "value": "async"
1157            },
1158            {
1159              "type": "BLANK"
1160            }
1161          ]
1162        },
1163        {
1164          "type": "STRING",
1165          "value": "with"
1166        },
1167        {
1168          "type": "SYMBOL",
1169          "name": "with_clause"
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    },
1185    "with_clause": {
1186      "type": "CHOICE",
1187      "members": [
1188        {
1189          "type": "SEQ",
1190          "members": [
1191            {
1192              "type": "SYMBOL",
1193              "name": "with_item"
1194            },
1195            {
1196              "type": "REPEAT",
1197              "content": {
1198                "type": "SEQ",
1199                "members": [
1200                  {
1201                    "type": "STRING",
1202                    "value": ","
1203                  },
1204                  {
1205                    "type": "SYMBOL",
1206                    "name": "with_item"
1207                  }
1208                ]
1209              }
1210            }
1211          ]
1212        },
1213        {
1214          "type": "SEQ",
1215          "members": [
1216            {
1217              "type": "STRING",
1218              "value": "("
1219            },
1220            {
1221              "type": "SEQ",
1222              "members": [
1223                {
1224                  "type": "SYMBOL",
1225                  "name": "with_item"
1226                },
1227                {
1228                  "type": "REPEAT",
1229                  "content": {
1230                    "type": "SEQ",
1231                    "members": [
1232                      {
1233                        "type": "STRING",
1234                        "value": ","
1235                      },
1236                      {
1237                        "type": "SYMBOL",
1238                        "name": "with_item"
1239                      }
1240                    ]
1241                  }
1242                }
1243              ]
1244            },
1245            {
1246              "type": "STRING",
1247              "value": ")"
1248            }
1249          ]
1250        }
1251      ]
1252    },
1253    "with_item": {
1254      "type": "PREC_DYNAMIC",
1255      "value": -1,
1256      "content": {
1257        "type": "SEQ",
1258        "members": [
1259          {
1260            "type": "FIELD",
1261            "name": "value",
1262            "content": {
1263              "type": "SYMBOL",
1264              "name": "expression"
1265            }
1266          },
1267          {
1268            "type": "CHOICE",
1269            "members": [
1270              {
1271                "type": "SEQ",
1272                "members": [
1273                  {
1274                    "type": "STRING",
1275                    "value": "as"
1276                  },
1277                  {
1278                    "type": "FIELD",
1279                    "name": "alias",
1280                    "content": {
1281                      "type": "SYMBOL",
1282                      "name": "pattern"
1283                    }
1284                  }
1285                ]
1286              },
1287              {
1288                "type": "BLANK"
1289              }
1290            ]
1291          }
1292        ]
1293      }
1294    },
1295    "function_definition": {
1296      "type": "SEQ",
1297      "members": [
1298        {
1299          "type": "CHOICE",
1300          "members": [
1301            {
1302              "type": "STRING",
1303              "value": "async"
1304            },
1305            {
1306              "type": "BLANK"
1307            }
1308          ]
1309        },
1310        {
1311          "type": "STRING",
1312          "value": "def"
1313        },
1314        {
1315          "type": "FIELD",
1316          "name": "name",
1317          "content": {
1318            "type": "SYMBOL",
1319            "name": "identifier"
1320          }
1321        },
1322        {
1323          "type": "FIELD",
1324          "name": "parameters",
1325          "content": {
1326            "type": "SYMBOL",
1327            "name": "parameters"
1328          }
1329        },
1330        {
1331          "type": "CHOICE",
1332          "members": [
1333            {
1334              "type": "SEQ",
1335              "members": [
1336                {
1337                  "type": "STRING",
1338                  "value": "->"
1339                },
1340                {
1341                  "type": "FIELD",
1342                  "name": "return_type",
1343                  "content": {
1344                    "type": "SYMBOL",
1345                    "name": "type"
1346                  }
1347                }
1348              ]
1349            },
1350            {
1351              "type": "BLANK"
1352            }
1353          ]
1354        },
1355        {
1356          "type": "STRING",
1357          "value": ":"
1358        },
1359        {
1360          "type": "FIELD",
1361          "name": "body",
1362          "content": {
1363            "type": "SYMBOL",
1364            "name": "_suite"
1365          }
1366        }
1367      ]
1368    },
1369    "parameters": {
1370      "type": "SEQ",
1371      "members": [
1372        {
1373          "type": "STRING",
1374          "value": "("
1375        },
1376        {
1377          "type": "CHOICE",
1378          "members": [
1379            {
1380              "type": "SYMBOL",
1381              "name": "_parameters"
1382            },
1383            {
1384              "type": "BLANK"
1385            }
1386          ]
1387        },
1388        {
1389          "type": "STRING",
1390          "value": ")"
1391        }
1392      ]
1393    },
1394    "lambda_parameters": {
1395      "type": "SYMBOL",
1396      "name": "_parameters"
1397    },
1398    "list_splat": {
1399      "type": "SEQ",
1400      "members": [
1401        {
1402          "type": "STRING",
1403          "value": "*"
1404        },
1405        {
1406          "type": "SYMBOL",
1407          "name": "expression"
1408        }
1409      ]
1410    },
1411    "dictionary_splat": {
1412      "type": "SEQ",
1413      "members": [
1414        {
1415          "type": "STRING",
1416          "value": "**"
1417        },
1418        {
1419          "type": "SYMBOL",
1420          "name": "expression"
1421        }
1422      ]
1423    },
1424    "global_statement": {
1425      "type": "SEQ",
1426      "members": [
1427        {
1428          "type": "STRING",
1429          "value": "global"
1430        },
1431        {
1432          "type": "SEQ",
1433          "members": [
1434            {
1435              "type": "SYMBOL",
1436              "name": "identifier"
1437            },
1438            {
1439              "type": "REPEAT",
1440              "content": {
1441                "type": "SEQ",
1442                "members": [
1443                  {
1444                    "type": "STRING",
1445                    "value": ","
1446                  },
1447                  {
1448                    "type": "SYMBOL",
1449                    "name": "identifier"
1450                  }
1451                ]
1452              }
1453            }
1454          ]
1455        }
1456      ]
1457    },
1458    "nonlocal_statement": {
1459      "type": "SEQ",
1460      "members": [
1461        {
1462          "type": "STRING",
1463          "value": "nonlocal"
1464        },
1465        {
1466          "type": "SEQ",
1467          "members": [
1468            {
1469              "type": "SYMBOL",
1470              "name": "identifier"
1471            },
1472            {
1473              "type": "REPEAT",
1474              "content": {
1475                "type": "SEQ",
1476                "members": [
1477                  {
1478                    "type": "STRING",
1479                    "value": ","
1480                  },
1481                  {
1482                    "type": "SYMBOL",
1483                    "name": "identifier"
1484                  }
1485                ]
1486              }
1487            }
1488          ]
1489        }
1490      ]
1491    },
1492    "exec_statement": {
1493      "type": "SEQ",
1494      "members": [
1495        {
1496          "type": "STRING",
1497          "value": "exec"
1498        },
1499        {
1500          "type": "FIELD",
1501          "name": "code",
1502          "content": {
1503            "type": "SYMBOL",
1504            "name": "string"
1505          }
1506        },
1507        {
1508          "type": "CHOICE",
1509          "members": [
1510            {
1511              "type": "SEQ",
1512              "members": [
1513                {
1514                  "type": "STRING",
1515                  "value": "in"
1516                },
1517                {
1518                  "type": "SEQ",
1519                  "members": [
1520                    {
1521                      "type": "SYMBOL",
1522                      "name": "expression"
1523                    },
1524                    {
1525                      "type": "REPEAT",
1526                      "content": {
1527                        "type": "SEQ",
1528                        "members": [
1529                          {
1530                            "type": "STRING",
1531                            "value": ","
1532                          },
1533                          {
1534                            "type": "SYMBOL",
1535                            "name": "expression"
1536                          }
1537                        ]
1538                      }
1539                    }
1540                  ]
1541                }
1542              ]
1543            },
1544            {
1545              "type": "BLANK"
1546            }
1547          ]
1548        }
1549      ]
1550    },
1551    "class_definition": {
1552      "type": "SEQ",
1553      "members": [
1554        {
1555          "type": "STRING",
1556          "value": "class"
1557        },
1558        {
1559          "type": "FIELD",
1560          "name": "name",
1561          "content": {
1562            "type": "SYMBOL",
1563            "name": "identifier"
1564          }
1565        },
1566        {
1567          "type": "FIELD",
1568          "name": "superclasses",
1569          "content": {
1570            "type": "CHOICE",
1571            "members": [
1572              {
1573                "type": "SYMBOL",
1574                "name": "argument_list"
1575              },
1576              {
1577                "type": "BLANK"
1578              }
1579            ]
1580          }
1581        },
1582        {
1583          "type": "STRING",
1584          "value": ":"
1585        },
1586        {
1587          "type": "FIELD",
1588          "name": "body",
1589          "content": {
1590            "type": "SYMBOL",
1591            "name": "_suite"
1592          }
1593        }
1594      ]
1595    },
1596    "parenthesized_list_splat": {
1597      "type": "PREC",
1598      "value": 1,
1599      "content": {
1600        "type": "SEQ",
1601        "members": [
1602          {
1603            "type": "STRING",
1604            "value": "("
1605          },
1606          {
1607            "type": "CHOICE",
1608            "members": [
1609              {
1610                "type": "ALIAS",
1611                "content": {
1612                  "type": "SYMBOL",
1613                  "name": "parenthesized_list_splat"
1614                },
1615                "named": true,
1616                "value": "parenthesized_expression"
1617              },
1618              {
1619                "type": "SYMBOL",
1620                "name": "list_splat"
1621              }
1622            ]
1623          },
1624          {
1625            "type": "STRING",
1626            "value": ")"
1627          }
1628        ]
1629      }
1630    },
1631    "argument_list": {
1632      "type": "SEQ",
1633      "members": [
1634        {
1635          "type": "STRING",
1636          "value": "("
1637        },
1638        {
1639          "type": "CHOICE",
1640          "members": [
1641            {
1642              "type": "SEQ",
1643              "members": [
1644                {
1645                  "type": "CHOICE",
1646                  "members": [
1647                    {
1648                      "type": "SYMBOL",
1649                      "name": "expression"
1650                    },
1651                    {
1652                      "type": "SYMBOL",
1653                      "name": "list_splat"
1654                    },
1655                    {
1656                      "type": "SYMBOL",
1657                      "name": "dictionary_splat"
1658                    },
1659                    {
1660                      "type": "ALIAS",
1661                      "content": {
1662                        "type": "SYMBOL",
1663                        "name": "parenthesized_list_splat"
1664                      },
1665                      "named": true,
1666                      "value": "parenthesized_expression"
1667                    },
1668                    {
1669                      "type": "SYMBOL",
1670                      "name": "keyword_argument"
1671                    }
1672                  ]
1673                },
1674                {
1675                  "type": "REPEAT",
1676                  "content": {
1677                    "type": "SEQ",
1678                    "members": [
1679                      {
1680                        "type": "STRING",
1681                        "value": ","
1682                      },
1683                      {
1684                        "type": "CHOICE",
1685                        "members": [
1686                          {
1687                            "type": "SYMBOL",
1688                            "name": "expression"
1689                          },
1690                          {
1691                            "type": "SYMBOL",
1692                            "name": "list_splat"
1693                          },
1694                          {
1695                            "type": "SYMBOL",
1696                            "name": "dictionary_splat"
1697                          },
1698                          {
1699                            "type": "ALIAS",
1700                            "content": {
1701                              "type": "SYMBOL",
1702                              "name": "parenthesized_list_splat"
1703                            },
1704                            "named": true,
1705                            "value": "parenthesized_expression"
1706                          },
1707                          {
1708                            "type": "SYMBOL",
1709                            "name": "keyword_argument"
1710                          }
1711                        ]
1712                      }
1713                    ]
1714                  }
1715                }
1716              ]
1717            },
1718            {
1719              "type": "BLANK"
1720            }
1721          ]
1722        },
1723        {
1724          "type": "CHOICE",
1725          "members": [
1726            {
1727              "type": "STRING",
1728              "value": ","
1729            },
1730            {
1731              "type": "BLANK"
1732            }
1733          ]
1734        },
1735        {
1736          "type": "STRING",
1737          "value": ")"
1738        }
1739      ]
1740    },
1741    "decorated_definition": {
1742      "type": "SEQ",
1743      "members": [
1744        {
1745          "type": "REPEAT1",
1746          "content": {
1747            "type": "SYMBOL",
1748            "name": "decorator"
1749          }
1750        },
1751        {
1752          "type": "FIELD",
1753          "name": "definition",
1754          "content": {
1755            "type": "CHOICE",
1756            "members": [
1757              {
1758                "type": "SYMBOL",
1759                "name": "class_definition"
1760              },
1761              {
1762                "type": "SYMBOL",
1763                "name": "function_definition"
1764              }
1765            ]
1766          }
1767        }
1768      ]
1769    },
1770    "decorator": {
1771      "type": "SEQ",
1772      "members": [
1773        {
1774          "type": "STRING",
1775          "value": "@"
1776        },
1777        {
1778          "type": "SYMBOL",
1779          "name": "primary_expression"
1780        },
1781        {
1782          "type": "SYMBOL",
1783          "name": "_newline"
1784        }
1785      ]
1786    },
1787    "_suite": {
1788      "type": "CHOICE",
1789      "members": [
1790        {
1791          "type": "ALIAS",
1792          "content": {
1793            "type": "SYMBOL",
1794            "name": "_simple_statements"
1795          },
1796          "named": true,
1797          "value": "block"
1798        },
1799        {
1800          "type": "SEQ",
1801          "members": [
1802            {
1803              "type": "SYMBOL",
1804              "name": "_indent"
1805            },
1806            {
1807              "type": "SYMBOL",
1808              "name": "block"
1809            }
1810          ]
1811        },
1812        {
1813          "type": "ALIAS",
1814          "content": {
1815            "type": "SYMBOL",
1816            "name": "_newline"
1817          },
1818          "named": true,
1819          "value": "block"
1820        }
1821      ]
1822    },
1823    "block": {
1824      "type": "SEQ",
1825      "members": [
1826        {
1827          "type": "REPEAT",
1828          "content": {
1829            "type": "SYMBOL",
1830            "name": "_statement"
1831          }
1832        },
1833        {
1834          "type": "SYMBOL",
1835          "name": "_dedent"
1836        }
1837      ]
1838    },
1839    "expression_list": {
1840      "type": "PREC_RIGHT",
1841      "value": 0,
1842      "content": {
1843        "type": "SEQ",
1844        "members": [
1845          {
1846            "type": "SYMBOL",
1847            "name": "expression"
1848          },
1849          {
1850            "type": "CHOICE",
1851            "members": [
1852              {
1853                "type": "STRING",
1854                "value": ","
1855              },
1856              {
1857                "type": "SEQ",
1858                "members": [
1859                  {
1860                    "type": "REPEAT1",
1861                    "content": {
1862                      "type": "SEQ",
1863                      "members": [
1864                        {
1865                          "type": "STRING",
1866                          "value": ","
1867                        },
1868                        {
1869                          "type": "SYMBOL",
1870                          "name": "expression"
1871                        }
1872                      ]
1873                    }
1874                  },
1875                  {
1876                    "type": "CHOICE",
1877                    "members": [
1878                      {
1879                        "type": "STRING",
1880                        "value": ","
1881                      },
1882                      {
1883                        "type": "BLANK"
1884                      }
1885                    ]
1886                  }
1887                ]
1888              }
1889            ]
1890          }
1891        ]
1892      }
1893    },
1894    "dotted_name": {
1895      "type": "SEQ",
1896      "members": [
1897        {
1898          "type": "SYMBOL",
1899          "name": "identifier"
1900        },
1901        {
1902          "type": "REPEAT",
1903          "content": {
1904            "type": "SEQ",
1905            "members": [
1906              {
1907                "type": "STRING",
1908                "value": "."
1909              },
1910              {
1911                "type": "SYMBOL",
1912                "name": "identifier"
1913              }
1914            ]
1915          }
1916        }
1917      ]
1918    },
1919    "_parameters": {
1920      "type": "SEQ",
1921      "members": [
1922        {
1923          "type": "SEQ",
1924          "members": [
1925            {
1926              "type": "SYMBOL",
1927              "name": "parameter"
1928            },
1929            {
1930              "type": "REPEAT",
1931              "content": {
1932                "type": "SEQ",
1933                "members": [
1934                  {
1935                    "type": "STRING",
1936                    "value": ","
1937                  },
1938                  {
1939                    "type": "SYMBOL",
1940                    "name": "parameter"
1941                  }
1942                ]
1943              }
1944            }
1945          ]
1946        },
1947        {
1948          "type": "CHOICE",
1949          "members": [
1950            {
1951              "type": "STRING",
1952              "value": ","
1953            },
1954            {
1955              "type": "BLANK"
1956            }
1957          ]
1958        }
1959      ]
1960    },
1961    "_patterns": {
1962      "type": "SEQ",
1963      "members": [
1964        {
1965          "type": "SEQ",
1966          "members": [
1967            {
1968              "type": "SYMBOL",
1969              "name": "pattern"
1970            },
1971            {
1972              "type": "REPEAT",
1973              "content": {
1974                "type": "SEQ",
1975                "members": [
1976                  {
1977                    "type": "STRING",
1978                    "value": ","
1979                  },
1980                  {
1981                    "type": "SYMBOL",
1982                    "name": "pattern"
1983                  }
1984                ]
1985              }
1986            }
1987          ]
1988        },
1989        {
1990          "type": "CHOICE",
1991          "members": [
1992            {
1993              "type": "STRING",
1994              "value": ","
1995            },
1996            {
1997              "type": "BLANK"
1998            }
1999          ]
2000        }
2001      ]
2002    },
2003    "parameter": {
2004      "type": "CHOICE",
2005      "members": [
2006        {
2007          "type": "SYMBOL",
2008          "name": "identifier"
2009        },
2010        {
2011          "type": "SYMBOL",
2012          "name": "typed_parameter"
2013        },
2014        {
2015          "type": "SYMBOL",
2016          "name": "default_parameter"
2017        },
2018        {
2019          "type": "SYMBOL",
2020          "name": "typed_default_parameter"
2021        },
2022        {
2023          "type": "SYMBOL",
2024          "name": "list_splat_pattern"
2025        },
2026        {
2027          "type": "SYMBOL",
2028          "name": "tuple_pattern"
2029        },
2030        {
2031          "type": "ALIAS",
2032          "content": {
2033            "type": "STRING",
2034            "value": "*"
2035          },
2036          "named": true,
2037          "value": "list_splat_pattern"
2038        },
2039        {
2040          "type": "SYMBOL",
2041          "name": "dictionary_splat_pattern"
2042        }
2043      ]
2044    },
2045    "pattern": {
2046      "type": "CHOICE",
2047      "members": [
2048        {
2049          "type": "SYMBOL",
2050          "name": "identifier"
2051        },
2052        {
2053          "type": "SYMBOL",
2054          "name": "keyword_identifier"
2055        },
2056        {
2057          "type": "SYMBOL",
2058          "name": "subscript"
2059        },
2060        {
2061          "type": "SYMBOL",
2062          "name": "attribute"
2063        },
2064        {
2065          "type": "SYMBOL",
2066          "name": "list_splat_pattern"
2067        },
2068        {
2069          "type": "SYMBOL",
2070          "name": "tuple_pattern"
2071        },
2072        {
2073          "type": "SYMBOL",
2074          "name": "list_pattern"
2075        }
2076      ]
2077    },
2078    "tuple_pattern": {
2079      "type": "SEQ",
2080      "members": [
2081        {
2082          "type": "STRING",
2083          "value": "("
2084        },
2085        {
2086          "type": "CHOICE",
2087          "members": [
2088            {
2089              "type": "SYMBOL",
2090              "name": "_patterns"
2091            },
2092            {
2093              "type": "BLANK"
2094            }
2095          ]
2096        },
2097        {
2098          "type": "STRING",
2099          "value": ")"
2100        }
2101      ]
2102    },
2103    "list_pattern": {
2104      "type": "SEQ",
2105      "members": [
2106        {
2107          "type": "STRING",
2108          "value": "["
2109        },
2110        {
2111          "type": "CHOICE",
2112          "members": [
2113            {
2114              "type": "SYMBOL",
2115              "name": "_patterns"
2116            },
2117            {
2118              "type": "BLANK"
2119            }
2120          ]
2121        },
2122        {
2123          "type": "STRING",
2124          "value": "]"
2125        }
2126      ]
2127    },
2128    "default_parameter": {
2129      "type": "SEQ",
2130      "members": [
2131        {
2132          "type": "FIELD",
2133          "name": "name",
2134          "content": {
2135            "type": "SYMBOL",
2136            "name": "identifier"
2137          }
2138        },
2139        {
2140          "type": "STRING",
2141          "value": "="
2142        },
2143        {
2144          "type": "FIELD",
2145          "name": "value",
2146          "content": {
2147            "type": "SYMBOL",
2148            "name": "expression"
2149          }
2150        }
2151      ]
2152    },
2153    "typed_default_parameter": {
2154      "type": "PREC",
2155      "value": -1,
2156      "content": {
2157        "type": "SEQ",
2158        "members": [
2159          {
2160            "type": "FIELD",
2161            "name": "name",
2162            "content": {
2163              "type": "SYMBOL",
2164              "name": "identifier"
2165            }
2166          },
2167          {
2168            "type": "STRING",
2169            "value": ":"
2170          },
2171          {
2172            "type": "FIELD",
2173            "name": "type",
2174            "content": {
2175              "type": "SYMBOL",
2176              "name": "type"
2177            }
2178          },
2179          {
2180            "type": "STRING",
2181            "value": "="
2182          },
2183          {
2184            "type": "FIELD",
2185            "name": "value",
2186            "content": {
2187              "type": "SYMBOL",
2188              "name": "expression"
2189            }
2190          }
2191        ]
2192      }
2193    },
2194    "list_splat_pattern": {
2195      "type": "SEQ",
2196      "members": [
2197        {
2198          "type": "STRING",
2199          "value": "*"
2200        },
2201        {
2202          "type": "CHOICE",
2203          "members": [
2204            {
2205              "type": "SYMBOL",
2206              "name": "identifier"
2207            },
2208            {
2209              "type": "SYMBOL",
2210              "name": "keyword_identifier"
2211            },
2212            {
2213              "type": "SYMBOL",
2214              "name": "subscript"
2215            },
2216            {
2217              "type": "SYMBOL",
2218              "name": "attribute"
2219            }
2220          ]
2221        }
2222      ]
2223    },
2224    "dictionary_splat_pattern": {
2225      "type": "SEQ",
2226      "members": [
2227        {
2228          "type": "STRING",
2229          "value": "**"
2230        },
2231        {
2232          "type": "CHOICE",
2233          "members": [
2234            {
2235              "type": "SYMBOL",
2236              "name": "identifier"
2237            },
2238            {
2239              "type": "SYMBOL",
2240              "name": "keyword_identifier"
2241            },
2242            {
2243              "type": "SYMBOL",
2244              "name": "subscript"
2245            },
2246            {
2247              "type": "SYMBOL",
2248              "name": "attribute"
2249            }
2250          ]
2251        }
2252      ]
2253    },
2254    "_expression_within_for_in_clause": {
2255      "type": "CHOICE",
2256      "members": [
2257        {
2258          "type": "SYMBOL",
2259          "name": "expression"
2260        },
2261        {
2262          "type": "ALIAS",
2263          "content": {
2264            "type": "SYMBOL",
2265            "name": "lambda_within_for_in_clause"
2266          },
2267          "named": true,
2268          "value": "lambda"
2269        }
2270      ]
2271    },
2272    "expression": {
2273      "type": "CHOICE",
2274      "members": [
2275        {
2276          "type": "SYMBOL",
2277          "name": "comparison_operator"
2278        },
2279        {
2280          "type": "SYMBOL",
2281          "name": "not_operator"
2282        },
2283        {
2284          "type": "SYMBOL",
2285          "name": "boolean_operator"
2286        },
2287        {
2288          "type": "SYMBOL",
2289          "name": "await"
2290        },
2291        {
2292          "type": "SYMBOL",
2293          "name": "lambda"
2294        },
2295        {
2296          "type": "SYMBOL",
2297          "name": "primary_expression"
2298        },
2299        {
2300          "type": "SYMBOL",
2301          "name": "conditional_expression"
2302        },
2303        {
2304          "type": "SYMBOL",
2305          "name": "named_expression"
2306        }
2307      ]
2308    },
2309    "primary_expression": {
2310      "type": "CHOICE",
2311      "members": [
2312        {
2313          "type": "SYMBOL",
2314          "name": "binary_operator"
2315        },
2316        {
2317          "type": "SYMBOL",
2318          "name": "identifier"
2319        },
2320        {
2321          "type": "SYMBOL",
2322          "name": "keyword_identifier"
2323        },
2324        {
2325          "type": "SYMBOL",
2326          "name": "string"
2327        },
2328        {
2329          "type": "SYMBOL",
2330          "name": "concatenated_string"
2331        },
2332        {
2333          "type": "SYMBOL",
2334          "name": "integer"
2335        },
2336        {
2337          "type": "SYMBOL",
2338          "name": "float"
2339        },
2340        {
2341          "type": "SYMBOL",
2342          "name": "true"
2343        },
2344        {
2345          "type": "SYMBOL",
2346          "name": "false"
2347        },
2348        {
2349          "type": "SYMBOL",
2350          "name": "none"
2351        },
2352        {
2353          "type": "SYMBOL",
2354          "name": "unary_operator"
2355        },
2356        {
2357          "type": "SYMBOL",
2358          "name": "attribute"
2359        },
2360        {
2361          "type": "SYMBOL",
2362          "name": "subscript"
2363        },
2364        {
2365          "type": "SYMBOL",
2366          "name": "call"
2367        },
2368        {
2369          "type": "SYMBOL",
2370          "name": "list"
2371        },
2372        {
2373          "type": "SYMBOL",
2374          "name": "list_comprehension"
2375        },
2376        {
2377          "type": "SYMBOL",
2378          "name": "dictionary"
2379        },
2380        {
2381          "type": "SYMBOL",
2382          "name": "dictionary_comprehension"
2383        },
2384        {
2385          "type": "SYMBOL",
2386          "name": "set"
2387        },
2388        {
2389          "type": "SYMBOL",
2390          "name": "set_comprehension"
2391        },
2392        {
2393          "type": "SYMBOL",
2394          "name": "tuple"
2395        },
2396        {
2397          "type": "SYMBOL",
2398          "name": "parenthesized_expression"
2399        },
2400        {
2401          "type": "SYMBOL",
2402          "name": "generator_expression"
2403        },
2404        {
2405          "type": "SYMBOL",
2406          "name": "ellipsis"
2407        }
2408      ]
2409    },
2410    "not_operator": {
2411      "type": "PREC",
2412      "value": 1,
2413      "content": {
2414        "type": "SEQ",
2415        "members": [
2416          {
2417            "type": "STRING",
2418            "value": "not"
2419          },
2420          {
2421            "type": "FIELD",
2422            "name": "argument",
2423            "content": {
2424              "type": "SYMBOL",
2425              "name": "expression"
2426            }
2427          }
2428        ]
2429      }
2430    },
2431    "boolean_operator": {
2432      "type": "CHOICE",
2433      "members": [
2434        {
2435          "type": "PREC_LEFT",
2436          "value": 11,
2437          "content": {
2438            "type": "SEQ",
2439            "members": [
2440              {
2441                "type": "FIELD",
2442                "name": "left",
2443                "content": {
2444                  "type": "SYMBOL",
2445                  "name": "expression"
2446                }
2447              },
2448              {
2449                "type": "FIELD",
2450                "name": "operator",
2451                "content": {
2452                  "type": "STRING",
2453                  "value": "and"
2454                }
2455              },
2456              {
2457                "type": "FIELD",
2458                "name": "right",
2459                "content": {
2460                  "type": "SYMBOL",
2461                  "name": "expression"
2462                }
2463              }
2464            ]
2465          }
2466        },
2467        {
2468          "type": "PREC_LEFT",
2469          "value": 10,
2470          "content": {
2471            "type": "SEQ",
2472            "members": [
2473              {
2474                "type": "FIELD",
2475                "name": "left",
2476                "content": {
2477                  "type": "SYMBOL",
2478                  "name": "expression"
2479                }
2480              },
2481              {
2482                "type": "FIELD",
2483                "name": "operator",
2484                "content": {
2485                  "type": "STRING",
2486                  "value": "or"
2487                }
2488              },
2489              {
2490                "type": "FIELD",
2491                "name": "right",
2492                "content": {
2493                  "type": "SYMBOL",
2494                  "name": "expression"
2495                }
2496              }
2497            ]
2498          }
2499        }
2500      ]
2501    },
2502    "binary_operator": {
2503      "type": "CHOICE",
2504      "members": [
2505        {
2506          "type": "PREC_LEFT",
2507          "value": 16,
2508          "content": {
2509            "type": "SEQ",
2510            "members": [
2511              {
2512                "type": "FIELD",
2513                "name": "left",
2514                "content": {
2515                  "type": "SYMBOL",
2516                  "name": "primary_expression"
2517                }
2518              },
2519              {
2520                "type": "FIELD",
2521                "name": "operator",
2522                "content": {
2523                  "type": "STRING",
2524                  "value": "+"
2525                }
2526              },
2527              {
2528                "type": "FIELD",
2529                "name": "right",
2530                "content": {
2531                  "type": "SYMBOL",
2532                  "name": "primary_expression"
2533                }
2534              }
2535            ]
2536          }
2537        },
2538        {
2539          "type": "PREC_LEFT",
2540          "value": 16,
2541          "content": {
2542            "type": "SEQ",
2543            "members": [
2544              {
2545                "type": "FIELD",
2546                "name": "left",
2547                "content": {
2548                  "type": "SYMBOL",
2549                  "name": "primary_expression"
2550                }
2551              },
2552              {
2553                "type": "FIELD",
2554                "name": "operator",
2555                "content": {
2556                  "type": "STRING",
2557                  "value": "-"
2558                }
2559              },
2560              {
2561                "type": "FIELD",
2562                "name": "right",
2563                "content": {
2564                  "type": "SYMBOL",
2565                  "name": "primary_expression"
2566                }
2567              }
2568            ]
2569          }
2570        },
2571        {
2572          "type": "PREC_LEFT",
2573          "value": 17,
2574          "content": {
2575            "type": "SEQ",
2576            "members": [
2577              {
2578                "type": "FIELD",
2579                "name": "left",
2580                "content": {
2581                  "type": "SYMBOL",
2582                  "name": "primary_expression"
2583                }
2584              },
2585              {
2586                "type": "FIELD",
2587                "name": "operator",
2588                "content": {
2589                  "type": "STRING",
2590                  "value": "*"
2591                }
2592              },
2593              {
2594                "type": "FIELD",
2595                "name": "right",
2596                "content": {
2597                  "type": "SYMBOL",
2598                  "name": "primary_expression"
2599                }
2600              }
2601            ]
2602          }
2603        },
2604        {
2605          "type": "PREC_LEFT",
2606          "value": 17,
2607          "content": {
2608            "type": "SEQ",
2609            "members": [
2610              {
2611                "type": "FIELD",
2612                "name": "left",
2613                "content": {
2614                  "type": "SYMBOL",
2615                  "name": "primary_expression"
2616                }
2617              },
2618              {
2619                "type": "FIELD",
2620                "name": "operator",
2621                "content": {
2622                  "type": "STRING",
2623                  "value": "@"
2624                }
2625              },
2626              {
2627                "type": "FIELD",
2628                "name": "right",
2629                "content": {
2630                  "type": "SYMBOL",
2631                  "name": "primary_expression"
2632                }
2633              }
2634            ]
2635          }
2636        },
2637        {
2638          "type": "PREC_LEFT",
2639          "value": 17,
2640          "content": {
2641            "type": "SEQ",
2642            "members": [
2643              {
2644                "type": "FIELD",
2645                "name": "left",
2646                "content": {
2647                  "type": "SYMBOL",
2648                  "name": "primary_expression"
2649                }
2650              },
2651              {
2652                "type": "FIELD",
2653                "name": "operator",
2654                "content": {
2655                  "type": "STRING",
2656                  "value": "/"
2657                }
2658              },
2659              {
2660                "type": "FIELD",
2661                "name": "right",
2662                "content": {
2663                  "type": "SYMBOL",
2664                  "name": "primary_expression"
2665                }
2666              }
2667            ]
2668          }
2669        },
2670        {
2671          "type": "PREC_LEFT",
2672          "value": 17,
2673          "content": {
2674            "type": "SEQ",
2675            "members": [
2676              {
2677                "type": "FIELD",
2678                "name": "left",
2679                "content": {
2680                  "type": "SYMBOL",
2681                  "name": "primary_expression"
2682                }
2683              },
2684              {
2685                "type": "FIELD",
2686                "name": "operator",
2687                "content": {
2688                  "type": "STRING",
2689                  "value": "%"
2690                }
2691              },
2692              {
2693                "type": "FIELD",
2694                "name": "right",
2695                "content": {
2696                  "type": "SYMBOL",
2697                  "name": "primary_expression"
2698                }
2699              }
2700            ]
2701          }
2702        },
2703        {
2704          "type": "PREC_LEFT",
2705          "value": 17,
2706          "content": {
2707            "type": "SEQ",
2708            "members": [
2709              {
2710                "type": "FIELD",
2711                "name": "left",
2712                "content": {
2713                  "type": "SYMBOL",
2714                  "name": "primary_expression"
2715                }
2716              },
2717              {
2718                "type": "FIELD",
2719                "name": "operator",
2720                "content": {
2721                  "type": "STRING",
2722                  "value": "//"
2723                }
2724              },
2725              {
2726                "type": "FIELD",
2727                "name": "right",
2728                "content": {
2729                  "type": "SYMBOL",
2730                  "name": "primary_expression"
2731                }
2732              }
2733            ]
2734          }
2735        },
2736        {
2737          "type": "PREC_RIGHT",
2738          "value": 19,
2739          "content": {
2740            "type": "SEQ",
2741            "members": [
2742              {
2743                "type": "FIELD",
2744                "name": "left",
2745                "content": {
2746                  "type": "SYMBOL",
2747                  "name": "primary_expression"
2748                }
2749              },
2750              {
2751                "type": "FIELD",
2752                "name": "operator",
2753                "content": {
2754                  "type": "STRING",
2755                  "value": "**"
2756                }
2757              },
2758              {
2759                "type": "FIELD",
2760                "name": "right",
2761                "content": {
2762                  "type": "SYMBOL",
2763                  "name": "primary_expression"
2764                }
2765              }
2766            ]
2767          }
2768        },
2769        {
2770          "type": "PREC_LEFT",
2771          "value": 12,
2772          "content": {
2773            "type": "SEQ",
2774            "members": [
2775              {
2776                "type": "FIELD",
2777                "name": "left",
2778                "content": {
2779                  "type": "SYMBOL",
2780                  "name": "primary_expression"
2781                }
2782              },
2783              {
2784                "type": "FIELD",
2785                "name": "operator",
2786                "content": {
2787                  "type": "STRING",
2788                  "value": "|"
2789                }
2790              },
2791              {
2792                "type": "FIELD",
2793                "name": "right",
2794                "content": {
2795                  "type": "SYMBOL",
2796                  "name": "primary_expression"
2797                }
2798              }
2799            ]
2800          }
2801        },
2802        {
2803          "type": "PREC_LEFT",
2804          "value": 13,
2805          "content": {
2806            "type": "SEQ",
2807            "members": [
2808              {
2809                "type": "FIELD",
2810                "name": "left",
2811                "content": {
2812                  "type": "SYMBOL",
2813                  "name": "primary_expression"
2814                }
2815              },
2816              {
2817                "type": "FIELD",
2818                "name": "operator",
2819                "content": {
2820                  "type": "STRING",
2821                  "value": "&"
2822                }
2823              },
2824              {
2825                "type": "FIELD",
2826                "name": "right",
2827                "content": {
2828                  "type": "SYMBOL",
2829                  "name": "primary_expression"
2830                }
2831              }
2832            ]
2833          }
2834        },
2835        {
2836          "type": "PREC_LEFT",
2837          "value": 14,
2838          "content": {
2839            "type": "SEQ",
2840            "members": [
2841              {
2842                "type": "FIELD",
2843                "name": "left",
2844                "content": {
2845                  "type": "SYMBOL",
2846                  "name": "primary_expression"
2847                }
2848              },
2849              {
2850                "type": "FIELD",
2851                "name": "operator",
2852                "content": {
2853                  "type": "STRING",
2854                  "value": "^"
2855                }
2856              },
2857              {
2858                "type": "FIELD",
2859                "name": "right",
2860                "content": {
2861                  "type": "SYMBOL",
2862                  "name": "primary_expression"
2863                }
2864              }
2865            ]
2866          }
2867        },
2868        {
2869          "type": "PREC_LEFT",
2870          "value": 15,
2871          "content": {
2872            "type": "SEQ",
2873            "members": [
2874              {
2875                "type": "FIELD",
2876                "name": "left",
2877                "content": {
2878                  "type": "SYMBOL",
2879                  "name": "primary_expression"
2880                }
2881              },
2882              {
2883                "type": "FIELD",
2884                "name": "operator",
2885                "content": {
2886                  "type": "STRING",
2887                  "value": "<<"
2888                }
2889              },
2890              {
2891                "type": "FIELD",
2892                "name": "right",
2893                "content": {
2894                  "type": "SYMBOL",
2895                  "name": "primary_expression"
2896                }
2897              }
2898            ]
2899          }
2900        },
2901        {
2902          "type": "PREC_LEFT",
2903          "value": 15,
2904          "content": {
2905            "type": "SEQ",
2906            "members": [
2907              {
2908                "type": "FIELD",
2909                "name": "left",
2910                "content": {
2911                  "type": "SYMBOL",
2912                  "name": "primary_expression"
2913                }
2914              },
2915              {
2916                "type": "FIELD",
2917                "name": "operator",
2918                "content": {
2919                  "type": "STRING",
2920                  "value": ">>"
2921                }
2922              },
2923              {
2924                "type": "FIELD",
2925                "name": "right",
2926                "content": {
2927                  "type": "SYMBOL",
2928                  "name": "primary_expression"
2929                }
2930              }
2931            ]
2932          }
2933        }
2934      ]
2935    },
2936    "unary_operator": {
2937      "type": "PREC",
2938      "value": 18,
2939      "content": {
2940        "type": "SEQ",
2941        "members": [
2942          {
2943            "type": "FIELD",
2944            "name": "operator",
2945            "content": {
2946              "type": "CHOICE",
2947              "members": [
2948                {
2949                  "type": "STRING",
2950                  "value": "+"
2951                },
2952                {
2953                  "type": "STRING",
2954                  "value": "-"
2955                },
2956                {
2957                  "type": "STRING",
2958                  "value": "~"
2959                }
2960              ]
2961            }
2962          },
2963          {
2964            "type": "FIELD",
2965            "name": "argument",
2966            "content": {
2967              "type": "SYMBOL",
2968              "name": "primary_expression"
2969            }
2970          }
2971        ]
2972      }
2973    },
2974    "comparison_operator": {
2975      "type": "PREC_LEFT",
2976      "value": 2,
2977      "content": {
2978        "type": "SEQ",
2979        "members": [
2980          {
2981            "type": "SYMBOL",
2982            "name": "primary_expression"
2983          },
2984          {
2985            "type": "REPEAT1",
2986            "content": {
2987              "type": "SEQ",
2988              "members": [
2989                {
2990                  "type": "FIELD",
2991                  "name": "operators",
2992                  "content": {
2993                    "type": "CHOICE",
2994                    "members": [
2995                      {
2996                        "type": "STRING",
2997                        "value": "<"
2998                      },
2999                      {
3000                        "type": "STRING",
3001                        "value": "<="
3002                      },
3003                      {
3004                        "type": "STRING",
3005                        "value": "=="
3006                      },
3007                      {
3008                        "type": "STRING",
3009                        "value": "!="
3010                      },
3011                      {
3012                        "type": "STRING",
3013                        "value": ">="
3014                      },
3015                      {
3016                        "type": "STRING",
3017                        "value": ">"
3018                      },
3019                      {
3020                        "type": "STRING",
3021                        "value": "<>"
3022                      },
3023                      {
3024                        "type": "STRING",
3025                        "value": "in"
3026                      },
3027                      {
3028                        "type": "SEQ",
3029                        "members": [
3030                          {
3031                            "type": "STRING",
3032                            "value": "not"
3033                          },
3034                          {
3035                            "type": "STRING",
3036                            "value": "in"
3037                          }
3038                        ]
3039                      },
3040                      {
3041                        "type": "STRING",
3042                        "value": "is"
3043                      },
3044                      {
3045                        "type": "SEQ",
3046                        "members": [
3047                          {
3048                            "type": "STRING",
3049                            "value": "is"
3050                          },
3051                          {
3052                            "type": "STRING",
3053                            "value": "not"
3054                          }
3055                        ]
3056                      }
3057                    ]
3058                  }
3059                },
3060                {
3061                  "type": "SYMBOL",
3062                  "name": "primary_expression"
3063                }
3064              ]
3065            }
3066          }
3067        ]
3068      }
3069    },
3070    "lambda": {
3071      "type": "PREC",
3072      "value": -2,
3073      "content": {
3074        "type": "SEQ",
3075        "members": [
3076          {
3077            "type": "STRING",
3078            "value": "lambda"
3079          },
3080          {
3081            "type": "FIELD",
3082            "name": "parameters",
3083            "content": {
3084              "type": "CHOICE",
3085              "members": [
3086                {
3087                  "type": "SYMBOL",
3088                  "name": "lambda_parameters"
3089                },
3090                {
3091                  "type": "BLANK"
3092                }
3093              ]
3094            }
3095          },
3096          {
3097            "type": "STRING",
3098            "value": ":"
3099          },
3100          {
3101            "type": "FIELD",
3102            "name": "body",
3103            "content": {
3104              "type": "SYMBOL",
3105              "name": "expression"
3106            }
3107          }
3108        ]
3109      }
3110    },
3111    "lambda_within_for_in_clause": {
3112      "type": "SEQ",
3113      "members": [
3114        {
3115          "type": "STRING",
3116          "value": "lambda"
3117        },
3118        {
3119          "type": "FIELD",
3120          "name": "parameters",
3121          "content": {
3122            "type": "CHOICE",
3123            "members": [
3124              {
3125                "type": "SYMBOL",
3126                "name": "lambda_parameters"
3127              },
3128              {
3129                "type": "BLANK"
3130              }
3131            ]
3132          }
3133        },
3134        {
3135          "type": "STRING",
3136          "value": ":"
3137        },
3138        {
3139          "type": "FIELD",
3140          "name": "body",
3141          "content": {
3142            "type": "SYMBOL",
3143            "name": "_expression_within_for_in_clause"
3144          }
3145        }
3146      ]
3147    },
3148    "assignment": {
3149      "type": "SEQ",
3150      "members": [
3151        {
3152          "type": "FIELD",
3153          "name": "left",
3154          "content": {
3155            "type": "SYMBOL",
3156            "name": "_left_hand_side"
3157          }
3158        },
3159        {
3160          "type": "CHOICE",
3161          "members": [
3162            {
3163              "type": "SEQ",
3164              "members": [
3165                {
3166                  "type": "STRING",
3167                  "value": "="
3168                },
3169                {
3170                  "type": "FIELD",
3171                  "name": "right",
3172                  "content": {
3173                    "type": "SYMBOL",
3174                    "name": "_right_hand_side"
3175                  }
3176                }
3177              ]
3178            },
3179            {
3180              "type": "SEQ",
3181              "members": [
3182                {
3183                  "type": "STRING",
3184                  "value": ":"
3185                },
3186                {
3187                  "type": "FIELD",
3188                  "name": "type",
3189                  "content": {
3190                    "type": "SYMBOL",
3191                    "name": "type"
3192                  }
3193                }
3194              ]
3195            },
3196            {
3197              "type": "SEQ",
3198              "members": [
3199                {
3200                  "type": "STRING",
3201                  "value": ":"
3202                },
3203                {
3204                  "type": "FIELD",
3205                  "name": "type",
3206                  "content": {
3207                    "type": "SYMBOL",
3208                    "name": "type"
3209                  }
3210                },
3211                {
3212                  "type": "STRING",
3213                  "value": "="
3214                },
3215                {
3216                  "type": "FIELD",
3217                  "name": "right",
3218                  "content": {
3219                    "type": "SYMBOL",
3220                    "name": "_right_hand_side"
3221                  }
3222                }
3223              ]
3224            }
3225          ]
3226        }
3227      ]
3228    },
3229    "augmented_assignment": {
3230      "type": "SEQ",
3231      "members": [
3232        {
3233          "type": "FIELD",
3234          "name": "left",
3235          "content": {
3236            "type": "SYMBOL",
3237            "name": "_left_hand_side"
3238          }
3239        },
3240        {
3241          "type": "FIELD",
3242          "name": "operator",
3243          "content": {
3244            "type": "CHOICE",
3245            "members": [
3246              {
3247                "type": "STRING",
3248                "value": "+="
3249              },
3250              {
3251                "type": "STRING",
3252                "value": "-="
3253              },
3254              {
3255                "type": "STRING",
3256                "value": "*="
3257              },
3258              {
3259                "type": "STRING",
3260                "value": "/="
3261              },
3262              {
3263                "type": "STRING",
3264                "value": "@="
3265              },
3266              {
3267                "type": "STRING",
3268                "value": "//="
3269              },
3270              {
3271                "type": "STRING",
3272                "value": "%="
3273              },
3274              {
3275                "type": "STRING",
3276                "value": "**="
3277              },
3278              {
3279                "type": "STRING",
3280                "value": ">>="
3281              },
3282              {
3283                "type": "STRING",
3284                "value": "<<="
3285              },
3286              {
3287                "type": "STRING",
3288                "value": "&="
3289              },
3290              {
3291                "type": "STRING",
3292                "value": "^="
3293              },
3294              {
3295                "type": "STRING",
3296                "value": "|="
3297              }
3298            ]
3299          }
3300        },
3301        {
3302          "type": "FIELD",
3303          "name": "right",
3304          "content": {
3305            "type": "SYMBOL",
3306            "name": "_right_hand_side"
3307          }
3308        }
3309      ]
3310    },
3311    "_left_hand_side": {
3312      "type": "CHOICE",
3313      "members": [
3314        {
3315          "type": "SYMBOL",
3316          "name": "pattern"
3317        },
3318        {
3319          "type": "SYMBOL",
3320          "name": "pattern_list"
3321        }
3322      ]
3323    },
3324    "pattern_list": {
3325      "type": "SEQ",
3326      "members": [
3327        {
3328          "type": "SYMBOL",
3329          "name": "pattern"
3330        },
3331        {
3332          "type": "CHOICE",
3333          "members": [
3334            {
3335              "type": "STRING",
3336              "value": ","
3337            },
3338            {
3339              "type": "SEQ",
3340              "members": [
3341                {
3342                  "type": "REPEAT1",
3343                  "content": {
3344                    "type": "SEQ",
3345                    "members": [
3346                      {
3347                        "type": "STRING",
3348                        "value": ","
3349                      },
3350                      {
3351                        "type": "SYMBOL",
3352                        "name": "pattern"
3353                      }
3354                    ]
3355                  }
3356                },
3357                {
3358                  "type": "CHOICE",
3359                  "members": [
3360                    {
3361                      "type": "STRING",
3362                      "value": ","
3363                    },
3364                    {
3365                      "type": "BLANK"
3366                    }
3367                  ]
3368                }
3369              ]
3370            }
3371          ]
3372        }
3373      ]
3374    },
3375    "_right_hand_side": {
3376      "type": "CHOICE",
3377      "members": [
3378        {
3379          "type": "SYMBOL",
3380          "name": "expression"
3381        },
3382        {
3383          "type": "SYMBOL",
3384          "name": "expression_list"
3385        },
3386        {
3387          "type": "SYMBOL",
3388          "name": "assignment"
3389        },
3390        {
3391          "type": "SYMBOL",
3392          "name": "augmented_assignment"
3393        },
3394        {
3395          "type": "SYMBOL",
3396          "name": "yield"
3397        }
3398      ]
3399    },
3400    "yield": {
3401      "type": "PREC_RIGHT",
3402      "value": 0,
3403      "content": {
3404        "type": "SEQ",
3405        "members": [
3406          {
3407            "type": "STRING",
3408            "value": "yield"
3409          },
3410          {
3411            "type": "CHOICE",
3412            "members": [
3413              {
3414                "type": "SEQ",
3415                "members": [
3416                  {
3417                    "type": "STRING",
3418                    "value": "from"
3419                  },
3420                  {
3421                    "type": "SYMBOL",
3422                    "name": "expression"
3423                  }
3424                ]
3425              },
3426              {
3427                "type": "CHOICE",
3428                "members": [
3429                  {
3430                    "type": "SYMBOL",
3431                    "name": "_expressions"
3432                  },
3433                  {
3434                    "type": "BLANK"
3435                  }
3436                ]
3437              }
3438            ]
3439          }
3440        ]
3441      }
3442    },
3443    "attribute": {
3444      "type": "PREC",
3445      "value": 20,
3446      "content": {
3447        "type": "SEQ",
3448        "members": [
3449          {
3450            "type": "FIELD",
3451            "name": "object",
3452            "content": {
3453              "type": "SYMBOL",
3454              "name": "primary_expression"
3455            }
3456          },
3457          {
3458            "type": "STRING",
3459            "value": "."
3460          },
3461          {
3462            "type": "FIELD",
3463            "name": "attribute",
3464            "content": {
3465              "type": "SYMBOL",
3466              "name": "identifier"
3467            }
3468          }
3469        ]
3470      }
3471    },
3472    "subscript": {
3473      "type": "PREC",
3474      "value": 20,
3475      "content": {
3476        "type": "SEQ",
3477        "members": [
3478          {
3479            "type": "FIELD",
3480            "name": "value",
3481            "content": {
3482              "type": "SYMBOL",
3483              "name": "primary_expression"
3484            }
3485          },
3486          {
3487            "type": "STRING",
3488            "value": "["
3489          },
3490          {
3491            "type": "SEQ",
3492            "members": [
3493              {
3494                "type": "FIELD",
3495                "name": "subscript",
3496                "content": {
3497                  "type": "CHOICE",
3498                  "members": [
3499                    {
3500                      "type": "SYMBOL",
3501                      "name": "expression"
3502                    },
3503                    {
3504                      "type": "SYMBOL",
3505                      "name": "slice"
3506                    }
3507                  ]
3508                }
3509              },
3510              {
3511                "type": "REPEAT",
3512                "content": {
3513                  "type": "SEQ",
3514                  "members": [
3515                    {
3516                      "type": "STRING",
3517                      "value": ","
3518                    },
3519                    {
3520                      "type": "FIELD",
3521                      "name": "subscript",
3522                      "content": {
3523                        "type": "CHOICE",
3524                        "members": [
3525                          {
3526                            "type": "SYMBOL",
3527                            "name": "expression"
3528                          },
3529                          {
3530                            "type": "SYMBOL",
3531                            "name": "slice"
3532                          }
3533                        ]
3534                      }
3535                    }
3536                  ]
3537                }
3538              }
3539            ]
3540          },
3541          {
3542            "type": "CHOICE",
3543            "members": [
3544              {
3545                "type": "STRING",
3546                "value": ","
3547              },
3548              {
3549                "type": "BLANK"
3550              }
3551            ]
3552          },
3553          {
3554            "type": "STRING",
3555            "value": "]"
3556          }
3557        ]
3558      }
3559    },
3560    "slice": {
3561      "type": "SEQ",
3562      "members": [
3563        {
3564          "type": "CHOICE",
3565          "members": [
3566            {
3567              "type": "SYMBOL",
3568              "name": "expression"
3569            },
3570            {
3571              "type": "BLANK"
3572            }
3573          ]
3574        },
3575        {
3576          "type": "STRING",
3577          "value": ":"
3578        },
3579        {
3580          "type": "CHOICE",
3581          "members": [
3582            {
3583              "type": "SYMBOL",
3584              "name": "expression"
3585            },
3586            {
3587              "type": "BLANK"
3588            }
3589          ]
3590        },
3591        {
3592          "type": "CHOICE",
3593          "members": [
3594            {
3595              "type": "SEQ",
3596              "members": [
3597                {
3598                  "type": "STRING",
3599                  "value": ":"
3600                },
3601                {
3602                  "type": "CHOICE",
3603                  "members": [
3604                    {
3605                      "type": "SYMBOL",
3606                      "name": "expression"
3607                    },
3608                    {
3609                      "type": "BLANK"
3610                    }
3611                  ]
3612                }
3613              ]
3614            },
3615            {
3616              "type": "BLANK"
3617            }
3618          ]
3619        }
3620      ]
3621    },
3622    "ellipsis": {
3623      "type": "STRING",
3624      "value": "..."
3625    },
3626    "call": {
3627      "type": "PREC",
3628      "value": 20,
3629      "content": {
3630        "type": "SEQ",
3631        "members": [
3632          {
3633            "type": "FIELD",
3634            "name": "function",
3635            "content": {
3636              "type": "SYMBOL",
3637              "name": "primary_expression"
3638            }
3639          },
3640          {
3641            "type": "FIELD",
3642            "name": "arguments",
3643            "content": {
3644              "type": "CHOICE",
3645              "members": [
3646                {
3647                  "type": "SYMBOL",
3648                  "name": "generator_expression"
3649                },
3650                {
3651                  "type": "SYMBOL",
3652                  "name": "argument_list"
3653                }
3654              ]
3655            }
3656          }
3657        ]
3658      }
3659    },
3660    "typed_parameter": {
3661      "type": "PREC",
3662      "value": -1,
3663      "content": {
3664        "type": "SEQ",
3665        "members": [
3666          {
3667            "type": "CHOICE",
3668            "members": [
3669              {
3670                "type": "SYMBOL",
3671                "name": "identifier"
3672              },
3673              {
3674                "type": "SYMBOL",
3675                "name": "list_splat_pattern"
3676              },
3677              {
3678                "type": "SYMBOL",
3679                "name": "dictionary_splat_pattern"
3680              }
3681            ]
3682          },
3683          {
3684            "type": "STRING",
3685            "value": ":"
3686          },
3687          {
3688            "type": "FIELD",
3689            "name": "type",
3690            "content": {
3691              "type": "SYMBOL",
3692              "name": "type"
3693            }
3694          }
3695        ]
3696      }
3697    },
3698    "type": {
3699      "type": "SYMBOL",
3700      "name": "expression"
3701    },
3702    "keyword_argument": {
3703      "type": "SEQ",
3704      "members": [
3705        {
3706          "type": "FIELD",
3707          "name": "name",
3708          "content": {
3709            "type": "CHOICE",
3710            "members": [
3711              {
3712                "type": "SYMBOL",
3713                "name": "identifier"
3714              },
3715              {
3716                "type": "SYMBOL",
3717                "name": "keyword_identifier"
3718              }
3719            ]
3720          }
3721        },
3722        {
3723          "type": "STRING",
3724          "value": "="
3725        },
3726        {
3727          "type": "FIELD",
3728          "name": "value",
3729          "content": {
3730            "type": "SYMBOL",
3731            "name": "expression"
3732          }
3733        }
3734      ]
3735    },
3736    "list": {
3737      "type": "SEQ",
3738      "members": [
3739        {
3740          "type": "STRING",
3741          "value": "["
3742        },
3743        {
3744          "type": "CHOICE",
3745          "members": [
3746            {
3747              "type": "SYMBOL",
3748              "name": "_collection_elements"
3749            },
3750            {
3751              "type": "BLANK"
3752            }
3753          ]
3754        },
3755        {
3756          "type": "STRING",
3757          "value": "]"
3758        }
3759      ]
3760    },
3761    "set": {
3762      "type": "SEQ",
3763      "members": [
3764        {
3765          "type": "STRING",
3766          "value": "{"
3767        },
3768        {
3769          "type": "SYMBOL",
3770          "name": "_collection_elements"
3771        },
3772        {
3773          "type": "STRING",
3774          "value": "}"
3775        }
3776      ]
3777    },
3778    "tuple": {
3779      "type": "SEQ",
3780      "members": [
3781        {
3782          "type": "STRING",
3783          "value": "("
3784        },
3785        {
3786          "type": "CHOICE",
3787          "members": [
3788            {
3789              "type": "SYMBOL",
3790              "name": "_collection_elements"
3791            },
3792            {
3793              "type": "BLANK"
3794            }
3795          ]
3796        },
3797        {
3798          "type": "STRING",
3799          "value": ")"
3800        }
3801      ]
3802    },
3803    "dictionary": {
3804      "type": "SEQ",
3805      "members": [
3806        {
3807          "type": "STRING",
3808          "value": "{"
3809        },
3810        {
3811          "type": "CHOICE",
3812          "members": [
3813            {
3814              "type": "SEQ",
3815              "members": [
3816                {
3817                  "type": "CHOICE",
3818                  "members": [
3819                    {
3820                      "type": "SYMBOL",
3821                      "name": "pair"
3822                    },
3823                    {
3824                      "type": "SYMBOL",
3825                      "name": "dictionary_splat"
3826                    }
3827                  ]
3828                },
3829                {
3830                  "type": "REPEAT",
3831                  "content": {
3832                    "type": "SEQ",
3833                    "members": [
3834                      {
3835                        "type": "STRING",
3836                        "value": ","
3837                      },
3838                      {
3839                        "type": "CHOICE",
3840                        "members": [
3841                          {
3842                            "type": "SYMBOL",
3843                            "name": "pair"
3844                          },
3845                          {
3846                            "type": "SYMBOL",
3847                            "name": "dictionary_splat"
3848                          }
3849                        ]
3850                      }
3851                    ]
3852                  }
3853                }
3854              ]
3855            },
3856            {
3857              "type": "BLANK"
3858            }
3859          ]
3860        },
3861        {
3862          "type": "CHOICE",
3863          "members": [
3864            {
3865              "type": "STRING",
3866              "value": ","
3867            },
3868            {
3869              "type": "BLANK"
3870            }
3871          ]
3872        },
3873        {
3874          "type": "STRING",
3875          "value": "}"
3876        }
3877      ]
3878    },
3879    "pair": {
3880      "type": "SEQ",
3881      "members": [
3882        {
3883          "type": "FIELD",
3884          "name": "key",
3885          "content": {
3886            "type": "SYMBOL",
3887            "name": "expression"
3888          }
3889        },
3890        {
3891          "type": "STRING",
3892          "value": ":"
3893        },
3894        {
3895          "type": "FIELD",
3896          "name": "value",
3897          "content": {
3898            "type": "SYMBOL",
3899            "name": "expression"
3900          }
3901        }
3902      ]
3903    },
3904    "list_comprehension": {
3905      "type": "SEQ",
3906      "members": [
3907        {
3908          "type": "STRING",
3909          "value": "["
3910        },
3911        {
3912          "type": "FIELD",
3913          "name": "body",
3914          "content": {
3915            "type": "SYMBOL",
3916            "name": "expression"
3917          }
3918        },
3919        {
3920          "type": "SYMBOL",
3921          "name": "_comprehension_clauses"
3922        },
3923        {
3924          "type": "STRING",
3925          "value": "]"
3926        }
3927      ]
3928    },
3929    "dictionary_comprehension": {
3930      "type": "SEQ",
3931      "members": [
3932        {
3933          "type": "STRING",
3934          "value": "{"
3935        },
3936        {
3937          "type": "FIELD",
3938          "name": "body",
3939          "content": {
3940            "type": "SYMBOL",
3941            "name": "pair"
3942          }
3943        },
3944        {
3945          "type": "SYMBOL",
3946          "name": "_comprehension_clauses"
3947        },
3948        {
3949          "type": "STRING",
3950          "value": "}"
3951        }
3952      ]
3953    },
3954    "set_comprehension": {
3955      "type": "SEQ",
3956      "members": [
3957        {
3958          "type": "STRING",
3959          "value": "{"
3960        },
3961        {
3962          "type": "FIELD",
3963          "name": "body",
3964          "content": {
3965            "type": "SYMBOL",
3966            "name": "expression"
3967          }
3968        },
3969        {
3970          "type": "SYMBOL",
3971          "name": "_comprehension_clauses"
3972        },
3973        {
3974          "type": "STRING",
3975          "value": "}"
3976        }
3977      ]
3978    },
3979    "generator_expression": {
3980      "type": "SEQ",
3981      "members": [
3982        {
3983          "type": "STRING",
3984          "value": "("
3985        },
3986        {
3987          "type": "FIELD",
3988          "name": "body",
3989          "content": {
3990            "type": "SYMBOL",
3991            "name": "expression"
3992          }
3993        },
3994        {
3995          "type": "SYMBOL",
3996          "name": "_comprehension_clauses"
3997        },
3998        {
3999          "type": "STRING",
4000          "value": ")"
4001        }
4002      ]
4003    },
4004    "_comprehension_clauses": {
4005      "type": "SEQ",
4006      "members": [
4007        {
4008          "type": "SYMBOL",
4009          "name": "for_in_clause"
4010        },
4011        {
4012          "type": "REPEAT",
4013          "content": {
4014            "type": "CHOICE",
4015            "members": [
4016              {
4017                "type": "SYMBOL",
4018                "name": "for_in_clause"
4019              },
4020              {
4021                "type": "SYMBOL",
4022                "name": "if_clause"
4023              }
4024            ]
4025          }
4026        }
4027      ]
4028    },
4029    "parenthesized_expression": {
4030      "type": "PREC",
4031      "value": 1,
4032      "content": {
4033        "type": "SEQ",
4034        "members": [
4035          {
4036            "type": "STRING",
4037            "value": "("
4038          },
4039          {
4040            "type": "CHOICE",
4041            "members": [
4042              {
4043                "type": "SYMBOL",
4044                "name": "expression"
4045              },
4046              {
4047                "type": "SYMBOL",
4048                "name": "yield"
4049              }
4050            ]
4051          },
4052          {
4053            "type": "STRING",
4054            "value": ")"
4055          }
4056        ]
4057      }
4058    },
4059    "_collection_elements": {
4060      "type": "SEQ",
4061      "members": [
4062        {
4063          "type": "SEQ",
4064          "members": [
4065            {
4066              "type": "CHOICE",
4067              "members": [
4068                {
4069                  "type": "SYMBOL",
4070                  "name": "expression"
4071                },
4072                {
4073                  "type": "SYMBOL",
4074                  "name": "yield"
4075                },
4076                {
4077                  "type": "SYMBOL",
4078                  "name": "list_splat"
4079                },
4080                {
4081                  "type": "SYMBOL",
4082                  "name": "parenthesized_list_splat"
4083                }
4084              ]
4085            },
4086            {
4087              "type": "REPEAT",
4088              "content": {
4089                "type": "SEQ",
4090                "members": [
4091                  {
4092                    "type": "STRING",
4093                    "value": ","
4094                  },
4095                  {
4096                    "type": "CHOICE",
4097                    "members": [
4098                      {
4099                        "type": "SYMBOL",
4100                        "name": "expression"
4101                      },
4102                      {
4103                        "type": "SYMBOL",
4104                        "name": "yield"
4105                      },
4106                      {
4107                        "type": "SYMBOL",
4108                        "name": "list_splat"
4109                      },
4110                      {
4111                        "type": "SYMBOL",
4112                        "name": "parenthesized_list_splat"
4113                      }
4114                    ]
4115                  }
4116                ]
4117              }
4118            }
4119          ]
4120        },
4121        {
4122          "type": "CHOICE",
4123          "members": [
4124            {
4125              "type": "STRING",
4126              "value": ","
4127            },
4128            {
4129              "type": "BLANK"
4130            }
4131          ]
4132        }
4133      ]
4134    },
4135    "for_in_clause": {
4136      "type": "PREC_LEFT",
4137      "value": 0,
4138      "content": {
4139        "type": "SEQ",
4140        "members": [
4141          {
4142            "type": "CHOICE",
4143            "members": [
4144              {
4145                "type": "STRING",
4146                "value": "async"
4147              },
4148              {
4149                "type": "BLANK"
4150              }
4151            ]
4152          },
4153          {
4154            "type": "STRING",
4155            "value": "for"
4156          },
4157          {
4158            "type": "FIELD",
4159            "name": "left",
4160            "content": {
4161              "type": "SYMBOL",
4162              "name": "_left_hand_side"
4163            }
4164          },
4165          {
4166            "type": "STRING",
4167            "value": "in"
4168          },
4169          {
4170            "type": "FIELD",
4171            "name": "right",
4172            "content": {
4173              "type": "SEQ",
4174              "members": [
4175                {
4176                  "type": "SYMBOL",
4177                  "name": "_expression_within_for_in_clause"
4178                },
4179                {
4180                  "type": "REPEAT",
4181                  "content": {
4182                    "type": "SEQ",
4183                    "members": [
4184                      {
4185                        "type": "STRING",
4186                        "value": ","
4187                      },
4188                      {
4189                        "type": "SYMBOL",
4190                        "name": "_expression_within_for_in_clause"
4191                      }
4192                    ]
4193                  }
4194                }
4195              ]
4196            }
4197          },
4198          {
4199            "type": "CHOICE",
4200            "members": [
4201              {
4202                "type": "STRING",
4203                "value": ","
4204              },
4205              {
4206                "type": "BLANK"
4207              }
4208            ]
4209          }
4210        ]
4211      }
4212    },
4213    "if_clause": {
4214      "type": "SEQ",
4215      "members": [
4216        {
4217          "type": "STRING",
4218          "value": "if"
4219        },
4220        {
4221          "type": "SYMBOL",
4222          "name": "expression"
4223        }
4224      ]
4225    },
4226    "conditional_expression": {
4227      "type": "PREC_RIGHT",
4228      "value": -1,
4229      "content": {
4230        "type": "SEQ",
4231        "members": [
4232          {
4233            "type": "SYMBOL",
4234            "name": "expression"
4235          },
4236          {
4237            "type": "STRING",
4238            "value": "if"
4239          },
4240          {
4241            "type": "SYMBOL",
4242            "name": "expression"
4243          },
4244          {
4245            "type": "STRING",
4246            "value": "else"
4247          },
4248          {
4249            "type": "SYMBOL",
4250            "name": "expression"
4251          }
4252        ]
4253      }
4254    },
4255    "concatenated_string": {
4256      "type": "SEQ",
4257      "members": [
4258        {
4259          "type": "SYMBOL",
4260          "name": "string"
4261        },
4262        {
4263          "type": "REPEAT1",
4264          "content": {
4265            "type": "SYMBOL",
4266            "name": "string"
4267          }
4268        }
4269      ]
4270    },
4271    "string": {
4272      "type": "SEQ",
4273      "members": [
4274        {
4275          "type": "ALIAS",
4276          "content": {
4277            "type": "SYMBOL",
4278            "name": "_string_start"
4279          },
4280          "named": false,
4281          "value": "\""
4282        },
4283        {
4284          "type": "REPEAT",
4285          "content": {
4286            "type": "CHOICE",
4287            "members": [
4288              {
4289                "type": "SYMBOL",
4290                "name": "interpolation"
4291              },
4292              {
4293                "type": "SYMBOL",
4294                "name": "escape_sequence"
4295              },
4296              {
4297                "type": "SYMBOL",
4298                "name": "_not_escape_sequence"
4299              },
4300              {
4301                "type": "SYMBOL",
4302                "name": "_string_content"
4303              }
4304            ]
4305          }
4306        },
4307        {
4308          "type": "ALIAS",
4309          "content": {
4310            "type": "SYMBOL",
4311            "name": "_string_end"
4312          },
4313          "named": false,
4314          "value": "\""
4315        }
4316      ]
4317    },
4318    "interpolation": {
4319      "type": "SEQ",
4320      "members": [
4321        {
4322          "type": "STRING",
4323          "value": "{"
4324        },
4325        {
4326          "type": "SYMBOL",
4327          "name": "expression"
4328        },
4329        {
4330          "type": "CHOICE",
4331          "members": [
4332            {
4333              "type": "SYMBOL",
4334              "name": "type_conversion"
4335            },
4336            {
4337              "type": "BLANK"
4338            }
4339          ]
4340        },
4341        {
4342          "type": "CHOICE",
4343          "members": [
4344            {
4345              "type": "SYMBOL",
4346              "name": "format_specifier"
4347            },
4348            {
4349              "type": "BLANK"
4350            }
4351          ]
4352        },
4353        {
4354          "type": "STRING",
4355          "value": "}"
4356        }
4357      ]
4358    },
4359    "escape_sequence": {
4360      "type": "TOKEN",
4361      "content": {
4362        "type": "PREC",
4363        "value": 1,
4364        "content": {
4365          "type": "SEQ",
4366          "members": [
4367            {
4368              "type": "STRING",
4369              "value": "\\"
4370            },
4371            {
4372              "type": "CHOICE",
4373              "members": [
4374                {
4375                  "type": "PATTERN",
4376                  "value": "u[a-fA-F\\d]{4}"
4377                },
4378                {
4379                  "type": "PATTERN",
4380                  "value": "U[a-fA-F\\d]{8}"
4381                },
4382                {
4383                  "type": "PATTERN",
4384                  "value": "x[a-fA-F\\d]{2}"
4385                },
4386                {
4387                  "type": "PATTERN",
4388                  "value": "\\d{3}"
4389                },
4390                {
4391                  "type": "PATTERN",
4392                  "value": "\\r?\\n"
4393                },
4394                {
4395                  "type": "PATTERN",
4396                  "value": "['\"abfrntv\\\\]"
4397                }
4398              ]
4399            }
4400          ]
4401        }
4402      }
4403    },
4404    "_not_escape_sequence": {
4405      "type": "STRING",
4406      "value": "\\"
4407    },
4408    "format_specifier": {
4409      "type": "SEQ",
4410      "members": [
4411        {
4412          "type": "STRING",
4413          "value": ":"
4414        },
4415        {
4416          "type": "REPEAT",
4417          "content": {
4418            "type": "CHOICE",
4419            "members": [
4420              {
4421                "type": "TOKEN",
4422                "content": {
4423                  "type": "PREC",
4424                  "value": 1,
4425                  "content": {
4426                    "type": "PATTERN",
4427                    "value": "[^{}\\n]+"
4428                  }
4429                }
4430              },
4431              {
4432                "type": "SYMBOL",
4433                "name": "format_expression"
4434              }
4435            ]
4436          }
4437        }
4438      ]
4439    },
4440    "format_expression": {
4441      "type": "SEQ",
4442      "members": [
4443        {
4444          "type": "STRING",
4445          "value": "{"
4446        },
4447        {
4448          "type": "SYMBOL",
4449          "name": "expression"
4450        },
4451        {
4452          "type": "STRING",
4453          "value": "}"
4454        }
4455      ]
4456    },
4457    "type_conversion": {
4458      "type": "PATTERN",
4459      "value": "![a-z]"
4460    },
4461    "integer": {
4462      "type": "TOKEN",
4463      "content": {
4464        "type": "CHOICE",
4465        "members": [
4466          {
4467            "type": "SEQ",
4468            "members": [
4469              {
4470                "type": "CHOICE",
4471                "members": [
4472                  {
4473                    "type": "STRING",
4474                    "value": "0x"
4475                  },
4476                  {
4477                    "type": "STRING",
4478                    "value": "0X"
4479                  }
4480                ]
4481              },
4482              {
4483                "type": "REPEAT1",
4484                "content": {
4485                  "type": "PATTERN",
4486                  "value": "_?[A-Fa-f0-9]+"
4487                }
4488              },
4489              {
4490                "type": "CHOICE",
4491                "members": [
4492                  {
4493                    "type": "PATTERN",
4494                    "value": "[Ll]"
4495                  },
4496                  {
4497                    "type": "BLANK"
4498                  }
4499                ]
4500              }
4501            ]
4502          },
4503          {
4504            "type": "SEQ",
4505            "members": [
4506              {
4507                "type": "CHOICE",
4508                "members": [
4509                  {
4510                    "type": "STRING",
4511                    "value": "0o"
4512                  },
4513                  {
4514                    "type": "STRING",
4515                    "value": "0O"
4516                  }
4517                ]
4518              },
4519              {
4520                "type": "REPEAT1",
4521                "content": {
4522                  "type": "PATTERN",
4523                  "value": "_?[0-7]+"
4524                }
4525              },
4526              {
4527                "type": "CHOICE",
4528                "members": [
4529                  {
4530                    "type": "PATTERN",
4531                    "value": "[Ll]"
4532                  },
4533                  {
4534                    "type": "BLANK"
4535                  }
4536                ]
4537              }
4538            ]
4539          },
4540          {
4541            "type": "SEQ",
4542            "members": [
4543              {
4544                "type": "CHOICE",
4545                "members": [
4546                  {
4547                    "type": "STRING",
4548                    "value": "0b"
4549                  },
4550                  {
4551                    "type": "STRING",
4552                    "value": "0B"
4553                  }
4554                ]
4555              },
4556              {
4557                "type": "REPEAT1",
4558                "content": {
4559                  "type": "PATTERN",
4560                  "value": "_?[0-1]+"
4561                }
4562              },
4563              {
4564                "type": "CHOICE",
4565                "members": [
4566                  {
4567                    "type": "PATTERN",
4568                    "value": "[Ll]"
4569                  },
4570                  {
4571                    "type": "BLANK"
4572                  }
4573                ]
4574              }
4575            ]
4576          },
4577          {
4578            "type": "SEQ",
4579            "members": [
4580              {
4581                "type": "REPEAT1",
4582                "content": {
4583                  "type": "PATTERN",
4584                  "value": "[0-9]+_?"
4585                }
4586              },
4587              {
4588                "type": "CHOICE",
4589                "members": [
4590                  {
4591                    "type": "CHOICE",
4592                    "members": [
4593                      {
4594                        "type": "PATTERN",
4595                        "value": "[Ll]"
4596                      },
4597                      {
4598                        "type": "BLANK"
4599                      }
4600                    ]
4601                  },
4602                  {
4603                    "type": "CHOICE",
4604                    "members": [
4605                      {
4606                        "type": "PATTERN",
4607                        "value": "[jJ]"
4608                      },
4609                      {
4610                        "type": "BLANK"
4611                      }
4612                    ]
4613                  }
4614                ]
4615              }
4616            ]
4617          }
4618        ]
4619      }
4620    },
4621    "float": {
4622      "type": "TOKEN",
4623      "content": {
4624        "type": "SEQ",
4625        "members": [
4626          {
4627            "type": "CHOICE",
4628            "members": [
4629              {
4630                "type": "SEQ",
4631                "members": [
4632                  {
4633                    "type": "REPEAT1",
4634                    "content": {
4635                      "type": "PATTERN",
4636                      "value": "[0-9]+_?"
4637                    }
4638                  },
4639                  {
4640                    "type": "STRING",
4641                    "value": "."
4642                  },
4643                  {
4644                    "type": "CHOICE",
4645                    "members": [
4646                      {
4647                        "type": "REPEAT1",
4648                        "content": {
4649                          "type": "PATTERN",
4650                          "value": "[0-9]+_?"
4651                        }
4652                      },
4653                      {
4654                        "type": "BLANK"
4655                      }
4656                    ]
4657                  },
4658                  {
4659                    "type": "CHOICE",
4660                    "members": [
4661                      {
4662                        "type": "SEQ",
4663                        "members": [
4664                          {
4665                            "type": "PATTERN",
4666                            "value": "[eE][\\+-]?"
4667                          },
4668                          {
4669                            "type": "REPEAT1",
4670                            "content": {
4671                              "type": "PATTERN",
4672                              "value": "[0-9]+_?"
4673                            }
4674                          }
4675                        ]
4676                      },
4677                      {
4678                        "type": "BLANK"
4679                      }
4680                    ]
4681                  }
4682                ]
4683              },
4684              {
4685                "type": "SEQ",
4686                "members": [
4687                  {
4688                    "type": "CHOICE",
4689                    "members": [
4690                      {
4691                        "type": "REPEAT1",
4692                        "content": {
4693                          "type": "PATTERN",
4694                          "value": "[0-9]+_?"
4695                        }
4696                      },
4697                      {
4698                        "type": "BLANK"
4699                      }
4700                    ]
4701                  },
4702                  {
4703                    "type": "STRING",
4704                    "value": "."
4705                  },
4706                  {
4707                    "type": "REPEAT1",
4708                    "content": {
4709                      "type": "PATTERN",
4710                      "value": "[0-9]+_?"
4711                    }
4712                  },
4713                  {
4714                    "type": "CHOICE",
4715                    "members": [
4716                      {
4717                        "type": "SEQ",
4718                        "members": [
4719                          {
4720                            "type": "PATTERN",
4721                            "value": "[eE][\\+-]?"
4722                          },
4723                          {
4724                            "type": "REPEAT1",
4725                            "content": {
4726                              "type": "PATTERN",
4727                              "value": "[0-9]+_?"
4728                            }
4729                          }
4730                        ]
4731                      },
4732                      {
4733                        "type": "BLANK"
4734                      }
4735                    ]
4736                  }
4737                ]
4738              },
4739              {
4740                "type": "SEQ",
4741                "members": [
4742                  {
4743                    "type": "REPEAT1",
4744                    "content": {
4745                      "type": "PATTERN",
4746                      "value": "[0-9]+_?"
4747                    }
4748                  },
4749                  {
4750                    "type": "SEQ",
4751                    "members": [
4752                      {
4753                        "type": "PATTERN",
4754                        "value": "[eE][\\+-]?"
4755                      },
4756                      {
4757                        "type": "REPEAT1",
4758                        "content": {
4759                          "type": "PATTERN",
4760                          "value": "[0-9]+_?"
4761                        }
4762                      }
4763                    ]
4764                  }
4765                ]
4766              }
4767            ]
4768          },
4769          {
4770            "type": "CHOICE",
4771            "members": [
4772              {
4773                "type": "CHOICE",
4774                "members": [
4775                  {
4776                    "type": "PATTERN",
4777                    "value": "[Ll]"
4778                  },
4779                  {
4780                    "type": "PATTERN",
4781                    "value": "[jJ]"
4782                  }
4783                ]
4784              },
4785              {
4786                "type": "BLANK"
4787              }
4788            ]
4789          }
4790        ]
4791      }
4792    },
4793    "identifier": {
4794      "type": "PATTERN",
4795      "value": "[_\\p{XID_Start}][_\\p{XID_Continue}]*"
4796    },
4797    "keyword_identifier": {
4798      "type": "PREC",
4799      "value": -3,
4800      "content": {
4801        "type": "ALIAS",
4802        "content": {
4803          "type": "CHOICE",
4804          "members": [
4805            {
4806              "type": "STRING",
4807              "value": "print"
4808            },
4809            {
4810              "type": "STRING",
4811              "value": "exec"
4812            },
4813            {
4814              "type": "STRING",
4815              "value": "async"
4816            },
4817            {
4818              "type": "STRING",
4819              "value": "await"
4820            }
4821          ]
4822        },
4823        "named": true,
4824        "value": "identifier"
4825      }
4826    },
4827    "true": {
4828      "type": "STRING",
4829      "value": "True"
4830    },
4831    "false": {
4832      "type": "STRING",
4833      "value": "False"
4834    },
4835    "none": {
4836      "type": "STRING",
4837      "value": "None"
4838    },
4839    "await": {
4840      "type": "PREC",
4841      "value": 18,
4842      "content": {
4843        "type": "SEQ",
4844        "members": [
4845          {
4846            "type": "STRING",
4847            "value": "await"
4848          },
4849          {
4850            "type": "SYMBOL",
4851            "name": "expression"
4852          }
4853        ]
4854      }
4855    },
4856    "comment": {
4857      "type": "TOKEN",
4858      "content": {
4859        "type": "SEQ",
4860        "members": [
4861          {
4862            "type": "STRING",
4863            "value": "#"
4864          },
4865          {
4866            "type": "PATTERN",
4867            "value": ".*"
4868          }
4869        ]
4870      }
4871    },
4872    "_semicolon": {
4873      "type": "STRING",
4874      "value": ";"
4875    }
4876  },
4877  "extras": [
4878    {
4879      "type": "SYMBOL",
4880      "name": "comment"
4881    },
4882    {
4883      "type": "PATTERN",
4884      "value": "[\\s\\f\\uFEFF\\u2060\\u200B]|\\\\\\r?\\n"
4885    }
4886  ],
4887  "conflicts": [
4888    [
4889      "primary_expression",
4890      "pattern"
4891    ],
4892    [
4893      "primary_expression",
4894      "list_splat_pattern"
4895    ],
4896    [
4897      "tuple",
4898      "tuple_pattern"
4899    ],
4900    [
4901      "list",
4902      "list_pattern"
4903    ],
4904    [
4905      "with_item",
4906      "_collection_elements"
4907    ]
4908  ],
4909  "precedences": [],
4910  "externals": [
4911    {
4912      "type": "SYMBOL",
4913      "name": "_newline"
4914    },
4915    {
4916      "type": "SYMBOL",
4917      "name": "_indent"
4918    },
4919    {
4920      "type": "SYMBOL",
4921      "name": "_dedent"
4922    },
4923    {
4924      "type": "SYMBOL",
4925      "name": "_string_start"
4926    },
4927    {
4928      "type": "SYMBOL",
4929      "name": "_string_content"
4930    },
4931    {
4932      "type": "SYMBOL",
4933      "name": "_string_end"
4934    }
4935  ],
4936  "inline": [
4937    "_simple_statement",
4938    "_compound_statement",
4939    "_suite",
4940    "_expressions",
4941    "_left_hand_side",
4942    "keyword_identifier"
4943  ],
4944  "supertypes": [
4945    "_simple_statement",
4946    "_compound_statement",
4947    "expression",
4948    "primary_expression",
4949    "pattern",
4950    "parameter"
4951  ]
4952}
4953
4954