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