1[
2  {
3    "type": "access_call",
4    "named": true,
5    "fields": {
6      "key": {
7        "multiple": false,
8        "required": true,
9        "types": [
10          {
11            "type": "access_call",
12            "named": true
13          },
14          {
15            "type": "alias",
16            "named": true
17          },
18          {
19            "type": "anonymous_function",
20            "named": true
21          },
22          {
23            "type": "atom",
24            "named": true
25          },
26          {
27            "type": "binary_operator",
28            "named": true
29          },
30          {
31            "type": "bitstring",
32            "named": true
33          },
34          {
35            "type": "block",
36            "named": true
37          },
38          {
39            "type": "boolean",
40            "named": true
41          },
42          {
43            "type": "call",
44            "named": true
45          },
46          {
47            "type": "char",
48            "named": true
49          },
50          {
51            "type": "charlist",
52            "named": true
53          },
54          {
55            "type": "dot",
56            "named": true
57          },
58          {
59            "type": "float",
60            "named": true
61          },
62          {
63            "type": "identifier",
64            "named": true
65          },
66          {
67            "type": "integer",
68            "named": true
69          },
70          {
71            "type": "list",
72            "named": true
73          },
74          {
75            "type": "map",
76            "named": true
77          },
78          {
79            "type": "nil",
80            "named": true
81          },
82          {
83            "type": "quoted_atom",
84            "named": true
85          },
86          {
87            "type": "sigil",
88            "named": true
89          },
90          {
91            "type": "string",
92            "named": true
93          },
94          {
95            "type": "tuple",
96            "named": true
97          },
98          {
99            "type": "unary_operator",
100            "named": true
101          }
102        ]
103      },
104      "target": {
105        "multiple": false,
106        "required": true,
107        "types": [
108          {
109            "type": "access_call",
110            "named": true
111          },
112          {
113            "type": "alias",
114            "named": true
115          },
116          {
117            "type": "anonymous_function",
118            "named": true
119          },
120          {
121            "type": "atom",
122            "named": true
123          },
124          {
125            "type": "binary_operator",
126            "named": true
127          },
128          {
129            "type": "bitstring",
130            "named": true
131          },
132          {
133            "type": "block",
134            "named": true
135          },
136          {
137            "type": "boolean",
138            "named": true
139          },
140          {
141            "type": "call",
142            "named": true
143          },
144          {
145            "type": "char",
146            "named": true
147          },
148          {
149            "type": "charlist",
150            "named": true
151          },
152          {
153            "type": "dot",
154            "named": true
155          },
156          {
157            "type": "float",
158            "named": true
159          },
160          {
161            "type": "identifier",
162            "named": true
163          },
164          {
165            "type": "integer",
166            "named": true
167          },
168          {
169            "type": "list",
170            "named": true
171          },
172          {
173            "type": "map",
174            "named": true
175          },
176          {
177            "type": "nil",
178            "named": true
179          },
180          {
181            "type": "quoted_atom",
182            "named": true
183          },
184          {
185            "type": "sigil",
186            "named": true
187          },
188          {
189            "type": "string",
190            "named": true
191          },
192          {
193            "type": "tuple",
194            "named": true
195          },
196          {
197            "type": "unary_operator",
198            "named": true
199          }
200        ]
201      }
202    }
203  },
204  {
205    "type": "after_block",
206    "named": true,
207    "fields": {},
208    "children": {
209      "multiple": true,
210      "required": false,
211      "types": [
212        {
213          "type": "access_call",
214          "named": true
215        },
216        {
217          "type": "alias",
218          "named": true
219        },
220        {
221          "type": "anonymous_function",
222          "named": true
223        },
224        {
225          "type": "atom",
226          "named": true
227        },
228        {
229          "type": "binary_operator",
230          "named": true
231        },
232        {
233          "type": "bitstring",
234          "named": true
235        },
236        {
237          "type": "block",
238          "named": true
239        },
240        {
241          "type": "boolean",
242          "named": true
243        },
244        {
245          "type": "call",
246          "named": true
247        },
248        {
249          "type": "char",
250          "named": true
251        },
252        {
253          "type": "charlist",
254          "named": true
255        },
256        {
257          "type": "dot",
258          "named": true
259        },
260        {
261          "type": "float",
262          "named": true
263        },
264        {
265          "type": "identifier",
266          "named": true
267        },
268        {
269          "type": "integer",
270          "named": true
271        },
272        {
273          "type": "list",
274          "named": true
275        },
276        {
277          "type": "map",
278          "named": true
279        },
280        {
281          "type": "nil",
282          "named": true
283        },
284        {
285          "type": "quoted_atom",
286          "named": true
287        },
288        {
289          "type": "sigil",
290          "named": true
291        },
292        {
293          "type": "stab_clause",
294          "named": true
295        },
296        {
297          "type": "string",
298          "named": true
299        },
300        {
301          "type": "tuple",
302          "named": true
303        },
304        {
305          "type": "unary_operator",
306          "named": true
307        }
308      ]
309    }
310  },
311  {
312    "type": "anonymous_function",
313    "named": true,
314    "fields": {},
315    "children": {
316      "multiple": true,
317      "required": true,
318      "types": [
319        {
320          "type": "stab_clause",
321          "named": true
322        }
323      ]
324    }
325  },
326  {
327    "type": "arguments",
328    "named": true,
329    "fields": {},
330    "children": {
331      "multiple": true,
332      "required": false,
333      "types": [
334        {
335          "type": "access_call",
336          "named": true
337        },
338        {
339          "type": "alias",
340          "named": true
341        },
342        {
343          "type": "anonymous_function",
344          "named": true
345        },
346        {
347          "type": "atom",
348          "named": true
349        },
350        {
351          "type": "binary_operator",
352          "named": true
353        },
354        {
355          "type": "bitstring",
356          "named": true
357        },
358        {
359          "type": "block",
360          "named": true
361        },
362        {
363          "type": "boolean",
364          "named": true
365        },
366        {
367          "type": "call",
368          "named": true
369        },
370        {
371          "type": "char",
372          "named": true
373        },
374        {
375          "type": "charlist",
376          "named": true
377        },
378        {
379          "type": "dot",
380          "named": true
381        },
382        {
383          "type": "float",
384          "named": true
385        },
386        {
387          "type": "identifier",
388          "named": true
389        },
390        {
391          "type": "integer",
392          "named": true
393        },
394        {
395          "type": "keywords",
396          "named": true
397        },
398        {
399          "type": "list",
400          "named": true
401        },
402        {
403          "type": "map",
404          "named": true
405        },
406        {
407          "type": "nil",
408          "named": true
409        },
410        {
411          "type": "quoted_atom",
412          "named": true
413        },
414        {
415          "type": "sigil",
416          "named": true
417        },
418        {
419          "type": "string",
420          "named": true
421        },
422        {
423          "type": "tuple",
424          "named": true
425        },
426        {
427          "type": "unary_operator",
428          "named": true
429        }
430      ]
431    }
432  },
433  {
434    "type": "binary_operator",
435    "named": true,
436    "fields": {
437      "left": {
438        "multiple": false,
439        "required": true,
440        "types": [
441          {
442            "type": "access_call",
443            "named": true
444          },
445          {
446            "type": "alias",
447            "named": true
448          },
449          {
450            "type": "anonymous_function",
451            "named": true
452          },
453          {
454            "type": "arguments",
455            "named": true
456          },
457          {
458            "type": "atom",
459            "named": true
460          },
461          {
462            "type": "binary_operator",
463            "named": true
464          },
465          {
466            "type": "bitstring",
467            "named": true
468          },
469          {
470            "type": "block",
471            "named": true
472          },
473          {
474            "type": "boolean",
475            "named": true
476          },
477          {
478            "type": "call",
479            "named": true
480          },
481          {
482            "type": "char",
483            "named": true
484          },
485          {
486            "type": "charlist",
487            "named": true
488          },
489          {
490            "type": "dot",
491            "named": true
492          },
493          {
494            "type": "float",
495            "named": true
496          },
497          {
498            "type": "identifier",
499            "named": true
500          },
501          {
502            "type": "integer",
503            "named": true
504          },
505          {
506            "type": "list",
507            "named": true
508          },
509          {
510            "type": "map",
511            "named": true
512          },
513          {
514            "type": "nil",
515            "named": true
516          },
517          {
518            "type": "operator_identifier",
519            "named": true
520          },
521          {
522            "type": "quoted_atom",
523            "named": true
524          },
525          {
526            "type": "sigil",
527            "named": true
528          },
529          {
530            "type": "string",
531            "named": true
532          },
533          {
534            "type": "tuple",
535            "named": true
536          },
537          {
538            "type": "unary_operator",
539            "named": true
540          }
541        ]
542      },
543      "operator": {
544        "multiple": false,
545        "required": true,
546        "types": [
547          {
548            "type": "!=",
549            "named": false
550          },
551          {
552            "type": "!==",
553            "named": false
554          },
555          {
556            "type": "&&",
557            "named": false
558          },
559          {
560            "type": "&&&",
561            "named": false
562          },
563          {
564            "type": "*",
565            "named": false
566          },
567          {
568            "type": "**",
569            "named": false
570          },
571          {
572            "type": "+",
573            "named": false
574          },
575          {
576            "type": "++",
577            "named": false
578          },
579          {
580            "type": "+++",
581            "named": false
582          },
583          {
584            "type": "-",
585            "named": false
586          },
587          {
588            "type": "--",
589            "named": false
590          },
591          {
592            "type": "---",
593            "named": false
594          },
595          {
596            "type": "..",
597            "named": false
598          },
599          {
600            "type": "/",
601            "named": false
602          },
603          {
604            "type": "//",
605            "named": false
606          },
607          {
608            "type": "::",
609            "named": false
610          },
611          {
612            "type": "<",
613            "named": false
614          },
615          {
616            "type": "<-",
617            "named": false
618          },
619          {
620            "type": "<<<",
621            "named": false
622          },
623          {
624            "type": "<<~",
625            "named": false
626          },
627          {
628            "type": "<=",
629            "named": false
630          },
631          {
632            "type": "<>",
633            "named": false
634          },
635          {
636            "type": "<|>",
637            "named": false
638          },
639          {
640            "type": "<~",
641            "named": false
642          },
643          {
644            "type": "<~>",
645            "named": false
646          },
647          {
648            "type": "=",
649            "named": false
650          },
651          {
652            "type": "==",
653            "named": false
654          },
655          {
656            "type": "===",
657            "named": false
658          },
659          {
660            "type": "=>",
661            "named": false
662          },
663          {
664            "type": "=~",
665            "named": false
666          },
667          {
668            "type": ">",
669            "named": false
670          },
671          {
672            "type": ">=",
673            "named": false
674          },
675          {
676            "type": ">>>",
677            "named": false
678          },
679          {
680            "type": "\\\\",
681            "named": false
682          },
683          {
684            "type": "^^^",
685            "named": false
686          },
687          {
688            "type": "and",
689            "named": false
690          },
691          {
692            "type": "in",
693            "named": false
694          },
695          {
696            "type": "not in",
697            "named": false
698          },
699          {
700            "type": "or",
701            "named": false
702          },
703          {
704            "type": "when",
705            "named": false
706          },
707          {
708            "type": "|",
709            "named": false
710          },
711          {
712            "type": "|>",
713            "named": false
714          },
715          {
716            "type": "||",
717            "named": false
718          },
719          {
720            "type": "|||",
721            "named": false
722          },
723          {
724            "type": "~>",
725            "named": false
726          },
727          {
728            "type": "~>>",
729            "named": false
730          }
731        ]
732      },
733      "right": {
734        "multiple": false,
735        "required": true,
736        "types": [
737          {
738            "type": "access_call",
739            "named": true
740          },
741          {
742            "type": "alias",
743            "named": true
744          },
745          {
746            "type": "anonymous_function",
747            "named": true
748          },
749          {
750            "type": "atom",
751            "named": true
752          },
753          {
754            "type": "binary_operator",
755            "named": true
756          },
757          {
758            "type": "bitstring",
759            "named": true
760          },
761          {
762            "type": "block",
763            "named": true
764          },
765          {
766            "type": "boolean",
767            "named": true
768          },
769          {
770            "type": "call",
771            "named": true
772          },
773          {
774            "type": "char",
775            "named": true
776          },
777          {
778            "type": "charlist",
779            "named": true
780          },
781          {
782            "type": "dot",
783            "named": true
784          },
785          {
786            "type": "float",
787            "named": true
788          },
789          {
790            "type": "identifier",
791            "named": true
792          },
793          {
794            "type": "integer",
795            "named": true
796          },
797          {
798            "type": "keywords",
799            "named": true
800          },
801          {
802            "type": "list",
803            "named": true
804          },
805          {
806            "type": "map",
807            "named": true
808          },
809          {
810            "type": "nil",
811            "named": true
812          },
813          {
814            "type": "quoted_atom",
815            "named": true
816          },
817          {
818            "type": "sigil",
819            "named": true
820          },
821          {
822            "type": "string",
823            "named": true
824          },
825          {
826            "type": "tuple",
827            "named": true
828          },
829          {
830            "type": "unary_operator",
831            "named": true
832          }
833        ]
834      }
835    }
836  },
837  {
838    "type": "bitstring",
839    "named": true,
840    "fields": {},
841    "children": {
842      "multiple": true,
843      "required": false,
844      "types": [
845        {
846          "type": "access_call",
847          "named": true
848        },
849        {
850          "type": "alias",
851          "named": true
852        },
853        {
854          "type": "anonymous_function",
855          "named": true
856        },
857        {
858          "type": "atom",
859          "named": true
860        },
861        {
862          "type": "binary_operator",
863          "named": true
864        },
865        {
866          "type": "bitstring",
867          "named": true
868        },
869        {
870          "type": "block",
871          "named": true
872        },
873        {
874          "type": "boolean",
875          "named": true
876        },
877        {
878          "type": "call",
879          "named": true
880        },
881        {
882          "type": "char",
883          "named": true
884        },
885        {
886          "type": "charlist",
887          "named": true
888        },
889        {
890          "type": "dot",
891          "named": true
892        },
893        {
894          "type": "float",
895          "named": true
896        },
897        {
898          "type": "identifier",
899          "named": true
900        },
901        {
902          "type": "integer",
903          "named": true
904        },
905        {
906          "type": "keywords",
907          "named": true
908        },
909        {
910          "type": "list",
911          "named": true
912        },
913        {
914          "type": "map",
915          "named": true
916        },
917        {
918          "type": "nil",
919          "named": true
920        },
921        {
922          "type": "quoted_atom",
923          "named": true
924        },
925        {
926          "type": "sigil",
927          "named": true
928        },
929        {
930          "type": "string",
931          "named": true
932        },
933        {
934          "type": "tuple",
935          "named": true
936        },
937        {
938          "type": "unary_operator",
939          "named": true
940        }
941      ]
942    }
943  },
944  {
945    "type": "block",
946    "named": true,
947    "fields": {},
948    "children": {
949      "multiple": true,
950      "required": false,
951      "types": [
952        {
953          "type": "access_call",
954          "named": true
955        },
956        {
957          "type": "alias",
958          "named": true
959        },
960        {
961          "type": "anonymous_function",
962          "named": true
963        },
964        {
965          "type": "atom",
966          "named": true
967        },
968        {
969          "type": "binary_operator",
970          "named": true
971        },
972        {
973          "type": "bitstring",
974          "named": true
975        },
976        {
977          "type": "block",
978          "named": true
979        },
980        {
981          "type": "boolean",
982          "named": true
983        },
984        {
985          "type": "call",
986          "named": true
987        },
988        {
989          "type": "char",
990          "named": true
991        },
992        {
993          "type": "charlist",
994          "named": true
995        },
996        {
997          "type": "dot",
998          "named": true
999        },
1000        {
1001          "type": "float",
1002          "named": true
1003        },
1004        {
1005          "type": "identifier",
1006          "named": true
1007        },
1008        {
1009          "type": "integer",
1010          "named": true
1011        },
1012        {
1013          "type": "list",
1014          "named": true
1015        },
1016        {
1017          "type": "map",
1018          "named": true
1019        },
1020        {
1021          "type": "nil",
1022          "named": true
1023        },
1024        {
1025          "type": "quoted_atom",
1026          "named": true
1027        },
1028        {
1029          "type": "sigil",
1030          "named": true
1031        },
1032        {
1033          "type": "stab_clause",
1034          "named": true
1035        },
1036        {
1037          "type": "string",
1038          "named": true
1039        },
1040        {
1041          "type": "tuple",
1042          "named": true
1043        },
1044        {
1045          "type": "unary_operator",
1046          "named": true
1047        }
1048      ]
1049    }
1050  },
1051  {
1052    "type": "body",
1053    "named": true,
1054    "fields": {},
1055    "children": {
1056      "multiple": true,
1057      "required": true,
1058      "types": [
1059        {
1060          "type": "access_call",
1061          "named": true
1062        },
1063        {
1064          "type": "alias",
1065          "named": true
1066        },
1067        {
1068          "type": "anonymous_function",
1069          "named": true
1070        },
1071        {
1072          "type": "atom",
1073          "named": true
1074        },
1075        {
1076          "type": "binary_operator",
1077          "named": true
1078        },
1079        {
1080          "type": "bitstring",
1081          "named": true
1082        },
1083        {
1084          "type": "block",
1085          "named": true
1086        },
1087        {
1088          "type": "boolean",
1089          "named": true
1090        },
1091        {
1092          "type": "call",
1093          "named": true
1094        },
1095        {
1096          "type": "char",
1097          "named": true
1098        },
1099        {
1100          "type": "charlist",
1101          "named": true
1102        },
1103        {
1104          "type": "dot",
1105          "named": true
1106        },
1107        {
1108          "type": "float",
1109          "named": true
1110        },
1111        {
1112          "type": "identifier",
1113          "named": true
1114        },
1115        {
1116          "type": "integer",
1117          "named": true
1118        },
1119        {
1120          "type": "list",
1121          "named": true
1122        },
1123        {
1124          "type": "map",
1125          "named": true
1126        },
1127        {
1128          "type": "nil",
1129          "named": true
1130        },
1131        {
1132          "type": "quoted_atom",
1133          "named": true
1134        },
1135        {
1136          "type": "sigil",
1137          "named": true
1138        },
1139        {
1140          "type": "string",
1141          "named": true
1142        },
1143        {
1144          "type": "tuple",
1145          "named": true
1146        },
1147        {
1148          "type": "unary_operator",
1149          "named": true
1150        }
1151      ]
1152    }
1153  },
1154  {
1155    "type": "boolean",
1156    "named": true,
1157    "fields": {}
1158  },
1159  {
1160    "type": "call",
1161    "named": true,
1162    "fields": {
1163      "target": {
1164        "multiple": false,
1165        "required": true,
1166        "types": [
1167          {
1168            "type": "call",
1169            "named": true
1170          },
1171          {
1172            "type": "dot",
1173            "named": true
1174          },
1175          {
1176            "type": "identifier",
1177            "named": true
1178          }
1179        ]
1180      }
1181    },
1182    "children": {
1183      "multiple": true,
1184      "required": false,
1185      "types": [
1186        {
1187          "type": "arguments",
1188          "named": true
1189        },
1190        {
1191          "type": "do_block",
1192          "named": true
1193        }
1194      ]
1195    }
1196  },
1197  {
1198    "type": "catch_block",
1199    "named": true,
1200    "fields": {},
1201    "children": {
1202      "multiple": true,
1203      "required": false,
1204      "types": [
1205        {
1206          "type": "access_call",
1207          "named": true
1208        },
1209        {
1210          "type": "alias",
1211          "named": true
1212        },
1213        {
1214          "type": "anonymous_function",
1215          "named": true
1216        },
1217        {
1218          "type": "atom",
1219          "named": true
1220        },
1221        {
1222          "type": "binary_operator",
1223          "named": true
1224        },
1225        {
1226          "type": "bitstring",
1227          "named": true
1228        },
1229        {
1230          "type": "block",
1231          "named": true
1232        },
1233        {
1234          "type": "boolean",
1235          "named": true
1236        },
1237        {
1238          "type": "call",
1239          "named": true
1240        },
1241        {
1242          "type": "char",
1243          "named": true
1244        },
1245        {
1246          "type": "charlist",
1247          "named": true
1248        },
1249        {
1250          "type": "dot",
1251          "named": true
1252        },
1253        {
1254          "type": "float",
1255          "named": true
1256        },
1257        {
1258          "type": "identifier",
1259          "named": true
1260        },
1261        {
1262          "type": "integer",
1263          "named": true
1264        },
1265        {
1266          "type": "list",
1267          "named": true
1268        },
1269        {
1270          "type": "map",
1271          "named": true
1272        },
1273        {
1274          "type": "nil",
1275          "named": true
1276        },
1277        {
1278          "type": "quoted_atom",
1279          "named": true
1280        },
1281        {
1282          "type": "sigil",
1283          "named": true
1284        },
1285        {
1286          "type": "stab_clause",
1287          "named": true
1288        },
1289        {
1290          "type": "string",
1291          "named": true
1292        },
1293        {
1294          "type": "tuple",
1295          "named": true
1296        },
1297        {
1298          "type": "unary_operator",
1299          "named": true
1300        }
1301      ]
1302    }
1303  },
1304  {
1305    "type": "charlist",
1306    "named": true,
1307    "fields": {
1308      "quoted_end": {
1309        "multiple": false,
1310        "required": true,
1311        "types": [
1312          {
1313            "type": "'",
1314            "named": false
1315          },
1316          {
1317            "type": "'''",
1318            "named": false
1319          }
1320        ]
1321      },
1322      "quoted_start": {
1323        "multiple": false,
1324        "required": true,
1325        "types": [
1326          {
1327            "type": "'",
1328            "named": false
1329          },
1330          {
1331            "type": "'''",
1332            "named": false
1333          }
1334        ]
1335      }
1336    },
1337    "children": {
1338      "multiple": true,
1339      "required": false,
1340      "types": [
1341        {
1342          "type": "escape_sequence",
1343          "named": true
1344        },
1345        {
1346          "type": "interpolation",
1347          "named": true
1348        },
1349        {
1350          "type": "quoted_content",
1351          "named": true
1352        }
1353      ]
1354    }
1355  },
1356  {
1357    "type": "do_block",
1358    "named": true,
1359    "fields": {},
1360    "children": {
1361      "multiple": true,
1362      "required": false,
1363      "types": [
1364        {
1365          "type": "access_call",
1366          "named": true
1367        },
1368        {
1369          "type": "after_block",
1370          "named": true
1371        },
1372        {
1373          "type": "alias",
1374          "named": true
1375        },
1376        {
1377          "type": "anonymous_function",
1378          "named": true
1379        },
1380        {
1381          "type": "atom",
1382          "named": true
1383        },
1384        {
1385          "type": "binary_operator",
1386          "named": true
1387        },
1388        {
1389          "type": "bitstring",
1390          "named": true
1391        },
1392        {
1393          "type": "block",
1394          "named": true
1395        },
1396        {
1397          "type": "boolean",
1398          "named": true
1399        },
1400        {
1401          "type": "call",
1402          "named": true
1403        },
1404        {
1405          "type": "catch_block",
1406          "named": true
1407        },
1408        {
1409          "type": "char",
1410          "named": true
1411        },
1412        {
1413          "type": "charlist",
1414          "named": true
1415        },
1416        {
1417          "type": "dot",
1418          "named": true
1419        },
1420        {
1421          "type": "else_block",
1422          "named": true
1423        },
1424        {
1425          "type": "float",
1426          "named": true
1427        },
1428        {
1429          "type": "identifier",
1430          "named": true
1431        },
1432        {
1433          "type": "integer",
1434          "named": true
1435        },
1436        {
1437          "type": "list",
1438          "named": true
1439        },
1440        {
1441          "type": "map",
1442          "named": true
1443        },
1444        {
1445          "type": "nil",
1446          "named": true
1447        },
1448        {
1449          "type": "quoted_atom",
1450          "named": true
1451        },
1452        {
1453          "type": "rescue_block",
1454          "named": true
1455        },
1456        {
1457          "type": "sigil",
1458          "named": true
1459        },
1460        {
1461          "type": "stab_clause",
1462          "named": true
1463        },
1464        {
1465          "type": "string",
1466          "named": true
1467        },
1468        {
1469          "type": "tuple",
1470          "named": true
1471        },
1472        {
1473          "type": "unary_operator",
1474          "named": true
1475        }
1476      ]
1477    }
1478  },
1479  {
1480    "type": "dot",
1481    "named": true,
1482    "fields": {
1483      "left": {
1484        "multiple": false,
1485        "required": true,
1486        "types": [
1487          {
1488            "type": "access_call",
1489            "named": true
1490          },
1491          {
1492            "type": "alias",
1493            "named": true
1494          },
1495          {
1496            "type": "anonymous_function",
1497            "named": true
1498          },
1499          {
1500            "type": "atom",
1501            "named": true
1502          },
1503          {
1504            "type": "binary_operator",
1505            "named": true
1506          },
1507          {
1508            "type": "bitstring",
1509            "named": true
1510          },
1511          {
1512            "type": "block",
1513            "named": true
1514          },
1515          {
1516            "type": "boolean",
1517            "named": true
1518          },
1519          {
1520            "type": "call",
1521            "named": true
1522          },
1523          {
1524            "type": "char",
1525            "named": true
1526          },
1527          {
1528            "type": "charlist",
1529            "named": true
1530          },
1531          {
1532            "type": "dot",
1533            "named": true
1534          },
1535          {
1536            "type": "float",
1537            "named": true
1538          },
1539          {
1540            "type": "identifier",
1541            "named": true
1542          },
1543          {
1544            "type": "integer",
1545            "named": true
1546          },
1547          {
1548            "type": "list",
1549            "named": true
1550          },
1551          {
1552            "type": "map",
1553            "named": true
1554          },
1555          {
1556            "type": "nil",
1557            "named": true
1558          },
1559          {
1560            "type": "quoted_atom",
1561            "named": true
1562          },
1563          {
1564            "type": "sigil",
1565            "named": true
1566          },
1567          {
1568            "type": "string",
1569            "named": true
1570          },
1571          {
1572            "type": "tuple",
1573            "named": true
1574          },
1575          {
1576            "type": "unary_operator",
1577            "named": true
1578          }
1579        ]
1580      },
1581      "operator": {
1582        "multiple": false,
1583        "required": true,
1584        "types": [
1585          {
1586            "type": ".",
1587            "named": false
1588          }
1589        ]
1590      },
1591      "right": {
1592        "multiple": false,
1593        "required": false,
1594        "types": [
1595          {
1596            "type": "alias",
1597            "named": true
1598          },
1599          {
1600            "type": "charlist",
1601            "named": true
1602          },
1603          {
1604            "type": "identifier",
1605            "named": true
1606          },
1607          {
1608            "type": "operator_identifier",
1609            "named": true
1610          },
1611          {
1612            "type": "string",
1613            "named": true
1614          },
1615          {
1616            "type": "tuple",
1617            "named": true
1618          }
1619        ]
1620      }
1621    }
1622  },
1623  {
1624    "type": "else_block",
1625    "named": true,
1626    "fields": {},
1627    "children": {
1628      "multiple": true,
1629      "required": false,
1630      "types": [
1631        {
1632          "type": "access_call",
1633          "named": true
1634        },
1635        {
1636          "type": "alias",
1637          "named": true
1638        },
1639        {
1640          "type": "anonymous_function",
1641          "named": true
1642        },
1643        {
1644          "type": "atom",
1645          "named": true
1646        },
1647        {
1648          "type": "binary_operator",
1649          "named": true
1650        },
1651        {
1652          "type": "bitstring",
1653          "named": true
1654        },
1655        {
1656          "type": "block",
1657          "named": true
1658        },
1659        {
1660          "type": "boolean",
1661          "named": true
1662        },
1663        {
1664          "type": "call",
1665          "named": true
1666        },
1667        {
1668          "type": "char",
1669          "named": true
1670        },
1671        {
1672          "type": "charlist",
1673          "named": true
1674        },
1675        {
1676          "type": "dot",
1677          "named": true
1678        },
1679        {
1680          "type": "float",
1681          "named": true
1682        },
1683        {
1684          "type": "identifier",
1685          "named": true
1686        },
1687        {
1688          "type": "integer",
1689          "named": true
1690        },
1691        {
1692          "type": "list",
1693          "named": true
1694        },
1695        {
1696          "type": "map",
1697          "named": true
1698        },
1699        {
1700          "type": "nil",
1701          "named": true
1702        },
1703        {
1704          "type": "quoted_atom",
1705          "named": true
1706        },
1707        {
1708          "type": "sigil",
1709          "named": true
1710        },
1711        {
1712          "type": "stab_clause",
1713          "named": true
1714        },
1715        {
1716          "type": "string",
1717          "named": true
1718        },
1719        {
1720          "type": "tuple",
1721          "named": true
1722        },
1723        {
1724          "type": "unary_operator",
1725          "named": true
1726        }
1727      ]
1728    }
1729  },
1730  {
1731    "type": "identifier",
1732    "named": true,
1733    "fields": {}
1734  },
1735  {
1736    "type": "interpolation",
1737    "named": true,
1738    "fields": {},
1739    "children": {
1740      "multiple": false,
1741      "required": true,
1742      "types": [
1743        {
1744          "type": "access_call",
1745          "named": true
1746        },
1747        {
1748          "type": "alias",
1749          "named": true
1750        },
1751        {
1752          "type": "anonymous_function",
1753          "named": true
1754        },
1755        {
1756          "type": "atom",
1757          "named": true
1758        },
1759        {
1760          "type": "binary_operator",
1761          "named": true
1762        },
1763        {
1764          "type": "bitstring",
1765          "named": true
1766        },
1767        {
1768          "type": "block",
1769          "named": true
1770        },
1771        {
1772          "type": "boolean",
1773          "named": true
1774        },
1775        {
1776          "type": "call",
1777          "named": true
1778        },
1779        {
1780          "type": "char",
1781          "named": true
1782        },
1783        {
1784          "type": "charlist",
1785          "named": true
1786        },
1787        {
1788          "type": "dot",
1789          "named": true
1790        },
1791        {
1792          "type": "float",
1793          "named": true
1794        },
1795        {
1796          "type": "identifier",
1797          "named": true
1798        },
1799        {
1800          "type": "integer",
1801          "named": true
1802        },
1803        {
1804          "type": "list",
1805          "named": true
1806        },
1807        {
1808          "type": "map",
1809          "named": true
1810        },
1811        {
1812          "type": "nil",
1813          "named": true
1814        },
1815        {
1816          "type": "quoted_atom",
1817          "named": true
1818        },
1819        {
1820          "type": "sigil",
1821          "named": true
1822        },
1823        {
1824          "type": "string",
1825          "named": true
1826        },
1827        {
1828          "type": "tuple",
1829          "named": true
1830        },
1831        {
1832          "type": "unary_operator",
1833          "named": true
1834        }
1835      ]
1836    }
1837  },
1838  {
1839    "type": "keywords",
1840    "named": true,
1841    "fields": {},
1842    "children": {
1843      "multiple": true,
1844      "required": true,
1845      "types": [
1846        {
1847          "type": "pair",
1848          "named": true
1849        }
1850      ]
1851    }
1852  },
1853  {
1854    "type": "list",
1855    "named": true,
1856    "fields": {},
1857    "children": {
1858      "multiple": true,
1859      "required": false,
1860      "types": [
1861        {
1862          "type": "access_call",
1863          "named": true
1864        },
1865        {
1866          "type": "alias",
1867          "named": true
1868        },
1869        {
1870          "type": "anonymous_function",
1871          "named": true
1872        },
1873        {
1874          "type": "atom",
1875          "named": true
1876        },
1877        {
1878          "type": "binary_operator",
1879          "named": true
1880        },
1881        {
1882          "type": "bitstring",
1883          "named": true
1884        },
1885        {
1886          "type": "block",
1887          "named": true
1888        },
1889        {
1890          "type": "boolean",
1891          "named": true
1892        },
1893        {
1894          "type": "call",
1895          "named": true
1896        },
1897        {
1898          "type": "char",
1899          "named": true
1900        },
1901        {
1902          "type": "charlist",
1903          "named": true
1904        },
1905        {
1906          "type": "dot",
1907          "named": true
1908        },
1909        {
1910          "type": "float",
1911          "named": true
1912        },
1913        {
1914          "type": "identifier",
1915          "named": true
1916        },
1917        {
1918          "type": "integer",
1919          "named": true
1920        },
1921        {
1922          "type": "keywords",
1923          "named": true
1924        },
1925        {
1926          "type": "list",
1927          "named": true
1928        },
1929        {
1930          "type": "map",
1931          "named": true
1932        },
1933        {
1934          "type": "nil",
1935          "named": true
1936        },
1937        {
1938          "type": "quoted_atom",
1939          "named": true
1940        },
1941        {
1942          "type": "sigil",
1943          "named": true
1944        },
1945        {
1946          "type": "string",
1947          "named": true
1948        },
1949        {
1950          "type": "tuple",
1951          "named": true
1952        },
1953        {
1954          "type": "unary_operator",
1955          "named": true
1956        }
1957      ]
1958    }
1959  },
1960  {
1961    "type": "map",
1962    "named": true,
1963    "fields": {},
1964    "children": {
1965      "multiple": true,
1966      "required": false,
1967      "types": [
1968        {
1969          "type": "map_content",
1970          "named": true
1971        },
1972        {
1973          "type": "struct",
1974          "named": true
1975        }
1976      ]
1977    }
1978  },
1979  {
1980    "type": "map_content",
1981    "named": true,
1982    "fields": {},
1983    "children": {
1984      "multiple": true,
1985      "required": true,
1986      "types": [
1987        {
1988          "type": "access_call",
1989          "named": true
1990        },
1991        {
1992          "type": "alias",
1993          "named": true
1994        },
1995        {
1996          "type": "anonymous_function",
1997          "named": true
1998        },
1999        {
2000          "type": "atom",
2001          "named": true
2002        },
2003        {
2004          "type": "binary_operator",
2005          "named": true
2006        },
2007        {
2008          "type": "bitstring",
2009          "named": true
2010        },
2011        {
2012          "type": "block",
2013          "named": true
2014        },
2015        {
2016          "type": "boolean",
2017          "named": true
2018        },
2019        {
2020          "type": "call",
2021          "named": true
2022        },
2023        {
2024          "type": "char",
2025          "named": true
2026        },
2027        {
2028          "type": "charlist",
2029          "named": true
2030        },
2031        {
2032          "type": "dot",
2033          "named": true
2034        },
2035        {
2036          "type": "float",
2037          "named": true
2038        },
2039        {
2040          "type": "identifier",
2041          "named": true
2042        },
2043        {
2044          "type": "integer",
2045          "named": true
2046        },
2047        {
2048          "type": "keywords",
2049          "named": true
2050        },
2051        {
2052          "type": "list",
2053          "named": true
2054        },
2055        {
2056          "type": "map",
2057          "named": true
2058        },
2059        {
2060          "type": "nil",
2061          "named": true
2062        },
2063        {
2064          "type": "quoted_atom",
2065          "named": true
2066        },
2067        {
2068          "type": "sigil",
2069          "named": true
2070        },
2071        {
2072          "type": "string",
2073          "named": true
2074        },
2075        {
2076          "type": "tuple",
2077          "named": true
2078        },
2079        {
2080          "type": "unary_operator",
2081          "named": true
2082        }
2083      ]
2084    }
2085  },
2086  {
2087    "type": "nil",
2088    "named": true,
2089    "fields": {}
2090  },
2091  {
2092    "type": "operator_identifier",
2093    "named": true,
2094    "fields": {}
2095  },
2096  {
2097    "type": "pair",
2098    "named": true,
2099    "fields": {
2100      "key": {
2101        "multiple": false,
2102        "required": true,
2103        "types": [
2104          {
2105            "type": "keyword",
2106            "named": true
2107          },
2108          {
2109            "type": "quoted_keyword",
2110            "named": true
2111          }
2112        ]
2113      },
2114      "value": {
2115        "multiple": false,
2116        "required": true,
2117        "types": [
2118          {
2119            "type": "access_call",
2120            "named": true
2121          },
2122          {
2123            "type": "alias",
2124            "named": true
2125          },
2126          {
2127            "type": "anonymous_function",
2128            "named": true
2129          },
2130          {
2131            "type": "atom",
2132            "named": true
2133          },
2134          {
2135            "type": "binary_operator",
2136            "named": true
2137          },
2138          {
2139            "type": "bitstring",
2140            "named": true
2141          },
2142          {
2143            "type": "block",
2144            "named": true
2145          },
2146          {
2147            "type": "boolean",
2148            "named": true
2149          },
2150          {
2151            "type": "call",
2152            "named": true
2153          },
2154          {
2155            "type": "char",
2156            "named": true
2157          },
2158          {
2159            "type": "charlist",
2160            "named": true
2161          },
2162          {
2163            "type": "dot",
2164            "named": true
2165          },
2166          {
2167            "type": "float",
2168            "named": true
2169          },
2170          {
2171            "type": "identifier",
2172            "named": true
2173          },
2174          {
2175            "type": "integer",
2176            "named": true
2177          },
2178          {
2179            "type": "list",
2180            "named": true
2181          },
2182          {
2183            "type": "map",
2184            "named": true
2185          },
2186          {
2187            "type": "nil",
2188            "named": true
2189          },
2190          {
2191            "type": "quoted_atom",
2192            "named": true
2193          },
2194          {
2195            "type": "sigil",
2196            "named": true
2197          },
2198          {
2199            "type": "string",
2200            "named": true
2201          },
2202          {
2203            "type": "tuple",
2204            "named": true
2205          },
2206          {
2207            "type": "unary_operator",
2208            "named": true
2209          }
2210        ]
2211      }
2212    }
2213  },
2214  {
2215    "type": "quoted_atom",
2216    "named": true,
2217    "fields": {
2218      "quoted_end": {
2219        "multiple": false,
2220        "required": true,
2221        "types": [
2222          {
2223            "type": "\"",
2224            "named": false
2225          },
2226          {
2227            "type": "'",
2228            "named": false
2229          }
2230        ]
2231      },
2232      "quoted_start": {
2233        "multiple": false,
2234        "required": true,
2235        "types": [
2236          {
2237            "type": "\"",
2238            "named": false
2239          },
2240          {
2241            "type": "'",
2242            "named": false
2243          }
2244        ]
2245      }
2246    },
2247    "children": {
2248      "multiple": true,
2249      "required": false,
2250      "types": [
2251        {
2252          "type": "escape_sequence",
2253          "named": true
2254        },
2255        {
2256          "type": "interpolation",
2257          "named": true
2258        },
2259        {
2260          "type": "quoted_content",
2261          "named": true
2262        }
2263      ]
2264    }
2265  },
2266  {
2267    "type": "quoted_keyword",
2268    "named": true,
2269    "fields": {
2270      "quoted_end": {
2271        "multiple": false,
2272        "required": true,
2273        "types": [
2274          {
2275            "type": "\"",
2276            "named": false
2277          },
2278          {
2279            "type": "'",
2280            "named": false
2281          }
2282        ]
2283      },
2284      "quoted_start": {
2285        "multiple": false,
2286        "required": true,
2287        "types": [
2288          {
2289            "type": "\"",
2290            "named": false
2291          },
2292          {
2293            "type": "'",
2294            "named": false
2295          }
2296        ]
2297      }
2298    },
2299    "children": {
2300      "multiple": true,
2301      "required": false,
2302      "types": [
2303        {
2304          "type": "escape_sequence",
2305          "named": true
2306        },
2307        {
2308          "type": "interpolation",
2309          "named": true
2310        },
2311        {
2312          "type": "quoted_content",
2313          "named": true
2314        }
2315      ]
2316    }
2317  },
2318  {
2319    "type": "rescue_block",
2320    "named": true,
2321    "fields": {},
2322    "children": {
2323      "multiple": true,
2324      "required": false,
2325      "types": [
2326        {
2327          "type": "access_call",
2328          "named": true
2329        },
2330        {
2331          "type": "alias",
2332          "named": true
2333        },
2334        {
2335          "type": "anonymous_function",
2336          "named": true
2337        },
2338        {
2339          "type": "atom",
2340          "named": true
2341        },
2342        {
2343          "type": "binary_operator",
2344          "named": true
2345        },
2346        {
2347          "type": "bitstring",
2348          "named": true
2349        },
2350        {
2351          "type": "block",
2352          "named": true
2353        },
2354        {
2355          "type": "boolean",
2356          "named": true
2357        },
2358        {
2359          "type": "call",
2360          "named": true
2361        },
2362        {
2363          "type": "char",
2364          "named": true
2365        },
2366        {
2367          "type": "charlist",
2368          "named": true
2369        },
2370        {
2371          "type": "dot",
2372          "named": true
2373        },
2374        {
2375          "type": "float",
2376          "named": true
2377        },
2378        {
2379          "type": "identifier",
2380          "named": true
2381        },
2382        {
2383          "type": "integer",
2384          "named": true
2385        },
2386        {
2387          "type": "list",
2388          "named": true
2389        },
2390        {
2391          "type": "map",
2392          "named": true
2393        },
2394        {
2395          "type": "nil",
2396          "named": true
2397        },
2398        {
2399          "type": "quoted_atom",
2400          "named": true
2401        },
2402        {
2403          "type": "sigil",
2404          "named": true
2405        },
2406        {
2407          "type": "stab_clause",
2408          "named": true
2409        },
2410        {
2411          "type": "string",
2412          "named": true
2413        },
2414        {
2415          "type": "tuple",
2416          "named": true
2417        },
2418        {
2419          "type": "unary_operator",
2420          "named": true
2421        }
2422      ]
2423    }
2424  },
2425  {
2426    "type": "sigil",
2427    "named": true,
2428    "fields": {
2429      "quoted_end": {
2430        "multiple": false,
2431        "required": true,
2432        "types": [
2433          {
2434            "type": "\"",
2435            "named": false
2436          },
2437          {
2438            "type": "\"\"\"",
2439            "named": false
2440          },
2441          {
2442            "type": "'",
2443            "named": false
2444          },
2445          {
2446            "type": "'''",
2447            "named": false
2448          },
2449          {
2450            "type": ")",
2451            "named": false
2452          },
2453          {
2454            "type": "/",
2455            "named": false
2456          },
2457          {
2458            "type": ">",
2459            "named": false
2460          },
2461          {
2462            "type": "]",
2463            "named": false
2464          },
2465          {
2466            "type": "|",
2467            "named": false
2468          },
2469          {
2470            "type": "}",
2471            "named": false
2472          }
2473        ]
2474      },
2475      "quoted_start": {
2476        "multiple": false,
2477        "required": true,
2478        "types": [
2479          {
2480            "type": "\"",
2481            "named": false
2482          },
2483          {
2484            "type": "\"\"\"",
2485            "named": false
2486          },
2487          {
2488            "type": "'",
2489            "named": false
2490          },
2491          {
2492            "type": "'''",
2493            "named": false
2494          },
2495          {
2496            "type": "(",
2497            "named": false
2498          },
2499          {
2500            "type": "/",
2501            "named": false
2502          },
2503          {
2504            "type": "<",
2505            "named": false
2506          },
2507          {
2508            "type": "[",
2509            "named": false
2510          },
2511          {
2512            "type": "{",
2513            "named": false
2514          },
2515          {
2516            "type": "|",
2517            "named": false
2518          }
2519        ]
2520      }
2521    },
2522    "children": {
2523      "multiple": true,
2524      "required": true,
2525      "types": [
2526        {
2527          "type": "escape_sequence",
2528          "named": true
2529        },
2530        {
2531          "type": "interpolation",
2532          "named": true
2533        },
2534        {
2535          "type": "quoted_content",
2536          "named": true
2537        },
2538        {
2539          "type": "sigil_modifiers",
2540          "named": true
2541        },
2542        {
2543          "type": "sigil_name",
2544          "named": true
2545        }
2546      ]
2547    }
2548  },
2549  {
2550    "type": "source",
2551    "named": true,
2552    "fields": {},
2553    "children": {
2554      "multiple": true,
2555      "required": false,
2556      "types": [
2557        {
2558          "type": "access_call",
2559          "named": true
2560        },
2561        {
2562          "type": "alias",
2563          "named": true
2564        },
2565        {
2566          "type": "anonymous_function",
2567          "named": true
2568        },
2569        {
2570          "type": "atom",
2571          "named": true
2572        },
2573        {
2574          "type": "binary_operator",
2575          "named": true
2576        },
2577        {
2578          "type": "bitstring",
2579          "named": true
2580        },
2581        {
2582          "type": "block",
2583          "named": true
2584        },
2585        {
2586          "type": "boolean",
2587          "named": true
2588        },
2589        {
2590          "type": "call",
2591          "named": true
2592        },
2593        {
2594          "type": "char",
2595          "named": true
2596        },
2597        {
2598          "type": "charlist",
2599          "named": true
2600        },
2601        {
2602          "type": "dot",
2603          "named": true
2604        },
2605        {
2606          "type": "float",
2607          "named": true
2608        },
2609        {
2610          "type": "identifier",
2611          "named": true
2612        },
2613        {
2614          "type": "integer",
2615          "named": true
2616        },
2617        {
2618          "type": "list",
2619          "named": true
2620        },
2621        {
2622          "type": "map",
2623          "named": true
2624        },
2625        {
2626          "type": "nil",
2627          "named": true
2628        },
2629        {
2630          "type": "quoted_atom",
2631          "named": true
2632        },
2633        {
2634          "type": "sigil",
2635          "named": true
2636        },
2637        {
2638          "type": "string",
2639          "named": true
2640        },
2641        {
2642          "type": "tuple",
2643          "named": true
2644        },
2645        {
2646          "type": "unary_operator",
2647          "named": true
2648        }
2649      ]
2650    }
2651  },
2652  {
2653    "type": "stab_clause",
2654    "named": true,
2655    "fields": {
2656      "left": {
2657        "multiple": false,
2658        "required": false,
2659        "types": [
2660          {
2661            "type": "arguments",
2662            "named": true
2663          },
2664          {
2665            "type": "binary_operator",
2666            "named": true
2667          }
2668        ]
2669      },
2670      "operator": {
2671        "multiple": false,
2672        "required": true,
2673        "types": [
2674          {
2675            "type": "->",
2676            "named": false
2677          }
2678        ]
2679      },
2680      "right": {
2681        "multiple": false,
2682        "required": false,
2683        "types": [
2684          {
2685            "type": "body",
2686            "named": true
2687          }
2688        ]
2689      }
2690    }
2691  },
2692  {
2693    "type": "string",
2694    "named": true,
2695    "fields": {
2696      "quoted_end": {
2697        "multiple": false,
2698        "required": true,
2699        "types": [
2700          {
2701            "type": "\"",
2702            "named": false
2703          },
2704          {
2705            "type": "\"\"\"",
2706            "named": false
2707          }
2708        ]
2709      },
2710      "quoted_start": {
2711        "multiple": false,
2712        "required": true,
2713        "types": [
2714          {
2715            "type": "\"",
2716            "named": false
2717          },
2718          {
2719            "type": "\"\"\"",
2720            "named": false
2721          }
2722        ]
2723      }
2724    },
2725    "children": {
2726      "multiple": true,
2727      "required": false,
2728      "types": [
2729        {
2730          "type": "escape_sequence",
2731          "named": true
2732        },
2733        {
2734          "type": "interpolation",
2735          "named": true
2736        },
2737        {
2738          "type": "quoted_content",
2739          "named": true
2740        }
2741      ]
2742    }
2743  },
2744  {
2745    "type": "struct",
2746    "named": true,
2747    "fields": {},
2748    "children": {
2749      "multiple": false,
2750      "required": true,
2751      "types": [
2752        {
2753          "type": "alias",
2754          "named": true
2755        },
2756        {
2757          "type": "atom",
2758          "named": true
2759        },
2760        {
2761          "type": "call",
2762          "named": true
2763        },
2764        {
2765          "type": "dot",
2766          "named": true
2767        },
2768        {
2769          "type": "identifier",
2770          "named": true
2771        },
2772        {
2773          "type": "quoted_atom",
2774          "named": true
2775        },
2776        {
2777          "type": "unary_operator",
2778          "named": true
2779        }
2780      ]
2781    }
2782  },
2783  {
2784    "type": "tuple",
2785    "named": true,
2786    "fields": {},
2787    "children": {
2788      "multiple": true,
2789      "required": false,
2790      "types": [
2791        {
2792          "type": "access_call",
2793          "named": true
2794        },
2795        {
2796          "type": "alias",
2797          "named": true
2798        },
2799        {
2800          "type": "anonymous_function",
2801          "named": true
2802        },
2803        {
2804          "type": "atom",
2805          "named": true
2806        },
2807        {
2808          "type": "binary_operator",
2809          "named": true
2810        },
2811        {
2812          "type": "bitstring",
2813          "named": true
2814        },
2815        {
2816          "type": "block",
2817          "named": true
2818        },
2819        {
2820          "type": "boolean",
2821          "named": true
2822        },
2823        {
2824          "type": "call",
2825          "named": true
2826        },
2827        {
2828          "type": "char",
2829          "named": true
2830        },
2831        {
2832          "type": "charlist",
2833          "named": true
2834        },
2835        {
2836          "type": "dot",
2837          "named": true
2838        },
2839        {
2840          "type": "float",
2841          "named": true
2842        },
2843        {
2844          "type": "identifier",
2845          "named": true
2846        },
2847        {
2848          "type": "integer",
2849          "named": true
2850        },
2851        {
2852          "type": "keywords",
2853          "named": true
2854        },
2855        {
2856          "type": "list",
2857          "named": true
2858        },
2859        {
2860          "type": "map",
2861          "named": true
2862        },
2863        {
2864          "type": "nil",
2865          "named": true
2866        },
2867        {
2868          "type": "quoted_atom",
2869          "named": true
2870        },
2871        {
2872          "type": "sigil",
2873          "named": true
2874        },
2875        {
2876          "type": "string",
2877          "named": true
2878        },
2879        {
2880          "type": "tuple",
2881          "named": true
2882        },
2883        {
2884          "type": "unary_operator",
2885          "named": true
2886        }
2887      ]
2888    }
2889  },
2890  {
2891    "type": "unary_operator",
2892    "named": true,
2893    "fields": {
2894      "operand": {
2895        "multiple": true,
2896        "required": true,
2897        "types": [
2898          {
2899            "type": "(",
2900            "named": false
2901          },
2902          {
2903            "type": ")",
2904            "named": false
2905          },
2906          {
2907            "type": "access_call",
2908            "named": true
2909          },
2910          {
2911            "type": "alias",
2912            "named": true
2913          },
2914          {
2915            "type": "anonymous_function",
2916            "named": true
2917          },
2918          {
2919            "type": "atom",
2920            "named": true
2921          },
2922          {
2923            "type": "binary_operator",
2924            "named": true
2925          },
2926          {
2927            "type": "bitstring",
2928            "named": true
2929          },
2930          {
2931            "type": "block",
2932            "named": true
2933          },
2934          {
2935            "type": "boolean",
2936            "named": true
2937          },
2938          {
2939            "type": "call",
2940            "named": true
2941          },
2942          {
2943            "type": "char",
2944            "named": true
2945          },
2946          {
2947            "type": "charlist",
2948            "named": true
2949          },
2950          {
2951            "type": "dot",
2952            "named": true
2953          },
2954          {
2955            "type": "float",
2956            "named": true
2957          },
2958          {
2959            "type": "identifier",
2960            "named": true
2961          },
2962          {
2963            "type": "integer",
2964            "named": true
2965          },
2966          {
2967            "type": "list",
2968            "named": true
2969          },
2970          {
2971            "type": "map",
2972            "named": true
2973          },
2974          {
2975            "type": "nil",
2976            "named": true
2977          },
2978          {
2979            "type": "quoted_atom",
2980            "named": true
2981          },
2982          {
2983            "type": "sigil",
2984            "named": true
2985          },
2986          {
2987            "type": "string",
2988            "named": true
2989          },
2990          {
2991            "type": "tuple",
2992            "named": true
2993          },
2994          {
2995            "type": "unary_operator",
2996            "named": true
2997          }
2998        ]
2999      },
3000      "operator": {
3001        "multiple": false,
3002        "required": true,
3003        "types": [
3004          {
3005            "type": "!",
3006            "named": false
3007          },
3008          {
3009            "type": "&",
3010            "named": false
3011          },
3012          {
3013            "type": "+",
3014            "named": false
3015          },
3016          {
3017            "type": "-",
3018            "named": false
3019          },
3020          {
3021            "type": "@",
3022            "named": false
3023          },
3024          {
3025            "type": "^",
3026            "named": false
3027          },
3028          {
3029            "type": "not",
3030            "named": false
3031          },
3032          {
3033            "type": "~~~",
3034            "named": false
3035          }
3036        ]
3037      }
3038    }
3039  },
3040  {
3041    "type": "!",
3042    "named": false
3043  },
3044  {
3045    "type": "!=",
3046    "named": false
3047  },
3048  {
3049    "type": "!==",
3050    "named": false
3051  },
3052  {
3053    "type": "\"",
3054    "named": false
3055  },
3056  {
3057    "type": "\"\"\"",
3058    "named": false
3059  },
3060  {
3061    "type": "#{",
3062    "named": false
3063  },
3064  {
3065    "type": "%",
3066    "named": false
3067  },
3068  {
3069    "type": "&",
3070    "named": false
3071  },
3072  {
3073    "type": "&&",
3074    "named": false
3075  },
3076  {
3077    "type": "&&&",
3078    "named": false
3079  },
3080  {
3081    "type": "'",
3082    "named": false
3083  },
3084  {
3085    "type": "'''",
3086    "named": false
3087  },
3088  {
3089    "type": "(",
3090    "named": false
3091  },
3092  {
3093    "type": ")",
3094    "named": false
3095  },
3096  {
3097    "type": "*",
3098    "named": false
3099  },
3100  {
3101    "type": "**",
3102    "named": false
3103  },
3104  {
3105    "type": "+",
3106    "named": false
3107  },
3108  {
3109    "type": "++",
3110    "named": false
3111  },
3112  {
3113    "type": "+++",
3114    "named": false
3115  },
3116  {
3117    "type": ",",
3118    "named": false
3119  },
3120  {
3121    "type": "-",
3122    "named": false
3123  },
3124  {
3125    "type": "--",
3126    "named": false
3127  },
3128  {
3129    "type": "---",
3130    "named": false
3131  },
3132  {
3133    "type": "->",
3134    "named": false
3135  },
3136  {
3137    "type": ".",
3138    "named": false
3139  },
3140  {
3141    "type": "..",
3142    "named": false
3143  },
3144  {
3145    "type": "...",
3146    "named": false
3147  },
3148  {
3149    "type": "/",
3150    "named": false
3151  },
3152  {
3153    "type": "//",
3154    "named": false
3155  },
3156  {
3157    "type": ":",
3158    "named": false
3159  },
3160  {
3161    "type": "::",
3162    "named": false
3163  },
3164  {
3165    "type": ";",
3166    "named": false
3167  },
3168  {
3169    "type": "<",
3170    "named": false
3171  },
3172  {
3173    "type": "<-",
3174    "named": false
3175  },
3176  {
3177    "type": "<<",
3178    "named": false
3179  },
3180  {
3181    "type": "<<<",
3182    "named": false
3183  },
3184  {
3185    "type": "<<~",
3186    "named": false
3187  },
3188  {
3189    "type": "<=",
3190    "named": false
3191  },
3192  {
3193    "type": "<>",
3194    "named": false
3195  },
3196  {
3197    "type": "<|>",
3198    "named": false
3199  },
3200  {
3201    "type": "<~",
3202    "named": false
3203  },
3204  {
3205    "type": "<~>",
3206    "named": false
3207  },
3208  {
3209    "type": "=",
3210    "named": false
3211  },
3212  {
3213    "type": "==",
3214    "named": false
3215  },
3216  {
3217    "type": "===",
3218    "named": false
3219  },
3220  {
3221    "type": "=>",
3222    "named": false
3223  },
3224  {
3225    "type": "=~",
3226    "named": false
3227  },
3228  {
3229    "type": ">",
3230    "named": false
3231  },
3232  {
3233    "type": ">=",
3234    "named": false
3235  },
3236  {
3237    "type": ">>",
3238    "named": false
3239  },
3240  {
3241    "type": ">>>",
3242    "named": false
3243  },
3244  {
3245    "type": "@",
3246    "named": false
3247  },
3248  {
3249    "type": "[",
3250    "named": false
3251  },
3252  {
3253    "type": "\\\\",
3254    "named": false
3255  },
3256  {
3257    "type": "]",
3258    "named": false
3259  },
3260  {
3261    "type": "^",
3262    "named": false
3263  },
3264  {
3265    "type": "^^",
3266    "named": false
3267  },
3268  {
3269    "type": "^^^",
3270    "named": false
3271  },
3272  {
3273    "type": "after",
3274    "named": false
3275  },
3276  {
3277    "type": "alias",
3278    "named": true
3279  },
3280  {
3281    "type": "and",
3282    "named": false
3283  },
3284  {
3285    "type": "atom",
3286    "named": true
3287  },
3288  {
3289    "type": "catch",
3290    "named": false
3291  },
3292  {
3293    "type": "char",
3294    "named": true
3295  },
3296  {
3297    "type": "comment",
3298    "named": true
3299  },
3300  {
3301    "type": "do",
3302    "named": false
3303  },
3304  {
3305    "type": "else",
3306    "named": false
3307  },
3308  {
3309    "type": "end",
3310    "named": false
3311  },
3312  {
3313    "type": "escape_sequence",
3314    "named": true
3315  },
3316  {
3317    "type": "false",
3318    "named": false
3319  },
3320  {
3321    "type": "float",
3322    "named": true
3323  },
3324  {
3325    "type": "fn",
3326    "named": false
3327  },
3328  {
3329    "type": "in",
3330    "named": false
3331  },
3332  {
3333    "type": "integer",
3334    "named": true
3335  },
3336  {
3337    "type": "keyword",
3338    "named": true
3339  },
3340  {
3341    "type": "nil",
3342    "named": false
3343  },
3344  {
3345    "type": "not",
3346    "named": false
3347  },
3348  {
3349    "type": "not in",
3350    "named": false
3351  },
3352  {
3353    "type": "or",
3354    "named": false
3355  },
3356  {
3357    "type": "quoted_content",
3358    "named": true
3359  },
3360  {
3361    "type": "rescue",
3362    "named": false
3363  },
3364  {
3365    "type": "sigil_modifiers",
3366    "named": true
3367  },
3368  {
3369    "type": "sigil_name",
3370    "named": true
3371  },
3372  {
3373    "type": "true",
3374    "named": false
3375  },
3376  {
3377    "type": "when",
3378    "named": false
3379  },
3380  {
3381    "type": "{",
3382    "named": false
3383  },
3384  {
3385    "type": "|",
3386    "named": false
3387  },
3388  {
3389    "type": "|>",
3390    "named": false
3391  },
3392  {
3393    "type": "||",
3394    "named": false
3395  },
3396  {
3397    "type": "|||",
3398    "named": false
3399  },
3400  {
3401    "type": "}",
3402    "named": false
3403  },
3404  {
3405    "type": "~",
3406    "named": false
3407  },
3408  {
3409    "type": "~>",
3410    "named": false
3411  },
3412  {
3413    "type": "~>>",
3414    "named": false
3415  },
3416  {
3417    "type": "~~~",
3418    "named": false
3419  }
3420]