1{
2 "name": "cpp",
3 "word": "identifier",
4 "rules": {
5 "translation_unit": {
6 "type": "REPEAT",
7 "content": {
8 "type": "SYMBOL",
9 "name": "_top_level_item"
10 }
11 },
12 "_top_level_item": {
13 "type": "CHOICE",
14 "members": [
15 {
16 "type": "SYMBOL",
17 "name": "function_definition"
18 },
19 {
20 "type": "SYMBOL",
21 "name": "linkage_specification"
22 },
23 {
24 "type": "SYMBOL",
25 "name": "declaration"
26 },
27 {
28 "type": "SYMBOL",
29 "name": "_top_level_statement"
30 },
31 {
32 "type": "SYMBOL",
33 "name": "attributed_statement"
34 },
35 {
36 "type": "SYMBOL",
37 "name": "type_definition"
38 },
39 {
40 "type": "SYMBOL",
41 "name": "_empty_declaration"
42 },
43 {
44 "type": "SYMBOL",
45 "name": "preproc_if"
46 },
47 {
48 "type": "SYMBOL",
49 "name": "preproc_ifdef"
50 },
51 {
52 "type": "SYMBOL",
53 "name": "preproc_include"
54 },
55 {
56 "type": "SYMBOL",
57 "name": "preproc_def"
58 },
59 {
60 "type": "SYMBOL",
61 "name": "preproc_function_def"
62 },
63 {
64 "type": "SYMBOL",
65 "name": "preproc_call"
66 },
67 {
68 "type": "SYMBOL",
69 "name": "namespace_definition"
70 },
71 {
72 "type": "SYMBOL",
73 "name": "concept_definition"
74 },
75 {
76 "type": "SYMBOL",
77 "name": "namespace_alias_definition"
78 },
79 {
80 "type": "SYMBOL",
81 "name": "using_declaration"
82 },
83 {
84 "type": "SYMBOL",
85 "name": "alias_declaration"
86 },
87 {
88 "type": "SYMBOL",
89 "name": "static_assert_declaration"
90 },
91 {
92 "type": "SYMBOL",
93 "name": "template_declaration"
94 },
95 {
96 "type": "SYMBOL",
97 "name": "template_instantiation"
98 },
99 {
100 "type": "ALIAS",
101 "content": {
102 "type": "SYMBOL",
103 "name": "constructor_or_destructor_definition"
104 },
105 "named": true,
106 "value": "function_definition"
107 },
108 {
109 "type": "ALIAS",
110 "content": {
111 "type": "SYMBOL",
112 "name": "operator_cast_definition"
113 },
114 "named": true,
115 "value": "function_definition"
116 },
117 {
118 "type": "ALIAS",
119 "content": {
120 "type": "SYMBOL",
121 "name": "operator_cast_declaration"
122 },
123 "named": true,
124 "value": "declaration"
125 }
126 ]
127 },
128 "_block_item": {
129 "type": "CHOICE",
130 "members": [
131 {
132 "type": "SYMBOL",
133 "name": "function_definition"
134 },
135 {
136 "type": "SYMBOL",
137 "name": "linkage_specification"
138 },
139 {
140 "type": "SYMBOL",
141 "name": "declaration"
142 },
143 {
144 "type": "SYMBOL",
145 "name": "_statement"
146 },
147 {
148 "type": "SYMBOL",
149 "name": "attributed_statement"
150 },
151 {
152 "type": "SYMBOL",
153 "name": "type_definition"
154 },
155 {
156 "type": "SYMBOL",
157 "name": "_empty_declaration"
158 },
159 {
160 "type": "SYMBOL",
161 "name": "preproc_if"
162 },
163 {
164 "type": "SYMBOL",
165 "name": "preproc_ifdef"
166 },
167 {
168 "type": "SYMBOL",
169 "name": "preproc_include"
170 },
171 {
172 "type": "SYMBOL",
173 "name": "preproc_def"
174 },
175 {
176 "type": "SYMBOL",
177 "name": "preproc_function_def"
178 },
179 {
180 "type": "SYMBOL",
181 "name": "preproc_call"
182 },
183 {
184 "type": "SYMBOL",
185 "name": "namespace_definition"
186 },
187 {
188 "type": "SYMBOL",
189 "name": "concept_definition"
190 },
191 {
192 "type": "SYMBOL",
193 "name": "namespace_alias_definition"
194 },
195 {
196 "type": "SYMBOL",
197 "name": "using_declaration"
198 },
199 {
200 "type": "SYMBOL",
201 "name": "alias_declaration"
202 },
203 {
204 "type": "SYMBOL",
205 "name": "static_assert_declaration"
206 },
207 {
208 "type": "SYMBOL",
209 "name": "template_declaration"
210 },
211 {
212 "type": "SYMBOL",
213 "name": "template_instantiation"
214 },
215 {
216 "type": "ALIAS",
217 "content": {
218 "type": "SYMBOL",
219 "name": "constructor_or_destructor_definition"
220 },
221 "named": true,
222 "value": "function_definition"
223 },
224 {
225 "type": "ALIAS",
226 "content": {
227 "type": "SYMBOL",
228 "name": "operator_cast_definition"
229 },
230 "named": true,
231 "value": "function_definition"
232 },
233 {
234 "type": "ALIAS",
235 "content": {
236 "type": "SYMBOL",
237 "name": "operator_cast_declaration"
238 },
239 "named": true,
240 "value": "declaration"
241 }
242 ]
243 },
244 "preproc_include": {
245 "type": "SEQ",
246 "members": [
247 {
248 "type": "ALIAS",
249 "content": {
250 "type": "PATTERN",
251 "value": "#[ \t]*include"
252 },
253 "named": false,
254 "value": "#include"
255 },
256 {
257 "type": "FIELD",
258 "name": "path",
259 "content": {
260 "type": "CHOICE",
261 "members": [
262 {
263 "type": "SYMBOL",
264 "name": "string_literal"
265 },
266 {
267 "type": "SYMBOL",
268 "name": "system_lib_string"
269 },
270 {
271 "type": "SYMBOL",
272 "name": "identifier"
273 },
274 {
275 "type": "ALIAS",
276 "content": {
277 "type": "SYMBOL",
278 "name": "preproc_call_expression"
279 },
280 "named": true,
281 "value": "call_expression"
282 }
283 ]
284 }
285 },
286 {
287 "type": "IMMEDIATE_TOKEN",
288 "content": {
289 "type": "PATTERN",
290 "value": "\\r?\\n"
291 }
292 }
293 ]
294 },
295 "preproc_def": {
296 "type": "SEQ",
297 "members": [
298 {
299 "type": "ALIAS",
300 "content": {
301 "type": "PATTERN",
302 "value": "#[ \t]*define"
303 },
304 "named": false,
305 "value": "#define"
306 },
307 {
308 "type": "FIELD",
309 "name": "name",
310 "content": {
311 "type": "SYMBOL",
312 "name": "identifier"
313 }
314 },
315 {
316 "type": "FIELD",
317 "name": "value",
318 "content": {
319 "type": "CHOICE",
320 "members": [
321 {
322 "type": "SYMBOL",
323 "name": "preproc_arg"
324 },
325 {
326 "type": "BLANK"
327 }
328 ]
329 }
330 },
331 {
332 "type": "IMMEDIATE_TOKEN",
333 "content": {
334 "type": "PATTERN",
335 "value": "\\r?\\n"
336 }
337 }
338 ]
339 },
340 "preproc_function_def": {
341 "type": "SEQ",
342 "members": [
343 {
344 "type": "ALIAS",
345 "content": {
346 "type": "PATTERN",
347 "value": "#[ \t]*define"
348 },
349 "named": false,
350 "value": "#define"
351 },
352 {
353 "type": "FIELD",
354 "name": "name",
355 "content": {
356 "type": "SYMBOL",
357 "name": "identifier"
358 }
359 },
360 {
361 "type": "FIELD",
362 "name": "parameters",
363 "content": {
364 "type": "SYMBOL",
365 "name": "preproc_params"
366 }
367 },
368 {
369 "type": "FIELD",
370 "name": "value",
371 "content": {
372 "type": "CHOICE",
373 "members": [
374 {
375 "type": "SYMBOL",
376 "name": "preproc_arg"
377 },
378 {
379 "type": "BLANK"
380 }
381 ]
382 }
383 },
384 {
385 "type": "IMMEDIATE_TOKEN",
386 "content": {
387 "type": "PATTERN",
388 "value": "\\r?\\n"
389 }
390 }
391 ]
392 },
393 "preproc_params": {
394 "type": "SEQ",
395 "members": [
396 {
397 "type": "IMMEDIATE_TOKEN",
398 "content": {
399 "type": "STRING",
400 "value": "("
401 }
402 },
403 {
404 "type": "CHOICE",
405 "members": [
406 {
407 "type": "SEQ",
408 "members": [
409 {
410 "type": "CHOICE",
411 "members": [
412 {
413 "type": "SYMBOL",
414 "name": "identifier"
415 },
416 {
417 "type": "STRING",
418 "value": "..."
419 }
420 ]
421 },
422 {
423 "type": "REPEAT",
424 "content": {
425 "type": "SEQ",
426 "members": [
427 {
428 "type": "STRING",
429 "value": ","
430 },
431 {
432 "type": "CHOICE",
433 "members": [
434 {
435 "type": "SYMBOL",
436 "name": "identifier"
437 },
438 {
439 "type": "STRING",
440 "value": "..."
441 }
442 ]
443 }
444 ]
445 }
446 }
447 ]
448 },
449 {
450 "type": "BLANK"
451 }
452 ]
453 },
454 {
455 "type": "STRING",
456 "value": ")"
457 }
458 ]
459 },
460 "preproc_call": {
461 "type": "SEQ",
462 "members": [
463 {
464 "type": "FIELD",
465 "name": "directive",
466 "content": {
467 "type": "SYMBOL",
468 "name": "preproc_directive"
469 }
470 },
471 {
472 "type": "FIELD",
473 "name": "argument",
474 "content": {
475 "type": "CHOICE",
476 "members": [
477 {
478 "type": "SYMBOL",
479 "name": "preproc_arg"
480 },
481 {
482 "type": "BLANK"
483 }
484 ]
485 }
486 },
487 {
488 "type": "IMMEDIATE_TOKEN",
489 "content": {
490 "type": "PATTERN",
491 "value": "\\r?\\n"
492 }
493 }
494 ]
495 },
496 "preproc_if": {
497 "type": "PREC",
498 "value": 0,
499 "content": {
500 "type": "SEQ",
501 "members": [
502 {
503 "type": "ALIAS",
504 "content": {
505 "type": "PATTERN",
506 "value": "#[ \t]*if"
507 },
508 "named": false,
509 "value": "#if"
510 },
511 {
512 "type": "FIELD",
513 "name": "condition",
514 "content": {
515 "type": "SYMBOL",
516 "name": "_preproc_expression"
517 }
518 },
519 {
520 "type": "STRING",
521 "value": "\n"
522 },
523 {
524 "type": "REPEAT",
525 "content": {
526 "type": "SYMBOL",
527 "name": "_block_item"
528 }
529 },
530 {
531 "type": "FIELD",
532 "name": "alternative",
533 "content": {
534 "type": "CHOICE",
535 "members": [
536 {
537 "type": "CHOICE",
538 "members": [
539 {
540 "type": "SYMBOL",
541 "name": "preproc_else"
542 },
543 {
544 "type": "SYMBOL",
545 "name": "preproc_elif"
546 }
547 ]
548 },
549 {
550 "type": "BLANK"
551 }
552 ]
553 }
554 },
555 {
556 "type": "ALIAS",
557 "content": {
558 "type": "PATTERN",
559 "value": "#[ \t]*endif"
560 },
561 "named": false,
562 "value": "#endif"
563 }
564 ]
565 }
566 },
567 "preproc_ifdef": {
568 "type": "PREC",
569 "value": 0,
570 "content": {
571 "type": "SEQ",
572 "members": [
573 {
574 "type": "CHOICE",
575 "members": [
576 {
577 "type": "ALIAS",
578 "content": {
579 "type": "PATTERN",
580 "value": "#[ \t]*ifdef"
581 },
582 "named": false,
583 "value": "#ifdef"
584 },
585 {
586 "type": "ALIAS",
587 "content": {
588 "type": "PATTERN",
589 "value": "#[ \t]*ifndef"
590 },
591 "named": false,
592 "value": "#ifndef"
593 }
594 ]
595 },
596 {
597 "type": "FIELD",
598 "name": "name",
599 "content": {
600 "type": "SYMBOL",
601 "name": "identifier"
602 }
603 },
604 {
605 "type": "REPEAT",
606 "content": {
607 "type": "SYMBOL",
608 "name": "_block_item"
609 }
610 },
611 {
612 "type": "FIELD",
613 "name": "alternative",
614 "content": {
615 "type": "CHOICE",
616 "members": [
617 {
618 "type": "CHOICE",
619 "members": [
620 {
621 "type": "CHOICE",
622 "members": [
623 {
624 "type": "SYMBOL",
625 "name": "preproc_else"
626 },
627 {
628 "type": "SYMBOL",
629 "name": "preproc_elif"
630 }
631 ]
632 },
633 {
634 "type": "SYMBOL",
635 "name": "preproc_elifdef"
636 }
637 ]
638 },
639 {
640 "type": "BLANK"
641 }
642 ]
643 }
644 },
645 {
646 "type": "ALIAS",
647 "content": {
648 "type": "PATTERN",
649 "value": "#[ \t]*endif"
650 },
651 "named": false,
652 "value": "#endif"
653 }
654 ]
655 }
656 },
657 "preproc_else": {
658 "type": "PREC",
659 "value": 0,
660 "content": {
661 "type": "SEQ",
662 "members": [
663 {
664 "type": "ALIAS",
665 "content": {
666 "type": "PATTERN",
667 "value": "#[ \t]*else"
668 },
669 "named": false,
670 "value": "#else"
671 },
672 {
673 "type": "REPEAT",
674 "content": {
675 "type": "SYMBOL",
676 "name": "_block_item"
677 }
678 }
679 ]
680 }
681 },
682 "preproc_elif": {
683 "type": "PREC",
684 "value": 0,
685 "content": {
686 "type": "SEQ",
687 "members": [
688 {
689 "type": "ALIAS",
690 "content": {
691 "type": "PATTERN",
692 "value": "#[ \t]*elif"
693 },
694 "named": false,
695 "value": "#elif"
696 },
697 {
698 "type": "FIELD",
699 "name": "condition",
700 "content": {
701 "type": "SYMBOL",
702 "name": "_preproc_expression"
703 }
704 },
705 {
706 "type": "STRING",
707 "value": "\n"
708 },
709 {
710 "type": "REPEAT",
711 "content": {
712 "type": "SYMBOL",
713 "name": "_block_item"
714 }
715 },
716 {
717 "type": "FIELD",
718 "name": "alternative",
719 "content": {
720 "type": "CHOICE",
721 "members": [
722 {
723 "type": "CHOICE",
724 "members": [
725 {
726 "type": "SYMBOL",
727 "name": "preproc_else"
728 },
729 {
730 "type": "SYMBOL",
731 "name": "preproc_elif"
732 }
733 ]
734 },
735 {
736 "type": "BLANK"
737 }
738 ]
739 }
740 }
741 ]
742 }
743 },
744 "preproc_elifdef": {
745 "type": "PREC",
746 "value": 0,
747 "content": {
748 "type": "SEQ",
749 "members": [
750 {
751 "type": "CHOICE",
752 "members": [
753 {
754 "type": "ALIAS",
755 "content": {
756 "type": "PATTERN",
757 "value": "#[ \t]*elifdef"
758 },
759 "named": false,
760 "value": "#elifdef"
761 },
762 {
763 "type": "ALIAS",
764 "content": {
765 "type": "PATTERN",
766 "value": "#[ \t]*elifndef"
767 },
768 "named": false,
769 "value": "#elifndef"
770 }
771 ]
772 },
773 {
774 "type": "FIELD",
775 "name": "name",
776 "content": {
777 "type": "SYMBOL",
778 "name": "identifier"
779 }
780 },
781 {
782 "type": "REPEAT",
783 "content": {
784 "type": "SYMBOL",
785 "name": "_block_item"
786 }
787 },
788 {
789 "type": "FIELD",
790 "name": "alternative",
791 "content": {
792 "type": "CHOICE",
793 "members": [
794 {
795 "type": "CHOICE",
796 "members": [
797 {
798 "type": "SYMBOL",
799 "name": "preproc_else"
800 },
801 {
802 "type": "SYMBOL",
803 "name": "preproc_elif"
804 }
805 ]
806 },
807 {
808 "type": "BLANK"
809 }
810 ]
811 }
812 }
813 ]
814 }
815 },
816 "preproc_if_in_field_declaration_list": {
817 "type": "PREC",
818 "value": 0,
819 "content": {
820 "type": "SEQ",
821 "members": [
822 {
823 "type": "ALIAS",
824 "content": {
825 "type": "PATTERN",
826 "value": "#[ \t]*if"
827 },
828 "named": false,
829 "value": "#if"
830 },
831 {
832 "type": "FIELD",
833 "name": "condition",
834 "content": {
835 "type": "SYMBOL",
836 "name": "_preproc_expression"
837 }
838 },
839 {
840 "type": "STRING",
841 "value": "\n"
842 },
843 {
844 "type": "REPEAT",
845 "content": {
846 "type": "SYMBOL",
847 "name": "_field_declaration_list_item"
848 }
849 },
850 {
851 "type": "FIELD",
852 "name": "alternative",
853 "content": {
854 "type": "CHOICE",
855 "members": [
856 {
857 "type": "CHOICE",
858 "members": [
859 {
860 "type": "ALIAS",
861 "content": {
862 "type": "SYMBOL",
863 "name": "preproc_else_in_field_declaration_list"
864 },
865 "named": true,
866 "value": "preproc_else"
867 },
868 {
869 "type": "ALIAS",
870 "content": {
871 "type": "SYMBOL",
872 "name": "preproc_elif_in_field_declaration_list"
873 },
874 "named": true,
875 "value": "preproc_elif"
876 }
877 ]
878 },
879 {
880 "type": "BLANK"
881 }
882 ]
883 }
884 },
885 {
886 "type": "ALIAS",
887 "content": {
888 "type": "PATTERN",
889 "value": "#[ \t]*endif"
890 },
891 "named": false,
892 "value": "#endif"
893 }
894 ]
895 }
896 },
897 "preproc_ifdef_in_field_declaration_list": {
898 "type": "PREC",
899 "value": 0,
900 "content": {
901 "type": "SEQ",
902 "members": [
903 {
904 "type": "CHOICE",
905 "members": [
906 {
907 "type": "ALIAS",
908 "content": {
909 "type": "PATTERN",
910 "value": "#[ \t]*ifdef"
911 },
912 "named": false,
913 "value": "#ifdef"
914 },
915 {
916 "type": "ALIAS",
917 "content": {
918 "type": "PATTERN",
919 "value": "#[ \t]*ifndef"
920 },
921 "named": false,
922 "value": "#ifndef"
923 }
924 ]
925 },
926 {
927 "type": "FIELD",
928 "name": "name",
929 "content": {
930 "type": "SYMBOL",
931 "name": "identifier"
932 }
933 },
934 {
935 "type": "REPEAT",
936 "content": {
937 "type": "SYMBOL",
938 "name": "_field_declaration_list_item"
939 }
940 },
941 {
942 "type": "FIELD",
943 "name": "alternative",
944 "content": {
945 "type": "CHOICE",
946 "members": [
947 {
948 "type": "CHOICE",
949 "members": [
950 {
951 "type": "CHOICE",
952 "members": [
953 {
954 "type": "ALIAS",
955 "content": {
956 "type": "SYMBOL",
957 "name": "preproc_else_in_field_declaration_list"
958 },
959 "named": true,
960 "value": "preproc_else"
961 },
962 {
963 "type": "ALIAS",
964 "content": {
965 "type": "SYMBOL",
966 "name": "preproc_elif_in_field_declaration_list"
967 },
968 "named": true,
969 "value": "preproc_elif"
970 }
971 ]
972 },
973 {
974 "type": "ALIAS",
975 "content": {
976 "type": "SYMBOL",
977 "name": "preproc_elifdef_in_field_declaration_list"
978 },
979 "named": true,
980 "value": "preproc_elifdef"
981 }
982 ]
983 },
984 {
985 "type": "BLANK"
986 }
987 ]
988 }
989 },
990 {
991 "type": "ALIAS",
992 "content": {
993 "type": "PATTERN",
994 "value": "#[ \t]*endif"
995 },
996 "named": false,
997 "value": "#endif"
998 }
999 ]
1000 }
1001 },
1002 "preproc_else_in_field_declaration_list": {
1003 "type": "PREC",
1004 "value": 0,
1005 "content": {
1006 "type": "SEQ",
1007 "members": [
1008 {
1009 "type": "ALIAS",
1010 "content": {
1011 "type": "PATTERN",
1012 "value": "#[ \t]*else"
1013 },
1014 "named": false,
1015 "value": "#else"
1016 },
1017 {
1018 "type": "REPEAT",
1019 "content": {
1020 "type": "SYMBOL",
1021 "name": "_field_declaration_list_item"
1022 }
1023 }
1024 ]
1025 }
1026 },
1027 "preproc_elif_in_field_declaration_list": {
1028 "type": "PREC",
1029 "value": 0,
1030 "content": {
1031 "type": "SEQ",
1032 "members": [
1033 {
1034 "type": "ALIAS",
1035 "content": {
1036 "type": "PATTERN",
1037 "value": "#[ \t]*elif"
1038 },
1039 "named": false,
1040 "value": "#elif"
1041 },
1042 {
1043 "type": "FIELD",
1044 "name": "condition",
1045 "content": {
1046 "type": "SYMBOL",
1047 "name": "_preproc_expression"
1048 }
1049 },
1050 {
1051 "type": "STRING",
1052 "value": "\n"
1053 },
1054 {
1055 "type": "REPEAT",
1056 "content": {
1057 "type": "SYMBOL",
1058 "name": "_field_declaration_list_item"
1059 }
1060 },
1061 {
1062 "type": "FIELD",
1063 "name": "alternative",
1064 "content": {
1065 "type": "CHOICE",
1066 "members": [
1067 {
1068 "type": "CHOICE",
1069 "members": [
1070 {
1071 "type": "ALIAS",
1072 "content": {
1073 "type": "SYMBOL",
1074 "name": "preproc_else_in_field_declaration_list"
1075 },
1076 "named": true,
1077 "value": "preproc_else"
1078 },
1079 {
1080 "type": "ALIAS",
1081 "content": {
1082 "type": "SYMBOL",
1083 "name": "preproc_elif_in_field_declaration_list"
1084 },
1085 "named": true,
1086 "value": "preproc_elif"
1087 }
1088 ]
1089 },
1090 {
1091 "type": "BLANK"
1092 }
1093 ]
1094 }
1095 }
1096 ]
1097 }
1098 },
1099 "preproc_elifdef_in_field_declaration_list": {
1100 "type": "PREC",
1101 "value": 0,
1102 "content": {
1103 "type": "SEQ",
1104 "members": [
1105 {
1106 "type": "CHOICE",
1107 "members": [
1108 {
1109 "type": "ALIAS",
1110 "content": {
1111 "type": "PATTERN",
1112 "value": "#[ \t]*elifdef"
1113 },
1114 "named": false,
1115 "value": "#elifdef"
1116 },
1117 {
1118 "type": "ALIAS",
1119 "content": {
1120 "type": "PATTERN",
1121 "value": "#[ \t]*elifndef"
1122 },
1123 "named": false,
1124 "value": "#elifndef"
1125 }
1126 ]
1127 },
1128 {
1129 "type": "FIELD",
1130 "name": "name",
1131 "content": {
1132 "type": "SYMBOL",
1133 "name": "identifier"
1134 }
1135 },
1136 {
1137 "type": "REPEAT",
1138 "content": {
1139 "type": "SYMBOL",
1140 "name": "_field_declaration_list_item"
1141 }
1142 },
1143 {
1144 "type": "FIELD",
1145 "name": "alternative",
1146 "content": {
1147 "type": "CHOICE",
1148 "members": [
1149 {
1150 "type": "CHOICE",
1151 "members": [
1152 {
1153 "type": "ALIAS",
1154 "content": {
1155 "type": "SYMBOL",
1156 "name": "preproc_else_in_field_declaration_list"
1157 },
1158 "named": true,
1159 "value": "preproc_else"
1160 },
1161 {
1162 "type": "ALIAS",
1163 "content": {
1164 "type": "SYMBOL",
1165 "name": "preproc_elif_in_field_declaration_list"
1166 },
1167 "named": true,
1168 "value": "preproc_elif"
1169 }
1170 ]
1171 },
1172 {
1173 "type": "BLANK"
1174 }
1175 ]
1176 }
1177 }
1178 ]
1179 }
1180 },
1181 "preproc_if_in_enumerator_list": {
1182 "type": "PREC",
1183 "value": 0,
1184 "content": {
1185 "type": "SEQ",
1186 "members": [
1187 {
1188 "type": "ALIAS",
1189 "content": {
1190 "type": "PATTERN",
1191 "value": "#[ \t]*if"
1192 },
1193 "named": false,
1194 "value": "#if"
1195 },
1196 {
1197 "type": "FIELD",
1198 "name": "condition",
1199 "content": {
1200 "type": "SYMBOL",
1201 "name": "_preproc_expression"
1202 }
1203 },
1204 {
1205 "type": "STRING",
1206 "value": "\n"
1207 },
1208 {
1209 "type": "REPEAT",
1210 "content": {
1211 "type": "SEQ",
1212 "members": [
1213 {
1214 "type": "SYMBOL",
1215 "name": "enumerator"
1216 },
1217 {
1218 "type": "STRING",
1219 "value": ","
1220 }
1221 ]
1222 }
1223 },
1224 {
1225 "type": "FIELD",
1226 "name": "alternative",
1227 "content": {
1228 "type": "CHOICE",
1229 "members": [
1230 {
1231 "type": "CHOICE",
1232 "members": [
1233 {
1234 "type": "ALIAS",
1235 "content": {
1236 "type": "SYMBOL",
1237 "name": "preproc_else_in_enumerator_list"
1238 },
1239 "named": true,
1240 "value": "preproc_else"
1241 },
1242 {
1243 "type": "ALIAS",
1244 "content": {
1245 "type": "SYMBOL",
1246 "name": "preproc_elif_in_enumerator_list"
1247 },
1248 "named": true,
1249 "value": "preproc_elif"
1250 }
1251 ]
1252 },
1253 {
1254 "type": "BLANK"
1255 }
1256 ]
1257 }
1258 },
1259 {
1260 "type": "ALIAS",
1261 "content": {
1262 "type": "PATTERN",
1263 "value": "#[ \t]*endif"
1264 },
1265 "named": false,
1266 "value": "#endif"
1267 }
1268 ]
1269 }
1270 },
1271 "preproc_ifdef_in_enumerator_list": {
1272 "type": "PREC",
1273 "value": 0,
1274 "content": {
1275 "type": "SEQ",
1276 "members": [
1277 {
1278 "type": "CHOICE",
1279 "members": [
1280 {
1281 "type": "ALIAS",
1282 "content": {
1283 "type": "PATTERN",
1284 "value": "#[ \t]*ifdef"
1285 },
1286 "named": false,
1287 "value": "#ifdef"
1288 },
1289 {
1290 "type": "ALIAS",
1291 "content": {
1292 "type": "PATTERN",
1293 "value": "#[ \t]*ifndef"
1294 },
1295 "named": false,
1296 "value": "#ifndef"
1297 }
1298 ]
1299 },
1300 {
1301 "type": "FIELD",
1302 "name": "name",
1303 "content": {
1304 "type": "SYMBOL",
1305 "name": "identifier"
1306 }
1307 },
1308 {
1309 "type": "REPEAT",
1310 "content": {
1311 "type": "SEQ",
1312 "members": [
1313 {
1314 "type": "SYMBOL",
1315 "name": "enumerator"
1316 },
1317 {
1318 "type": "STRING",
1319 "value": ","
1320 }
1321 ]
1322 }
1323 },
1324 {
1325 "type": "FIELD",
1326 "name": "alternative",
1327 "content": {
1328 "type": "CHOICE",
1329 "members": [
1330 {
1331 "type": "CHOICE",
1332 "members": [
1333 {
1334 "type": "CHOICE",
1335 "members": [
1336 {
1337 "type": "ALIAS",
1338 "content": {
1339 "type": "SYMBOL",
1340 "name": "preproc_else_in_enumerator_list"
1341 },
1342 "named": true,
1343 "value": "preproc_else"
1344 },
1345 {
1346 "type": "ALIAS",
1347 "content": {
1348 "type": "SYMBOL",
1349 "name": "preproc_elif_in_enumerator_list"
1350 },
1351 "named": true,
1352 "value": "preproc_elif"
1353 }
1354 ]
1355 },
1356 {
1357 "type": "ALIAS",
1358 "content": {
1359 "type": "SYMBOL",
1360 "name": "preproc_elifdef_in_enumerator_list"
1361 },
1362 "named": true,
1363 "value": "preproc_elifdef"
1364 }
1365 ]
1366 },
1367 {
1368 "type": "BLANK"
1369 }
1370 ]
1371 }
1372 },
1373 {
1374 "type": "ALIAS",
1375 "content": {
1376 "type": "PATTERN",
1377 "value": "#[ \t]*endif"
1378 },
1379 "named": false,
1380 "value": "#endif"
1381 }
1382 ]
1383 }
1384 },
1385 "preproc_else_in_enumerator_list": {
1386 "type": "PREC",
1387 "value": 0,
1388 "content": {
1389 "type": "SEQ",
1390 "members": [
1391 {
1392 "type": "ALIAS",
1393 "content": {
1394 "type": "PATTERN",
1395 "value": "#[ \t]*else"
1396 },
1397 "named": false,
1398 "value": "#else"
1399 },
1400 {
1401 "type": "REPEAT",
1402 "content": {
1403 "type": "SEQ",
1404 "members": [
1405 {
1406 "type": "SYMBOL",
1407 "name": "enumerator"
1408 },
1409 {
1410 "type": "STRING",
1411 "value": ","
1412 }
1413 ]
1414 }
1415 }
1416 ]
1417 }
1418 },
1419 "preproc_elif_in_enumerator_list": {
1420 "type": "PREC",
1421 "value": 0,
1422 "content": {
1423 "type": "SEQ",
1424 "members": [
1425 {
1426 "type": "ALIAS",
1427 "content": {
1428 "type": "PATTERN",
1429 "value": "#[ \t]*elif"
1430 },
1431 "named": false,
1432 "value": "#elif"
1433 },
1434 {
1435 "type": "FIELD",
1436 "name": "condition",
1437 "content": {
1438 "type": "SYMBOL",
1439 "name": "_preproc_expression"
1440 }
1441 },
1442 {
1443 "type": "STRING",
1444 "value": "\n"
1445 },
1446 {
1447 "type": "REPEAT",
1448 "content": {
1449 "type": "SEQ",
1450 "members": [
1451 {
1452 "type": "SYMBOL",
1453 "name": "enumerator"
1454 },
1455 {
1456 "type": "STRING",
1457 "value": ","
1458 }
1459 ]
1460 }
1461 },
1462 {
1463 "type": "FIELD",
1464 "name": "alternative",
1465 "content": {
1466 "type": "CHOICE",
1467 "members": [
1468 {
1469 "type": "CHOICE",
1470 "members": [
1471 {
1472 "type": "ALIAS",
1473 "content": {
1474 "type": "SYMBOL",
1475 "name": "preproc_else_in_enumerator_list"
1476 },
1477 "named": true,
1478 "value": "preproc_else"
1479 },
1480 {
1481 "type": "ALIAS",
1482 "content": {
1483 "type": "SYMBOL",
1484 "name": "preproc_elif_in_enumerator_list"
1485 },
1486 "named": true,
1487 "value": "preproc_elif"
1488 }
1489 ]
1490 },
1491 {
1492 "type": "BLANK"
1493 }
1494 ]
1495 }
1496 }
1497 ]
1498 }
1499 },
1500 "preproc_elifdef_in_enumerator_list": {
1501 "type": "PREC",
1502 "value": 0,
1503 "content": {
1504 "type": "SEQ",
1505 "members": [
1506 {
1507 "type": "CHOICE",
1508 "members": [
1509 {
1510 "type": "ALIAS",
1511 "content": {
1512 "type": "PATTERN",
1513 "value": "#[ \t]*elifdef"
1514 },
1515 "named": false,
1516 "value": "#elifdef"
1517 },
1518 {
1519 "type": "ALIAS",
1520 "content": {
1521 "type": "PATTERN",
1522 "value": "#[ \t]*elifndef"
1523 },
1524 "named": false,
1525 "value": "#elifndef"
1526 }
1527 ]
1528 },
1529 {
1530 "type": "FIELD",
1531 "name": "name",
1532 "content": {
1533 "type": "SYMBOL",
1534 "name": "identifier"
1535 }
1536 },
1537 {
1538 "type": "REPEAT",
1539 "content": {
1540 "type": "SEQ",
1541 "members": [
1542 {
1543 "type": "SYMBOL",
1544 "name": "enumerator"
1545 },
1546 {
1547 "type": "STRING",
1548 "value": ","
1549 }
1550 ]
1551 }
1552 },
1553 {
1554 "type": "FIELD",
1555 "name": "alternative",
1556 "content": {
1557 "type": "CHOICE",
1558 "members": [
1559 {
1560 "type": "CHOICE",
1561 "members": [
1562 {
1563 "type": "ALIAS",
1564 "content": {
1565 "type": "SYMBOL",
1566 "name": "preproc_else_in_enumerator_list"
1567 },
1568 "named": true,
1569 "value": "preproc_else"
1570 },
1571 {
1572 "type": "ALIAS",
1573 "content": {
1574 "type": "SYMBOL",
1575 "name": "preproc_elif_in_enumerator_list"
1576 },
1577 "named": true,
1578 "value": "preproc_elif"
1579 }
1580 ]
1581 },
1582 {
1583 "type": "BLANK"
1584 }
1585 ]
1586 }
1587 }
1588 ]
1589 }
1590 },
1591 "preproc_if_in_enumerator_list_no_comma": {
1592 "type": "PREC",
1593 "value": -1,
1594 "content": {
1595 "type": "SEQ",
1596 "members": [
1597 {
1598 "type": "ALIAS",
1599 "content": {
1600 "type": "PATTERN",
1601 "value": "#[ \t]*if"
1602 },
1603 "named": false,
1604 "value": "#if"
1605 },
1606 {
1607 "type": "FIELD",
1608 "name": "condition",
1609 "content": {
1610 "type": "SYMBOL",
1611 "name": "_preproc_expression"
1612 }
1613 },
1614 {
1615 "type": "STRING",
1616 "value": "\n"
1617 },
1618 {
1619 "type": "REPEAT",
1620 "content": {
1621 "type": "SYMBOL",
1622 "name": "enumerator"
1623 }
1624 },
1625 {
1626 "type": "FIELD",
1627 "name": "alternative",
1628 "content": {
1629 "type": "CHOICE",
1630 "members": [
1631 {
1632 "type": "CHOICE",
1633 "members": [
1634 {
1635 "type": "ALIAS",
1636 "content": {
1637 "type": "SYMBOL",
1638 "name": "preproc_else_in_enumerator_list_no_comma"
1639 },
1640 "named": true,
1641 "value": "preproc_else"
1642 },
1643 {
1644 "type": "ALIAS",
1645 "content": {
1646 "type": "SYMBOL",
1647 "name": "preproc_elif_in_enumerator_list_no_comma"
1648 },
1649 "named": true,
1650 "value": "preproc_elif"
1651 }
1652 ]
1653 },
1654 {
1655 "type": "BLANK"
1656 }
1657 ]
1658 }
1659 },
1660 {
1661 "type": "ALIAS",
1662 "content": {
1663 "type": "PATTERN",
1664 "value": "#[ \t]*endif"
1665 },
1666 "named": false,
1667 "value": "#endif"
1668 }
1669 ]
1670 }
1671 },
1672 "preproc_ifdef_in_enumerator_list_no_comma": {
1673 "type": "PREC",
1674 "value": -1,
1675 "content": {
1676 "type": "SEQ",
1677 "members": [
1678 {
1679 "type": "CHOICE",
1680 "members": [
1681 {
1682 "type": "ALIAS",
1683 "content": {
1684 "type": "PATTERN",
1685 "value": "#[ \t]*ifdef"
1686 },
1687 "named": false,
1688 "value": "#ifdef"
1689 },
1690 {
1691 "type": "ALIAS",
1692 "content": {
1693 "type": "PATTERN",
1694 "value": "#[ \t]*ifndef"
1695 },
1696 "named": false,
1697 "value": "#ifndef"
1698 }
1699 ]
1700 },
1701 {
1702 "type": "FIELD",
1703 "name": "name",
1704 "content": {
1705 "type": "SYMBOL",
1706 "name": "identifier"
1707 }
1708 },
1709 {
1710 "type": "REPEAT",
1711 "content": {
1712 "type": "SYMBOL",
1713 "name": "enumerator"
1714 }
1715 },
1716 {
1717 "type": "FIELD",
1718 "name": "alternative",
1719 "content": {
1720 "type": "CHOICE",
1721 "members": [
1722 {
1723 "type": "CHOICE",
1724 "members": [
1725 {
1726 "type": "CHOICE",
1727 "members": [
1728 {
1729 "type": "ALIAS",
1730 "content": {
1731 "type": "SYMBOL",
1732 "name": "preproc_else_in_enumerator_list_no_comma"
1733 },
1734 "named": true,
1735 "value": "preproc_else"
1736 },
1737 {
1738 "type": "ALIAS",
1739 "content": {
1740 "type": "SYMBOL",
1741 "name": "preproc_elif_in_enumerator_list_no_comma"
1742 },
1743 "named": true,
1744 "value": "preproc_elif"
1745 }
1746 ]
1747 },
1748 {
1749 "type": "ALIAS",
1750 "content": {
1751 "type": "SYMBOL",
1752 "name": "preproc_elifdef_in_enumerator_list_no_comma"
1753 },
1754 "named": true,
1755 "value": "preproc_elifdef"
1756 }
1757 ]
1758 },
1759 {
1760 "type": "BLANK"
1761 }
1762 ]
1763 }
1764 },
1765 {
1766 "type": "ALIAS",
1767 "content": {
1768 "type": "PATTERN",
1769 "value": "#[ \t]*endif"
1770 },
1771 "named": false,
1772 "value": "#endif"
1773 }
1774 ]
1775 }
1776 },
1777 "preproc_else_in_enumerator_list_no_comma": {
1778 "type": "PREC",
1779 "value": -1,
1780 "content": {
1781 "type": "SEQ",
1782 "members": [
1783 {
1784 "type": "ALIAS",
1785 "content": {
1786 "type": "PATTERN",
1787 "value": "#[ \t]*else"
1788 },
1789 "named": false,
1790 "value": "#else"
1791 },
1792 {
1793 "type": "REPEAT",
1794 "content": {
1795 "type": "SYMBOL",
1796 "name": "enumerator"
1797 }
1798 }
1799 ]
1800 }
1801 },
1802 "preproc_elif_in_enumerator_list_no_comma": {
1803 "type": "PREC",
1804 "value": -1,
1805 "content": {
1806 "type": "SEQ",
1807 "members": [
1808 {
1809 "type": "ALIAS",
1810 "content": {
1811 "type": "PATTERN",
1812 "value": "#[ \t]*elif"
1813 },
1814 "named": false,
1815 "value": "#elif"
1816 },
1817 {
1818 "type": "FIELD",
1819 "name": "condition",
1820 "content": {
1821 "type": "SYMBOL",
1822 "name": "_preproc_expression"
1823 }
1824 },
1825 {
1826 "type": "STRING",
1827 "value": "\n"
1828 },
1829 {
1830 "type": "REPEAT",
1831 "content": {
1832 "type": "SYMBOL",
1833 "name": "enumerator"
1834 }
1835 },
1836 {
1837 "type": "FIELD",
1838 "name": "alternative",
1839 "content": {
1840 "type": "CHOICE",
1841 "members": [
1842 {
1843 "type": "CHOICE",
1844 "members": [
1845 {
1846 "type": "ALIAS",
1847 "content": {
1848 "type": "SYMBOL",
1849 "name": "preproc_else_in_enumerator_list_no_comma"
1850 },
1851 "named": true,
1852 "value": "preproc_else"
1853 },
1854 {
1855 "type": "ALIAS",
1856 "content": {
1857 "type": "SYMBOL",
1858 "name": "preproc_elif_in_enumerator_list_no_comma"
1859 },
1860 "named": true,
1861 "value": "preproc_elif"
1862 }
1863 ]
1864 },
1865 {
1866 "type": "BLANK"
1867 }
1868 ]
1869 }
1870 }
1871 ]
1872 }
1873 },
1874 "preproc_elifdef_in_enumerator_list_no_comma": {
1875 "type": "PREC",
1876 "value": -1,
1877 "content": {
1878 "type": "SEQ",
1879 "members": [
1880 {
1881 "type": "CHOICE",
1882 "members": [
1883 {
1884 "type": "ALIAS",
1885 "content": {
1886 "type": "PATTERN",
1887 "value": "#[ \t]*elifdef"
1888 },
1889 "named": false,
1890 "value": "#elifdef"
1891 },
1892 {
1893 "type": "ALIAS",
1894 "content": {
1895 "type": "PATTERN",
1896 "value": "#[ \t]*elifndef"
1897 },
1898 "named": false,
1899 "value": "#elifndef"
1900 }
1901 ]
1902 },
1903 {
1904 "type": "FIELD",
1905 "name": "name",
1906 "content": {
1907 "type": "SYMBOL",
1908 "name": "identifier"
1909 }
1910 },
1911 {
1912 "type": "REPEAT",
1913 "content": {
1914 "type": "SYMBOL",
1915 "name": "enumerator"
1916 }
1917 },
1918 {
1919 "type": "FIELD",
1920 "name": "alternative",
1921 "content": {
1922 "type": "CHOICE",
1923 "members": [
1924 {
1925 "type": "CHOICE",
1926 "members": [
1927 {
1928 "type": "ALIAS",
1929 "content": {
1930 "type": "SYMBOL",
1931 "name": "preproc_else_in_enumerator_list_no_comma"
1932 },
1933 "named": true,
1934 "value": "preproc_else"
1935 },
1936 {
1937 "type": "ALIAS",
1938 "content": {
1939 "type": "SYMBOL",
1940 "name": "preproc_elif_in_enumerator_list_no_comma"
1941 },
1942 "named": true,
1943 "value": "preproc_elif"
1944 }
1945 ]
1946 },
1947 {
1948 "type": "BLANK"
1949 }
1950 ]
1951 }
1952 }
1953 ]
1954 }
1955 },
1956 "preproc_arg": {
1957 "type": "TOKEN",
1958 "content": {
1959 "type": "PREC",
1960 "value": -1,
1961 "content": {
1962 "type": "PATTERN",
1963 "value": "\\S([^/\\n]|\\/[^*]|\\\\\\r?\\n)*"
1964 }
1965 }
1966 },
1967 "preproc_directive": {
1968 "type": "PATTERN",
1969 "value": "#[ \\t]*[a-zA-Z0-9]\\w*"
1970 },
1971 "_preproc_expression": {
1972 "type": "CHOICE",
1973 "members": [
1974 {
1975 "type": "SYMBOL",
1976 "name": "identifier"
1977 },
1978 {
1979 "type": "ALIAS",
1980 "content": {
1981 "type": "SYMBOL",
1982 "name": "preproc_call_expression"
1983 },
1984 "named": true,
1985 "value": "call_expression"
1986 },
1987 {
1988 "type": "SYMBOL",
1989 "name": "number_literal"
1990 },
1991 {
1992 "type": "SYMBOL",
1993 "name": "char_literal"
1994 },
1995 {
1996 "type": "SYMBOL",
1997 "name": "preproc_defined"
1998 },
1999 {
2000 "type": "ALIAS",
2001 "content": {
2002 "type": "SYMBOL",
2003 "name": "preproc_unary_expression"
2004 },
2005 "named": true,
2006 "value": "unary_expression"
2007 },
2008 {
2009 "type": "ALIAS",
2010 "content": {
2011 "type": "SYMBOL",
2012 "name": "preproc_binary_expression"
2013 },
2014 "named": true,
2015 "value": "binary_expression"
2016 },
2017 {
2018 "type": "ALIAS",
2019 "content": {
2020 "type": "SYMBOL",
2021 "name": "preproc_parenthesized_expression"
2022 },
2023 "named": true,
2024 "value": "parenthesized_expression"
2025 }
2026 ]
2027 },
2028 "preproc_parenthesized_expression": {
2029 "type": "SEQ",
2030 "members": [
2031 {
2032 "type": "STRING",
2033 "value": "("
2034 },
2035 {
2036 "type": "SYMBOL",
2037 "name": "_preproc_expression"
2038 },
2039 {
2040 "type": "STRING",
2041 "value": ")"
2042 }
2043 ]
2044 },
2045 "preproc_defined": {
2046 "type": "CHOICE",
2047 "members": [
2048 {
2049 "type": "PREC",
2050 "value": 15,
2051 "content": {
2052 "type": "SEQ",
2053 "members": [
2054 {
2055 "type": "STRING",
2056 "value": "defined"
2057 },
2058 {
2059 "type": "STRING",
2060 "value": "("
2061 },
2062 {
2063 "type": "SYMBOL",
2064 "name": "identifier"
2065 },
2066 {
2067 "type": "STRING",
2068 "value": ")"
2069 }
2070 ]
2071 }
2072 },
2073 {
2074 "type": "SEQ",
2075 "members": [
2076 {
2077 "type": "STRING",
2078 "value": "defined"
2079 },
2080 {
2081 "type": "SYMBOL",
2082 "name": "identifier"
2083 }
2084 ]
2085 }
2086 ]
2087 },
2088 "preproc_unary_expression": {
2089 "type": "PREC_LEFT",
2090 "value": 14,
2091 "content": {
2092 "type": "SEQ",
2093 "members": [
2094 {
2095 "type": "FIELD",
2096 "name": "operator",
2097 "content": {
2098 "type": "CHOICE",
2099 "members": [
2100 {
2101 "type": "STRING",
2102 "value": "!"
2103 },
2104 {
2105 "type": "STRING",
2106 "value": "~"
2107 },
2108 {
2109 "type": "STRING",
2110 "value": "-"
2111 },
2112 {
2113 "type": "STRING",
2114 "value": "+"
2115 }
2116 ]
2117 }
2118 },
2119 {
2120 "type": "FIELD",
2121 "name": "argument",
2122 "content": {
2123 "type": "SYMBOL",
2124 "name": "_preproc_expression"
2125 }
2126 }
2127 ]
2128 }
2129 },
2130 "preproc_call_expression": {
2131 "type": "PREC",
2132 "value": 15,
2133 "content": {
2134 "type": "SEQ",
2135 "members": [
2136 {
2137 "type": "FIELD",
2138 "name": "function",
2139 "content": {
2140 "type": "SYMBOL",
2141 "name": "identifier"
2142 }
2143 },
2144 {
2145 "type": "FIELD",
2146 "name": "arguments",
2147 "content": {
2148 "type": "ALIAS",
2149 "content": {
2150 "type": "SYMBOL",
2151 "name": "preproc_argument_list"
2152 },
2153 "named": true,
2154 "value": "argument_list"
2155 }
2156 }
2157 ]
2158 }
2159 },
2160 "preproc_argument_list": {
2161 "type": "SEQ",
2162 "members": [
2163 {
2164 "type": "STRING",
2165 "value": "("
2166 },
2167 {
2168 "type": "CHOICE",
2169 "members": [
2170 {
2171 "type": "SEQ",
2172 "members": [
2173 {
2174 "type": "SYMBOL",
2175 "name": "_preproc_expression"
2176 },
2177 {
2178 "type": "REPEAT",
2179 "content": {
2180 "type": "SEQ",
2181 "members": [
2182 {
2183 "type": "STRING",
2184 "value": ","
2185 },
2186 {
2187 "type": "SYMBOL",
2188 "name": "_preproc_expression"
2189 }
2190 ]
2191 }
2192 }
2193 ]
2194 },
2195 {
2196 "type": "BLANK"
2197 }
2198 ]
2199 },
2200 {
2201 "type": "STRING",
2202 "value": ")"
2203 }
2204 ]
2205 },
2206 "preproc_binary_expression": {
2207 "type": "CHOICE",
2208 "members": [
2209 {
2210 "type": "PREC_LEFT",
2211 "value": 10,
2212 "content": {
2213 "type": "SEQ",
2214 "members": [
2215 {
2216 "type": "FIELD",
2217 "name": "left",
2218 "content": {
2219 "type": "SYMBOL",
2220 "name": "_preproc_expression"
2221 }
2222 },
2223 {
2224 "type": "FIELD",
2225 "name": "operator",
2226 "content": {
2227 "type": "STRING",
2228 "value": "+"
2229 }
2230 },
2231 {
2232 "type": "FIELD",
2233 "name": "right",
2234 "content": {
2235 "type": "SYMBOL",
2236 "name": "_preproc_expression"
2237 }
2238 }
2239 ]
2240 }
2241 },
2242 {
2243 "type": "PREC_LEFT",
2244 "value": 10,
2245 "content": {
2246 "type": "SEQ",
2247 "members": [
2248 {
2249 "type": "FIELD",
2250 "name": "left",
2251 "content": {
2252 "type": "SYMBOL",
2253 "name": "_preproc_expression"
2254 }
2255 },
2256 {
2257 "type": "FIELD",
2258 "name": "operator",
2259 "content": {
2260 "type": "STRING",
2261 "value": "-"
2262 }
2263 },
2264 {
2265 "type": "FIELD",
2266 "name": "right",
2267 "content": {
2268 "type": "SYMBOL",
2269 "name": "_preproc_expression"
2270 }
2271 }
2272 ]
2273 }
2274 },
2275 {
2276 "type": "PREC_LEFT",
2277 "value": 11,
2278 "content": {
2279 "type": "SEQ",
2280 "members": [
2281 {
2282 "type": "FIELD",
2283 "name": "left",
2284 "content": {
2285 "type": "SYMBOL",
2286 "name": "_preproc_expression"
2287 }
2288 },
2289 {
2290 "type": "FIELD",
2291 "name": "operator",
2292 "content": {
2293 "type": "STRING",
2294 "value": "*"
2295 }
2296 },
2297 {
2298 "type": "FIELD",
2299 "name": "right",
2300 "content": {
2301 "type": "SYMBOL",
2302 "name": "_preproc_expression"
2303 }
2304 }
2305 ]
2306 }
2307 },
2308 {
2309 "type": "PREC_LEFT",
2310 "value": 11,
2311 "content": {
2312 "type": "SEQ",
2313 "members": [
2314 {
2315 "type": "FIELD",
2316 "name": "left",
2317 "content": {
2318 "type": "SYMBOL",
2319 "name": "_preproc_expression"
2320 }
2321 },
2322 {
2323 "type": "FIELD",
2324 "name": "operator",
2325 "content": {
2326 "type": "STRING",
2327 "value": "/"
2328 }
2329 },
2330 {
2331 "type": "FIELD",
2332 "name": "right",
2333 "content": {
2334 "type": "SYMBOL",
2335 "name": "_preproc_expression"
2336 }
2337 }
2338 ]
2339 }
2340 },
2341 {
2342 "type": "PREC_LEFT",
2343 "value": 11,
2344 "content": {
2345 "type": "SEQ",
2346 "members": [
2347 {
2348 "type": "FIELD",
2349 "name": "left",
2350 "content": {
2351 "type": "SYMBOL",
2352 "name": "_preproc_expression"
2353 }
2354 },
2355 {
2356 "type": "FIELD",
2357 "name": "operator",
2358 "content": {
2359 "type": "STRING",
2360 "value": "%"
2361 }
2362 },
2363 {
2364 "type": "FIELD",
2365 "name": "right",
2366 "content": {
2367 "type": "SYMBOL",
2368 "name": "_preproc_expression"
2369 }
2370 }
2371 ]
2372 }
2373 },
2374 {
2375 "type": "PREC_LEFT",
2376 "value": 1,
2377 "content": {
2378 "type": "SEQ",
2379 "members": [
2380 {
2381 "type": "FIELD",
2382 "name": "left",
2383 "content": {
2384 "type": "SYMBOL",
2385 "name": "_preproc_expression"
2386 }
2387 },
2388 {
2389 "type": "FIELD",
2390 "name": "operator",
2391 "content": {
2392 "type": "STRING",
2393 "value": "||"
2394 }
2395 },
2396 {
2397 "type": "FIELD",
2398 "name": "right",
2399 "content": {
2400 "type": "SYMBOL",
2401 "name": "_preproc_expression"
2402 }
2403 }
2404 ]
2405 }
2406 },
2407 {
2408 "type": "PREC_LEFT",
2409 "value": 2,
2410 "content": {
2411 "type": "SEQ",
2412 "members": [
2413 {
2414 "type": "FIELD",
2415 "name": "left",
2416 "content": {
2417 "type": "SYMBOL",
2418 "name": "_preproc_expression"
2419 }
2420 },
2421 {
2422 "type": "FIELD",
2423 "name": "operator",
2424 "content": {
2425 "type": "STRING",
2426 "value": "&&"
2427 }
2428 },
2429 {
2430 "type": "FIELD",
2431 "name": "right",
2432 "content": {
2433 "type": "SYMBOL",
2434 "name": "_preproc_expression"
2435 }
2436 }
2437 ]
2438 }
2439 },
2440 {
2441 "type": "PREC_LEFT",
2442 "value": 3,
2443 "content": {
2444 "type": "SEQ",
2445 "members": [
2446 {
2447 "type": "FIELD",
2448 "name": "left",
2449 "content": {
2450 "type": "SYMBOL",
2451 "name": "_preproc_expression"
2452 }
2453 },
2454 {
2455 "type": "FIELD",
2456 "name": "operator",
2457 "content": {
2458 "type": "STRING",
2459 "value": "|"
2460 }
2461 },
2462 {
2463 "type": "FIELD",
2464 "name": "right",
2465 "content": {
2466 "type": "SYMBOL",
2467 "name": "_preproc_expression"
2468 }
2469 }
2470 ]
2471 }
2472 },
2473 {
2474 "type": "PREC_LEFT",
2475 "value": 4,
2476 "content": {
2477 "type": "SEQ",
2478 "members": [
2479 {
2480 "type": "FIELD",
2481 "name": "left",
2482 "content": {
2483 "type": "SYMBOL",
2484 "name": "_preproc_expression"
2485 }
2486 },
2487 {
2488 "type": "FIELD",
2489 "name": "operator",
2490 "content": {
2491 "type": "STRING",
2492 "value": "^"
2493 }
2494 },
2495 {
2496 "type": "FIELD",
2497 "name": "right",
2498 "content": {
2499 "type": "SYMBOL",
2500 "name": "_preproc_expression"
2501 }
2502 }
2503 ]
2504 }
2505 },
2506 {
2507 "type": "PREC_LEFT",
2508 "value": 5,
2509 "content": {
2510 "type": "SEQ",
2511 "members": [
2512 {
2513 "type": "FIELD",
2514 "name": "left",
2515 "content": {
2516 "type": "SYMBOL",
2517 "name": "_preproc_expression"
2518 }
2519 },
2520 {
2521 "type": "FIELD",
2522 "name": "operator",
2523 "content": {
2524 "type": "STRING",
2525 "value": "&"
2526 }
2527 },
2528 {
2529 "type": "FIELD",
2530 "name": "right",
2531 "content": {
2532 "type": "SYMBOL",
2533 "name": "_preproc_expression"
2534 }
2535 }
2536 ]
2537 }
2538 },
2539 {
2540 "type": "PREC_LEFT",
2541 "value": 6,
2542 "content": {
2543 "type": "SEQ",
2544 "members": [
2545 {
2546 "type": "FIELD",
2547 "name": "left",
2548 "content": {
2549 "type": "SYMBOL",
2550 "name": "_preproc_expression"
2551 }
2552 },
2553 {
2554 "type": "FIELD",
2555 "name": "operator",
2556 "content": {
2557 "type": "STRING",
2558 "value": "=="
2559 }
2560 },
2561 {
2562 "type": "FIELD",
2563 "name": "right",
2564 "content": {
2565 "type": "SYMBOL",
2566 "name": "_preproc_expression"
2567 }
2568 }
2569 ]
2570 }
2571 },
2572 {
2573 "type": "PREC_LEFT",
2574 "value": 6,
2575 "content": {
2576 "type": "SEQ",
2577 "members": [
2578 {
2579 "type": "FIELD",
2580 "name": "left",
2581 "content": {
2582 "type": "SYMBOL",
2583 "name": "_preproc_expression"
2584 }
2585 },
2586 {
2587 "type": "FIELD",
2588 "name": "operator",
2589 "content": {
2590 "type": "STRING",
2591 "value": "!="
2592 }
2593 },
2594 {
2595 "type": "FIELD",
2596 "name": "right",
2597 "content": {
2598 "type": "SYMBOL",
2599 "name": "_preproc_expression"
2600 }
2601 }
2602 ]
2603 }
2604 },
2605 {
2606 "type": "PREC_LEFT",
2607 "value": 7,
2608 "content": {
2609 "type": "SEQ",
2610 "members": [
2611 {
2612 "type": "FIELD",
2613 "name": "left",
2614 "content": {
2615 "type": "SYMBOL",
2616 "name": "_preproc_expression"
2617 }
2618 },
2619 {
2620 "type": "FIELD",
2621 "name": "operator",
2622 "content": {
2623 "type": "STRING",
2624 "value": ">"
2625 }
2626 },
2627 {
2628 "type": "FIELD",
2629 "name": "right",
2630 "content": {
2631 "type": "SYMBOL",
2632 "name": "_preproc_expression"
2633 }
2634 }
2635 ]
2636 }
2637 },
2638 {
2639 "type": "PREC_LEFT",
2640 "value": 7,
2641 "content": {
2642 "type": "SEQ",
2643 "members": [
2644 {
2645 "type": "FIELD",
2646 "name": "left",
2647 "content": {
2648 "type": "SYMBOL",
2649 "name": "_preproc_expression"
2650 }
2651 },
2652 {
2653 "type": "FIELD",
2654 "name": "operator",
2655 "content": {
2656 "type": "STRING",
2657 "value": ">="
2658 }
2659 },
2660 {
2661 "type": "FIELD",
2662 "name": "right",
2663 "content": {
2664 "type": "SYMBOL",
2665 "name": "_preproc_expression"
2666 }
2667 }
2668 ]
2669 }
2670 },
2671 {
2672 "type": "PREC_LEFT",
2673 "value": 7,
2674 "content": {
2675 "type": "SEQ",
2676 "members": [
2677 {
2678 "type": "FIELD",
2679 "name": "left",
2680 "content": {
2681 "type": "SYMBOL",
2682 "name": "_preproc_expression"
2683 }
2684 },
2685 {
2686 "type": "FIELD",
2687 "name": "operator",
2688 "content": {
2689 "type": "STRING",
2690 "value": "<="
2691 }
2692 },
2693 {
2694 "type": "FIELD",
2695 "name": "right",
2696 "content": {
2697 "type": "SYMBOL",
2698 "name": "_preproc_expression"
2699 }
2700 }
2701 ]
2702 }
2703 },
2704 {
2705 "type": "PREC_LEFT",
2706 "value": 7,
2707 "content": {
2708 "type": "SEQ",
2709 "members": [
2710 {
2711 "type": "FIELD",
2712 "name": "left",
2713 "content": {
2714 "type": "SYMBOL",
2715 "name": "_preproc_expression"
2716 }
2717 },
2718 {
2719 "type": "FIELD",
2720 "name": "operator",
2721 "content": {
2722 "type": "STRING",
2723 "value": "<"
2724 }
2725 },
2726 {
2727 "type": "FIELD",
2728 "name": "right",
2729 "content": {
2730 "type": "SYMBOL",
2731 "name": "_preproc_expression"
2732 }
2733 }
2734 ]
2735 }
2736 },
2737 {
2738 "type": "PREC_LEFT",
2739 "value": 9,
2740 "content": {
2741 "type": "SEQ",
2742 "members": [
2743 {
2744 "type": "FIELD",
2745 "name": "left",
2746 "content": {
2747 "type": "SYMBOL",
2748 "name": "_preproc_expression"
2749 }
2750 },
2751 {
2752 "type": "FIELD",
2753 "name": "operator",
2754 "content": {
2755 "type": "STRING",
2756 "value": "<<"
2757 }
2758 },
2759 {
2760 "type": "FIELD",
2761 "name": "right",
2762 "content": {
2763 "type": "SYMBOL",
2764 "name": "_preproc_expression"
2765 }
2766 }
2767 ]
2768 }
2769 },
2770 {
2771 "type": "PREC_LEFT",
2772 "value": 9,
2773 "content": {
2774 "type": "SEQ",
2775 "members": [
2776 {
2777 "type": "FIELD",
2778 "name": "left",
2779 "content": {
2780 "type": "SYMBOL",
2781 "name": "_preproc_expression"
2782 }
2783 },
2784 {
2785 "type": "FIELD",
2786 "name": "operator",
2787 "content": {
2788 "type": "STRING",
2789 "value": ">>"
2790 }
2791 },
2792 {
2793 "type": "FIELD",
2794 "name": "right",
2795 "content": {
2796 "type": "SYMBOL",
2797 "name": "_preproc_expression"
2798 }
2799 }
2800 ]
2801 }
2802 }
2803 ]
2804 },
2805 "function_definition": {
2806 "type": "SEQ",
2807 "members": [
2808 {
2809 "type": "CHOICE",
2810 "members": [
2811 {
2812 "type": "SYMBOL",
2813 "name": "ms_call_modifier"
2814 },
2815 {
2816 "type": "BLANK"
2817 }
2818 ]
2819 },
2820 {
2821 "type": "SYMBOL",
2822 "name": "_declaration_specifiers"
2823 },
2824 {
2825 "type": "CHOICE",
2826 "members": [
2827 {
2828 "type": "SYMBOL",
2829 "name": "ms_call_modifier"
2830 },
2831 {
2832 "type": "BLANK"
2833 }
2834 ]
2835 },
2836 {
2837 "type": "FIELD",
2838 "name": "declarator",
2839 "content": {
2840 "type": "SYMBOL",
2841 "name": "_declarator"
2842 }
2843 },
2844 {
2845 "type": "FIELD",
2846 "name": "body",
2847 "content": {
2848 "type": "CHOICE",
2849 "members": [
2850 {
2851 "type": "SYMBOL",
2852 "name": "compound_statement"
2853 },
2854 {
2855 "type": "SYMBOL",
2856 "name": "try_statement"
2857 }
2858 ]
2859 }
2860 }
2861 ]
2862 },
2863 "_old_style_function_definition": {
2864 "type": "SEQ",
2865 "members": [
2866 {
2867 "type": "CHOICE",
2868 "members": [
2869 {
2870 "type": "SYMBOL",
2871 "name": "ms_call_modifier"
2872 },
2873 {
2874 "type": "BLANK"
2875 }
2876 ]
2877 },
2878 {
2879 "type": "SYMBOL",
2880 "name": "_declaration_specifiers"
2881 },
2882 {
2883 "type": "FIELD",
2884 "name": "declarator",
2885 "content": {
2886 "type": "ALIAS",
2887 "content": {
2888 "type": "SYMBOL",
2889 "name": "_old_style_function_declarator"
2890 },
2891 "named": true,
2892 "value": "function_declarator"
2893 }
2894 },
2895 {
2896 "type": "REPEAT",
2897 "content": {
2898 "type": "SYMBOL",
2899 "name": "declaration"
2900 }
2901 },
2902 {
2903 "type": "FIELD",
2904 "name": "body",
2905 "content": {
2906 "type": "SYMBOL",
2907 "name": "compound_statement"
2908 }
2909 }
2910 ]
2911 },
2912 "declaration": {
2913 "type": "SEQ",
2914 "members": [
2915 {
2916 "type": "SYMBOL",
2917 "name": "_declaration_specifiers"
2918 },
2919 {
2920 "type": "SEQ",
2921 "members": [
2922 {
2923 "type": "FIELD",
2924 "name": "declarator",
2925 "content": {
2926 "type": "CHOICE",
2927 "members": [
2928 {
2929 "type": "SEQ",
2930 "members": [
2931 {
2932 "type": "SYMBOL",
2933 "name": "_declarator"
2934 },
2935 {
2936 "type": "CHOICE",
2937 "members": [
2938 {
2939 "type": "SYMBOL",
2940 "name": "gnu_asm_expression"
2941 },
2942 {
2943 "type": "BLANK"
2944 }
2945 ]
2946 }
2947 ]
2948 },
2949 {
2950 "type": "SYMBOL",
2951 "name": "init_declarator"
2952 }
2953 ]
2954 }
2955 },
2956 {
2957 "type": "REPEAT",
2958 "content": {
2959 "type": "SEQ",
2960 "members": [
2961 {
2962 "type": "STRING",
2963 "value": ","
2964 },
2965 {
2966 "type": "FIELD",
2967 "name": "declarator",
2968 "content": {
2969 "type": "CHOICE",
2970 "members": [
2971 {
2972 "type": "SEQ",
2973 "members": [
2974 {
2975 "type": "SYMBOL",
2976 "name": "_declarator"
2977 },
2978 {
2979 "type": "CHOICE",
2980 "members": [
2981 {
2982 "type": "SYMBOL",
2983 "name": "gnu_asm_expression"
2984 },
2985 {
2986 "type": "BLANK"
2987 }
2988 ]
2989 }
2990 ]
2991 },
2992 {
2993 "type": "SYMBOL",
2994 "name": "init_declarator"
2995 }
2996 ]
2997 }
2998 }
2999 ]
3000 }
3001 }
3002 ]
3003 },
3004 {
3005 "type": "STRING",
3006 "value": ";"
3007 }
3008 ]
3009 },
3010 "type_definition": {
3011 "type": "SEQ",
3012 "members": [
3013 {
3014 "type": "CHOICE",
3015 "members": [
3016 {
3017 "type": "STRING",
3018 "value": "__extension__"
3019 },
3020 {
3021 "type": "BLANK"
3022 }
3023 ]
3024 },
3025 {
3026 "type": "STRING",
3027 "value": "typedef"
3028 },
3029 {
3030 "type": "SYMBOL",
3031 "name": "_type_definition_type"
3032 },
3033 {
3034 "type": "SYMBOL",
3035 "name": "_type_definition_declarators"
3036 },
3037 {
3038 "type": "REPEAT",
3039 "content": {
3040 "type": "SYMBOL",
3041 "name": "attribute_specifier"
3042 }
3043 },
3044 {
3045 "type": "STRING",
3046 "value": ";"
3047 }
3048 ]
3049 },
3050 "_type_definition_type": {
3051 "type": "SEQ",
3052 "members": [
3053 {
3054 "type": "REPEAT",
3055 "content": {
3056 "type": "SYMBOL",
3057 "name": "type_qualifier"
3058 }
3059 },
3060 {
3061 "type": "FIELD",
3062 "name": "type",
3063 "content": {
3064 "type": "SYMBOL",
3065 "name": "_type_specifier"
3066 }
3067 },
3068 {
3069 "type": "REPEAT",
3070 "content": {
3071 "type": "SYMBOL",
3072 "name": "type_qualifier"
3073 }
3074 }
3075 ]
3076 },
3077 "_type_definition_declarators": {
3078 "type": "SEQ",
3079 "members": [
3080 {
3081 "type": "FIELD",
3082 "name": "declarator",
3083 "content": {
3084 "type": "SYMBOL",
3085 "name": "_type_declarator"
3086 }
3087 },
3088 {
3089 "type": "REPEAT",
3090 "content": {
3091 "type": "SEQ",
3092 "members": [
3093 {
3094 "type": "STRING",
3095 "value": ","
3096 },
3097 {
3098 "type": "FIELD",
3099 "name": "declarator",
3100 "content": {
3101 "type": "SYMBOL",
3102 "name": "_type_declarator"
3103 }
3104 }
3105 ]
3106 }
3107 }
3108 ]
3109 },
3110 "_declaration_modifiers": {
3111 "type": "CHOICE",
3112 "members": [
3113 {
3114 "type": "CHOICE",
3115 "members": [
3116 {
3117 "type": "SYMBOL",
3118 "name": "storage_class_specifier"
3119 },
3120 {
3121 "type": "SYMBOL",
3122 "name": "type_qualifier"
3123 },
3124 {
3125 "type": "SYMBOL",
3126 "name": "attribute_specifier"
3127 },
3128 {
3129 "type": "SYMBOL",
3130 "name": "attribute_declaration"
3131 },
3132 {
3133 "type": "SYMBOL",
3134 "name": "ms_declspec_modifier"
3135 }
3136 ]
3137 },
3138 {
3139 "type": "SYMBOL",
3140 "name": "virtual"
3141 },
3142 {
3143 "type": "SYMBOL",
3144 "name": "alignas_specifier"
3145 }
3146 ]
3147 },
3148 "_declaration_specifiers": {
3149 "type": "PREC_RIGHT",
3150 "value": 0,
3151 "content": {
3152 "type": "SEQ",
3153 "members": [
3154 {
3155 "type": "REPEAT",
3156 "content": {
3157 "type": "SYMBOL",
3158 "name": "_declaration_modifiers"
3159 }
3160 },
3161 {
3162 "type": "FIELD",
3163 "name": "type",
3164 "content": {
3165 "type": "SYMBOL",
3166 "name": "_type_specifier"
3167 }
3168 },
3169 {
3170 "type": "REPEAT",
3171 "content": {
3172 "type": "SYMBOL",
3173 "name": "_declaration_modifiers"
3174 }
3175 }
3176 ]
3177 }
3178 },
3179 "linkage_specification": {
3180 "type": "SEQ",
3181 "members": [
3182 {
3183 "type": "STRING",
3184 "value": "extern"
3185 },
3186 {
3187 "type": "FIELD",
3188 "name": "value",
3189 "content": {
3190 "type": "SYMBOL",
3191 "name": "string_literal"
3192 }
3193 },
3194 {
3195 "type": "FIELD",
3196 "name": "body",
3197 "content": {
3198 "type": "CHOICE",
3199 "members": [
3200 {
3201 "type": "SYMBOL",
3202 "name": "function_definition"
3203 },
3204 {
3205 "type": "SYMBOL",
3206 "name": "declaration"
3207 },
3208 {
3209 "type": "SYMBOL",
3210 "name": "declaration_list"
3211 }
3212 ]
3213 }
3214 }
3215 ]
3216 },
3217 "attribute_specifier": {
3218 "type": "SEQ",
3219 "members": [
3220 {
3221 "type": "STRING",
3222 "value": "__attribute__"
3223 },
3224 {
3225 "type": "STRING",
3226 "value": "("
3227 },
3228 {
3229 "type": "SYMBOL",
3230 "name": "argument_list"
3231 },
3232 {
3233 "type": "STRING",
3234 "value": ")"
3235 }
3236 ]
3237 },
3238 "attribute": {
3239 "type": "SEQ",
3240 "members": [
3241 {
3242 "type": "CHOICE",
3243 "members": [
3244 {
3245 "type": "SEQ",
3246 "members": [
3247 {
3248 "type": "FIELD",
3249 "name": "prefix",
3250 "content": {
3251 "type": "SYMBOL",
3252 "name": "identifier"
3253 }
3254 },
3255 {
3256 "type": "STRING",
3257 "value": "::"
3258 }
3259 ]
3260 },
3261 {
3262 "type": "BLANK"
3263 }
3264 ]
3265 },
3266 {
3267 "type": "FIELD",
3268 "name": "name",
3269 "content": {
3270 "type": "SYMBOL",
3271 "name": "identifier"
3272 }
3273 },
3274 {
3275 "type": "CHOICE",
3276 "members": [
3277 {
3278 "type": "SYMBOL",
3279 "name": "argument_list"
3280 },
3281 {
3282 "type": "BLANK"
3283 }
3284 ]
3285 }
3286 ]
3287 },
3288 "attribute_declaration": {
3289 "type": "SEQ",
3290 "members": [
3291 {
3292 "type": "STRING",
3293 "value": "[["
3294 },
3295 {
3296 "type": "SEQ",
3297 "members": [
3298 {
3299 "type": "SYMBOL",
3300 "name": "attribute"
3301 },
3302 {
3303 "type": "REPEAT",
3304 "content": {
3305 "type": "SEQ",
3306 "members": [
3307 {
3308 "type": "STRING",
3309 "value": ","
3310 },
3311 {
3312 "type": "SYMBOL",
3313 "name": "attribute"
3314 }
3315 ]
3316 }
3317 }
3318 ]
3319 },
3320 {
3321 "type": "STRING",
3322 "value": "]]"
3323 }
3324 ]
3325 },
3326 "ms_declspec_modifier": {
3327 "type": "SEQ",
3328 "members": [
3329 {
3330 "type": "STRING",
3331 "value": "__declspec"
3332 },
3333 {
3334 "type": "STRING",
3335 "value": "("
3336 },
3337 {
3338 "type": "SYMBOL",
3339 "name": "identifier"
3340 },
3341 {
3342 "type": "STRING",
3343 "value": ")"
3344 }
3345 ]
3346 },
3347 "ms_based_modifier": {
3348 "type": "SEQ",
3349 "members": [
3350 {
3351 "type": "STRING",
3352 "value": "__based"
3353 },
3354 {
3355 "type": "SYMBOL",
3356 "name": "argument_list"
3357 }
3358 ]
3359 },
3360 "ms_call_modifier": {
3361 "type": "CHOICE",
3362 "members": [
3363 {
3364 "type": "STRING",
3365 "value": "__cdecl"
3366 },
3367 {
3368 "type": "STRING",
3369 "value": "__clrcall"
3370 },
3371 {
3372 "type": "STRING",
3373 "value": "__stdcall"
3374 },
3375 {
3376 "type": "STRING",
3377 "value": "__fastcall"
3378 },
3379 {
3380 "type": "STRING",
3381 "value": "__thiscall"
3382 },
3383 {
3384 "type": "STRING",
3385 "value": "__vectorcall"
3386 }
3387 ]
3388 },
3389 "ms_restrict_modifier": {
3390 "type": "STRING",
3391 "value": "__restrict"
3392 },
3393 "ms_unsigned_ptr_modifier": {
3394 "type": "STRING",
3395 "value": "__uptr"
3396 },
3397 "ms_signed_ptr_modifier": {
3398 "type": "STRING",
3399 "value": "__sptr"
3400 },
3401 "ms_unaligned_ptr_modifier": {
3402 "type": "CHOICE",
3403 "members": [
3404 {
3405 "type": "STRING",
3406 "value": "_unaligned"
3407 },
3408 {
3409 "type": "STRING",
3410 "value": "__unaligned"
3411 }
3412 ]
3413 },
3414 "ms_pointer_modifier": {
3415 "type": "CHOICE",
3416 "members": [
3417 {
3418 "type": "SYMBOL",
3419 "name": "ms_unaligned_ptr_modifier"
3420 },
3421 {
3422 "type": "SYMBOL",
3423 "name": "ms_restrict_modifier"
3424 },
3425 {
3426 "type": "SYMBOL",
3427 "name": "ms_unsigned_ptr_modifier"
3428 },
3429 {
3430 "type": "SYMBOL",
3431 "name": "ms_signed_ptr_modifier"
3432 }
3433 ]
3434 },
3435 "declaration_list": {
3436 "type": "SEQ",
3437 "members": [
3438 {
3439 "type": "STRING",
3440 "value": "{"
3441 },
3442 {
3443 "type": "REPEAT",
3444 "content": {
3445 "type": "SYMBOL",
3446 "name": "_block_item"
3447 }
3448 },
3449 {
3450 "type": "STRING",
3451 "value": "}"
3452 }
3453 ]
3454 },
3455 "_declarator": {
3456 "type": "CHOICE",
3457 "members": [
3458 {
3459 "type": "CHOICE",
3460 "members": [
3461 {
3462 "type": "SYMBOL",
3463 "name": "attributed_declarator"
3464 },
3465 {
3466 "type": "SYMBOL",
3467 "name": "pointer_declarator"
3468 },
3469 {
3470 "type": "SYMBOL",
3471 "name": "function_declarator"
3472 },
3473 {
3474 "type": "SYMBOL",
3475 "name": "array_declarator"
3476 },
3477 {
3478 "type": "SYMBOL",
3479 "name": "parenthesized_declarator"
3480 },
3481 {
3482 "type": "SYMBOL",
3483 "name": "identifier"
3484 }
3485 ]
3486 },
3487 {
3488 "type": "SYMBOL",
3489 "name": "reference_declarator"
3490 },
3491 {
3492 "type": "SYMBOL",
3493 "name": "qualified_identifier"
3494 },
3495 {
3496 "type": "SYMBOL",
3497 "name": "template_function"
3498 },
3499 {
3500 "type": "SYMBOL",
3501 "name": "operator_name"
3502 },
3503 {
3504 "type": "SYMBOL",
3505 "name": "destructor_name"
3506 },
3507 {
3508 "type": "SYMBOL",
3509 "name": "structured_binding_declarator"
3510 }
3511 ]
3512 },
3513 "_declaration_declarator": {
3514 "type": "CHOICE",
3515 "members": [
3516 {
3517 "type": "SYMBOL",
3518 "name": "attributed_declarator"
3519 },
3520 {
3521 "type": "SYMBOL",
3522 "name": "pointer_declarator"
3523 },
3524 {
3525 "type": "ALIAS",
3526 "content": {
3527 "type": "SYMBOL",
3528 "name": "_function_declaration_declarator"
3529 },
3530 "named": true,
3531 "value": "function_declarator"
3532 },
3533 {
3534 "type": "SYMBOL",
3535 "name": "array_declarator"
3536 },
3537 {
3538 "type": "SYMBOL",
3539 "name": "parenthesized_declarator"
3540 },
3541 {
3542 "type": "SYMBOL",
3543 "name": "identifier"
3544 }
3545 ]
3546 },
3547 "_field_declarator": {
3548 "type": "CHOICE",
3549 "members": [
3550 {
3551 "type": "CHOICE",
3552 "members": [
3553 {
3554 "type": "ALIAS",
3555 "content": {
3556 "type": "SYMBOL",
3557 "name": "attributed_field_declarator"
3558 },
3559 "named": true,
3560 "value": "attributed_declarator"
3561 },
3562 {
3563 "type": "ALIAS",
3564 "content": {
3565 "type": "SYMBOL",
3566 "name": "pointer_field_declarator"
3567 },
3568 "named": true,
3569 "value": "pointer_declarator"
3570 },
3571 {
3572 "type": "ALIAS",
3573 "content": {
3574 "type": "SYMBOL",
3575 "name": "function_field_declarator"
3576 },
3577 "named": true,
3578 "value": "function_declarator"
3579 },
3580 {
3581 "type": "ALIAS",
3582 "content": {
3583 "type": "SYMBOL",
3584 "name": "array_field_declarator"
3585 },
3586 "named": true,
3587 "value": "array_declarator"
3588 },
3589 {
3590 "type": "ALIAS",
3591 "content": {
3592 "type": "SYMBOL",
3593 "name": "parenthesized_field_declarator"
3594 },
3595 "named": true,
3596 "value": "parenthesized_declarator"
3597 },
3598 {
3599 "type": "SYMBOL",
3600 "name": "_field_identifier"
3601 }
3602 ]
3603 },
3604 {
3605 "type": "ALIAS",
3606 "content": {
3607 "type": "SYMBOL",
3608 "name": "reference_field_declarator"
3609 },
3610 "named": true,
3611 "value": "reference_declarator"
3612 },
3613 {
3614 "type": "SYMBOL",
3615 "name": "template_method"
3616 },
3617 {
3618 "type": "SYMBOL",
3619 "name": "operator_name"
3620 }
3621 ]
3622 },
3623 "_type_declarator": {
3624 "type": "CHOICE",
3625 "members": [
3626 {
3627 "type": "CHOICE",
3628 "members": [
3629 {
3630 "type": "ALIAS",
3631 "content": {
3632 "type": "SYMBOL",
3633 "name": "attributed_type_declarator"
3634 },
3635 "named": true,
3636 "value": "attributed_declarator"
3637 },
3638 {
3639 "type": "ALIAS",
3640 "content": {
3641 "type": "SYMBOL",
3642 "name": "pointer_type_declarator"
3643 },
3644 "named": true,
3645 "value": "pointer_declarator"
3646 },
3647 {
3648 "type": "ALIAS",
3649 "content": {
3650 "type": "SYMBOL",
3651 "name": "function_type_declarator"
3652 },
3653 "named": true,
3654 "value": "function_declarator"
3655 },
3656 {
3657 "type": "ALIAS",
3658 "content": {
3659 "type": "SYMBOL",
3660 "name": "array_type_declarator"
3661 },
3662 "named": true,
3663 "value": "array_declarator"
3664 },
3665 {
3666 "type": "ALIAS",
3667 "content": {
3668 "type": "SYMBOL",
3669 "name": "parenthesized_type_declarator"
3670 },
3671 "named": true,
3672 "value": "parenthesized_declarator"
3673 },
3674 {
3675 "type": "SYMBOL",
3676 "name": "_type_identifier"
3677 },
3678 {
3679 "type": "ALIAS",
3680 "content": {
3681 "type": "CHOICE",
3682 "members": [
3683 {
3684 "type": "STRING",
3685 "value": "signed"
3686 },
3687 {
3688 "type": "STRING",
3689 "value": "unsigned"
3690 },
3691 {
3692 "type": "STRING",
3693 "value": "long"
3694 },
3695 {
3696 "type": "STRING",
3697 "value": "short"
3698 }
3699 ]
3700 },
3701 "named": true,
3702 "value": "primitive_type"
3703 },
3704 {
3705 "type": "SYMBOL",
3706 "name": "primitive_type"
3707 }
3708 ]
3709 },
3710 {
3711 "type": "ALIAS",
3712 "content": {
3713 "type": "SYMBOL",
3714 "name": "reference_type_declarator"
3715 },
3716 "named": true,
3717 "value": "reference_declarator"
3718 }
3719 ]
3720 },
3721 "_abstract_declarator": {
3722 "type": "CHOICE",
3723 "members": [
3724 {
3725 "type": "CHOICE",
3726 "members": [
3727 {
3728 "type": "SYMBOL",
3729 "name": "abstract_pointer_declarator"
3730 },
3731 {
3732 "type": "SYMBOL",
3733 "name": "abstract_function_declarator"
3734 },
3735 {
3736 "type": "SYMBOL",
3737 "name": "abstract_array_declarator"
3738 },
3739 {
3740 "type": "SYMBOL",
3741 "name": "abstract_parenthesized_declarator"
3742 }
3743 ]
3744 },
3745 {
3746 "type": "SYMBOL",
3747 "name": "abstract_reference_declarator"
3748 }
3749 ]
3750 },
3751 "parenthesized_declarator": {
3752 "type": "PREC_DYNAMIC",
3753 "value": -10,
3754 "content": {
3755 "type": "SEQ",
3756 "members": [
3757 {
3758 "type": "STRING",
3759 "value": "("
3760 },
3761 {
3762 "type": "CHOICE",
3763 "members": [
3764 {
3765 "type": "SYMBOL",
3766 "name": "ms_call_modifier"
3767 },
3768 {
3769 "type": "BLANK"
3770 }
3771 ]
3772 },
3773 {
3774 "type": "SYMBOL",
3775 "name": "_declarator"
3776 },
3777 {
3778 "type": "STRING",
3779 "value": ")"
3780 }
3781 ]
3782 }
3783 },
3784 "parenthesized_field_declarator": {
3785 "type": "PREC_DYNAMIC",
3786 "value": -10,
3787 "content": {
3788 "type": "SEQ",
3789 "members": [
3790 {
3791 "type": "STRING",
3792 "value": "("
3793 },
3794 {
3795 "type": "CHOICE",
3796 "members": [
3797 {
3798 "type": "SYMBOL",
3799 "name": "ms_call_modifier"
3800 },
3801 {
3802 "type": "BLANK"
3803 }
3804 ]
3805 },
3806 {
3807 "type": "SYMBOL",
3808 "name": "_field_declarator"
3809 },
3810 {
3811 "type": "STRING",
3812 "value": ")"
3813 }
3814 ]
3815 }
3816 },
3817 "parenthesized_type_declarator": {
3818 "type": "PREC_DYNAMIC",
3819 "value": -10,
3820 "content": {
3821 "type": "SEQ",
3822 "members": [
3823 {
3824 "type": "STRING",
3825 "value": "("
3826 },
3827 {
3828 "type": "CHOICE",
3829 "members": [
3830 {
3831 "type": "SYMBOL",
3832 "name": "ms_call_modifier"
3833 },
3834 {
3835 "type": "BLANK"
3836 }
3837 ]
3838 },
3839 {
3840 "type": "SYMBOL",
3841 "name": "_type_declarator"
3842 },
3843 {
3844 "type": "STRING",
3845 "value": ")"
3846 }
3847 ]
3848 }
3849 },
3850 "abstract_parenthesized_declarator": {
3851 "type": "PREC",
3852 "value": 1,
3853 "content": {
3854 "type": "SEQ",
3855 "members": [
3856 {
3857 "type": "STRING",
3858 "value": "("
3859 },
3860 {
3861 "type": "CHOICE",
3862 "members": [
3863 {
3864 "type": "SYMBOL",
3865 "name": "ms_call_modifier"
3866 },
3867 {
3868 "type": "BLANK"
3869 }
3870 ]
3871 },
3872 {
3873 "type": "SYMBOL",
3874 "name": "_abstract_declarator"
3875 },
3876 {
3877 "type": "STRING",
3878 "value": ")"
3879 }
3880 ]
3881 }
3882 },
3883 "attributed_declarator": {
3884 "type": "PREC_RIGHT",
3885 "value": 0,
3886 "content": {
3887 "type": "SEQ",
3888 "members": [
3889 {
3890 "type": "SYMBOL",
3891 "name": "_declarator"
3892 },
3893 {
3894 "type": "REPEAT1",
3895 "content": {
3896 "type": "SYMBOL",
3897 "name": "attribute_declaration"
3898 }
3899 }
3900 ]
3901 }
3902 },
3903 "attributed_field_declarator": {
3904 "type": "PREC_RIGHT",
3905 "value": 0,
3906 "content": {
3907 "type": "SEQ",
3908 "members": [
3909 {
3910 "type": "SYMBOL",
3911 "name": "_field_declarator"
3912 },
3913 {
3914 "type": "REPEAT1",
3915 "content": {
3916 "type": "SYMBOL",
3917 "name": "attribute_declaration"
3918 }
3919 }
3920 ]
3921 }
3922 },
3923 "attributed_type_declarator": {
3924 "type": "PREC_RIGHT",
3925 "value": 0,
3926 "content": {
3927 "type": "SEQ",
3928 "members": [
3929 {
3930 "type": "SYMBOL",
3931 "name": "_type_declarator"
3932 },
3933 {
3934 "type": "REPEAT1",
3935 "content": {
3936 "type": "SYMBOL",
3937 "name": "attribute_declaration"
3938 }
3939 }
3940 ]
3941 }
3942 },
3943 "pointer_declarator": {
3944 "type": "PREC_DYNAMIC",
3945 "value": 1,
3946 "content": {
3947 "type": "PREC_RIGHT",
3948 "value": 0,
3949 "content": {
3950 "type": "SEQ",
3951 "members": [
3952 {
3953 "type": "CHOICE",
3954 "members": [
3955 {
3956 "type": "SYMBOL",
3957 "name": "ms_based_modifier"
3958 },
3959 {
3960 "type": "BLANK"
3961 }
3962 ]
3963 },
3964 {
3965 "type": "STRING",
3966 "value": "*"
3967 },
3968 {
3969 "type": "REPEAT",
3970 "content": {
3971 "type": "SYMBOL",
3972 "name": "ms_pointer_modifier"
3973 }
3974 },
3975 {
3976 "type": "REPEAT",
3977 "content": {
3978 "type": "SYMBOL",
3979 "name": "type_qualifier"
3980 }
3981 },
3982 {
3983 "type": "FIELD",
3984 "name": "declarator",
3985 "content": {
3986 "type": "SYMBOL",
3987 "name": "_declarator"
3988 }
3989 }
3990 ]
3991 }
3992 }
3993 },
3994 "pointer_field_declarator": {
3995 "type": "PREC_DYNAMIC",
3996 "value": 1,
3997 "content": {
3998 "type": "PREC_RIGHT",
3999 "value": 0,
4000 "content": {
4001 "type": "SEQ",
4002 "members": [
4003 {
4004 "type": "CHOICE",
4005 "members": [
4006 {
4007 "type": "SYMBOL",
4008 "name": "ms_based_modifier"
4009 },
4010 {
4011 "type": "BLANK"
4012 }
4013 ]
4014 },
4015 {
4016 "type": "STRING",
4017 "value": "*"
4018 },
4019 {
4020 "type": "REPEAT",
4021 "content": {
4022 "type": "SYMBOL",
4023 "name": "ms_pointer_modifier"
4024 }
4025 },
4026 {
4027 "type": "REPEAT",
4028 "content": {
4029 "type": "SYMBOL",
4030 "name": "type_qualifier"
4031 }
4032 },
4033 {
4034 "type": "FIELD",
4035 "name": "declarator",
4036 "content": {
4037 "type": "SYMBOL",
4038 "name": "_field_declarator"
4039 }
4040 }
4041 ]
4042 }
4043 }
4044 },
4045 "pointer_type_declarator": {
4046 "type": "PREC_DYNAMIC",
4047 "value": 1,
4048 "content": {
4049 "type": "PREC_RIGHT",
4050 "value": 0,
4051 "content": {
4052 "type": "SEQ",
4053 "members": [
4054 {
4055 "type": "CHOICE",
4056 "members": [
4057 {
4058 "type": "SYMBOL",
4059 "name": "ms_based_modifier"
4060 },
4061 {
4062 "type": "BLANK"
4063 }
4064 ]
4065 },
4066 {
4067 "type": "STRING",
4068 "value": "*"
4069 },
4070 {
4071 "type": "REPEAT",
4072 "content": {
4073 "type": "SYMBOL",
4074 "name": "ms_pointer_modifier"
4075 }
4076 },
4077 {
4078 "type": "REPEAT",
4079 "content": {
4080 "type": "SYMBOL",
4081 "name": "type_qualifier"
4082 }
4083 },
4084 {
4085 "type": "FIELD",
4086 "name": "declarator",
4087 "content": {
4088 "type": "SYMBOL",
4089 "name": "_type_declarator"
4090 }
4091 }
4092 ]
4093 }
4094 }
4095 },
4096 "abstract_pointer_declarator": {
4097 "type": "PREC_DYNAMIC",
4098 "value": 1,
4099 "content": {
4100 "type": "PREC_RIGHT",
4101 "value": 0,
4102 "content": {
4103 "type": "SEQ",
4104 "members": [
4105 {
4106 "type": "STRING",
4107 "value": "*"
4108 },
4109 {
4110 "type": "REPEAT",
4111 "content": {
4112 "type": "SYMBOL",
4113 "name": "ms_pointer_modifier"
4114 }
4115 },
4116 {
4117 "type": "REPEAT",
4118 "content": {
4119 "type": "SYMBOL",
4120 "name": "type_qualifier"
4121 }
4122 },
4123 {
4124 "type": "FIELD",
4125 "name": "declarator",
4126 "content": {
4127 "type": "CHOICE",
4128 "members": [
4129 {
4130 "type": "SYMBOL",
4131 "name": "_abstract_declarator"
4132 },
4133 {
4134 "type": "BLANK"
4135 }
4136 ]
4137 }
4138 }
4139 ]
4140 }
4141 }
4142 },
4143 "function_declarator": {
4144 "type": "PREC_DYNAMIC",
4145 "value": 1,
4146 "content": {
4147 "type": "SEQ",
4148 "members": [
4149 {
4150 "type": "FIELD",
4151 "name": "declarator",
4152 "content": {
4153 "type": "SYMBOL",
4154 "name": "_declarator"
4155 }
4156 },
4157 {
4158 "type": "SYMBOL",
4159 "name": "_function_declarator_seq"
4160 }
4161 ]
4162 }
4163 },
4164 "_function_declaration_declarator": {
4165 "type": "PREC_RIGHT",
4166 "value": 1,
4167 "content": {
4168 "type": "SEQ",
4169 "members": [
4170 {
4171 "type": "FIELD",
4172 "name": "declarator",
4173 "content": {
4174 "type": "SYMBOL",
4175 "name": "_declarator"
4176 }
4177 },
4178 {
4179 "type": "FIELD",
4180 "name": "parameters",
4181 "content": {
4182 "type": "SYMBOL",
4183 "name": "parameter_list"
4184 }
4185 },
4186 {
4187 "type": "CHOICE",
4188 "members": [
4189 {
4190 "type": "SYMBOL",
4191 "name": "gnu_asm_expression"
4192 },
4193 {
4194 "type": "BLANK"
4195 }
4196 ]
4197 },
4198 {
4199 "type": "REPEAT",
4200 "content": {
4201 "type": "SYMBOL",
4202 "name": "attribute_specifier"
4203 }
4204 }
4205 ]
4206 }
4207 },
4208 "function_field_declarator": {
4209 "type": "PREC_DYNAMIC",
4210 "value": 1,
4211 "content": {
4212 "type": "SEQ",
4213 "members": [
4214 {
4215 "type": "FIELD",
4216 "name": "declarator",
4217 "content": {
4218 "type": "SYMBOL",
4219 "name": "_field_declarator"
4220 }
4221 },
4222 {
4223 "type": "SYMBOL",
4224 "name": "_function_declarator_seq"
4225 }
4226 ]
4227 }
4228 },
4229 "function_type_declarator": {
4230 "type": "PREC",
4231 "value": 1,
4232 "content": {
4233 "type": "SEQ",
4234 "members": [
4235 {
4236 "type": "FIELD",
4237 "name": "declarator",
4238 "content": {
4239 "type": "SYMBOL",
4240 "name": "_type_declarator"
4241 }
4242 },
4243 {
4244 "type": "FIELD",
4245 "name": "parameters",
4246 "content": {
4247 "type": "SYMBOL",
4248 "name": "parameter_list"
4249 }
4250 }
4251 ]
4252 }
4253 },
4254 "abstract_function_declarator": {
4255 "type": "SEQ",
4256 "members": [
4257 {
4258 "type": "FIELD",
4259 "name": "declarator",
4260 "content": {
4261 "type": "CHOICE",
4262 "members": [
4263 {
4264 "type": "SYMBOL",
4265 "name": "_abstract_declarator"
4266 },
4267 {
4268 "type": "BLANK"
4269 }
4270 ]
4271 }
4272 },
4273 {
4274 "type": "SYMBOL",
4275 "name": "_function_declarator_seq"
4276 }
4277 ]
4278 },
4279 "_old_style_function_declarator": {
4280 "type": "SEQ",
4281 "members": [
4282 {
4283 "type": "FIELD",
4284 "name": "declarator",
4285 "content": {
4286 "type": "SYMBOL",
4287 "name": "_declarator"
4288 }
4289 },
4290 {
4291 "type": "FIELD",
4292 "name": "parameters",
4293 "content": {
4294 "type": "ALIAS",
4295 "content": {
4296 "type": "SYMBOL",
4297 "name": "_old_style_parameter_list"
4298 },
4299 "named": true,
4300 "value": "parameter_list"
4301 }
4302 }
4303 ]
4304 },
4305 "array_declarator": {
4306 "type": "PREC",
4307 "value": 1,
4308 "content": {
4309 "type": "SEQ",
4310 "members": [
4311 {
4312 "type": "FIELD",
4313 "name": "declarator",
4314 "content": {
4315 "type": "SYMBOL",
4316 "name": "_declarator"
4317 }
4318 },
4319 {
4320 "type": "STRING",
4321 "value": "["
4322 },
4323 {
4324 "type": "REPEAT",
4325 "content": {
4326 "type": "SYMBOL",
4327 "name": "type_qualifier"
4328 }
4329 },
4330 {
4331 "type": "FIELD",
4332 "name": "size",
4333 "content": {
4334 "type": "CHOICE",
4335 "members": [
4336 {
4337 "type": "CHOICE",
4338 "members": [
4339 {
4340 "type": "SYMBOL",
4341 "name": "_expression"
4342 },
4343 {
4344 "type": "STRING",
4345 "value": "*"
4346 }
4347 ]
4348 },
4349 {
4350 "type": "BLANK"
4351 }
4352 ]
4353 }
4354 },
4355 {
4356 "type": "STRING",
4357 "value": "]"
4358 }
4359 ]
4360 }
4361 },
4362 "array_field_declarator": {
4363 "type": "PREC",
4364 "value": 1,
4365 "content": {
4366 "type": "SEQ",
4367 "members": [
4368 {
4369 "type": "FIELD",
4370 "name": "declarator",
4371 "content": {
4372 "type": "SYMBOL",
4373 "name": "_field_declarator"
4374 }
4375 },
4376 {
4377 "type": "STRING",
4378 "value": "["
4379 },
4380 {
4381 "type": "REPEAT",
4382 "content": {
4383 "type": "SYMBOL",
4384 "name": "type_qualifier"
4385 }
4386 },
4387 {
4388 "type": "FIELD",
4389 "name": "size",
4390 "content": {
4391 "type": "CHOICE",
4392 "members": [
4393 {
4394 "type": "CHOICE",
4395 "members": [
4396 {
4397 "type": "SYMBOL",
4398 "name": "_expression"
4399 },
4400 {
4401 "type": "STRING",
4402 "value": "*"
4403 }
4404 ]
4405 },
4406 {
4407 "type": "BLANK"
4408 }
4409 ]
4410 }
4411 },
4412 {
4413 "type": "STRING",
4414 "value": "]"
4415 }
4416 ]
4417 }
4418 },
4419 "array_type_declarator": {
4420 "type": "PREC",
4421 "value": 1,
4422 "content": {
4423 "type": "SEQ",
4424 "members": [
4425 {
4426 "type": "FIELD",
4427 "name": "declarator",
4428 "content": {
4429 "type": "SYMBOL",
4430 "name": "_type_declarator"
4431 }
4432 },
4433 {
4434 "type": "STRING",
4435 "value": "["
4436 },
4437 {
4438 "type": "REPEAT",
4439 "content": {
4440 "type": "SYMBOL",
4441 "name": "type_qualifier"
4442 }
4443 },
4444 {
4445 "type": "FIELD",
4446 "name": "size",
4447 "content": {
4448 "type": "CHOICE",
4449 "members": [
4450 {
4451 "type": "CHOICE",
4452 "members": [
4453 {
4454 "type": "SYMBOL",
4455 "name": "_expression"
4456 },
4457 {
4458 "type": "STRING",
4459 "value": "*"
4460 }
4461 ]
4462 },
4463 {
4464 "type": "BLANK"
4465 }
4466 ]
4467 }
4468 },
4469 {
4470 "type": "STRING",
4471 "value": "]"
4472 }
4473 ]
4474 }
4475 },
4476 "abstract_array_declarator": {
4477 "type": "PREC",
4478 "value": 1,
4479 "content": {
4480 "type": "SEQ",
4481 "members": [
4482 {
4483 "type": "FIELD",
4484 "name": "declarator",
4485 "content": {
4486 "type": "CHOICE",
4487 "members": [
4488 {
4489 "type": "SYMBOL",
4490 "name": "_abstract_declarator"
4491 },
4492 {
4493 "type": "BLANK"
4494 }
4495 ]
4496 }
4497 },
4498 {
4499 "type": "STRING",
4500 "value": "["
4501 },
4502 {
4503 "type": "REPEAT",
4504 "content": {
4505 "type": "SYMBOL",
4506 "name": "type_qualifier"
4507 }
4508 },
4509 {
4510 "type": "FIELD",
4511 "name": "size",
4512 "content": {
4513 "type": "CHOICE",
4514 "members": [
4515 {
4516 "type": "CHOICE",
4517 "members": [
4518 {
4519 "type": "SYMBOL",
4520 "name": "_expression"
4521 },
4522 {
4523 "type": "STRING",
4524 "value": "*"
4525 }
4526 ]
4527 },
4528 {
4529 "type": "BLANK"
4530 }
4531 ]
4532 }
4533 },
4534 {
4535 "type": "STRING",
4536 "value": "]"
4537 }
4538 ]
4539 }
4540 },
4541 "init_declarator": {
4542 "type": "CHOICE",
4543 "members": [
4544 {
4545 "type": "SEQ",
4546 "members": [
4547 {
4548 "type": "FIELD",
4549 "name": "declarator",
4550 "content": {
4551 "type": "SYMBOL",
4552 "name": "_declarator"
4553 }
4554 },
4555 {
4556 "type": "STRING",
4557 "value": "="
4558 },
4559 {
4560 "type": "FIELD",
4561 "name": "value",
4562 "content": {
4563 "type": "CHOICE",
4564 "members": [
4565 {
4566 "type": "SYMBOL",
4567 "name": "initializer_list"
4568 },
4569 {
4570 "type": "SYMBOL",
4571 "name": "_expression"
4572 }
4573 ]
4574 }
4575 }
4576 ]
4577 },
4578 {
4579 "type": "SEQ",
4580 "members": [
4581 {
4582 "type": "FIELD",
4583 "name": "declarator",
4584 "content": {
4585 "type": "SYMBOL",
4586 "name": "_declarator"
4587 }
4588 },
4589 {
4590 "type": "FIELD",
4591 "name": "value",
4592 "content": {
4593 "type": "CHOICE",
4594 "members": [
4595 {
4596 "type": "SYMBOL",
4597 "name": "argument_list"
4598 },
4599 {
4600 "type": "SYMBOL",
4601 "name": "initializer_list"
4602 }
4603 ]
4604 }
4605 }
4606 ]
4607 }
4608 ]
4609 },
4610 "compound_statement": {
4611 "type": "PREC",
4612 "value": -1,
4613 "content": {
4614 "type": "SEQ",
4615 "members": [
4616 {
4617 "type": "STRING",
4618 "value": "{"
4619 },
4620 {
4621 "type": "REPEAT",
4622 "content": {
4623 "type": "SYMBOL",
4624 "name": "_block_item"
4625 }
4626 },
4627 {
4628 "type": "STRING",
4629 "value": "}"
4630 }
4631 ]
4632 }
4633 },
4634 "storage_class_specifier": {
4635 "type": "CHOICE",
4636 "members": [
4637 {
4638 "type": "STRING",
4639 "value": "extern"
4640 },
4641 {
4642 "type": "STRING",
4643 "value": "static"
4644 },
4645 {
4646 "type": "STRING",
4647 "value": "register"
4648 },
4649 {
4650 "type": "STRING",
4651 "value": "inline"
4652 },
4653 {
4654 "type": "STRING",
4655 "value": "__inline"
4656 },
4657 {
4658 "type": "STRING",
4659 "value": "__inline__"
4660 },
4661 {
4662 "type": "STRING",
4663 "value": "__forceinline"
4664 },
4665 {
4666 "type": "STRING",
4667 "value": "thread_local"
4668 },
4669 {
4670 "type": "STRING",
4671 "value": "__thread"
4672 },
4673 {
4674 "type": "STRING",
4675 "value": "thread_local"
4676 }
4677 ]
4678 },
4679 "type_qualifier": {
4680 "type": "CHOICE",
4681 "members": [
4682 {
4683 "type": "CHOICE",
4684 "members": [
4685 {
4686 "type": "STRING",
4687 "value": "const"
4688 },
4689 {
4690 "type": "STRING",
4691 "value": "constexpr"
4692 },
4693 {
4694 "type": "STRING",
4695 "value": "volatile"
4696 },
4697 {
4698 "type": "STRING",
4699 "value": "restrict"
4700 },
4701 {
4702 "type": "STRING",
4703 "value": "__restrict__"
4704 },
4705 {
4706 "type": "STRING",
4707 "value": "__extension__"
4708 },
4709 {
4710 "type": "STRING",
4711 "value": "_Atomic"
4712 },
4713 {
4714 "type": "STRING",
4715 "value": "_Noreturn"
4716 },
4717 {
4718 "type": "STRING",
4719 "value": "noreturn"
4720 }
4721 ]
4722 },
4723 {
4724 "type": "STRING",
4725 "value": "mutable"
4726 },
4727 {
4728 "type": "STRING",
4729 "value": "constinit"
4730 },
4731 {
4732 "type": "STRING",
4733 "value": "consteval"
4734 }
4735 ]
4736 },
4737 "_type_specifier": {
4738 "type": "CHOICE",
4739 "members": [
4740 {
4741 "type": "SYMBOL",
4742 "name": "struct_specifier"
4743 },
4744 {
4745 "type": "SYMBOL",
4746 "name": "union_specifier"
4747 },
4748 {
4749 "type": "SYMBOL",
4750 "name": "enum_specifier"
4751 },
4752 {
4753 "type": "SYMBOL",
4754 "name": "class_specifier"
4755 },
4756 {
4757 "type": "SYMBOL",
4758 "name": "sized_type_specifier"
4759 },
4760 {
4761 "type": "SYMBOL",
4762 "name": "primitive_type"
4763 },
4764 {
4765 "type": "SYMBOL",
4766 "name": "template_type"
4767 },
4768 {
4769 "type": "SYMBOL",
4770 "name": "dependent_type"
4771 },
4772 {
4773 "type": "SYMBOL",
4774 "name": "placeholder_type_specifier"
4775 },
4776 {
4777 "type": "SYMBOL",
4778 "name": "decltype"
4779 },
4780 {
4781 "type": "PREC_RIGHT",
4782 "value": 0,
4783 "content": {
4784 "type": "CHOICE",
4785 "members": [
4786 {
4787 "type": "ALIAS",
4788 "content": {
4789 "type": "SYMBOL",
4790 "name": "qualified_type_identifier"
4791 },
4792 "named": true,
4793 "value": "qualified_identifier"
4794 },
4795 {
4796 "type": "SYMBOL",
4797 "name": "_type_identifier"
4798 }
4799 ]
4800 }
4801 }
4802 ]
4803 },
4804 "sized_type_specifier": {
4805 "type": "CHOICE",
4806 "members": [
4807 {
4808 "type": "SEQ",
4809 "members": [
4810 {
4811 "type": "REPEAT",
4812 "content": {
4813 "type": "CHOICE",
4814 "members": [
4815 {
4816 "type": "STRING",
4817 "value": "signed"
4818 },
4819 {
4820 "type": "STRING",
4821 "value": "unsigned"
4822 },
4823 {
4824 "type": "STRING",
4825 "value": "long"
4826 },
4827 {
4828 "type": "STRING",
4829 "value": "short"
4830 }
4831 ]
4832 }
4833 },
4834 {
4835 "type": "FIELD",
4836 "name": "type",
4837 "content": {
4838 "type": "CHOICE",
4839 "members": [
4840 {
4841 "type": "CHOICE",
4842 "members": [
4843 {
4844 "type": "PREC_DYNAMIC",
4845 "value": -1,
4846 "content": {
4847 "type": "SYMBOL",
4848 "name": "_type_identifier"
4849 }
4850 },
4851 {
4852 "type": "SYMBOL",
4853 "name": "primitive_type"
4854 }
4855 ]
4856 },
4857 {
4858 "type": "BLANK"
4859 }
4860 ]
4861 }
4862 },
4863 {
4864 "type": "REPEAT1",
4865 "content": {
4866 "type": "CHOICE",
4867 "members": [
4868 {
4869 "type": "STRING",
4870 "value": "signed"
4871 },
4872 {
4873 "type": "STRING",
4874 "value": "unsigned"
4875 },
4876 {
4877 "type": "STRING",
4878 "value": "long"
4879 },
4880 {
4881 "type": "STRING",
4882 "value": "short"
4883 }
4884 ]
4885 }
4886 }
4887 ]
4888 },
4889 {
4890 "type": "SEQ",
4891 "members": [
4892 {
4893 "type": "REPEAT1",
4894 "content": {
4895 "type": "CHOICE",
4896 "members": [
4897 {
4898 "type": "STRING",
4899 "value": "signed"
4900 },
4901 {
4902 "type": "STRING",
4903 "value": "unsigned"
4904 },
4905 {
4906 "type": "STRING",
4907 "value": "long"
4908 },
4909 {
4910 "type": "STRING",
4911 "value": "short"
4912 }
4913 ]
4914 }
4915 },
4916 {
4917 "type": "FIELD",
4918 "name": "type",
4919 "content": {
4920 "type": "CHOICE",
4921 "members": [
4922 {
4923 "type": "CHOICE",
4924 "members": [
4925 {
4926 "type": "PREC_DYNAMIC",
4927 "value": -1,
4928 "content": {
4929 "type": "SYMBOL",
4930 "name": "_type_identifier"
4931 }
4932 },
4933 {
4934 "type": "SYMBOL",
4935 "name": "primitive_type"
4936 }
4937 ]
4938 },
4939 {
4940 "type": "BLANK"
4941 }
4942 ]
4943 }
4944 },
4945 {
4946 "type": "REPEAT",
4947 "content": {
4948 "type": "CHOICE",
4949 "members": [
4950 {
4951 "type": "STRING",
4952 "value": "signed"
4953 },
4954 {
4955 "type": "STRING",
4956 "value": "unsigned"
4957 },
4958 {
4959 "type": "STRING",
4960 "value": "long"
4961 },
4962 {
4963 "type": "STRING",
4964 "value": "short"
4965 }
4966 ]
4967 }
4968 }
4969 ]
4970 }
4971 ]
4972 },
4973 "primitive_type": {
4974 "type": "TOKEN",
4975 "content": {
4976 "type": "CHOICE",
4977 "members": [
4978 {
4979 "type": "STRING",
4980 "value": "bool"
4981 },
4982 {
4983 "type": "STRING",
4984 "value": "char"
4985 },
4986 {
4987 "type": "STRING",
4988 "value": "int"
4989 },
4990 {
4991 "type": "STRING",
4992 "value": "float"
4993 },
4994 {
4995 "type": "STRING",
4996 "value": "double"
4997 },
4998 {
4999 "type": "STRING",
5000 "value": "void"
5001 },
5002 {
5003 "type": "STRING",
5004 "value": "size_t"
5005 },
5006 {
5007 "type": "STRING",
5008 "value": "ssize_t"
5009 },
5010 {
5011 "type": "STRING",
5012 "value": "ptrdiff_t"
5013 },
5014 {
5015 "type": "STRING",
5016 "value": "intptr_t"
5017 },
5018 {
5019 "type": "STRING",
5020 "value": "uintptr_t"
5021 },
5022 {
5023 "type": "STRING",
5024 "value": "charptr_t"
5025 },
5026 {
5027 "type": "STRING",
5028 "value": "nullptr_t"
5029 },
5030 {
5031 "type": "STRING",
5032 "value": "max_align_t"
5033 },
5034 {
5035 "type": "STRING",
5036 "value": "int8_t"
5037 },
5038 {
5039 "type": "STRING",
5040 "value": "int16_t"
5041 },
5042 {
5043 "type": "STRING",
5044 "value": "int32_t"
5045 },
5046 {
5047 "type": "STRING",
5048 "value": "int64_t"
5049 },
5050 {
5051 "type": "STRING",
5052 "value": "uint8_t"
5053 },
5054 {
5055 "type": "STRING",
5056 "value": "uint16_t"
5057 },
5058 {
5059 "type": "STRING",
5060 "value": "uint32_t"
5061 },
5062 {
5063 "type": "STRING",
5064 "value": "uint64_t"
5065 },
5066 {
5067 "type": "STRING",
5068 "value": "char8_t"
5069 },
5070 {
5071 "type": "STRING",
5072 "value": "char16_t"
5073 },
5074 {
5075 "type": "STRING",
5076 "value": "char32_t"
5077 },
5078 {
5079 "type": "STRING",
5080 "value": "char64_t"
5081 }
5082 ]
5083 }
5084 },
5085 "enum_specifier": {
5086 "type": "PREC_RIGHT",
5087 "value": 0,
5088 "content": {
5089 "type": "SEQ",
5090 "members": [
5091 {
5092 "type": "STRING",
5093 "value": "enum"
5094 },
5095 {
5096 "type": "CHOICE",
5097 "members": [
5098 {
5099 "type": "CHOICE",
5100 "members": [
5101 {
5102 "type": "STRING",
5103 "value": "class"
5104 },
5105 {
5106 "type": "STRING",
5107 "value": "struct"
5108 }
5109 ]
5110 },
5111 {
5112 "type": "BLANK"
5113 }
5114 ]
5115 },
5116 {
5117 "type": "CHOICE",
5118 "members": [
5119 {
5120 "type": "SEQ",
5121 "members": [
5122 {
5123 "type": "FIELD",
5124 "name": "name",
5125 "content": {
5126 "type": "SYMBOL",
5127 "name": "_class_name"
5128 }
5129 },
5130 {
5131 "type": "CHOICE",
5132 "members": [
5133 {
5134 "type": "SYMBOL",
5135 "name": "_enum_base_clause"
5136 },
5137 {
5138 "type": "BLANK"
5139 }
5140 ]
5141 },
5142 {
5143 "type": "CHOICE",
5144 "members": [
5145 {
5146 "type": "FIELD",
5147 "name": "body",
5148 "content": {
5149 "type": "SYMBOL",
5150 "name": "enumerator_list"
5151 }
5152 },
5153 {
5154 "type": "BLANK"
5155 }
5156 ]
5157 }
5158 ]
5159 },
5160 {
5161 "type": "FIELD",
5162 "name": "body",
5163 "content": {
5164 "type": "SYMBOL",
5165 "name": "enumerator_list"
5166 }
5167 }
5168 ]
5169 },
5170 {
5171 "type": "CHOICE",
5172 "members": [
5173 {
5174 "type": "SYMBOL",
5175 "name": "attribute_specifier"
5176 },
5177 {
5178 "type": "BLANK"
5179 }
5180 ]
5181 }
5182 ]
5183 }
5184 },
5185 "enumerator_list": {
5186 "type": "SEQ",
5187 "members": [
5188 {
5189 "type": "STRING",
5190 "value": "{"
5191 },
5192 {
5193 "type": "REPEAT",
5194 "content": {
5195 "type": "CHOICE",
5196 "members": [
5197 {
5198 "type": "SEQ",
5199 "members": [
5200 {
5201 "type": "SYMBOL",
5202 "name": "enumerator"
5203 },
5204 {
5205 "type": "STRING",
5206 "value": ","
5207 }
5208 ]
5209 },
5210 {
5211 "type": "ALIAS",
5212 "content": {
5213 "type": "SYMBOL",
5214 "name": "preproc_if_in_enumerator_list"
5215 },
5216 "named": true,
5217 "value": "preproc_if"
5218 },
5219 {
5220 "type": "ALIAS",
5221 "content": {
5222 "type": "SYMBOL",
5223 "name": "preproc_ifdef_in_enumerator_list"
5224 },
5225 "named": true,
5226 "value": "preproc_ifdef"
5227 },
5228 {
5229 "type": "SEQ",
5230 "members": [
5231 {
5232 "type": "SYMBOL",
5233 "name": "preproc_call"
5234 },
5235 {
5236 "type": "STRING",
5237 "value": ","
5238 }
5239 ]
5240 }
5241 ]
5242 }
5243 },
5244 {
5245 "type": "CHOICE",
5246 "members": [
5247 {
5248 "type": "SEQ",
5249 "members": [
5250 {
5251 "type": "CHOICE",
5252 "members": [
5253 {
5254 "type": "SYMBOL",
5255 "name": "enumerator"
5256 },
5257 {
5258 "type": "ALIAS",
5259 "content": {
5260 "type": "SYMBOL",
5261 "name": "preproc_if_in_enumerator_list_no_comma"
5262 },
5263 "named": true,
5264 "value": "preproc_if"
5265 },
5266 {
5267 "type": "ALIAS",
5268 "content": {
5269 "type": "SYMBOL",
5270 "name": "preproc_ifdef_in_enumerator_list_no_comma"
5271 },
5272 "named": true,
5273 "value": "preproc_ifdef"
5274 },
5275 {
5276 "type": "SYMBOL",
5277 "name": "preproc_call"
5278 }
5279 ]
5280 }
5281 ]
5282 },
5283 {
5284 "type": "BLANK"
5285 }
5286 ]
5287 },
5288 {
5289 "type": "STRING",
5290 "value": "}"
5291 }
5292 ]
5293 },
5294 "struct_specifier": {
5295 "type": "SEQ",
5296 "members": [
5297 {
5298 "type": "STRING",
5299 "value": "struct"
5300 },
5301 {
5302 "type": "SYMBOL",
5303 "name": "_class_declaration"
5304 }
5305 ]
5306 },
5307 "union_specifier": {
5308 "type": "SEQ",
5309 "members": [
5310 {
5311 "type": "STRING",
5312 "value": "union"
5313 },
5314 {
5315 "type": "SYMBOL",
5316 "name": "_class_declaration"
5317 }
5318 ]
5319 },
5320 "field_declaration_list": {
5321 "type": "SEQ",
5322 "members": [
5323 {
5324 "type": "STRING",
5325 "value": "{"
5326 },
5327 {
5328 "type": "REPEAT",
5329 "content": {
5330 "type": "SYMBOL",
5331 "name": "_field_declaration_list_item"
5332 }
5333 },
5334 {
5335 "type": "STRING",
5336 "value": "}"
5337 }
5338 ]
5339 },
5340 "_field_declaration_list_item": {
5341 "type": "CHOICE",
5342 "members": [
5343 {
5344 "type": "CHOICE",
5345 "members": [
5346 {
5347 "type": "SYMBOL",
5348 "name": "field_declaration"
5349 },
5350 {
5351 "type": "SYMBOL",
5352 "name": "preproc_def"
5353 },
5354 {
5355 "type": "SYMBOL",
5356 "name": "preproc_function_def"
5357 },
5358 {
5359 "type": "SYMBOL",
5360 "name": "preproc_call"
5361 },
5362 {
5363 "type": "ALIAS",
5364 "content": {
5365 "type": "SYMBOL",
5366 "name": "preproc_if_in_field_declaration_list"
5367 },
5368 "named": true,
5369 "value": "preproc_if"
5370 },
5371 {
5372 "type": "ALIAS",
5373 "content": {
5374 "type": "SYMBOL",
5375 "name": "preproc_ifdef_in_field_declaration_list"
5376 },
5377 "named": true,
5378 "value": "preproc_ifdef"
5379 }
5380 ]
5381 },
5382 {
5383 "type": "SYMBOL",
5384 "name": "template_declaration"
5385 },
5386 {
5387 "type": "ALIAS",
5388 "content": {
5389 "type": "SYMBOL",
5390 "name": "inline_method_definition"
5391 },
5392 "named": true,
5393 "value": "function_definition"
5394 },
5395 {
5396 "type": "ALIAS",
5397 "content": {
5398 "type": "SYMBOL",
5399 "name": "constructor_or_destructor_definition"
5400 },
5401 "named": true,
5402 "value": "function_definition"
5403 },
5404 {
5405 "type": "ALIAS",
5406 "content": {
5407 "type": "SYMBOL",
5408 "name": "constructor_or_destructor_declaration"
5409 },
5410 "named": true,
5411 "value": "declaration"
5412 },
5413 {
5414 "type": "ALIAS",
5415 "content": {
5416 "type": "SYMBOL",
5417 "name": "operator_cast_definition"
5418 },
5419 "named": true,
5420 "value": "function_definition"
5421 },
5422 {
5423 "type": "ALIAS",
5424 "content": {
5425 "type": "SYMBOL",
5426 "name": "operator_cast_declaration"
5427 },
5428 "named": true,
5429 "value": "declaration"
5430 },
5431 {
5432 "type": "SYMBOL",
5433 "name": "friend_declaration"
5434 },
5435 {
5436 "type": "SEQ",
5437 "members": [
5438 {
5439 "type": "SYMBOL",
5440 "name": "access_specifier"
5441 },
5442 {
5443 "type": "STRING",
5444 "value": ":"
5445 }
5446 ]
5447 },
5448 {
5449 "type": "SYMBOL",
5450 "name": "alias_declaration"
5451 },
5452 {
5453 "type": "SYMBOL",
5454 "name": "using_declaration"
5455 },
5456 {
5457 "type": "SYMBOL",
5458 "name": "type_definition"
5459 },
5460 {
5461 "type": "SYMBOL",
5462 "name": "static_assert_declaration"
5463 }
5464 ]
5465 },
5466 "field_declaration": {
5467 "type": "SEQ",
5468 "members": [
5469 {
5470 "type": "SYMBOL",
5471 "name": "_declaration_specifiers"
5472 },
5473 {
5474 "type": "CHOICE",
5475 "members": [
5476 {
5477 "type": "SEQ",
5478 "members": [
5479 {
5480 "type": "SEQ",
5481 "members": [
5482 {
5483 "type": "FIELD",
5484 "name": "declarator",
5485 "content": {
5486 "type": "SYMBOL",
5487 "name": "_field_declarator"
5488 }
5489 },
5490 {
5491 "type": "CHOICE",
5492 "members": [
5493 {
5494 "type": "CHOICE",
5495 "members": [
5496 {
5497 "type": "SYMBOL",
5498 "name": "bitfield_clause"
5499 },
5500 {
5501 "type": "FIELD",
5502 "name": "default_value",
5503 "content": {
5504 "type": "SYMBOL",
5505 "name": "initializer_list"
5506 }
5507 },
5508 {
5509 "type": "SEQ",
5510 "members": [
5511 {
5512 "type": "STRING",
5513 "value": "="
5514 },
5515 {
5516 "type": "FIELD",
5517 "name": "default_value",
5518 "content": {
5519 "type": "CHOICE",
5520 "members": [
5521 {
5522 "type": "SYMBOL",
5523 "name": "_expression"
5524 },
5525 {
5526 "type": "SYMBOL",
5527 "name": "initializer_list"
5528 }
5529 ]
5530 }
5531 }
5532 ]
5533 }
5534 ]
5535 },
5536 {
5537 "type": "BLANK"
5538 }
5539 ]
5540 }
5541 ]
5542 },
5543 {
5544 "type": "REPEAT",
5545 "content": {
5546 "type": "SEQ",
5547 "members": [
5548 {
5549 "type": "STRING",
5550 "value": ","
5551 },
5552 {
5553 "type": "SEQ",
5554 "members": [
5555 {
5556 "type": "FIELD",
5557 "name": "declarator",
5558 "content": {
5559 "type": "SYMBOL",
5560 "name": "_field_declarator"
5561 }
5562 },
5563 {
5564 "type": "CHOICE",
5565 "members": [
5566 {
5567 "type": "CHOICE",
5568 "members": [
5569 {
5570 "type": "SYMBOL",
5571 "name": "bitfield_clause"
5572 },
5573 {
5574 "type": "FIELD",
5575 "name": "default_value",
5576 "content": {
5577 "type": "SYMBOL",
5578 "name": "initializer_list"
5579 }
5580 },
5581 {
5582 "type": "SEQ",
5583 "members": [
5584 {
5585 "type": "STRING",
5586 "value": "="
5587 },
5588 {
5589 "type": "FIELD",
5590 "name": "default_value",
5591 "content": {
5592 "type": "CHOICE",
5593 "members": [
5594 {
5595 "type": "SYMBOL",
5596 "name": "_expression"
5597 },
5598 {
5599 "type": "SYMBOL",
5600 "name": "initializer_list"
5601 }
5602 ]
5603 }
5604 }
5605 ]
5606 }
5607 ]
5608 },
5609 {
5610 "type": "BLANK"
5611 }
5612 ]
5613 }
5614 ]
5615 }
5616 ]
5617 }
5618 }
5619 ]
5620 },
5621 {
5622 "type": "BLANK"
5623 }
5624 ]
5625 },
5626 {
5627 "type": "CHOICE",
5628 "members": [
5629 {
5630 "type": "SYMBOL",
5631 "name": "attribute_specifier"
5632 },
5633 {
5634 "type": "BLANK"
5635 }
5636 ]
5637 },
5638 {
5639 "type": "STRING",
5640 "value": ";"
5641 }
5642 ]
5643 },
5644 "_field_declaration_declarator": {
5645 "type": "SEQ",
5646 "members": [
5647 {
5648 "type": "SEQ",
5649 "members": [
5650 {
5651 "type": "FIELD",
5652 "name": "declarator",
5653 "content": {
5654 "type": "SYMBOL",
5655 "name": "_field_declarator"
5656 }
5657 },
5658 {
5659 "type": "CHOICE",
5660 "members": [
5661 {
5662 "type": "SYMBOL",
5663 "name": "bitfield_clause"
5664 },
5665 {
5666 "type": "BLANK"
5667 }
5668 ]
5669 }
5670 ]
5671 },
5672 {
5673 "type": "REPEAT",
5674 "content": {
5675 "type": "SEQ",
5676 "members": [
5677 {
5678 "type": "STRING",
5679 "value": ","
5680 },
5681 {
5682 "type": "SEQ",
5683 "members": [
5684 {
5685 "type": "FIELD",
5686 "name": "declarator",
5687 "content": {
5688 "type": "SYMBOL",
5689 "name": "_field_declarator"
5690 }
5691 },
5692 {
5693 "type": "CHOICE",
5694 "members": [
5695 {
5696 "type": "SYMBOL",
5697 "name": "bitfield_clause"
5698 },
5699 {
5700 "type": "BLANK"
5701 }
5702 ]
5703 }
5704 ]
5705 }
5706 ]
5707 }
5708 }
5709 ]
5710 },
5711 "bitfield_clause": {
5712 "type": "SEQ",
5713 "members": [
5714 {
5715 "type": "STRING",
5716 "value": ":"
5717 },
5718 {
5719 "type": "SYMBOL",
5720 "name": "_expression"
5721 }
5722 ]
5723 },
5724 "enumerator": {
5725 "type": "SEQ",
5726 "members": [
5727 {
5728 "type": "FIELD",
5729 "name": "name",
5730 "content": {
5731 "type": "SYMBOL",
5732 "name": "identifier"
5733 }
5734 },
5735 {
5736 "type": "CHOICE",
5737 "members": [
5738 {
5739 "type": "SEQ",
5740 "members": [
5741 {
5742 "type": "STRING",
5743 "value": "="
5744 },
5745 {
5746 "type": "FIELD",
5747 "name": "value",
5748 "content": {
5749 "type": "SYMBOL",
5750 "name": "_expression"
5751 }
5752 }
5753 ]
5754 },
5755 {
5756 "type": "BLANK"
5757 }
5758 ]
5759 }
5760 ]
5761 },
5762 "variadic_parameter": {
5763 "type": "SEQ",
5764 "members": [
5765 {
5766 "type": "STRING",
5767 "value": "..."
5768 }
5769 ]
5770 },
5771 "parameter_list": {
5772 "type": "SEQ",
5773 "members": [
5774 {
5775 "type": "STRING",
5776 "value": "("
5777 },
5778 {
5779 "type": "CHOICE",
5780 "members": [
5781 {
5782 "type": "SEQ",
5783 "members": [
5784 {
5785 "type": "CHOICE",
5786 "members": [
5787 {
5788 "type": "SYMBOL",
5789 "name": "parameter_declaration"
5790 },
5791 {
5792 "type": "SYMBOL",
5793 "name": "optional_parameter_declaration"
5794 },
5795 {
5796 "type": "SYMBOL",
5797 "name": "variadic_parameter_declaration"
5798 },
5799 {
5800 "type": "STRING",
5801 "value": "..."
5802 }
5803 ]
5804 },
5805 {
5806 "type": "REPEAT",
5807 "content": {
5808 "type": "SEQ",
5809 "members": [
5810 {
5811 "type": "STRING",
5812 "value": ","
5813 },
5814 {
5815 "type": "CHOICE",
5816 "members": [
5817 {
5818 "type": "SYMBOL",
5819 "name": "parameter_declaration"
5820 },
5821 {
5822 "type": "SYMBOL",
5823 "name": "optional_parameter_declaration"
5824 },
5825 {
5826 "type": "SYMBOL",
5827 "name": "variadic_parameter_declaration"
5828 },
5829 {
5830 "type": "STRING",
5831 "value": "..."
5832 }
5833 ]
5834 }
5835 ]
5836 }
5837 }
5838 ]
5839 },
5840 {
5841 "type": "BLANK"
5842 }
5843 ]
5844 },
5845 {
5846 "type": "STRING",
5847 "value": ")"
5848 }
5849 ]
5850 },
5851 "_old_style_parameter_list": {
5852 "type": "SEQ",
5853 "members": [
5854 {
5855 "type": "STRING",
5856 "value": "("
5857 },
5858 {
5859 "type": "CHOICE",
5860 "members": [
5861 {
5862 "type": "SEQ",
5863 "members": [
5864 {
5865 "type": "CHOICE",
5866 "members": [
5867 {
5868 "type": "SYMBOL",
5869 "name": "identifier"
5870 },
5871 {
5872 "type": "SYMBOL",
5873 "name": "variadic_parameter"
5874 }
5875 ]
5876 },
5877 {
5878 "type": "REPEAT",
5879 "content": {
5880 "type": "SEQ",
5881 "members": [
5882 {
5883 "type": "STRING",
5884 "value": ","
5885 },
5886 {
5887 "type": "CHOICE",
5888 "members": [
5889 {
5890 "type": "SYMBOL",
5891 "name": "identifier"
5892 },
5893 {
5894 "type": "SYMBOL",
5895 "name": "variadic_parameter"
5896 }
5897 ]
5898 }
5899 ]
5900 }
5901 }
5902 ]
5903 },
5904 {
5905 "type": "BLANK"
5906 }
5907 ]
5908 },
5909 {
5910 "type": "STRING",
5911 "value": ")"
5912 }
5913 ]
5914 },
5915 "parameter_declaration": {
5916 "type": "SEQ",
5917 "members": [
5918 {
5919 "type": "SYMBOL",
5920 "name": "_declaration_specifiers"
5921 },
5922 {
5923 "type": "CHOICE",
5924 "members": [
5925 {
5926 "type": "FIELD",
5927 "name": "declarator",
5928 "content": {
5929 "type": "CHOICE",
5930 "members": [
5931 {
5932 "type": "SYMBOL",
5933 "name": "_declarator"
5934 },
5935 {
5936 "type": "SYMBOL",
5937 "name": "_abstract_declarator"
5938 }
5939 ]
5940 }
5941 },
5942 {
5943 "type": "BLANK"
5944 }
5945 ]
5946 }
5947 ]
5948 },
5949 "attributed_statement": {
5950 "type": "SEQ",
5951 "members": [
5952 {
5953 "type": "REPEAT1",
5954 "content": {
5955 "type": "SYMBOL",
5956 "name": "attribute_declaration"
5957 }
5958 },
5959 {
5960 "type": "SYMBOL",
5961 "name": "_statement"
5962 }
5963 ]
5964 },
5965 "_statement": {
5966 "type": "CHOICE",
5967 "members": [
5968 {
5969 "type": "SYMBOL",
5970 "name": "case_statement"
5971 },
5972 {
5973 "type": "SYMBOL",
5974 "name": "_non_case_statement"
5975 }
5976 ]
5977 },
5978 "_non_case_statement": {
5979 "type": "CHOICE",
5980 "members": [
5981 {
5982 "type": "CHOICE",
5983 "members": [
5984 {
5985 "type": "SYMBOL",
5986 "name": "attributed_statement"
5987 },
5988 {
5989 "type": "SYMBOL",
5990 "name": "labeled_statement"
5991 },
5992 {
5993 "type": "SYMBOL",
5994 "name": "compound_statement"
5995 },
5996 {
5997 "type": "SYMBOL",
5998 "name": "expression_statement"
5999 },
6000 {
6001 "type": "SYMBOL",
6002 "name": "if_statement"
6003 },
6004 {
6005 "type": "SYMBOL",
6006 "name": "switch_statement"
6007 },
6008 {
6009 "type": "SYMBOL",
6010 "name": "do_statement"
6011 },
6012 {
6013 "type": "SYMBOL",
6014 "name": "while_statement"
6015 },
6016 {
6017 "type": "SYMBOL",
6018 "name": "for_statement"
6019 },
6020 {
6021 "type": "SYMBOL",
6022 "name": "return_statement"
6023 },
6024 {
6025 "type": "SYMBOL",
6026 "name": "break_statement"
6027 },
6028 {
6029 "type": "SYMBOL",
6030 "name": "continue_statement"
6031 },
6032 {
6033 "type": "SYMBOL",
6034 "name": "goto_statement"
6035 },
6036 {
6037 "type": "SYMBOL",
6038 "name": "seh_try_statement"
6039 },
6040 {
6041 "type": "SYMBOL",
6042 "name": "seh_leave_statement"
6043 }
6044 ]
6045 },
6046 {
6047 "type": "SYMBOL",
6048 "name": "co_return_statement"
6049 },
6050 {
6051 "type": "SYMBOL",
6052 "name": "co_yield_statement"
6053 },
6054 {
6055 "type": "SYMBOL",
6056 "name": "for_range_loop"
6057 },
6058 {
6059 "type": "SYMBOL",
6060 "name": "try_statement"
6061 },
6062 {
6063 "type": "SYMBOL",
6064 "name": "throw_statement"
6065 }
6066 ]
6067 },
6068 "_top_level_statement": {
6069 "type": "CHOICE",
6070 "members": [
6071 {
6072 "type": "CHOICE",
6073 "members": [
6074 {
6075 "type": "SYMBOL",
6076 "name": "case_statement"
6077 },
6078 {
6079 "type": "SYMBOL",
6080 "name": "attributed_statement"
6081 },
6082 {
6083 "type": "SYMBOL",
6084 "name": "labeled_statement"
6085 },
6086 {
6087 "type": "SYMBOL",
6088 "name": "compound_statement"
6089 },
6090 {
6091 "type": "ALIAS",
6092 "content": {
6093 "type": "SYMBOL",
6094 "name": "_top_level_expression_statement"
6095 },
6096 "named": true,
6097 "value": "expression_statement"
6098 },
6099 {
6100 "type": "SYMBOL",
6101 "name": "if_statement"
6102 },
6103 {
6104 "type": "SYMBOL",
6105 "name": "switch_statement"
6106 },
6107 {
6108 "type": "SYMBOL",
6109 "name": "do_statement"
6110 },
6111 {
6112 "type": "SYMBOL",
6113 "name": "while_statement"
6114 },
6115 {
6116 "type": "SYMBOL",
6117 "name": "for_statement"
6118 },
6119 {
6120 "type": "SYMBOL",
6121 "name": "return_statement"
6122 },
6123 {
6124 "type": "SYMBOL",
6125 "name": "break_statement"
6126 },
6127 {
6128 "type": "SYMBOL",
6129 "name": "continue_statement"
6130 },
6131 {
6132 "type": "SYMBOL",
6133 "name": "goto_statement"
6134 }
6135 ]
6136 },
6137 {
6138 "type": "SYMBOL",
6139 "name": "co_return_statement"
6140 },
6141 {
6142 "type": "SYMBOL",
6143 "name": "co_yield_statement"
6144 },
6145 {
6146 "type": "SYMBOL",
6147 "name": "for_range_loop"
6148 },
6149 {
6150 "type": "SYMBOL",
6151 "name": "try_statement"
6152 },
6153 {
6154 "type": "SYMBOL",
6155 "name": "throw_statement"
6156 }
6157 ]
6158 },
6159 "labeled_statement": {
6160 "type": "SEQ",
6161 "members": [
6162 {
6163 "type": "FIELD",
6164 "name": "label",
6165 "content": {
6166 "type": "SYMBOL",
6167 "name": "_statement_identifier"
6168 }
6169 },
6170 {
6171 "type": "STRING",
6172 "value": ":"
6173 },
6174 {
6175 "type": "SYMBOL",
6176 "name": "_statement"
6177 }
6178 ]
6179 },
6180 "_top_level_expression_statement": {
6181 "type": "SEQ",
6182 "members": [
6183 {
6184 "type": "SYMBOL",
6185 "name": "_expression_not_binary"
6186 },
6187 {
6188 "type": "STRING",
6189 "value": ";"
6190 }
6191 ]
6192 },
6193 "expression_statement": {
6194 "type": "SEQ",
6195 "members": [
6196 {
6197 "type": "CHOICE",
6198 "members": [
6199 {
6200 "type": "CHOICE",
6201 "members": [
6202 {
6203 "type": "SYMBOL",
6204 "name": "_expression"
6205 },
6206 {
6207 "type": "SYMBOL",
6208 "name": "comma_expression"
6209 }
6210 ]
6211 },
6212 {
6213 "type": "BLANK"
6214 }
6215 ]
6216 },
6217 {
6218 "type": "STRING",
6219 "value": ";"
6220 }
6221 ]
6222 },
6223 "if_statement": {
6224 "type": "PREC_RIGHT",
6225 "value": 0,
6226 "content": {
6227 "type": "SEQ",
6228 "members": [
6229 {
6230 "type": "STRING",
6231 "value": "if"
6232 },
6233 {
6234 "type": "CHOICE",
6235 "members": [
6236 {
6237 "type": "STRING",
6238 "value": "constexpr"
6239 },
6240 {
6241 "type": "BLANK"
6242 }
6243 ]
6244 },
6245 {
6246 "type": "FIELD",
6247 "name": "condition",
6248 "content": {
6249 "type": "SYMBOL",
6250 "name": "condition_clause"
6251 }
6252 },
6253 {
6254 "type": "FIELD",
6255 "name": "consequence",
6256 "content": {
6257 "type": "SYMBOL",
6258 "name": "_statement"
6259 }
6260 },
6261 {
6262 "type": "CHOICE",
6263 "members": [
6264 {
6265 "type": "FIELD",
6266 "name": "alternative",
6267 "content": {
6268 "type": "SYMBOL",
6269 "name": "else_clause"
6270 }
6271 },
6272 {
6273 "type": "BLANK"
6274 }
6275 ]
6276 }
6277 ]
6278 }
6279 },
6280 "else_clause": {
6281 "type": "SEQ",
6282 "members": [
6283 {
6284 "type": "STRING",
6285 "value": "else"
6286 },
6287 {
6288 "type": "SYMBOL",
6289 "name": "_statement"
6290 }
6291 ]
6292 },
6293 "switch_statement": {
6294 "type": "SEQ",
6295 "members": [
6296 {
6297 "type": "STRING",
6298 "value": "switch"
6299 },
6300 {
6301 "type": "FIELD",
6302 "name": "condition",
6303 "content": {
6304 "type": "SYMBOL",
6305 "name": "condition_clause"
6306 }
6307 },
6308 {
6309 "type": "FIELD",
6310 "name": "body",
6311 "content": {
6312 "type": "SYMBOL",
6313 "name": "compound_statement"
6314 }
6315 }
6316 ]
6317 },
6318 "case_statement": {
6319 "type": "PREC_RIGHT",
6320 "value": 0,
6321 "content": {
6322 "type": "SEQ",
6323 "members": [
6324 {
6325 "type": "CHOICE",
6326 "members": [
6327 {
6328 "type": "SEQ",
6329 "members": [
6330 {
6331 "type": "STRING",
6332 "value": "case"
6333 },
6334 {
6335 "type": "FIELD",
6336 "name": "value",
6337 "content": {
6338 "type": "SYMBOL",
6339 "name": "_expression"
6340 }
6341 }
6342 ]
6343 },
6344 {
6345 "type": "STRING",
6346 "value": "default"
6347 }
6348 ]
6349 },
6350 {
6351 "type": "STRING",
6352 "value": ":"
6353 },
6354 {
6355 "type": "REPEAT",
6356 "content": {
6357 "type": "CHOICE",
6358 "members": [
6359 {
6360 "type": "SYMBOL",
6361 "name": "_non_case_statement"
6362 },
6363 {
6364 "type": "SYMBOL",
6365 "name": "declaration"
6366 },
6367 {
6368 "type": "SYMBOL",
6369 "name": "type_definition"
6370 }
6371 ]
6372 }
6373 }
6374 ]
6375 }
6376 },
6377 "while_statement": {
6378 "type": "SEQ",
6379 "members": [
6380 {
6381 "type": "STRING",
6382 "value": "while"
6383 },
6384 {
6385 "type": "FIELD",
6386 "name": "condition",
6387 "content": {
6388 "type": "SYMBOL",
6389 "name": "condition_clause"
6390 }
6391 },
6392 {
6393 "type": "FIELD",
6394 "name": "body",
6395 "content": {
6396 "type": "SYMBOL",
6397 "name": "_statement"
6398 }
6399 }
6400 ]
6401 },
6402 "do_statement": {
6403 "type": "SEQ",
6404 "members": [
6405 {
6406 "type": "STRING",
6407 "value": "do"
6408 },
6409 {
6410 "type": "FIELD",
6411 "name": "body",
6412 "content": {
6413 "type": "SYMBOL",
6414 "name": "_statement"
6415 }
6416 },
6417 {
6418 "type": "STRING",
6419 "value": "while"
6420 },
6421 {
6422 "type": "FIELD",
6423 "name": "condition",
6424 "content": {
6425 "type": "SYMBOL",
6426 "name": "parenthesized_expression"
6427 }
6428 },
6429 {
6430 "type": "STRING",
6431 "value": ";"
6432 }
6433 ]
6434 },
6435 "for_statement": {
6436 "type": "SEQ",
6437 "members": [
6438 {
6439 "type": "STRING",
6440 "value": "for"
6441 },
6442 {
6443 "type": "STRING",
6444 "value": "("
6445 },
6446 {
6447 "type": "SYMBOL",
6448 "name": "_for_statement_body"
6449 },
6450 {
6451 "type": "STRING",
6452 "value": ")"
6453 },
6454 {
6455 "type": "FIELD",
6456 "name": "body",
6457 "content": {
6458 "type": "SYMBOL",
6459 "name": "_statement"
6460 }
6461 }
6462 ]
6463 },
6464 "_for_statement_body": {
6465 "type": "PREC_DYNAMIC",
6466 "value": 1,
6467 "content": {
6468 "type": "SEQ",
6469 "members": [
6470 {
6471 "type": "CHOICE",
6472 "members": [
6473 {
6474 "type": "FIELD",
6475 "name": "initializer",
6476 "content": {
6477 "type": "SYMBOL",
6478 "name": "declaration"
6479 }
6480 },
6481 {
6482 "type": "SEQ",
6483 "members": [
6484 {
6485 "type": "FIELD",
6486 "name": "initializer",
6487 "content": {
6488 "type": "CHOICE",
6489 "members": [
6490 {
6491 "type": "CHOICE",
6492 "members": [
6493 {
6494 "type": "SYMBOL",
6495 "name": "_expression"
6496 },
6497 {
6498 "type": "SYMBOL",
6499 "name": "comma_expression"
6500 }
6501 ]
6502 },
6503 {
6504 "type": "BLANK"
6505 }
6506 ]
6507 }
6508 },
6509 {
6510 "type": "STRING",
6511 "value": ";"
6512 }
6513 ]
6514 }
6515 ]
6516 },
6517 {
6518 "type": "FIELD",
6519 "name": "condition",
6520 "content": {
6521 "type": "CHOICE",
6522 "members": [
6523 {
6524 "type": "CHOICE",
6525 "members": [
6526 {
6527 "type": "SYMBOL",
6528 "name": "_expression"
6529 },
6530 {
6531 "type": "SYMBOL",
6532 "name": "comma_expression"
6533 }
6534 ]
6535 },
6536 {
6537 "type": "BLANK"
6538 }
6539 ]
6540 }
6541 },
6542 {
6543 "type": "STRING",
6544 "value": ";"
6545 },
6546 {
6547 "type": "FIELD",
6548 "name": "update",
6549 "content": {
6550 "type": "CHOICE",
6551 "members": [
6552 {
6553 "type": "CHOICE",
6554 "members": [
6555 {
6556 "type": "SYMBOL",
6557 "name": "_expression"
6558 },
6559 {
6560 "type": "SYMBOL",
6561 "name": "comma_expression"
6562 }
6563 ]
6564 },
6565 {
6566 "type": "BLANK"
6567 }
6568 ]
6569 }
6570 }
6571 ]
6572 }
6573 },
6574 "return_statement": {
6575 "type": "SEQ",
6576 "members": [
6577 {
6578 "type": "CHOICE",
6579 "members": [
6580 {
6581 "type": "SEQ",
6582 "members": [
6583 {
6584 "type": "STRING",
6585 "value": "return"
6586 },
6587 {
6588 "type": "CHOICE",
6589 "members": [
6590 {
6591 "type": "CHOICE",
6592 "members": [
6593 {
6594 "type": "SYMBOL",
6595 "name": "_expression"
6596 },
6597 {
6598 "type": "SYMBOL",
6599 "name": "comma_expression"
6600 }
6601 ]
6602 },
6603 {
6604 "type": "BLANK"
6605 }
6606 ]
6607 },
6608 {
6609 "type": "STRING",
6610 "value": ";"
6611 }
6612 ]
6613 },
6614 {
6615 "type": "SEQ",
6616 "members": [
6617 {
6618 "type": "STRING",
6619 "value": "return"
6620 },
6621 {
6622 "type": "SYMBOL",
6623 "name": "initializer_list"
6624 },
6625 {
6626 "type": "STRING",
6627 "value": ";"
6628 }
6629 ]
6630 }
6631 ]
6632 }
6633 ]
6634 },
6635 "break_statement": {
6636 "type": "SEQ",
6637 "members": [
6638 {
6639 "type": "STRING",
6640 "value": "break"
6641 },
6642 {
6643 "type": "STRING",
6644 "value": ";"
6645 }
6646 ]
6647 },
6648 "continue_statement": {
6649 "type": "SEQ",
6650 "members": [
6651 {
6652 "type": "STRING",
6653 "value": "continue"
6654 },
6655 {
6656 "type": "STRING",
6657 "value": ";"
6658 }
6659 ]
6660 },
6661 "goto_statement": {
6662 "type": "SEQ",
6663 "members": [
6664 {
6665 "type": "STRING",
6666 "value": "goto"
6667 },
6668 {
6669 "type": "FIELD",
6670 "name": "label",
6671 "content": {
6672 "type": "SYMBOL",
6673 "name": "_statement_identifier"
6674 }
6675 },
6676 {
6677 "type": "STRING",
6678 "value": ";"
6679 }
6680 ]
6681 },
6682 "seh_try_statement": {
6683 "type": "SEQ",
6684 "members": [
6685 {
6686 "type": "STRING",
6687 "value": "__try"
6688 },
6689 {
6690 "type": "FIELD",
6691 "name": "body",
6692 "content": {
6693 "type": "SYMBOL",
6694 "name": "compound_statement"
6695 }
6696 },
6697 {
6698 "type": "CHOICE",
6699 "members": [
6700 {
6701 "type": "SYMBOL",
6702 "name": "seh_except_clause"
6703 },
6704 {
6705 "type": "SYMBOL",
6706 "name": "seh_finally_clause"
6707 }
6708 ]
6709 }
6710 ]
6711 },
6712 "seh_except_clause": {
6713 "type": "SEQ",
6714 "members": [
6715 {
6716 "type": "STRING",
6717 "value": "__except"
6718 },
6719 {
6720 "type": "FIELD",
6721 "name": "filter",
6722 "content": {
6723 "type": "SYMBOL",
6724 "name": "parenthesized_expression"
6725 }
6726 },
6727 {
6728 "type": "FIELD",
6729 "name": "body",
6730 "content": {
6731 "type": "SYMBOL",
6732 "name": "compound_statement"
6733 }
6734 }
6735 ]
6736 },
6737 "seh_finally_clause": {
6738 "type": "SEQ",
6739 "members": [
6740 {
6741 "type": "STRING",
6742 "value": "__finally"
6743 },
6744 {
6745 "type": "FIELD",
6746 "name": "body",
6747 "content": {
6748 "type": "SYMBOL",
6749 "name": "compound_statement"
6750 }
6751 }
6752 ]
6753 },
6754 "seh_leave_statement": {
6755 "type": "SEQ",
6756 "members": [
6757 {
6758 "type": "STRING",
6759 "value": "__leave"
6760 },
6761 {
6762 "type": "STRING",
6763 "value": ";"
6764 }
6765 ]
6766 },
6767 "_expression": {
6768 "type": "CHOICE",
6769 "members": [
6770 {
6771 "type": "SYMBOL",
6772 "name": "_expression_not_binary"
6773 },
6774 {
6775 "type": "SYMBOL",
6776 "name": "binary_expression"
6777 }
6778 ]
6779 },
6780 "_expression_not_binary": {
6781 "type": "CHOICE",
6782 "members": [
6783 {
6784 "type": "CHOICE",
6785 "members": [
6786 {
6787 "type": "SYMBOL",
6788 "name": "conditional_expression"
6789 },
6790 {
6791 "type": "SYMBOL",
6792 "name": "assignment_expression"
6793 },
6794 {
6795 "type": "SYMBOL",
6796 "name": "unary_expression"
6797 },
6798 {
6799 "type": "SYMBOL",
6800 "name": "update_expression"
6801 },
6802 {
6803 "type": "SYMBOL",
6804 "name": "cast_expression"
6805 },
6806 {
6807 "type": "SYMBOL",
6808 "name": "pointer_expression"
6809 },
6810 {
6811 "type": "SYMBOL",
6812 "name": "sizeof_expression"
6813 },
6814 {
6815 "type": "SYMBOL",
6816 "name": "alignof_expression"
6817 },
6818 {
6819 "type": "SYMBOL",
6820 "name": "offsetof_expression"
6821 },
6822 {
6823 "type": "SYMBOL",
6824 "name": "generic_expression"
6825 },
6826 {
6827 "type": "SYMBOL",
6828 "name": "subscript_expression"
6829 },
6830 {
6831 "type": "SYMBOL",
6832 "name": "call_expression"
6833 },
6834 {
6835 "type": "SYMBOL",
6836 "name": "field_expression"
6837 },
6838 {
6839 "type": "SYMBOL",
6840 "name": "compound_literal_expression"
6841 },
6842 {
6843 "type": "SYMBOL",
6844 "name": "identifier"
6845 },
6846 {
6847 "type": "SYMBOL",
6848 "name": "number_literal"
6849 },
6850 {
6851 "type": "SYMBOL",
6852 "name": "_string"
6853 },
6854 {
6855 "type": "SYMBOL",
6856 "name": "true"
6857 },
6858 {
6859 "type": "SYMBOL",
6860 "name": "false"
6861 },
6862 {
6863 "type": "SYMBOL",
6864 "name": "null"
6865 },
6866 {
6867 "type": "SYMBOL",
6868 "name": "char_literal"
6869 },
6870 {
6871 "type": "SYMBOL",
6872 "name": "parenthesized_expression"
6873 },
6874 {
6875 "type": "SYMBOL",
6876 "name": "gnu_asm_expression"
6877 }
6878 ]
6879 },
6880 {
6881 "type": "SYMBOL",
6882 "name": "co_await_expression"
6883 },
6884 {
6885 "type": "SYMBOL",
6886 "name": "requires_expression"
6887 },
6888 {
6889 "type": "SYMBOL",
6890 "name": "requires_clause"
6891 },
6892 {
6893 "type": "SYMBOL",
6894 "name": "template_function"
6895 },
6896 {
6897 "type": "SYMBOL",
6898 "name": "qualified_identifier"
6899 },
6900 {
6901 "type": "SYMBOL",
6902 "name": "new_expression"
6903 },
6904 {
6905 "type": "SYMBOL",
6906 "name": "delete_expression"
6907 },
6908 {
6909 "type": "SYMBOL",
6910 "name": "lambda_expression"
6911 },
6912 {
6913 "type": "SYMBOL",
6914 "name": "parameter_pack_expansion"
6915 },
6916 {
6917 "type": "SYMBOL",
6918 "name": "this"
6919 },
6920 {
6921 "type": "SYMBOL",
6922 "name": "raw_string_literal"
6923 },
6924 {
6925 "type": "SYMBOL",
6926 "name": "user_defined_literal"
6927 },
6928 {
6929 "type": "SYMBOL",
6930 "name": "fold_expression"
6931 }
6932 ]
6933 },
6934 "_string": {
6935 "type": "PREC_LEFT",
6936 "value": 0,
6937 "content": {
6938 "type": "CHOICE",
6939 "members": [
6940 {
6941 "type": "SYMBOL",
6942 "name": "string_literal"
6943 },
6944 {
6945 "type": "SYMBOL",
6946 "name": "concatenated_string"
6947 }
6948 ]
6949 }
6950 },
6951 "comma_expression": {
6952 "type": "SEQ",
6953 "members": [
6954 {
6955 "type": "FIELD",
6956 "name": "left",
6957 "content": {
6958 "type": "SYMBOL",
6959 "name": "_expression"
6960 }
6961 },
6962 {
6963 "type": "STRING",
6964 "value": ","
6965 },
6966 {
6967 "type": "FIELD",
6968 "name": "right",
6969 "content": {
6970 "type": "CHOICE",
6971 "members": [
6972 {
6973 "type": "SYMBOL",
6974 "name": "_expression"
6975 },
6976 {
6977 "type": "SYMBOL",
6978 "name": "comma_expression"
6979 }
6980 ]
6981 }
6982 }
6983 ]
6984 },
6985 "conditional_expression": {
6986 "type": "PREC_RIGHT",
6987 "value": -1,
6988 "content": {
6989 "type": "SEQ",
6990 "members": [
6991 {
6992 "type": "FIELD",
6993 "name": "condition",
6994 "content": {
6995 "type": "SYMBOL",
6996 "name": "_expression"
6997 }
6998 },
6999 {
7000 "type": "STRING",
7001 "value": "?"
7002 },
7003 {
7004 "type": "CHOICE",
7005 "members": [
7006 {
7007 "type": "FIELD",
7008 "name": "consequence",
7009 "content": {
7010 "type": "CHOICE",
7011 "members": [
7012 {
7013 "type": "SYMBOL",
7014 "name": "_expression"
7015 },
7016 {
7017 "type": "SYMBOL",
7018 "name": "comma_expression"
7019 }
7020 ]
7021 }
7022 },
7023 {
7024 "type": "BLANK"
7025 }
7026 ]
7027 },
7028 {
7029 "type": "STRING",
7030 "value": ":"
7031 },
7032 {
7033 "type": "FIELD",
7034 "name": "alternative",
7035 "content": {
7036 "type": "SYMBOL",
7037 "name": "_expression"
7038 }
7039 }
7040 ]
7041 }
7042 },
7043 "_assignment_left_expression": {
7044 "type": "CHOICE",
7045 "members": [
7046 {
7047 "type": "CHOICE",
7048 "members": [
7049 {
7050 "type": "SYMBOL",
7051 "name": "identifier"
7052 },
7053 {
7054 "type": "SYMBOL",
7055 "name": "call_expression"
7056 },
7057 {
7058 "type": "SYMBOL",
7059 "name": "field_expression"
7060 },
7061 {
7062 "type": "SYMBOL",
7063 "name": "pointer_expression"
7064 },
7065 {
7066 "type": "SYMBOL",
7067 "name": "subscript_expression"
7068 },
7069 {
7070 "type": "SYMBOL",
7071 "name": "parenthesized_expression"
7072 }
7073 ]
7074 },
7075 {
7076 "type": "SYMBOL",
7077 "name": "qualified_identifier"
7078 },
7079 {
7080 "type": "SYMBOL",
7081 "name": "user_defined_literal"
7082 }
7083 ]
7084 },
7085 "assignment_expression": {
7086 "type": "PREC_RIGHT",
7087 "value": -2,
7088 "content": {
7089 "type": "SEQ",
7090 "members": [
7091 {
7092 "type": "FIELD",
7093 "name": "left",
7094 "content": {
7095 "type": "SYMBOL",
7096 "name": "_assignment_left_expression"
7097 }
7098 },
7099 {
7100 "type": "FIELD",
7101 "name": "operator",
7102 "content": {
7103 "type": "CHOICE",
7104 "members": [
7105 {
7106 "type": "STRING",
7107 "value": "="
7108 },
7109 {
7110 "type": "STRING",
7111 "value": "*="
7112 },
7113 {
7114 "type": "STRING",
7115 "value": "/="
7116 },
7117 {
7118 "type": "STRING",
7119 "value": "%="
7120 },
7121 {
7122 "type": "STRING",
7123 "value": "+="
7124 },
7125 {
7126 "type": "STRING",
7127 "value": "-="
7128 },
7129 {
7130 "type": "STRING",
7131 "value": "<<="
7132 },
7133 {
7134 "type": "STRING",
7135 "value": ">>="
7136 },
7137 {
7138 "type": "STRING",
7139 "value": "&="
7140 },
7141 {
7142 "type": "STRING",
7143 "value": "^="
7144 },
7145 {
7146 "type": "STRING",
7147 "value": "|="
7148 },
7149 {
7150 "type": "STRING",
7151 "value": "and_eq"
7152 },
7153 {
7154 "type": "STRING",
7155 "value": "or_eq"
7156 },
7157 {
7158 "type": "STRING",
7159 "value": "xor_eq"
7160 }
7161 ]
7162 }
7163 },
7164 {
7165 "type": "FIELD",
7166 "name": "right",
7167 "content": {
7168 "type": "CHOICE",
7169 "members": [
7170 {
7171 "type": "SYMBOL",
7172 "name": "_expression"
7173 },
7174 {
7175 "type": "SYMBOL",
7176 "name": "initializer_list"
7177 }
7178 ]
7179 }
7180 }
7181 ]
7182 }
7183 },
7184 "pointer_expression": {
7185 "type": "PREC_LEFT",
7186 "value": 12,
7187 "content": {
7188 "type": "SEQ",
7189 "members": [
7190 {
7191 "type": "FIELD",
7192 "name": "operator",
7193 "content": {
7194 "type": "CHOICE",
7195 "members": [
7196 {
7197 "type": "STRING",
7198 "value": "*"
7199 },
7200 {
7201 "type": "STRING",
7202 "value": "&"
7203 }
7204 ]
7205 }
7206 },
7207 {
7208 "type": "FIELD",
7209 "name": "argument",
7210 "content": {
7211 "type": "SYMBOL",
7212 "name": "_expression"
7213 }
7214 }
7215 ]
7216 }
7217 },
7218 "unary_expression": {
7219 "type": "CHOICE",
7220 "members": [
7221 {
7222 "type": "PREC_LEFT",
7223 "value": 14,
7224 "content": {
7225 "type": "SEQ",
7226 "members": [
7227 {
7228 "type": "FIELD",
7229 "name": "operator",
7230 "content": {
7231 "type": "CHOICE",
7232 "members": [
7233 {
7234 "type": "STRING",
7235 "value": "!"
7236 },
7237 {
7238 "type": "STRING",
7239 "value": "~"
7240 },
7241 {
7242 "type": "STRING",
7243 "value": "-"
7244 },
7245 {
7246 "type": "STRING",
7247 "value": "+"
7248 }
7249 ]
7250 }
7251 },
7252 {
7253 "type": "FIELD",
7254 "name": "argument",
7255 "content": {
7256 "type": "SYMBOL",
7257 "name": "_expression"
7258 }
7259 }
7260 ]
7261 }
7262 },
7263 {
7264 "type": "PREC_LEFT",
7265 "value": 14,
7266 "content": {
7267 "type": "SEQ",
7268 "members": [
7269 {
7270 "type": "FIELD",
7271 "name": "operator",
7272 "content": {
7273 "type": "CHOICE",
7274 "members": [
7275 {
7276 "type": "STRING",
7277 "value": "not"
7278 },
7279 {
7280 "type": "STRING",
7281 "value": "compl"
7282 }
7283 ]
7284 }
7285 },
7286 {
7287 "type": "FIELD",
7288 "name": "argument",
7289 "content": {
7290 "type": "SYMBOL",
7291 "name": "_expression"
7292 }
7293 }
7294 ]
7295 }
7296 }
7297 ]
7298 },
7299 "binary_expression": {
7300 "type": "CHOICE",
7301 "members": [
7302 {
7303 "type": "CHOICE",
7304 "members": [
7305 {
7306 "type": "PREC_LEFT",
7307 "value": 10,
7308 "content": {
7309 "type": "SEQ",
7310 "members": [
7311 {
7312 "type": "FIELD",
7313 "name": "left",
7314 "content": {
7315 "type": "SYMBOL",
7316 "name": "_expression"
7317 }
7318 },
7319 {
7320 "type": "FIELD",
7321 "name": "operator",
7322 "content": {
7323 "type": "STRING",
7324 "value": "+"
7325 }
7326 },
7327 {
7328 "type": "FIELD",
7329 "name": "right",
7330 "content": {
7331 "type": "SYMBOL",
7332 "name": "_expression"
7333 }
7334 }
7335 ]
7336 }
7337 },
7338 {
7339 "type": "PREC_LEFT",
7340 "value": 10,
7341 "content": {
7342 "type": "SEQ",
7343 "members": [
7344 {
7345 "type": "FIELD",
7346 "name": "left",
7347 "content": {
7348 "type": "SYMBOL",
7349 "name": "_expression"
7350 }
7351 },
7352 {
7353 "type": "FIELD",
7354 "name": "operator",
7355 "content": {
7356 "type": "STRING",
7357 "value": "-"
7358 }
7359 },
7360 {
7361 "type": "FIELD",
7362 "name": "right",
7363 "content": {
7364 "type": "SYMBOL",
7365 "name": "_expression"
7366 }
7367 }
7368 ]
7369 }
7370 },
7371 {
7372 "type": "PREC_LEFT",
7373 "value": 11,
7374 "content": {
7375 "type": "SEQ",
7376 "members": [
7377 {
7378 "type": "FIELD",
7379 "name": "left",
7380 "content": {
7381 "type": "SYMBOL",
7382 "name": "_expression"
7383 }
7384 },
7385 {
7386 "type": "FIELD",
7387 "name": "operator",
7388 "content": {
7389 "type": "STRING",
7390 "value": "*"
7391 }
7392 },
7393 {
7394 "type": "FIELD",
7395 "name": "right",
7396 "content": {
7397 "type": "SYMBOL",
7398 "name": "_expression"
7399 }
7400 }
7401 ]
7402 }
7403 },
7404 {
7405 "type": "PREC_LEFT",
7406 "value": 11,
7407 "content": {
7408 "type": "SEQ",
7409 "members": [
7410 {
7411 "type": "FIELD",
7412 "name": "left",
7413 "content": {
7414 "type": "SYMBOL",
7415 "name": "_expression"
7416 }
7417 },
7418 {
7419 "type": "FIELD",
7420 "name": "operator",
7421 "content": {
7422 "type": "STRING",
7423 "value": "/"
7424 }
7425 },
7426 {
7427 "type": "FIELD",
7428 "name": "right",
7429 "content": {
7430 "type": "SYMBOL",
7431 "name": "_expression"
7432 }
7433 }
7434 ]
7435 }
7436 },
7437 {
7438 "type": "PREC_LEFT",
7439 "value": 11,
7440 "content": {
7441 "type": "SEQ",
7442 "members": [
7443 {
7444 "type": "FIELD",
7445 "name": "left",
7446 "content": {
7447 "type": "SYMBOL",
7448 "name": "_expression"
7449 }
7450 },
7451 {
7452 "type": "FIELD",
7453 "name": "operator",
7454 "content": {
7455 "type": "STRING",
7456 "value": "%"
7457 }
7458 },
7459 {
7460 "type": "FIELD",
7461 "name": "right",
7462 "content": {
7463 "type": "SYMBOL",
7464 "name": "_expression"
7465 }
7466 }
7467 ]
7468 }
7469 },
7470 {
7471 "type": "PREC_LEFT",
7472 "value": 1,
7473 "content": {
7474 "type": "SEQ",
7475 "members": [
7476 {
7477 "type": "FIELD",
7478 "name": "left",
7479 "content": {
7480 "type": "SYMBOL",
7481 "name": "_expression"
7482 }
7483 },
7484 {
7485 "type": "FIELD",
7486 "name": "operator",
7487 "content": {
7488 "type": "STRING",
7489 "value": "||"
7490 }
7491 },
7492 {
7493 "type": "FIELD",
7494 "name": "right",
7495 "content": {
7496 "type": "SYMBOL",
7497 "name": "_expression"
7498 }
7499 }
7500 ]
7501 }
7502 },
7503 {
7504 "type": "PREC_LEFT",
7505 "value": 2,
7506 "content": {
7507 "type": "SEQ",
7508 "members": [
7509 {
7510 "type": "FIELD",
7511 "name": "left",
7512 "content": {
7513 "type": "SYMBOL",
7514 "name": "_expression"
7515 }
7516 },
7517 {
7518 "type": "FIELD",
7519 "name": "operator",
7520 "content": {
7521 "type": "STRING",
7522 "value": "&&"
7523 }
7524 },
7525 {
7526 "type": "FIELD",
7527 "name": "right",
7528 "content": {
7529 "type": "SYMBOL",
7530 "name": "_expression"
7531 }
7532 }
7533 ]
7534 }
7535 },
7536 {
7537 "type": "PREC_LEFT",
7538 "value": 3,
7539 "content": {
7540 "type": "SEQ",
7541 "members": [
7542 {
7543 "type": "FIELD",
7544 "name": "left",
7545 "content": {
7546 "type": "SYMBOL",
7547 "name": "_expression"
7548 }
7549 },
7550 {
7551 "type": "FIELD",
7552 "name": "operator",
7553 "content": {
7554 "type": "STRING",
7555 "value": "|"
7556 }
7557 },
7558 {
7559 "type": "FIELD",
7560 "name": "right",
7561 "content": {
7562 "type": "SYMBOL",
7563 "name": "_expression"
7564 }
7565 }
7566 ]
7567 }
7568 },
7569 {
7570 "type": "PREC_LEFT",
7571 "value": 4,
7572 "content": {
7573 "type": "SEQ",
7574 "members": [
7575 {
7576 "type": "FIELD",
7577 "name": "left",
7578 "content": {
7579 "type": "SYMBOL",
7580 "name": "_expression"
7581 }
7582 },
7583 {
7584 "type": "FIELD",
7585 "name": "operator",
7586 "content": {
7587 "type": "STRING",
7588 "value": "^"
7589 }
7590 },
7591 {
7592 "type": "FIELD",
7593 "name": "right",
7594 "content": {
7595 "type": "SYMBOL",
7596 "name": "_expression"
7597 }
7598 }
7599 ]
7600 }
7601 },
7602 {
7603 "type": "PREC_LEFT",
7604 "value": 5,
7605 "content": {
7606 "type": "SEQ",
7607 "members": [
7608 {
7609 "type": "FIELD",
7610 "name": "left",
7611 "content": {
7612 "type": "SYMBOL",
7613 "name": "_expression"
7614 }
7615 },
7616 {
7617 "type": "FIELD",
7618 "name": "operator",
7619 "content": {
7620 "type": "STRING",
7621 "value": "&"
7622 }
7623 },
7624 {
7625 "type": "FIELD",
7626 "name": "right",
7627 "content": {
7628 "type": "SYMBOL",
7629 "name": "_expression"
7630 }
7631 }
7632 ]
7633 }
7634 },
7635 {
7636 "type": "PREC_LEFT",
7637 "value": 6,
7638 "content": {
7639 "type": "SEQ",
7640 "members": [
7641 {
7642 "type": "FIELD",
7643 "name": "left",
7644 "content": {
7645 "type": "SYMBOL",
7646 "name": "_expression"
7647 }
7648 },
7649 {
7650 "type": "FIELD",
7651 "name": "operator",
7652 "content": {
7653 "type": "STRING",
7654 "value": "=="
7655 }
7656 },
7657 {
7658 "type": "FIELD",
7659 "name": "right",
7660 "content": {
7661 "type": "SYMBOL",
7662 "name": "_expression"
7663 }
7664 }
7665 ]
7666 }
7667 },
7668 {
7669 "type": "PREC_LEFT",
7670 "value": 6,
7671 "content": {
7672 "type": "SEQ",
7673 "members": [
7674 {
7675 "type": "FIELD",
7676 "name": "left",
7677 "content": {
7678 "type": "SYMBOL",
7679 "name": "_expression"
7680 }
7681 },
7682 {
7683 "type": "FIELD",
7684 "name": "operator",
7685 "content": {
7686 "type": "STRING",
7687 "value": "!="
7688 }
7689 },
7690 {
7691 "type": "FIELD",
7692 "name": "right",
7693 "content": {
7694 "type": "SYMBOL",
7695 "name": "_expression"
7696 }
7697 }
7698 ]
7699 }
7700 },
7701 {
7702 "type": "PREC_LEFT",
7703 "value": 7,
7704 "content": {
7705 "type": "SEQ",
7706 "members": [
7707 {
7708 "type": "FIELD",
7709 "name": "left",
7710 "content": {
7711 "type": "SYMBOL",
7712 "name": "_expression"
7713 }
7714 },
7715 {
7716 "type": "FIELD",
7717 "name": "operator",
7718 "content": {
7719 "type": "STRING",
7720 "value": ">"
7721 }
7722 },
7723 {
7724 "type": "FIELD",
7725 "name": "right",
7726 "content": {
7727 "type": "SYMBOL",
7728 "name": "_expression"
7729 }
7730 }
7731 ]
7732 }
7733 },
7734 {
7735 "type": "PREC_LEFT",
7736 "value": 7,
7737 "content": {
7738 "type": "SEQ",
7739 "members": [
7740 {
7741 "type": "FIELD",
7742 "name": "left",
7743 "content": {
7744 "type": "SYMBOL",
7745 "name": "_expression"
7746 }
7747 },
7748 {
7749 "type": "FIELD",
7750 "name": "operator",
7751 "content": {
7752 "type": "STRING",
7753 "value": ">="
7754 }
7755 },
7756 {
7757 "type": "FIELD",
7758 "name": "right",
7759 "content": {
7760 "type": "SYMBOL",
7761 "name": "_expression"
7762 }
7763 }
7764 ]
7765 }
7766 },
7767 {
7768 "type": "PREC_LEFT",
7769 "value": 7,
7770 "content": {
7771 "type": "SEQ",
7772 "members": [
7773 {
7774 "type": "FIELD",
7775 "name": "left",
7776 "content": {
7777 "type": "SYMBOL",
7778 "name": "_expression"
7779 }
7780 },
7781 {
7782 "type": "FIELD",
7783 "name": "operator",
7784 "content": {
7785 "type": "STRING",
7786 "value": "<="
7787 }
7788 },
7789 {
7790 "type": "FIELD",
7791 "name": "right",
7792 "content": {
7793 "type": "SYMBOL",
7794 "name": "_expression"
7795 }
7796 }
7797 ]
7798 }
7799 },
7800 {
7801 "type": "PREC_LEFT",
7802 "value": 7,
7803 "content": {
7804 "type": "SEQ",
7805 "members": [
7806 {
7807 "type": "FIELD",
7808 "name": "left",
7809 "content": {
7810 "type": "SYMBOL",
7811 "name": "_expression"
7812 }
7813 },
7814 {
7815 "type": "FIELD",
7816 "name": "operator",
7817 "content": {
7818 "type": "STRING",
7819 "value": "<"
7820 }
7821 },
7822 {
7823 "type": "FIELD",
7824 "name": "right",
7825 "content": {
7826 "type": "SYMBOL",
7827 "name": "_expression"
7828 }
7829 }
7830 ]
7831 }
7832 },
7833 {
7834 "type": "PREC_LEFT",
7835 "value": 9,
7836 "content": {
7837 "type": "SEQ",
7838 "members": [
7839 {
7840 "type": "FIELD",
7841 "name": "left",
7842 "content": {
7843 "type": "SYMBOL",
7844 "name": "_expression"
7845 }
7846 },
7847 {
7848 "type": "FIELD",
7849 "name": "operator",
7850 "content": {
7851 "type": "STRING",
7852 "value": "<<"
7853 }
7854 },
7855 {
7856 "type": "FIELD",
7857 "name": "right",
7858 "content": {
7859 "type": "SYMBOL",
7860 "name": "_expression"
7861 }
7862 }
7863 ]
7864 }
7865 },
7866 {
7867 "type": "PREC_LEFT",
7868 "value": 9,
7869 "content": {
7870 "type": "SEQ",
7871 "members": [
7872 {
7873 "type": "FIELD",
7874 "name": "left",
7875 "content": {
7876 "type": "SYMBOL",
7877 "name": "_expression"
7878 }
7879 },
7880 {
7881 "type": "FIELD",
7882 "name": "operator",
7883 "content": {
7884 "type": "STRING",
7885 "value": ">>"
7886 }
7887 },
7888 {
7889 "type": "FIELD",
7890 "name": "right",
7891 "content": {
7892 "type": "SYMBOL",
7893 "name": "_expression"
7894 }
7895 }
7896 ]
7897 }
7898 }
7899 ]
7900 },
7901 {
7902 "type": "PREC_LEFT",
7903 "value": 8,
7904 "content": {
7905 "type": "SEQ",
7906 "members": [
7907 {
7908 "type": "FIELD",
7909 "name": "left",
7910 "content": {
7911 "type": "SYMBOL",
7912 "name": "_expression"
7913 }
7914 },
7915 {
7916 "type": "FIELD",
7917 "name": "operator",
7918 "content": {
7919 "type": "STRING",
7920 "value": "<=>"
7921 }
7922 },
7923 {
7924 "type": "FIELD",
7925 "name": "right",
7926 "content": {
7927 "type": "SYMBOL",
7928 "name": "_expression"
7929 }
7930 }
7931 ]
7932 }
7933 },
7934 {
7935 "type": "PREC_LEFT",
7936 "value": 1,
7937 "content": {
7938 "type": "SEQ",
7939 "members": [
7940 {
7941 "type": "FIELD",
7942 "name": "left",
7943 "content": {
7944 "type": "SYMBOL",
7945 "name": "_expression"
7946 }
7947 },
7948 {
7949 "type": "FIELD",
7950 "name": "operator",
7951 "content": {
7952 "type": "STRING",
7953 "value": "or"
7954 }
7955 },
7956 {
7957 "type": "FIELD",
7958 "name": "right",
7959 "content": {
7960 "type": "SYMBOL",
7961 "name": "_expression"
7962 }
7963 }
7964 ]
7965 }
7966 },
7967 {
7968 "type": "PREC_LEFT",
7969 "value": 2,
7970 "content": {
7971 "type": "SEQ",
7972 "members": [
7973 {
7974 "type": "FIELD",
7975 "name": "left",
7976 "content": {
7977 "type": "SYMBOL",
7978 "name": "_expression"
7979 }
7980 },
7981 {
7982 "type": "FIELD",
7983 "name": "operator",
7984 "content": {
7985 "type": "STRING",
7986 "value": "and"
7987 }
7988 },
7989 {
7990 "type": "FIELD",
7991 "name": "right",
7992 "content": {
7993 "type": "SYMBOL",
7994 "name": "_expression"
7995 }
7996 }
7997 ]
7998 }
7999 },
8000 {
8001 "type": "PREC_LEFT",
8002 "value": 3,
8003 "content": {
8004 "type": "SEQ",
8005 "members": [
8006 {
8007 "type": "FIELD",
8008 "name": "left",
8009 "content": {
8010 "type": "SYMBOL",
8011 "name": "_expression"
8012 }
8013 },
8014 {
8015 "type": "FIELD",
8016 "name": "operator",
8017 "content": {
8018 "type": "STRING",
8019 "value": "bitor"
8020 }
8021 },
8022 {
8023 "type": "FIELD",
8024 "name": "right",
8025 "content": {
8026 "type": "SYMBOL",
8027 "name": "_expression"
8028 }
8029 }
8030 ]
8031 }
8032 },
8033 {
8034 "type": "PREC_LEFT",
8035 "value": 4,
8036 "content": {
8037 "type": "SEQ",
8038 "members": [
8039 {
8040 "type": "FIELD",
8041 "name": "left",
8042 "content": {
8043 "type": "SYMBOL",
8044 "name": "_expression"
8045 }
8046 },
8047 {
8048 "type": "FIELD",
8049 "name": "operator",
8050 "content": {
8051 "type": "STRING",
8052 "value": "xor"
8053 }
8054 },
8055 {
8056 "type": "FIELD",
8057 "name": "right",
8058 "content": {
8059 "type": "SYMBOL",
8060 "name": "_expression"
8061 }
8062 }
8063 ]
8064 }
8065 },
8066 {
8067 "type": "PREC_LEFT",
8068 "value": 5,
8069 "content": {
8070 "type": "SEQ",
8071 "members": [
8072 {
8073 "type": "FIELD",
8074 "name": "left",
8075 "content": {
8076 "type": "SYMBOL",
8077 "name": "_expression"
8078 }
8079 },
8080 {
8081 "type": "FIELD",
8082 "name": "operator",
8083 "content": {
8084 "type": "STRING",
8085 "value": "bitand"
8086 }
8087 },
8088 {
8089 "type": "FIELD",
8090 "name": "right",
8091 "content": {
8092 "type": "SYMBOL",
8093 "name": "_expression"
8094 }
8095 }
8096 ]
8097 }
8098 },
8099 {
8100 "type": "PREC_LEFT",
8101 "value": 6,
8102 "content": {
8103 "type": "SEQ",
8104 "members": [
8105 {
8106 "type": "FIELD",
8107 "name": "left",
8108 "content": {
8109 "type": "SYMBOL",
8110 "name": "_expression"
8111 }
8112 },
8113 {
8114 "type": "FIELD",
8115 "name": "operator",
8116 "content": {
8117 "type": "STRING",
8118 "value": "not_eq"
8119 }
8120 },
8121 {
8122 "type": "FIELD",
8123 "name": "right",
8124 "content": {
8125 "type": "SYMBOL",
8126 "name": "_expression"
8127 }
8128 }
8129 ]
8130 }
8131 }
8132 ]
8133 },
8134 "update_expression": {
8135 "type": "PREC_RIGHT",
8136 "value": 14,
8137 "content": {
8138 "type": "CHOICE",
8139 "members": [
8140 {
8141 "type": "SEQ",
8142 "members": [
8143 {
8144 "type": "FIELD",
8145 "name": "operator",
8146 "content": {
8147 "type": "CHOICE",
8148 "members": [
8149 {
8150 "type": "STRING",
8151 "value": "--"
8152 },
8153 {
8154 "type": "STRING",
8155 "value": "++"
8156 }
8157 ]
8158 }
8159 },
8160 {
8161 "type": "FIELD",
8162 "name": "argument",
8163 "content": {
8164 "type": "SYMBOL",
8165 "name": "_expression"
8166 }
8167 }
8168 ]
8169 },
8170 {
8171 "type": "SEQ",
8172 "members": [
8173 {
8174 "type": "FIELD",
8175 "name": "argument",
8176 "content": {
8177 "type": "SYMBOL",
8178 "name": "_expression"
8179 }
8180 },
8181 {
8182 "type": "FIELD",
8183 "name": "operator",
8184 "content": {
8185 "type": "CHOICE",
8186 "members": [
8187 {
8188 "type": "STRING",
8189 "value": "--"
8190 },
8191 {
8192 "type": "STRING",
8193 "value": "++"
8194 }
8195 ]
8196 }
8197 }
8198 ]
8199 }
8200 ]
8201 }
8202 },
8203 "cast_expression": {
8204 "type": "PREC",
8205 "value": 12,
8206 "content": {
8207 "type": "SEQ",
8208 "members": [
8209 {
8210 "type": "STRING",
8211 "value": "("
8212 },
8213 {
8214 "type": "FIELD",
8215 "name": "type",
8216 "content": {
8217 "type": "SYMBOL",
8218 "name": "type_descriptor"
8219 }
8220 },
8221 {
8222 "type": "STRING",
8223 "value": ")"
8224 },
8225 {
8226 "type": "FIELD",
8227 "name": "value",
8228 "content": {
8229 "type": "SYMBOL",
8230 "name": "_expression"
8231 }
8232 }
8233 ]
8234 }
8235 },
8236 "type_descriptor": {
8237 "type": "PREC_RIGHT",
8238 "value": 0,
8239 "content": {
8240 "type": "SEQ",
8241 "members": [
8242 {
8243 "type": "REPEAT",
8244 "content": {
8245 "type": "SYMBOL",
8246 "name": "type_qualifier"
8247 }
8248 },
8249 {
8250 "type": "FIELD",
8251 "name": "type",
8252 "content": {
8253 "type": "SYMBOL",
8254 "name": "_type_specifier"
8255 }
8256 },
8257 {
8258 "type": "REPEAT",
8259 "content": {
8260 "type": "SYMBOL",
8261 "name": "type_qualifier"
8262 }
8263 },
8264 {
8265 "type": "FIELD",
8266 "name": "declarator",
8267 "content": {
8268 "type": "CHOICE",
8269 "members": [
8270 {
8271 "type": "SYMBOL",
8272 "name": "_abstract_declarator"
8273 },
8274 {
8275 "type": "BLANK"
8276 }
8277 ]
8278 }
8279 }
8280 ]
8281 }
8282 },
8283 "sizeof_expression": {
8284 "type": "PREC_RIGHT",
8285 "value": 13,
8286 "content": {
8287 "type": "CHOICE",
8288 "members": [
8289 {
8290 "type": "PREC",
8291 "value": 13,
8292 "content": {
8293 "type": "SEQ",
8294 "members": [
8295 {
8296 "type": "STRING",
8297 "value": "sizeof"
8298 },
8299 {
8300 "type": "CHOICE",
8301 "members": [
8302 {
8303 "type": "FIELD",
8304 "name": "value",
8305 "content": {
8306 "type": "SYMBOL",
8307 "name": "_expression"
8308 }
8309 },
8310 {
8311 "type": "SEQ",
8312 "members": [
8313 {
8314 "type": "STRING",
8315 "value": "("
8316 },
8317 {
8318 "type": "FIELD",
8319 "name": "type",
8320 "content": {
8321 "type": "SYMBOL",
8322 "name": "type_descriptor"
8323 }
8324 },
8325 {
8326 "type": "STRING",
8327 "value": ")"
8328 }
8329 ]
8330 }
8331 ]
8332 }
8333 ]
8334 }
8335 },
8336 {
8337 "type": "SEQ",
8338 "members": [
8339 {
8340 "type": "STRING",
8341 "value": "sizeof"
8342 },
8343 {
8344 "type": "STRING",
8345 "value": "..."
8346 },
8347 {
8348 "type": "STRING",
8349 "value": "("
8350 },
8351 {
8352 "type": "FIELD",
8353 "name": "value",
8354 "content": {
8355 "type": "SYMBOL",
8356 "name": "identifier"
8357 }
8358 },
8359 {
8360 "type": "STRING",
8361 "value": ")"
8362 }
8363 ]
8364 }
8365 ]
8366 }
8367 },
8368 "alignof_expression": {
8369 "type": "PREC",
8370 "value": 13,
8371 "content": {
8372 "type": "SEQ",
8373 "members": [
8374 {
8375 "type": "CHOICE",
8376 "members": [
8377 {
8378 "type": "STRING",
8379 "value": "__alignof__"
8380 },
8381 {
8382 "type": "STRING",
8383 "value": "__alignof"
8384 },
8385 {
8386 "type": "STRING",
8387 "value": "_alignof"
8388 },
8389 {
8390 "type": "STRING",
8391 "value": "alignof"
8392 },
8393 {
8394 "type": "STRING",
8395 "value": "_Alignof"
8396 }
8397 ]
8398 },
8399 {
8400 "type": "SEQ",
8401 "members": [
8402 {
8403 "type": "STRING",
8404 "value": "("
8405 },
8406 {
8407 "type": "FIELD",
8408 "name": "type",
8409 "content": {
8410 "type": "SYMBOL",
8411 "name": "type_descriptor"
8412 }
8413 },
8414 {
8415 "type": "STRING",
8416 "value": ")"
8417 }
8418 ]
8419 }
8420 ]
8421 }
8422 },
8423 "offsetof_expression": {
8424 "type": "PREC",
8425 "value": 8,
8426 "content": {
8427 "type": "SEQ",
8428 "members": [
8429 {
8430 "type": "STRING",
8431 "value": "offsetof"
8432 },
8433 {
8434 "type": "SEQ",
8435 "members": [
8436 {
8437 "type": "STRING",
8438 "value": "("
8439 },
8440 {
8441 "type": "FIELD",
8442 "name": "type",
8443 "content": {
8444 "type": "SYMBOL",
8445 "name": "type_descriptor"
8446 }
8447 },
8448 {
8449 "type": "STRING",
8450 "value": ","
8451 },
8452 {
8453 "type": "FIELD",
8454 "name": "member",
8455 "content": {
8456 "type": "SYMBOL",
8457 "name": "_field_identifier"
8458 }
8459 },
8460 {
8461 "type": "STRING",
8462 "value": ")"
8463 }
8464 ]
8465 }
8466 ]
8467 }
8468 },
8469 "generic_expression": {
8470 "type": "PREC",
8471 "value": 15,
8472 "content": {
8473 "type": "SEQ",
8474 "members": [
8475 {
8476 "type": "STRING",
8477 "value": "_Generic"
8478 },
8479 {
8480 "type": "STRING",
8481 "value": "("
8482 },
8483 {
8484 "type": "SYMBOL",
8485 "name": "_expression"
8486 },
8487 {
8488 "type": "STRING",
8489 "value": ","
8490 },
8491 {
8492 "type": "SEQ",
8493 "members": [
8494 {
8495 "type": "SEQ",
8496 "members": [
8497 {
8498 "type": "SYMBOL",
8499 "name": "type_descriptor"
8500 },
8501 {
8502 "type": "STRING",
8503 "value": ":"
8504 },
8505 {
8506 "type": "SYMBOL",
8507 "name": "_expression"
8508 }
8509 ]
8510 },
8511 {
8512 "type": "REPEAT",
8513 "content": {
8514 "type": "SEQ",
8515 "members": [
8516 {
8517 "type": "STRING",
8518 "value": ","
8519 },
8520 {
8521 "type": "SEQ",
8522 "members": [
8523 {
8524 "type": "SYMBOL",
8525 "name": "type_descriptor"
8526 },
8527 {
8528 "type": "STRING",
8529 "value": ":"
8530 },
8531 {
8532 "type": "SYMBOL",
8533 "name": "_expression"
8534 }
8535 ]
8536 }
8537 ]
8538 }
8539 }
8540 ]
8541 },
8542 {
8543 "type": "STRING",
8544 "value": ")"
8545 }
8546 ]
8547 }
8548 },
8549 "subscript_expression": {
8550 "type": "PREC",
8551 "value": 17,
8552 "content": {
8553 "type": "SEQ",
8554 "members": [
8555 {
8556 "type": "FIELD",
8557 "name": "argument",
8558 "content": {
8559 "type": "SYMBOL",
8560 "name": "_expression"
8561 }
8562 },
8563 {
8564 "type": "FIELD",
8565 "name": "indices",
8566 "content": {
8567 "type": "SYMBOL",
8568 "name": "subscript_argument_list"
8569 }
8570 }
8571 ]
8572 }
8573 },
8574 "call_expression": {
8575 "type": "CHOICE",
8576 "members": [
8577 {
8578 "type": "PREC",
8579 "value": 15,
8580 "content": {
8581 "type": "SEQ",
8582 "members": [
8583 {
8584 "type": "FIELD",
8585 "name": "function",
8586 "content": {
8587 "type": "SYMBOL",
8588 "name": "_expression"
8589 }
8590 },
8591 {
8592 "type": "FIELD",
8593 "name": "arguments",
8594 "content": {
8595 "type": "SYMBOL",
8596 "name": "argument_list"
8597 }
8598 }
8599 ]
8600 }
8601 },
8602 {
8603 "type": "SEQ",
8604 "members": [
8605 {
8606 "type": "FIELD",
8607 "name": "function",
8608 "content": {
8609 "type": "SYMBOL",
8610 "name": "primitive_type"
8611 }
8612 },
8613 {
8614 "type": "FIELD",
8615 "name": "arguments",
8616 "content": {
8617 "type": "SYMBOL",
8618 "name": "argument_list"
8619 }
8620 }
8621 ]
8622 }
8623 ]
8624 },
8625 "gnu_asm_expression": {
8626 "type": "PREC",
8627 "value": 15,
8628 "content": {
8629 "type": "SEQ",
8630 "members": [
8631 {
8632 "type": "CHOICE",
8633 "members": [
8634 {
8635 "type": "STRING",
8636 "value": "asm"
8637 },
8638 {
8639 "type": "STRING",
8640 "value": "__asm__"
8641 }
8642 ]
8643 },
8644 {
8645 "type": "REPEAT",
8646 "content": {
8647 "type": "SYMBOL",
8648 "name": "gnu_asm_qualifier"
8649 }
8650 },
8651 {
8652 "type": "STRING",
8653 "value": "("
8654 },
8655 {
8656 "type": "FIELD",
8657 "name": "assembly_code",
8658 "content": {
8659 "type": "SYMBOL",
8660 "name": "_string"
8661 }
8662 },
8663 {
8664 "type": "CHOICE",
8665 "members": [
8666 {
8667 "type": "SEQ",
8668 "members": [
8669 {
8670 "type": "FIELD",
8671 "name": "output_operands",
8672 "content": {
8673 "type": "SYMBOL",
8674 "name": "gnu_asm_output_operand_list"
8675 }
8676 },
8677 {
8678 "type": "CHOICE",
8679 "members": [
8680 {
8681 "type": "SEQ",
8682 "members": [
8683 {
8684 "type": "FIELD",
8685 "name": "input_operands",
8686 "content": {
8687 "type": "SYMBOL",
8688 "name": "gnu_asm_input_operand_list"
8689 }
8690 },
8691 {
8692 "type": "CHOICE",
8693 "members": [
8694 {
8695 "type": "SEQ",
8696 "members": [
8697 {
8698 "type": "FIELD",
8699 "name": "clobbers",
8700 "content": {
8701 "type": "SYMBOL",
8702 "name": "gnu_asm_clobber_list"
8703 }
8704 },
8705 {
8706 "type": "CHOICE",
8707 "members": [
8708 {
8709 "type": "FIELD",
8710 "name": "goto_labels",
8711 "content": {
8712 "type": "SYMBOL",
8713 "name": "gnu_asm_goto_list"
8714 }
8715 },
8716 {
8717 "type": "BLANK"
8718 }
8719 ]
8720 }
8721 ]
8722 },
8723 {
8724 "type": "BLANK"
8725 }
8726 ]
8727 }
8728 ]
8729 },
8730 {
8731 "type": "BLANK"
8732 }
8733 ]
8734 }
8735 ]
8736 },
8737 {
8738 "type": "BLANK"
8739 }
8740 ]
8741 },
8742 {
8743 "type": "STRING",
8744 "value": ")"
8745 }
8746 ]
8747 }
8748 },
8749 "gnu_asm_qualifier": {
8750 "type": "CHOICE",
8751 "members": [
8752 {
8753 "type": "STRING",
8754 "value": "volatile"
8755 },
8756 {
8757 "type": "STRING",
8758 "value": "inline"
8759 },
8760 {
8761 "type": "STRING",
8762 "value": "goto"
8763 }
8764 ]
8765 },
8766 "gnu_asm_output_operand_list": {
8767 "type": "SEQ",
8768 "members": [
8769 {
8770 "type": "STRING",
8771 "value": ":"
8772 },
8773 {
8774 "type": "CHOICE",
8775 "members": [
8776 {
8777 "type": "SEQ",
8778 "members": [
8779 {
8780 "type": "FIELD",
8781 "name": "operand",
8782 "content": {
8783 "type": "SYMBOL",
8784 "name": "gnu_asm_output_operand"
8785 }
8786 },
8787 {
8788 "type": "REPEAT",
8789 "content": {
8790 "type": "SEQ",
8791 "members": [
8792 {
8793 "type": "STRING",
8794 "value": ","
8795 },
8796 {
8797 "type": "FIELD",
8798 "name": "operand",
8799 "content": {
8800 "type": "SYMBOL",
8801 "name": "gnu_asm_output_operand"
8802 }
8803 }
8804 ]
8805 }
8806 }
8807 ]
8808 },
8809 {
8810 "type": "BLANK"
8811 }
8812 ]
8813 }
8814 ]
8815 },
8816 "gnu_asm_output_operand": {
8817 "type": "SEQ",
8818 "members": [
8819 {
8820 "type": "CHOICE",
8821 "members": [
8822 {
8823 "type": "SEQ",
8824 "members": [
8825 {
8826 "type": "STRING",
8827 "value": "["
8828 },
8829 {
8830 "type": "FIELD",
8831 "name": "symbol",
8832 "content": {
8833 "type": "SYMBOL",
8834 "name": "identifier"
8835 }
8836 },
8837 {
8838 "type": "STRING",
8839 "value": "]"
8840 }
8841 ]
8842 },
8843 {
8844 "type": "BLANK"
8845 }
8846 ]
8847 },
8848 {
8849 "type": "FIELD",
8850 "name": "constraint",
8851 "content": {
8852 "type": "SYMBOL",
8853 "name": "string_literal"
8854 }
8855 },
8856 {
8857 "type": "STRING",
8858 "value": "("
8859 },
8860 {
8861 "type": "FIELD",
8862 "name": "value",
8863 "content": {
8864 "type": "SYMBOL",
8865 "name": "identifier"
8866 }
8867 },
8868 {
8869 "type": "STRING",
8870 "value": ")"
8871 }
8872 ]
8873 },
8874 "gnu_asm_input_operand_list": {
8875 "type": "SEQ",
8876 "members": [
8877 {
8878 "type": "STRING",
8879 "value": ":"
8880 },
8881 {
8882 "type": "CHOICE",
8883 "members": [
8884 {
8885 "type": "SEQ",
8886 "members": [
8887 {
8888 "type": "FIELD",
8889 "name": "operand",
8890 "content": {
8891 "type": "SYMBOL",
8892 "name": "gnu_asm_input_operand"
8893 }
8894 },
8895 {
8896 "type": "REPEAT",
8897 "content": {
8898 "type": "SEQ",
8899 "members": [
8900 {
8901 "type": "STRING",
8902 "value": ","
8903 },
8904 {
8905 "type": "FIELD",
8906 "name": "operand",
8907 "content": {
8908 "type": "SYMBOL",
8909 "name": "gnu_asm_input_operand"
8910 }
8911 }
8912 ]
8913 }
8914 }
8915 ]
8916 },
8917 {
8918 "type": "BLANK"
8919 }
8920 ]
8921 }
8922 ]
8923 },
8924 "gnu_asm_input_operand": {
8925 "type": "SEQ",
8926 "members": [
8927 {
8928 "type": "CHOICE",
8929 "members": [
8930 {
8931 "type": "SEQ",
8932 "members": [
8933 {
8934 "type": "STRING",
8935 "value": "["
8936 },
8937 {
8938 "type": "FIELD",
8939 "name": "symbol",
8940 "content": {
8941 "type": "SYMBOL",
8942 "name": "identifier"
8943 }
8944 },
8945 {
8946 "type": "STRING",
8947 "value": "]"
8948 }
8949 ]
8950 },
8951 {
8952 "type": "BLANK"
8953 }
8954 ]
8955 },
8956 {
8957 "type": "FIELD",
8958 "name": "constraint",
8959 "content": {
8960 "type": "SYMBOL",
8961 "name": "string_literal"
8962 }
8963 },
8964 {
8965 "type": "STRING",
8966 "value": "("
8967 },
8968 {
8969 "type": "FIELD",
8970 "name": "value",
8971 "content": {
8972 "type": "SYMBOL",
8973 "name": "_expression"
8974 }
8975 },
8976 {
8977 "type": "STRING",
8978 "value": ")"
8979 }
8980 ]
8981 },
8982 "gnu_asm_clobber_list": {
8983 "type": "SEQ",
8984 "members": [
8985 {
8986 "type": "STRING",
8987 "value": ":"
8988 },
8989 {
8990 "type": "CHOICE",
8991 "members": [
8992 {
8993 "type": "SEQ",
8994 "members": [
8995 {
8996 "type": "FIELD",
8997 "name": "register",
8998 "content": {
8999 "type": "SYMBOL",
9000 "name": "_string"
9001 }
9002 },
9003 {
9004 "type": "REPEAT",
9005 "content": {
9006 "type": "SEQ",
9007 "members": [
9008 {
9009 "type": "STRING",
9010 "value": ","
9011 },
9012 {
9013 "type": "FIELD",
9014 "name": "register",
9015 "content": {
9016 "type": "SYMBOL",
9017 "name": "_string"
9018 }
9019 }
9020 ]
9021 }
9022 }
9023 ]
9024 },
9025 {
9026 "type": "BLANK"
9027 }
9028 ]
9029 }
9030 ]
9031 },
9032 "gnu_asm_goto_list": {
9033 "type": "SEQ",
9034 "members": [
9035 {
9036 "type": "STRING",
9037 "value": ":"
9038 },
9039 {
9040 "type": "CHOICE",
9041 "members": [
9042 {
9043 "type": "SEQ",
9044 "members": [
9045 {
9046 "type": "FIELD",
9047 "name": "label",
9048 "content": {
9049 "type": "SYMBOL",
9050 "name": "identifier"
9051 }
9052 },
9053 {
9054 "type": "REPEAT",
9055 "content": {
9056 "type": "SEQ",
9057 "members": [
9058 {
9059 "type": "STRING",
9060 "value": ","
9061 },
9062 {
9063 "type": "FIELD",
9064 "name": "label",
9065 "content": {
9066 "type": "SYMBOL",
9067 "name": "identifier"
9068 }
9069 }
9070 ]
9071 }
9072 }
9073 ]
9074 },
9075 {
9076 "type": "BLANK"
9077 }
9078 ]
9079 }
9080 ]
9081 },
9082 "argument_list": {
9083 "type": "SEQ",
9084 "members": [
9085 {
9086 "type": "STRING",
9087 "value": "("
9088 },
9089 {
9090 "type": "CHOICE",
9091 "members": [
9092 {
9093 "type": "SEQ",
9094 "members": [
9095 {
9096 "type": "CHOICE",
9097 "members": [
9098 {
9099 "type": "SEQ",
9100 "members": [
9101 {
9102 "type": "CHOICE",
9103 "members": [
9104 {
9105 "type": "STRING",
9106 "value": "__extension__"
9107 },
9108 {
9109 "type": "BLANK"
9110 }
9111 ]
9112 },
9113 {
9114 "type": "SYMBOL",
9115 "name": "_expression"
9116 }
9117 ]
9118 },
9119 {
9120 "type": "SYMBOL",
9121 "name": "initializer_list"
9122 },
9123 {
9124 "type": "SYMBOL",
9125 "name": "compound_statement"
9126 }
9127 ]
9128 },
9129 {
9130 "type": "REPEAT",
9131 "content": {
9132 "type": "SEQ",
9133 "members": [
9134 {
9135 "type": "STRING",
9136 "value": ","
9137 },
9138 {
9139 "type": "CHOICE",
9140 "members": [
9141 {
9142 "type": "SEQ",
9143 "members": [
9144 {
9145 "type": "CHOICE",
9146 "members": [
9147 {
9148 "type": "STRING",
9149 "value": "__extension__"
9150 },
9151 {
9152 "type": "BLANK"
9153 }
9154 ]
9155 },
9156 {
9157 "type": "SYMBOL",
9158 "name": "_expression"
9159 }
9160 ]
9161 },
9162 {
9163 "type": "SYMBOL",
9164 "name": "initializer_list"
9165 },
9166 {
9167 "type": "SYMBOL",
9168 "name": "compound_statement"
9169 }
9170 ]
9171 }
9172 ]
9173 }
9174 }
9175 ]
9176 },
9177 {
9178 "type": "BLANK"
9179 }
9180 ]
9181 },
9182 {
9183 "type": "STRING",
9184 "value": ")"
9185 }
9186 ]
9187 },
9188 "field_expression": {
9189 "type": "PREC_RIGHT",
9190 "value": 0,
9191 "content": {
9192 "type": "SEQ",
9193 "members": [
9194 {
9195 "type": "PREC",
9196 "value": 16,
9197 "content": {
9198 "type": "SEQ",
9199 "members": [
9200 {
9201 "type": "FIELD",
9202 "name": "argument",
9203 "content": {
9204 "type": "SYMBOL",
9205 "name": "_expression"
9206 }
9207 },
9208 {
9209 "type": "FIELD",
9210 "name": "operator",
9211 "content": {
9212 "type": "CHOICE",
9213 "members": [
9214 {
9215 "type": "STRING",
9216 "value": "."
9217 },
9218 {
9219 "type": "STRING",
9220 "value": ".*"
9221 },
9222 {
9223 "type": "STRING",
9224 "value": "->"
9225 }
9226 ]
9227 }
9228 }
9229 ]
9230 }
9231 },
9232 {
9233 "type": "FIELD",
9234 "name": "field",
9235 "content": {
9236 "type": "CHOICE",
9237 "members": [
9238 {
9239 "type": "SYMBOL",
9240 "name": "_field_identifier"
9241 },
9242 {
9243 "type": "ALIAS",
9244 "content": {
9245 "type": "SYMBOL",
9246 "name": "qualified_field_identifier"
9247 },
9248 "named": true,
9249 "value": "qualified_identifier"
9250 },
9251 {
9252 "type": "SYMBOL",
9253 "name": "destructor_name"
9254 },
9255 {
9256 "type": "SYMBOL",
9257 "name": "template_method"
9258 },
9259 {
9260 "type": "ALIAS",
9261 "content": {
9262 "type": "SYMBOL",
9263 "name": "dependent_field_identifier"
9264 },
9265 "named": true,
9266 "value": "dependent_name"
9267 }
9268 ]
9269 }
9270 }
9271 ]
9272 }
9273 },
9274 "compound_literal_expression": {
9275 "type": "CHOICE",
9276 "members": [
9277 {
9278 "type": "SEQ",
9279 "members": [
9280 {
9281 "type": "STRING",
9282 "value": "("
9283 },
9284 {
9285 "type": "FIELD",
9286 "name": "type",
9287 "content": {
9288 "type": "SYMBOL",
9289 "name": "type_descriptor"
9290 }
9291 },
9292 {
9293 "type": "STRING",
9294 "value": ")"
9295 },
9296 {
9297 "type": "FIELD",
9298 "name": "value",
9299 "content": {
9300 "type": "SYMBOL",
9301 "name": "initializer_list"
9302 }
9303 }
9304 ]
9305 },
9306 {
9307 "type": "SEQ",
9308 "members": [
9309 {
9310 "type": "FIELD",
9311 "name": "type",
9312 "content": {
9313 "type": "CHOICE",
9314 "members": [
9315 {
9316 "type": "SYMBOL",
9317 "name": "_class_name"
9318 },
9319 {
9320 "type": "SYMBOL",
9321 "name": "primitive_type"
9322 }
9323 ]
9324 }
9325 },
9326 {
9327 "type": "FIELD",
9328 "name": "value",
9329 "content": {
9330 "type": "SYMBOL",
9331 "name": "initializer_list"
9332 }
9333 }
9334 ]
9335 }
9336 ]
9337 },
9338 "parenthesized_expression": {
9339 "type": "CHOICE",
9340 "members": [
9341 {
9342 "type": "SEQ",
9343 "members": [
9344 {
9345 "type": "STRING",
9346 "value": "("
9347 },
9348 {
9349 "type": "CHOICE",
9350 "members": [
9351 {
9352 "type": "SYMBOL",
9353 "name": "_expression"
9354 },
9355 {
9356 "type": "SYMBOL",
9357 "name": "comma_expression"
9358 }
9359 ]
9360 },
9361 {
9362 "type": "STRING",
9363 "value": ")"
9364 }
9365 ]
9366 },
9367 {
9368 "type": "SEQ",
9369 "members": [
9370 {
9371 "type": "STRING",
9372 "value": "("
9373 },
9374 {
9375 "type": "ALIAS",
9376 "content": {
9377 "type": "SYMBOL",
9378 "name": "_assignment_expression_lhs"
9379 },
9380 "named": true,
9381 "value": "assignment_expression"
9382 },
9383 {
9384 "type": "STRING",
9385 "value": ")"
9386 }
9387 ]
9388 }
9389 ]
9390 },
9391 "initializer_list": {
9392 "type": "SEQ",
9393 "members": [
9394 {
9395 "type": "STRING",
9396 "value": "{"
9397 },
9398 {
9399 "type": "CHOICE",
9400 "members": [
9401 {
9402 "type": "SEQ",
9403 "members": [
9404 {
9405 "type": "CHOICE",
9406 "members": [
9407 {
9408 "type": "SYMBOL",
9409 "name": "initializer_pair"
9410 },
9411 {
9412 "type": "SYMBOL",
9413 "name": "_expression"
9414 },
9415 {
9416 "type": "SYMBOL",
9417 "name": "initializer_list"
9418 }
9419 ]
9420 },
9421 {
9422 "type": "REPEAT",
9423 "content": {
9424 "type": "SEQ",
9425 "members": [
9426 {
9427 "type": "STRING",
9428 "value": ","
9429 },
9430 {
9431 "type": "CHOICE",
9432 "members": [
9433 {
9434 "type": "SYMBOL",
9435 "name": "initializer_pair"
9436 },
9437 {
9438 "type": "SYMBOL",
9439 "name": "_expression"
9440 },
9441 {
9442 "type": "SYMBOL",
9443 "name": "initializer_list"
9444 }
9445 ]
9446 }
9447 ]
9448 }
9449 }
9450 ]
9451 },
9452 {
9453 "type": "BLANK"
9454 }
9455 ]
9456 },
9457 {
9458 "type": "CHOICE",
9459 "members": [
9460 {
9461 "type": "STRING",
9462 "value": ","
9463 },
9464 {
9465 "type": "BLANK"
9466 }
9467 ]
9468 },
9469 {
9470 "type": "STRING",
9471 "value": "}"
9472 }
9473 ]
9474 },
9475 "initializer_pair": {
9476 "type": "CHOICE",
9477 "members": [
9478 {
9479 "type": "SEQ",
9480 "members": [
9481 {
9482 "type": "FIELD",
9483 "name": "designator",
9484 "content": {
9485 "type": "REPEAT1",
9486 "content": {
9487 "type": "CHOICE",
9488 "members": [
9489 {
9490 "type": "SYMBOL",
9491 "name": "subscript_designator"
9492 },
9493 {
9494 "type": "SYMBOL",
9495 "name": "field_designator"
9496 },
9497 {
9498 "type": "SYMBOL",
9499 "name": "subscript_range_designator"
9500 }
9501 ]
9502 }
9503 }
9504 },
9505 {
9506 "type": "STRING",
9507 "value": "="
9508 },
9509 {
9510 "type": "FIELD",
9511 "name": "value",
9512 "content": {
9513 "type": "CHOICE",
9514 "members": [
9515 {
9516 "type": "SYMBOL",
9517 "name": "_expression"
9518 },
9519 {
9520 "type": "SYMBOL",
9521 "name": "initializer_list"
9522 }
9523 ]
9524 }
9525 }
9526 ]
9527 },
9528 {
9529 "type": "SEQ",
9530 "members": [
9531 {
9532 "type": "FIELD",
9533 "name": "designator",
9534 "content": {
9535 "type": "SYMBOL",
9536 "name": "_field_identifier"
9537 }
9538 },
9539 {
9540 "type": "STRING",
9541 "value": ":"
9542 },
9543 {
9544 "type": "FIELD",
9545 "name": "value",
9546 "content": {
9547 "type": "CHOICE",
9548 "members": [
9549 {
9550 "type": "SYMBOL",
9551 "name": "_expression"
9552 },
9553 {
9554 "type": "SYMBOL",
9555 "name": "initializer_list"
9556 }
9557 ]
9558 }
9559 }
9560 ]
9561 }
9562 ]
9563 },
9564 "subscript_designator": {
9565 "type": "SEQ",
9566 "members": [
9567 {
9568 "type": "STRING",
9569 "value": "["
9570 },
9571 {
9572 "type": "SYMBOL",
9573 "name": "_expression"
9574 },
9575 {
9576 "type": "STRING",
9577 "value": "]"
9578 }
9579 ]
9580 },
9581 "subscript_range_designator": {
9582 "type": "SEQ",
9583 "members": [
9584 {
9585 "type": "STRING",
9586 "value": "["
9587 },
9588 {
9589 "type": "FIELD",
9590 "name": "start",
9591 "content": {
9592 "type": "SYMBOL",
9593 "name": "_expression"
9594 }
9595 },
9596 {
9597 "type": "STRING",
9598 "value": "..."
9599 },
9600 {
9601 "type": "FIELD",
9602 "name": "end",
9603 "content": {
9604 "type": "SYMBOL",
9605 "name": "_expression"
9606 }
9607 },
9608 {
9609 "type": "STRING",
9610 "value": "]"
9611 }
9612 ]
9613 },
9614 "field_designator": {
9615 "type": "SEQ",
9616 "members": [
9617 {
9618 "type": "STRING",
9619 "value": "."
9620 },
9621 {
9622 "type": "SYMBOL",
9623 "name": "_field_identifier"
9624 }
9625 ]
9626 },
9627 "number_literal": {
9628 "type": "TOKEN",
9629 "content": {
9630 "type": "SEQ",
9631 "members": [
9632 {
9633 "type": "CHOICE",
9634 "members": [
9635 {
9636 "type": "PATTERN",
9637 "value": "[-\\+]"
9638 },
9639 {
9640 "type": "BLANK"
9641 }
9642 ]
9643 },
9644 {
9645 "type": "CHOICE",
9646 "members": [
9647 {
9648 "type": "SEQ",
9649 "members": [
9650 {
9651 "type": "CHOICE",
9652 "members": [
9653 {
9654 "type": "SEQ",
9655 "members": [
9656 {
9657 "type": "CHOICE",
9658 "members": [
9659 {
9660 "type": "STRING",
9661 "value": "0b"
9662 },
9663 {
9664 "type": "STRING",
9665 "value": "0B"
9666 }
9667 ]
9668 },
9669 {
9670 "type": "SEQ",
9671 "members": [
9672 {
9673 "type": "REPEAT1",
9674 "content": {
9675 "type": "PATTERN",
9676 "value": "[01]"
9677 }
9678 },
9679 {
9680 "type": "REPEAT",
9681 "content": {
9682 "type": "SEQ",
9683 "members": [
9684 {
9685 "type": "STRING",
9686 "value": "'"
9687 },
9688 {
9689 "type": "REPEAT1",
9690 "content": {
9691 "type": "PATTERN",
9692 "value": "[01]"
9693 }
9694 }
9695 ]
9696 }
9697 }
9698 ]
9699 }
9700 ]
9701 },
9702 {
9703 "type": "SEQ",
9704 "members": [
9705 {
9706 "type": "PATTERN",
9707 "value": "[1-9]"
9708 },
9709 {
9710 "type": "REPEAT",
9711 "content": {
9712 "type": "PATTERN",
9713 "value": "[0-9]"
9714 }
9715 },
9716 {
9717 "type": "REPEAT",
9718 "content": {
9719 "type": "SEQ",
9720 "members": [
9721 {
9722 "type": "STRING",
9723 "value": "'"
9724 },
9725 {
9726 "type": "REPEAT1",
9727 "content": {
9728 "type": "PATTERN",
9729 "value": "[0-9]"
9730 }
9731 }
9732 ]
9733 }
9734 }
9735 ]
9736 },
9737 {
9738 "type": "SEQ",
9739 "members": [
9740 {
9741 "type": "CHOICE",
9742 "members": [
9743 {
9744 "type": "STRING",
9745 "value": "0x"
9746 },
9747 {
9748 "type": "STRING",
9749 "value": "0X"
9750 }
9751 ]
9752 },
9753 {
9754 "type": "SEQ",
9755 "members": [
9756 {
9757 "type": "REPEAT1",
9758 "content": {
9759 "type": "PATTERN",
9760 "value": "[0-9a-fA-F]"
9761 }
9762 },
9763 {
9764 "type": "REPEAT",
9765 "content": {
9766 "type": "SEQ",
9767 "members": [
9768 {
9769 "type": "STRING",
9770 "value": "'"
9771 },
9772 {
9773 "type": "REPEAT1",
9774 "content": {
9775 "type": "PATTERN",
9776 "value": "[0-9a-fA-F]"
9777 }
9778 }
9779 ]
9780 }
9781 }
9782 ]
9783 }
9784 ]
9785 },
9786 {
9787 "type": "SEQ",
9788 "members": [
9789 {
9790 "type": "STRING",
9791 "value": "0"
9792 },
9793 {
9794 "type": "REPEAT",
9795 "content": {
9796 "type": "PATTERN",
9797 "value": "[0-7]"
9798 }
9799 },
9800 {
9801 "type": "REPEAT",
9802 "content": {
9803 "type": "SEQ",
9804 "members": [
9805 {
9806 "type": "STRING",
9807 "value": "'"
9808 },
9809 {
9810 "type": "REPEAT1",
9811 "content": {
9812 "type": "PATTERN",
9813 "value": "[0-7]"
9814 }
9815 }
9816 ]
9817 }
9818 }
9819 ]
9820 }
9821 ]
9822 },
9823 {
9824 "type": "CHOICE",
9825 "members": [
9826 {
9827 "type": "PATTERN",
9828 "value": "(ll|LL)[uU]?|[uU](ll|LL)?|[uU][lL]?|[uU][zZ]?|[lL][uU]?|[zZ][uU]?"
9829 },
9830 {
9831 "type": "BLANK"
9832 }
9833 ]
9834 }
9835 ]
9836 },
9837 {
9838 "type": "SEQ",
9839 "members": [
9840 {
9841 "type": "CHOICE",
9842 "members": [
9843 {
9844 "type": "SEQ",
9845 "members": [
9846 {
9847 "type": "SEQ",
9848 "members": [
9849 {
9850 "type": "REPEAT1",
9851 "content": {
9852 "type": "PATTERN",
9853 "value": "[0-9]"
9854 }
9855 },
9856 {
9857 "type": "REPEAT",
9858 "content": {
9859 "type": "SEQ",
9860 "members": [
9861 {
9862 "type": "STRING",
9863 "value": "'"
9864 },
9865 {
9866 "type": "REPEAT1",
9867 "content": {
9868 "type": "PATTERN",
9869 "value": "[0-9]"
9870 }
9871 }
9872 ]
9873 }
9874 }
9875 ]
9876 },
9877 {
9878 "type": "SEQ",
9879 "members": [
9880 {
9881 "type": "PATTERN",
9882 "value": "[eE]"
9883 },
9884 {
9885 "type": "CHOICE",
9886 "members": [
9887 {
9888 "type": "PATTERN",
9889 "value": "[-\\+]"
9890 },
9891 {
9892 "type": "BLANK"
9893 }
9894 ]
9895 },
9896 {
9897 "type": "SEQ",
9898 "members": [
9899 {
9900 "type": "REPEAT1",
9901 "content": {
9902 "type": "PATTERN",
9903 "value": "[0-9]"
9904 }
9905 },
9906 {
9907 "type": "REPEAT",
9908 "content": {
9909 "type": "SEQ",
9910 "members": [
9911 {
9912 "type": "STRING",
9913 "value": "'"
9914 },
9915 {
9916 "type": "REPEAT1",
9917 "content": {
9918 "type": "PATTERN",
9919 "value": "[0-9]"
9920 }
9921 }
9922 ]
9923 }
9924 }
9925 ]
9926 }
9927 ]
9928 }
9929 ]
9930 },
9931 {
9932 "type": "SEQ",
9933 "members": [
9934 {
9935 "type": "SEQ",
9936 "members": [
9937 {
9938 "type": "REPEAT1",
9939 "content": {
9940 "type": "PATTERN",
9941 "value": "[0-9]"
9942 }
9943 },
9944 {
9945 "type": "REPEAT",
9946 "content": {
9947 "type": "SEQ",
9948 "members": [
9949 {
9950 "type": "STRING",
9951 "value": "'"
9952 },
9953 {
9954 "type": "REPEAT1",
9955 "content": {
9956 "type": "PATTERN",
9957 "value": "[0-9]"
9958 }
9959 }
9960 ]
9961 }
9962 }
9963 ]
9964 },
9965 {
9966 "type": "STRING",
9967 "value": "."
9968 },
9969 {
9970 "type": "CHOICE",
9971 "members": [
9972 {
9973 "type": "SEQ",
9974 "members": [
9975 {
9976 "type": "REPEAT1",
9977 "content": {
9978 "type": "PATTERN",
9979 "value": "[0-9]"
9980 }
9981 },
9982 {
9983 "type": "REPEAT",
9984 "content": {
9985 "type": "SEQ",
9986 "members": [
9987 {
9988 "type": "STRING",
9989 "value": "'"
9990 },
9991 {
9992 "type": "REPEAT1",
9993 "content": {
9994 "type": "PATTERN",
9995 "value": "[0-9]"
9996 }
9997 }
9998 ]
9999 }
10000 }
10001 ]
10002 },
10003 {
10004 "type": "BLANK"
10005 }
10006 ]
10007 },
10008 {
10009 "type": "CHOICE",
10010 "members": [
10011 {
10012 "type": "SEQ",
10013 "members": [
10014 {
10015 "type": "PATTERN",
10016 "value": "[eE]"
10017 },
10018 {
10019 "type": "CHOICE",
10020 "members": [
10021 {
10022 "type": "PATTERN",
10023 "value": "[-\\+]"
10024 },
10025 {
10026 "type": "BLANK"
10027 }
10028 ]
10029 },
10030 {
10031 "type": "SEQ",
10032 "members": [
10033 {
10034 "type": "REPEAT1",
10035 "content": {
10036 "type": "PATTERN",
10037 "value": "[0-9]"
10038 }
10039 },
10040 {
10041 "type": "REPEAT",
10042 "content": {
10043 "type": "SEQ",
10044 "members": [
10045 {
10046 "type": "STRING",
10047 "value": "'"
10048 },
10049 {
10050 "type": "REPEAT1",
10051 "content": {
10052 "type": "PATTERN",
10053 "value": "[0-9]"
10054 }
10055 }
10056 ]
10057 }
10058 }
10059 ]
10060 }
10061 ]
10062 },
10063 {
10064 "type": "BLANK"
10065 }
10066 ]
10067 }
10068 ]
10069 },
10070 {
10071 "type": "SEQ",
10072 "members": [
10073 {
10074 "type": "STRING",
10075 "value": "."
10076 },
10077 {
10078 "type": "SEQ",
10079 "members": [
10080 {
10081 "type": "REPEAT1",
10082 "content": {
10083 "type": "PATTERN",
10084 "value": "[0-9]"
10085 }
10086 },
10087 {
10088 "type": "REPEAT",
10089 "content": {
10090 "type": "SEQ",
10091 "members": [
10092 {
10093 "type": "STRING",
10094 "value": "'"
10095 },
10096 {
10097 "type": "REPEAT1",
10098 "content": {
10099 "type": "PATTERN",
10100 "value": "[0-9]"
10101 }
10102 }
10103 ]
10104 }
10105 }
10106 ]
10107 },
10108 {
10109 "type": "CHOICE",
10110 "members": [
10111 {
10112 "type": "SEQ",
10113 "members": [
10114 {
10115 "type": "PATTERN",
10116 "value": "[eE]"
10117 },
10118 {
10119 "type": "CHOICE",
10120 "members": [
10121 {
10122 "type": "PATTERN",
10123 "value": "[-\\+]"
10124 },
10125 {
10126 "type": "BLANK"
10127 }
10128 ]
10129 },
10130 {
10131 "type": "SEQ",
10132 "members": [
10133 {
10134 "type": "REPEAT1",
10135 "content": {
10136 "type": "PATTERN",
10137 "value": "[0-9]"
10138 }
10139 },
10140 {
10141 "type": "REPEAT",
10142 "content": {
10143 "type": "SEQ",
10144 "members": [
10145 {
10146 "type": "STRING",
10147 "value": "'"
10148 },
10149 {
10150 "type": "REPEAT1",
10151 "content": {
10152 "type": "PATTERN",
10153 "value": "[0-9]"
10154 }
10155 }
10156 ]
10157 }
10158 }
10159 ]
10160 }
10161 ]
10162 },
10163 {
10164 "type": "BLANK"
10165 }
10166 ]
10167 }
10168 ]
10169 },
10170 {
10171 "type": "SEQ",
10172 "members": [
10173 {
10174 "type": "CHOICE",
10175 "members": [
10176 {
10177 "type": "STRING",
10178 "value": "0x"
10179 },
10180 {
10181 "type": "STRING",
10182 "value": "0X"
10183 }
10184 ]
10185 },
10186 {
10187 "type": "CHOICE",
10188 "members": [
10189 {
10190 "type": "SEQ",
10191 "members": [
10192 {
10193 "type": "REPEAT1",
10194 "content": {
10195 "type": "PATTERN",
10196 "value": "[0-9a-fA-F]"
10197 }
10198 },
10199 {
10200 "type": "REPEAT",
10201 "content": {
10202 "type": "SEQ",
10203 "members": [
10204 {
10205 "type": "STRING",
10206 "value": "'"
10207 },
10208 {
10209 "type": "REPEAT1",
10210 "content": {
10211 "type": "PATTERN",
10212 "value": "[0-9a-fA-F]"
10213 }
10214 }
10215 ]
10216 }
10217 }
10218 ]
10219 },
10220 {
10221 "type": "SEQ",
10222 "members": [
10223 {
10224 "type": "SEQ",
10225 "members": [
10226 {
10227 "type": "REPEAT1",
10228 "content": {
10229 "type": "PATTERN",
10230 "value": "[0-9a-fA-F]"
10231 }
10232 },
10233 {
10234 "type": "REPEAT",
10235 "content": {
10236 "type": "SEQ",
10237 "members": [
10238 {
10239 "type": "STRING",
10240 "value": "'"
10241 },
10242 {
10243 "type": "REPEAT1",
10244 "content": {
10245 "type": "PATTERN",
10246 "value": "[0-9a-fA-F]"
10247 }
10248 }
10249 ]
10250 }
10251 }
10252 ]
10253 },
10254 {
10255 "type": "STRING",
10256 "value": "."
10257 },
10258 {
10259 "type": "CHOICE",
10260 "members": [
10261 {
10262 "type": "SEQ",
10263 "members": [
10264 {
10265 "type": "REPEAT1",
10266 "content": {
10267 "type": "PATTERN",
10268 "value": "[0-9a-fA-F]"
10269 }
10270 },
10271 {
10272 "type": "REPEAT",
10273 "content": {
10274 "type": "SEQ",
10275 "members": [
10276 {
10277 "type": "STRING",
10278 "value": "'"
10279 },
10280 {
10281 "type": "REPEAT1",
10282 "content": {
10283 "type": "PATTERN",
10284 "value": "[0-9a-fA-F]"
10285 }
10286 }
10287 ]
10288 }
10289 }
10290 ]
10291 },
10292 {
10293 "type": "BLANK"
10294 }
10295 ]
10296 }
10297 ]
10298 },
10299 {
10300 "type": "SEQ",
10301 "members": [
10302 {
10303 "type": "STRING",
10304 "value": "."
10305 },
10306 {
10307 "type": "SEQ",
10308 "members": [
10309 {
10310 "type": "REPEAT1",
10311 "content": {
10312 "type": "PATTERN",
10313 "value": "[0-9a-fA-F]"
10314 }
10315 },
10316 {
10317 "type": "REPEAT",
10318 "content": {
10319 "type": "SEQ",
10320 "members": [
10321 {
10322 "type": "STRING",
10323 "value": "'"
10324 },
10325 {
10326 "type": "REPEAT1",
10327 "content": {
10328 "type": "PATTERN",
10329 "value": "[0-9a-fA-F]"
10330 }
10331 }
10332 ]
10333 }
10334 }
10335 ]
10336 }
10337 ]
10338 }
10339 ]
10340 },
10341 {
10342 "type": "SEQ",
10343 "members": [
10344 {
10345 "type": "PATTERN",
10346 "value": "[pP]"
10347 },
10348 {
10349 "type": "CHOICE",
10350 "members": [
10351 {
10352 "type": "PATTERN",
10353 "value": "[-\\+]"
10354 },
10355 {
10356 "type": "BLANK"
10357 }
10358 ]
10359 },
10360 {
10361 "type": "SEQ",
10362 "members": [
10363 {
10364 "type": "REPEAT1",
10365 "content": {
10366 "type": "PATTERN",
10367 "value": "[0-9]"
10368 }
10369 },
10370 {
10371 "type": "REPEAT",
10372 "content": {
10373 "type": "SEQ",
10374 "members": [
10375 {
10376 "type": "STRING",
10377 "value": "'"
10378 },
10379 {
10380 "type": "REPEAT1",
10381 "content": {
10382 "type": "PATTERN",
10383 "value": "[0-9]"
10384 }
10385 }
10386 ]
10387 }
10388 }
10389 ]
10390 }
10391 ]
10392 }
10393 ]
10394 }
10395 ]
10396 },
10397 {
10398 "type": "CHOICE",
10399 "members": [
10400 {
10401 "type": "PATTERN",
10402 "value": "([fF](16|32|64|128)?)|[lL]|(bf16|BF16)"
10403 },
10404 {
10405 "type": "BLANK"
10406 }
10407 ]
10408 }
10409 ]
10410 }
10411 ]
10412 }
10413 ]
10414 }
10415 },
10416 "char_literal": {
10417 "type": "SEQ",
10418 "members": [
10419 {
10420 "type": "CHOICE",
10421 "members": [
10422 {
10423 "type": "STRING",
10424 "value": "L'"
10425 },
10426 {
10427 "type": "STRING",
10428 "value": "u'"
10429 },
10430 {
10431 "type": "STRING",
10432 "value": "U'"
10433 },
10434 {
10435 "type": "STRING",
10436 "value": "u8'"
10437 },
10438 {
10439 "type": "STRING",
10440 "value": "'"
10441 }
10442 ]
10443 },
10444 {
10445 "type": "REPEAT1",
10446 "content": {
10447 "type": "CHOICE",
10448 "members": [
10449 {
10450 "type": "SYMBOL",
10451 "name": "escape_sequence"
10452 },
10453 {
10454 "type": "ALIAS",
10455 "content": {
10456 "type": "IMMEDIATE_TOKEN",
10457 "content": {
10458 "type": "PATTERN",
10459 "value": "[^\\n']"
10460 }
10461 },
10462 "named": true,
10463 "value": "character"
10464 }
10465 ]
10466 }
10467 },
10468 {
10469 "type": "STRING",
10470 "value": "'"
10471 }
10472 ]
10473 },
10474 "concatenated_string": {
10475 "type": "PREC_RIGHT",
10476 "value": 0,
10477 "content": {
10478 "type": "SEQ",
10479 "members": [
10480 {
10481 "type": "CHOICE",
10482 "members": [
10483 {
10484 "type": "SYMBOL",
10485 "name": "identifier"
10486 },
10487 {
10488 "type": "SYMBOL",
10489 "name": "string_literal"
10490 },
10491 {
10492 "type": "SYMBOL",
10493 "name": "raw_string_literal"
10494 }
10495 ]
10496 },
10497 {
10498 "type": "CHOICE",
10499 "members": [
10500 {
10501 "type": "SYMBOL",
10502 "name": "string_literal"
10503 },
10504 {
10505 "type": "SYMBOL",
10506 "name": "raw_string_literal"
10507 }
10508 ]
10509 },
10510 {
10511 "type": "REPEAT",
10512 "content": {
10513 "type": "CHOICE",
10514 "members": [
10515 {
10516 "type": "SYMBOL",
10517 "name": "identifier"
10518 },
10519 {
10520 "type": "SYMBOL",
10521 "name": "string_literal"
10522 },
10523 {
10524 "type": "SYMBOL",
10525 "name": "raw_string_literal"
10526 }
10527 ]
10528 }
10529 }
10530 ]
10531 }
10532 },
10533 "string_literal": {
10534 "type": "SEQ",
10535 "members": [
10536 {
10537 "type": "CHOICE",
10538 "members": [
10539 {
10540 "type": "STRING",
10541 "value": "L\""
10542 },
10543 {
10544 "type": "STRING",
10545 "value": "u\""
10546 },
10547 {
10548 "type": "STRING",
10549 "value": "U\""
10550 },
10551 {
10552 "type": "STRING",
10553 "value": "u8\""
10554 },
10555 {
10556 "type": "STRING",
10557 "value": "\""
10558 }
10559 ]
10560 },
10561 {
10562 "type": "REPEAT",
10563 "content": {
10564 "type": "CHOICE",
10565 "members": [
10566 {
10567 "type": "ALIAS",
10568 "content": {
10569 "type": "IMMEDIATE_TOKEN",
10570 "content": {
10571 "type": "PREC",
10572 "value": 1,
10573 "content": {
10574 "type": "PATTERN",
10575 "value": "[^\\\\\"\\n]+"
10576 }
10577 }
10578 },
10579 "named": true,
10580 "value": "string_content"
10581 },
10582 {
10583 "type": "SYMBOL",
10584 "name": "escape_sequence"
10585 }
10586 ]
10587 }
10588 },
10589 {
10590 "type": "STRING",
10591 "value": "\""
10592 }
10593 ]
10594 },
10595 "escape_sequence": {
10596 "type": "TOKEN",
10597 "content": {
10598 "type": "PREC",
10599 "value": 1,
10600 "content": {
10601 "type": "SEQ",
10602 "members": [
10603 {
10604 "type": "STRING",
10605 "value": "\\"
10606 },
10607 {
10608 "type": "CHOICE",
10609 "members": [
10610 {
10611 "type": "PATTERN",
10612 "value": "[^xuU]"
10613 },
10614 {
10615 "type": "PATTERN",
10616 "value": "\\d{2,3}"
10617 },
10618 {
10619 "type": "PATTERN",
10620 "value": "x[0-9a-fA-F]{2,}"
10621 },
10622 {
10623 "type": "PATTERN",
10624 "value": "u[0-9a-fA-F]{4}"
10625 },
10626 {
10627 "type": "PATTERN",
10628 "value": "U[0-9a-fA-F]{8}"
10629 }
10630 ]
10631 }
10632 ]
10633 }
10634 }
10635 },
10636 "system_lib_string": {
10637 "type": "TOKEN",
10638 "content": {
10639 "type": "SEQ",
10640 "members": [
10641 {
10642 "type": "STRING",
10643 "value": "<"
10644 },
10645 {
10646 "type": "REPEAT",
10647 "content": {
10648 "type": "CHOICE",
10649 "members": [
10650 {
10651 "type": "PATTERN",
10652 "value": "[^>\\n]"
10653 },
10654 {
10655 "type": "STRING",
10656 "value": "\\>"
10657 }
10658 ]
10659 }
10660 },
10661 {
10662 "type": "STRING",
10663 "value": ">"
10664 }
10665 ]
10666 }
10667 },
10668 "true": {
10669 "type": "TOKEN",
10670 "content": {
10671 "type": "CHOICE",
10672 "members": [
10673 {
10674 "type": "STRING",
10675 "value": "TRUE"
10676 },
10677 {
10678 "type": "STRING",
10679 "value": "true"
10680 }
10681 ]
10682 }
10683 },
10684 "false": {
10685 "type": "TOKEN",
10686 "content": {
10687 "type": "CHOICE",
10688 "members": [
10689 {
10690 "type": "STRING",
10691 "value": "FALSE"
10692 },
10693 {
10694 "type": "STRING",
10695 "value": "false"
10696 }
10697 ]
10698 }
10699 },
10700 "null": {
10701 "type": "CHOICE",
10702 "members": [
10703 {
10704 "type": "STRING",
10705 "value": "NULL"
10706 },
10707 {
10708 "type": "STRING",
10709 "value": "nullptr"
10710 }
10711 ]
10712 },
10713 "identifier": {
10714 "type": "PATTERN",
10715 "value": "(\\p{XID_Start}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\\\U[0-9A-Fa-f]{8})(\\p{XID_Continue}|\\$|\\\\u[0-9A-Fa-f]{4}|\\\\U[0-9A-Fa-f]{8})*"
10716 },
10717 "_type_identifier": {
10718 "type": "ALIAS",
10719 "content": {
10720 "type": "SYMBOL",
10721 "name": "identifier"
10722 },
10723 "named": true,
10724 "value": "type_identifier"
10725 },
10726 "_field_identifier": {
10727 "type": "ALIAS",
10728 "content": {
10729 "type": "SYMBOL",
10730 "name": "identifier"
10731 },
10732 "named": true,
10733 "value": "field_identifier"
10734 },
10735 "_statement_identifier": {
10736 "type": "ALIAS",
10737 "content": {
10738 "type": "SYMBOL",
10739 "name": "identifier"
10740 },
10741 "named": true,
10742 "value": "statement_identifier"
10743 },
10744 "_empty_declaration": {
10745 "type": "SEQ",
10746 "members": [
10747 {
10748 "type": "SYMBOL",
10749 "name": "_type_specifier"
10750 },
10751 {
10752 "type": "STRING",
10753 "value": ";"
10754 }
10755 ]
10756 },
10757 "macro_type_specifier": {
10758 "type": "PREC_DYNAMIC",
10759 "value": -1,
10760 "content": {
10761 "type": "SEQ",
10762 "members": [
10763 {
10764 "type": "FIELD",
10765 "name": "name",
10766 "content": {
10767 "type": "SYMBOL",
10768 "name": "identifier"
10769 }
10770 },
10771 {
10772 "type": "STRING",
10773 "value": "("
10774 },
10775 {
10776 "type": "FIELD",
10777 "name": "type",
10778 "content": {
10779 "type": "SYMBOL",
10780 "name": "type_descriptor"
10781 }
10782 },
10783 {
10784 "type": "STRING",
10785 "value": ")"
10786 }
10787 ]
10788 }
10789 },
10790 "comment": {
10791 "type": "TOKEN",
10792 "content": {
10793 "type": "CHOICE",
10794 "members": [
10795 {
10796 "type": "SEQ",
10797 "members": [
10798 {
10799 "type": "STRING",
10800 "value": "//"
10801 },
10802 {
10803 "type": "PATTERN",
10804 "value": "(\\\\+(.|\\r?\\n)|[^\\\\\\n])*"
10805 }
10806 ]
10807 },
10808 {
10809 "type": "SEQ",
10810 "members": [
10811 {
10812 "type": "STRING",
10813 "value": "/*"
10814 },
10815 {
10816 "type": "PATTERN",
10817 "value": "[^*]*\\*+([^/*][^*]*\\*+)*"
10818 },
10819 {
10820 "type": "STRING",
10821 "value": "/"
10822 }
10823 ]
10824 }
10825 ]
10826 }
10827 },
10828 "placeholder_type_specifier": {
10829 "type": "PREC",
10830 "value": 1,
10831 "content": {
10832 "type": "SEQ",
10833 "members": [
10834 {
10835 "type": "FIELD",
10836 "name": "constraint",
10837 "content": {
10838 "type": "CHOICE",
10839 "members": [
10840 {
10841 "type": "SYMBOL",
10842 "name": "_type_specifier"
10843 },
10844 {
10845 "type": "BLANK"
10846 }
10847 ]
10848 }
10849 },
10850 {
10851 "type": "CHOICE",
10852 "members": [
10853 {
10854 "type": "SYMBOL",
10855 "name": "auto"
10856 },
10857 {
10858 "type": "ALIAS",
10859 "content": {
10860 "type": "SYMBOL",
10861 "name": "decltype_auto"
10862 },
10863 "named": true,
10864 "value": "decltype"
10865 }
10866 ]
10867 }
10868 ]
10869 }
10870 },
10871 "auto": {
10872 "type": "STRING",
10873 "value": "auto"
10874 },
10875 "decltype_auto": {
10876 "type": "SEQ",
10877 "members": [
10878 {
10879 "type": "STRING",
10880 "value": "decltype"
10881 },
10882 {
10883 "type": "STRING",
10884 "value": "("
10885 },
10886 {
10887 "type": "SYMBOL",
10888 "name": "auto"
10889 },
10890 {
10891 "type": "STRING",
10892 "value": ")"
10893 }
10894 ]
10895 },
10896 "decltype": {
10897 "type": "SEQ",
10898 "members": [
10899 {
10900 "type": "STRING",
10901 "value": "decltype"
10902 },
10903 {
10904 "type": "STRING",
10905 "value": "("
10906 },
10907 {
10908 "type": "SYMBOL",
10909 "name": "_expression"
10910 },
10911 {
10912 "type": "STRING",
10913 "value": ")"
10914 }
10915 ]
10916 },
10917 "_class_declaration": {
10918 "type": "SEQ",
10919 "members": [
10920 {
10921 "type": "REPEAT",
10922 "content": {
10923 "type": "CHOICE",
10924 "members": [
10925 {
10926 "type": "SYMBOL",
10927 "name": "attribute_specifier"
10928 },
10929 {
10930 "type": "SYMBOL",
10931 "name": "alignas_specifier"
10932 }
10933 ]
10934 }
10935 },
10936 {
10937 "type": "CHOICE",
10938 "members": [
10939 {
10940 "type": "SYMBOL",
10941 "name": "ms_declspec_modifier"
10942 },
10943 {
10944 "type": "BLANK"
10945 }
10946 ]
10947 },
10948 {
10949 "type": "REPEAT",
10950 "content": {
10951 "type": "SYMBOL",
10952 "name": "attribute_declaration"
10953 }
10954 },
10955 {
10956 "type": "SYMBOL",
10957 "name": "_class_declaration_item"
10958 }
10959 ]
10960 },
10961 "_class_declaration_item": {
10962 "type": "PREC_RIGHT",
10963 "value": 0,
10964 "content": {
10965 "type": "SEQ",
10966 "members": [
10967 {
10968 "type": "CHOICE",
10969 "members": [
10970 {
10971 "type": "FIELD",
10972 "name": "name",
10973 "content": {
10974 "type": "SYMBOL",
10975 "name": "_class_name"
10976 }
10977 },
10978 {
10979 "type": "SEQ",
10980 "members": [
10981 {
10982 "type": "CHOICE",
10983 "members": [
10984 {
10985 "type": "FIELD",
10986 "name": "name",
10987 "content": {
10988 "type": "SYMBOL",
10989 "name": "_class_name"
10990 }
10991 },
10992 {
10993 "type": "BLANK"
10994 }
10995 ]
10996 },
10997 {
10998 "type": "CHOICE",
10999 "members": [
11000 {
11001 "type": "SYMBOL",
11002 "name": "virtual_specifier"
11003 },
11004 {
11005 "type": "BLANK"
11006 }
11007 ]
11008 },
11009 {
11010 "type": "CHOICE",
11011 "members": [
11012 {
11013 "type": "SYMBOL",
11014 "name": "base_class_clause"
11015 },
11016 {
11017 "type": "BLANK"
11018 }
11019 ]
11020 },
11021 {
11022 "type": "FIELD",
11023 "name": "body",
11024 "content": {
11025 "type": "SYMBOL",
11026 "name": "field_declaration_list"
11027 }
11028 }
11029 ]
11030 }
11031 ]
11032 },
11033 {
11034 "type": "CHOICE",
11035 "members": [
11036 {
11037 "type": "SYMBOL",
11038 "name": "attribute_specifier"
11039 },
11040 {
11041 "type": "BLANK"
11042 }
11043 ]
11044 }
11045 ]
11046 }
11047 },
11048 "class_specifier": {
11049 "type": "SEQ",
11050 "members": [
11051 {
11052 "type": "STRING",
11053 "value": "class"
11054 },
11055 {
11056 "type": "SYMBOL",
11057 "name": "_class_declaration"
11058 }
11059 ]
11060 },
11061 "_class_name": {
11062 "type": "PREC_RIGHT",
11063 "value": 0,
11064 "content": {
11065 "type": "CHOICE",
11066 "members": [
11067 {
11068 "type": "SYMBOL",
11069 "name": "_type_identifier"
11070 },
11071 {
11072 "type": "SYMBOL",
11073 "name": "template_type"
11074 },
11075 {
11076 "type": "ALIAS",
11077 "content": {
11078 "type": "SYMBOL",
11079 "name": "qualified_type_identifier"
11080 },
11081 "named": true,
11082 "value": "qualified_identifier"
11083 }
11084 ]
11085 }
11086 },
11087 "virtual_specifier": {
11088 "type": "CHOICE",
11089 "members": [
11090 {
11091 "type": "STRING",
11092 "value": "final"
11093 },
11094 {
11095 "type": "STRING",
11096 "value": "override"
11097 }
11098 ]
11099 },
11100 "virtual": {
11101 "type": "CHOICE",
11102 "members": [
11103 {
11104 "type": "STRING",
11105 "value": "virtual"
11106 }
11107 ]
11108 },
11109 "alignas_specifier": {
11110 "type": "SEQ",
11111 "members": [
11112 {
11113 "type": "STRING",
11114 "value": "alignas"
11115 },
11116 {
11117 "type": "STRING",
11118 "value": "("
11119 },
11120 {
11121 "type": "CHOICE",
11122 "members": [
11123 {
11124 "type": "SYMBOL",
11125 "name": "_expression"
11126 },
11127 {
11128 "type": "SYMBOL",
11129 "name": "primitive_type"
11130 }
11131 ]
11132 },
11133 {
11134 "type": "STRING",
11135 "value": ")"
11136 }
11137 ]
11138 },
11139 "explicit_function_specifier": {
11140 "type": "CHOICE",
11141 "members": [
11142 {
11143 "type": "STRING",
11144 "value": "explicit"
11145 },
11146 {
11147 "type": "PREC",
11148 "value": 15,
11149 "content": {
11150 "type": "SEQ",
11151 "members": [
11152 {
11153 "type": "STRING",
11154 "value": "explicit"
11155 },
11156 {
11157 "type": "STRING",
11158 "value": "("
11159 },
11160 {
11161 "type": "SYMBOL",
11162 "name": "_expression"
11163 },
11164 {
11165 "type": "STRING",
11166 "value": ")"
11167 }
11168 ]
11169 }
11170 }
11171 ]
11172 },
11173 "base_class_clause": {
11174 "type": "SEQ",
11175 "members": [
11176 {
11177 "type": "STRING",
11178 "value": ":"
11179 },
11180 {
11181 "type": "SEQ",
11182 "members": [
11183 {
11184 "type": "SEQ",
11185 "members": [
11186 {
11187 "type": "REPEAT",
11188 "content": {
11189 "type": "SYMBOL",
11190 "name": "attribute_declaration"
11191 }
11192 },
11193 {
11194 "type": "CHOICE",
11195 "members": [
11196 {
11197 "type": "CHOICE",
11198 "members": [
11199 {
11200 "type": "SYMBOL",
11201 "name": "access_specifier"
11202 },
11203 {
11204 "type": "SEQ",
11205 "members": [
11206 {
11207 "type": "SYMBOL",
11208 "name": "access_specifier"
11209 },
11210 {
11211 "type": "CHOICE",
11212 "members": [
11213 {
11214 "type": "SYMBOL",
11215 "name": "virtual"
11216 },
11217 {
11218 "type": "BLANK"
11219 }
11220 ]
11221 }
11222 ]
11223 },
11224 {
11225 "type": "SEQ",
11226 "members": [
11227 {
11228 "type": "SYMBOL",
11229 "name": "virtual"
11230 },
11231 {
11232 "type": "CHOICE",
11233 "members": [
11234 {
11235 "type": "SYMBOL",
11236 "name": "access_specifier"
11237 },
11238 {
11239 "type": "BLANK"
11240 }
11241 ]
11242 }
11243 ]
11244 }
11245 ]
11246 },
11247 {
11248 "type": "BLANK"
11249 }
11250 ]
11251 },
11252 {
11253 "type": "SYMBOL",
11254 "name": "_class_name"
11255 },
11256 {
11257 "type": "CHOICE",
11258 "members": [
11259 {
11260 "type": "STRING",
11261 "value": "..."
11262 },
11263 {
11264 "type": "BLANK"
11265 }
11266 ]
11267 }
11268 ]
11269 },
11270 {
11271 "type": "REPEAT",
11272 "content": {
11273 "type": "SEQ",
11274 "members": [
11275 {
11276 "type": "STRING",
11277 "value": ","
11278 },
11279 {
11280 "type": "SEQ",
11281 "members": [
11282 {
11283 "type": "REPEAT",
11284 "content": {
11285 "type": "SYMBOL",
11286 "name": "attribute_declaration"
11287 }
11288 },
11289 {
11290 "type": "CHOICE",
11291 "members": [
11292 {
11293 "type": "CHOICE",
11294 "members": [
11295 {
11296 "type": "SYMBOL",
11297 "name": "access_specifier"
11298 },
11299 {
11300 "type": "SEQ",
11301 "members": [
11302 {
11303 "type": "SYMBOL",
11304 "name": "access_specifier"
11305 },
11306 {
11307 "type": "CHOICE",
11308 "members": [
11309 {
11310 "type": "SYMBOL",
11311 "name": "virtual"
11312 },
11313 {
11314 "type": "BLANK"
11315 }
11316 ]
11317 }
11318 ]
11319 },
11320 {
11321 "type": "SEQ",
11322 "members": [
11323 {
11324 "type": "SYMBOL",
11325 "name": "virtual"
11326 },
11327 {
11328 "type": "CHOICE",
11329 "members": [
11330 {
11331 "type": "SYMBOL",
11332 "name": "access_specifier"
11333 },
11334 {
11335 "type": "BLANK"
11336 }
11337 ]
11338 }
11339 ]
11340 }
11341 ]
11342 },
11343 {
11344 "type": "BLANK"
11345 }
11346 ]
11347 },
11348 {
11349 "type": "SYMBOL",
11350 "name": "_class_name"
11351 },
11352 {
11353 "type": "CHOICE",
11354 "members": [
11355 {
11356 "type": "STRING",
11357 "value": "..."
11358 },
11359 {
11360 "type": "BLANK"
11361 }
11362 ]
11363 }
11364 ]
11365 }
11366 ]
11367 }
11368 }
11369 ]
11370 }
11371 ]
11372 },
11373 "_enum_base_clause": {
11374 "type": "PREC_LEFT",
11375 "value": 0,
11376 "content": {
11377 "type": "SEQ",
11378 "members": [
11379 {
11380 "type": "STRING",
11381 "value": ":"
11382 },
11383 {
11384 "type": "FIELD",
11385 "name": "base",
11386 "content": {
11387 "type": "CHOICE",
11388 "members": [
11389 {
11390 "type": "ALIAS",
11391 "content": {
11392 "type": "SYMBOL",
11393 "name": "qualified_type_identifier"
11394 },
11395 "named": true,
11396 "value": "qualified_identifier"
11397 },
11398 {
11399 "type": "SYMBOL",
11400 "name": "_type_identifier"
11401 },
11402 {
11403 "type": "SYMBOL",
11404 "name": "primitive_type"
11405 },
11406 {
11407 "type": "SYMBOL",
11408 "name": "sized_type_specifier"
11409 }
11410 ]
11411 }
11412 }
11413 ]
11414 }
11415 },
11416 "dependent_type": {
11417 "type": "PREC_DYNAMIC",
11418 "value": -1,
11419 "content": {
11420 "type": "PREC_RIGHT",
11421 "value": 0,
11422 "content": {
11423 "type": "SEQ",
11424 "members": [
11425 {
11426 "type": "STRING",
11427 "value": "typename"
11428 },
11429 {
11430 "type": "SYMBOL",
11431 "name": "_type_specifier"
11432 }
11433 ]
11434 }
11435 }
11436 },
11437 "template_declaration": {
11438 "type": "SEQ",
11439 "members": [
11440 {
11441 "type": "STRING",
11442 "value": "template"
11443 },
11444 {
11445 "type": "FIELD",
11446 "name": "parameters",
11447 "content": {
11448 "type": "SYMBOL",
11449 "name": "template_parameter_list"
11450 }
11451 },
11452 {
11453 "type": "CHOICE",
11454 "members": [
11455 {
11456 "type": "SYMBOL",
11457 "name": "requires_clause"
11458 },
11459 {
11460 "type": "BLANK"
11461 }
11462 ]
11463 },
11464 {
11465 "type": "CHOICE",
11466 "members": [
11467 {
11468 "type": "SYMBOL",
11469 "name": "_empty_declaration"
11470 },
11471 {
11472 "type": "SYMBOL",
11473 "name": "alias_declaration"
11474 },
11475 {
11476 "type": "SYMBOL",
11477 "name": "declaration"
11478 },
11479 {
11480 "type": "SYMBOL",
11481 "name": "template_declaration"
11482 },
11483 {
11484 "type": "SYMBOL",
11485 "name": "function_definition"
11486 },
11487 {
11488 "type": "SYMBOL",
11489 "name": "concept_definition"
11490 },
11491 {
11492 "type": "SYMBOL",
11493 "name": "friend_declaration"
11494 },
11495 {
11496 "type": "ALIAS",
11497 "content": {
11498 "type": "SYMBOL",
11499 "name": "constructor_or_destructor_declaration"
11500 },
11501 "named": true,
11502 "value": "declaration"
11503 },
11504 {
11505 "type": "ALIAS",
11506 "content": {
11507 "type": "SYMBOL",
11508 "name": "constructor_or_destructor_definition"
11509 },
11510 "named": true,
11511 "value": "function_definition"
11512 },
11513 {
11514 "type": "ALIAS",
11515 "content": {
11516 "type": "SYMBOL",
11517 "name": "operator_cast_declaration"
11518 },
11519 "named": true,
11520 "value": "declaration"
11521 },
11522 {
11523 "type": "ALIAS",
11524 "content": {
11525 "type": "SYMBOL",
11526 "name": "operator_cast_definition"
11527 },
11528 "named": true,
11529 "value": "function_definition"
11530 }
11531 ]
11532 }
11533 ]
11534 },
11535 "template_instantiation": {
11536 "type": "SEQ",
11537 "members": [
11538 {
11539 "type": "STRING",
11540 "value": "template"
11541 },
11542 {
11543 "type": "CHOICE",
11544 "members": [
11545 {
11546 "type": "SYMBOL",
11547 "name": "_declaration_specifiers"
11548 },
11549 {
11550 "type": "BLANK"
11551 }
11552 ]
11553 },
11554 {
11555 "type": "FIELD",
11556 "name": "declarator",
11557 "content": {
11558 "type": "SYMBOL",
11559 "name": "_declarator"
11560 }
11561 },
11562 {
11563 "type": "STRING",
11564 "value": ";"
11565 }
11566 ]
11567 },
11568 "template_parameter_list": {
11569 "type": "SEQ",
11570 "members": [
11571 {
11572 "type": "STRING",
11573 "value": "<"
11574 },
11575 {
11576 "type": "CHOICE",
11577 "members": [
11578 {
11579 "type": "SEQ",
11580 "members": [
11581 {
11582 "type": "CHOICE",
11583 "members": [
11584 {
11585 "type": "SYMBOL",
11586 "name": "parameter_declaration"
11587 },
11588 {
11589 "type": "SYMBOL",
11590 "name": "optional_parameter_declaration"
11591 },
11592 {
11593 "type": "SYMBOL",
11594 "name": "type_parameter_declaration"
11595 },
11596 {
11597 "type": "SYMBOL",
11598 "name": "variadic_parameter_declaration"
11599 },
11600 {
11601 "type": "SYMBOL",
11602 "name": "variadic_type_parameter_declaration"
11603 },
11604 {
11605 "type": "SYMBOL",
11606 "name": "optional_type_parameter_declaration"
11607 },
11608 {
11609 "type": "SYMBOL",
11610 "name": "template_template_parameter_declaration"
11611 }
11612 ]
11613 },
11614 {
11615 "type": "REPEAT",
11616 "content": {
11617 "type": "SEQ",
11618 "members": [
11619 {
11620 "type": "STRING",
11621 "value": ","
11622 },
11623 {
11624 "type": "CHOICE",
11625 "members": [
11626 {
11627 "type": "SYMBOL",
11628 "name": "parameter_declaration"
11629 },
11630 {
11631 "type": "SYMBOL",
11632 "name": "optional_parameter_declaration"
11633 },
11634 {
11635 "type": "SYMBOL",
11636 "name": "type_parameter_declaration"
11637 },
11638 {
11639 "type": "SYMBOL",
11640 "name": "variadic_parameter_declaration"
11641 },
11642 {
11643 "type": "SYMBOL",
11644 "name": "variadic_type_parameter_declaration"
11645 },
11646 {
11647 "type": "SYMBOL",
11648 "name": "optional_type_parameter_declaration"
11649 },
11650 {
11651 "type": "SYMBOL",
11652 "name": "template_template_parameter_declaration"
11653 }
11654 ]
11655 }
11656 ]
11657 }
11658 }
11659 ]
11660 },
11661 {
11662 "type": "BLANK"
11663 }
11664 ]
11665 },
11666 {
11667 "type": "ALIAS",
11668 "content": {
11669 "type": "TOKEN",
11670 "content": {
11671 "type": "PREC",
11672 "value": 1,
11673 "content": {
11674 "type": "STRING",
11675 "value": ">"
11676 }
11677 }
11678 },
11679 "named": false,
11680 "value": ">"
11681 }
11682 ]
11683 },
11684 "type_parameter_declaration": {
11685 "type": "PREC",
11686 "value": 1,
11687 "content": {
11688 "type": "SEQ",
11689 "members": [
11690 {
11691 "type": "CHOICE",
11692 "members": [
11693 {
11694 "type": "STRING",
11695 "value": "typename"
11696 },
11697 {
11698 "type": "STRING",
11699 "value": "class"
11700 }
11701 ]
11702 },
11703 {
11704 "type": "CHOICE",
11705 "members": [
11706 {
11707 "type": "SYMBOL",
11708 "name": "_type_identifier"
11709 },
11710 {
11711 "type": "BLANK"
11712 }
11713 ]
11714 }
11715 ]
11716 }
11717 },
11718 "variadic_type_parameter_declaration": {
11719 "type": "PREC",
11720 "value": 1,
11721 "content": {
11722 "type": "SEQ",
11723 "members": [
11724 {
11725 "type": "CHOICE",
11726 "members": [
11727 {
11728 "type": "STRING",
11729 "value": "typename"
11730 },
11731 {
11732 "type": "STRING",
11733 "value": "class"
11734 }
11735 ]
11736 },
11737 {
11738 "type": "STRING",
11739 "value": "..."
11740 },
11741 {
11742 "type": "CHOICE",
11743 "members": [
11744 {
11745 "type": "SYMBOL",
11746 "name": "_type_identifier"
11747 },
11748 {
11749 "type": "BLANK"
11750 }
11751 ]
11752 }
11753 ]
11754 }
11755 },
11756 "optional_type_parameter_declaration": {
11757 "type": "SEQ",
11758 "members": [
11759 {
11760 "type": "CHOICE",
11761 "members": [
11762 {
11763 "type": "STRING",
11764 "value": "typename"
11765 },
11766 {
11767 "type": "STRING",
11768 "value": "class"
11769 }
11770 ]
11771 },
11772 {
11773 "type": "CHOICE",
11774 "members": [
11775 {
11776 "type": "FIELD",
11777 "name": "name",
11778 "content": {
11779 "type": "SYMBOL",
11780 "name": "_type_identifier"
11781 }
11782 },
11783 {
11784 "type": "BLANK"
11785 }
11786 ]
11787 },
11788 {
11789 "type": "STRING",
11790 "value": "="
11791 },
11792 {
11793 "type": "FIELD",
11794 "name": "default_type",
11795 "content": {
11796 "type": "SYMBOL",
11797 "name": "_type_specifier"
11798 }
11799 }
11800 ]
11801 },
11802 "template_template_parameter_declaration": {
11803 "type": "SEQ",
11804 "members": [
11805 {
11806 "type": "STRING",
11807 "value": "template"
11808 },
11809 {
11810 "type": "FIELD",
11811 "name": "parameters",
11812 "content": {
11813 "type": "SYMBOL",
11814 "name": "template_parameter_list"
11815 }
11816 },
11817 {
11818 "type": "CHOICE",
11819 "members": [
11820 {
11821 "type": "SYMBOL",
11822 "name": "type_parameter_declaration"
11823 },
11824 {
11825 "type": "SYMBOL",
11826 "name": "variadic_type_parameter_declaration"
11827 },
11828 {
11829 "type": "SYMBOL",
11830 "name": "optional_type_parameter_declaration"
11831 }
11832 ]
11833 }
11834 ]
11835 },
11836 "optional_parameter_declaration": {
11837 "type": "SEQ",
11838 "members": [
11839 {
11840 "type": "SYMBOL",
11841 "name": "_declaration_specifiers"
11842 },
11843 {
11844 "type": "FIELD",
11845 "name": "declarator",
11846 "content": {
11847 "type": "CHOICE",
11848 "members": [
11849 {
11850 "type": "CHOICE",
11851 "members": [
11852 {
11853 "type": "SYMBOL",
11854 "name": "_declarator"
11855 },
11856 {
11857 "type": "SYMBOL",
11858 "name": "abstract_reference_declarator"
11859 }
11860 ]
11861 },
11862 {
11863 "type": "BLANK"
11864 }
11865 ]
11866 }
11867 },
11868 {
11869 "type": "STRING",
11870 "value": "="
11871 },
11872 {
11873 "type": "FIELD",
11874 "name": "default_value",
11875 "content": {
11876 "type": "SYMBOL",
11877 "name": "_expression"
11878 }
11879 }
11880 ]
11881 },
11882 "variadic_parameter_declaration": {
11883 "type": "SEQ",
11884 "members": [
11885 {
11886 "type": "SYMBOL",
11887 "name": "_declaration_specifiers"
11888 },
11889 {
11890 "type": "FIELD",
11891 "name": "declarator",
11892 "content": {
11893 "type": "CHOICE",
11894 "members": [
11895 {
11896 "type": "SYMBOL",
11897 "name": "variadic_declarator"
11898 },
11899 {
11900 "type": "ALIAS",
11901 "content": {
11902 "type": "SYMBOL",
11903 "name": "variadic_reference_declarator"
11904 },
11905 "named": true,
11906 "value": "reference_declarator"
11907 }
11908 ]
11909 }
11910 }
11911 ]
11912 },
11913 "variadic_declarator": {
11914 "type": "SEQ",
11915 "members": [
11916 {
11917 "type": "STRING",
11918 "value": "..."
11919 },
11920 {
11921 "type": "CHOICE",
11922 "members": [
11923 {
11924 "type": "SYMBOL",
11925 "name": "identifier"
11926 },
11927 {
11928 "type": "BLANK"
11929 }
11930 ]
11931 }
11932 ]
11933 },
11934 "variadic_reference_declarator": {
11935 "type": "SEQ",
11936 "members": [
11937 {
11938 "type": "CHOICE",
11939 "members": [
11940 {
11941 "type": "STRING",
11942 "value": "&&"
11943 },
11944 {
11945 "type": "STRING",
11946 "value": "&"
11947 }
11948 ]
11949 },
11950 {
11951 "type": "SYMBOL",
11952 "name": "variadic_declarator"
11953 }
11954 ]
11955 },
11956 "operator_cast": {
11957 "type": "PREC_RIGHT",
11958 "value": 1,
11959 "content": {
11960 "type": "SEQ",
11961 "members": [
11962 {
11963 "type": "STRING",
11964 "value": "operator"
11965 },
11966 {
11967 "type": "SYMBOL",
11968 "name": "_declaration_specifiers"
11969 },
11970 {
11971 "type": "FIELD",
11972 "name": "declarator",
11973 "content": {
11974 "type": "SYMBOL",
11975 "name": "_abstract_declarator"
11976 }
11977 }
11978 ]
11979 }
11980 },
11981 "field_initializer_list": {
11982 "type": "SEQ",
11983 "members": [
11984 {
11985 "type": "STRING",
11986 "value": ":"
11987 },
11988 {
11989 "type": "SEQ",
11990 "members": [
11991 {
11992 "type": "SYMBOL",
11993 "name": "field_initializer"
11994 },
11995 {
11996 "type": "REPEAT",
11997 "content": {
11998 "type": "SEQ",
11999 "members": [
12000 {
12001 "type": "STRING",
12002 "value": ","
12003 },
12004 {
12005 "type": "SYMBOL",
12006 "name": "field_initializer"
12007 }
12008 ]
12009 }
12010 }
12011 ]
12012 }
12013 ]
12014 },
12015 "field_initializer": {
12016 "type": "PREC",
12017 "value": 1,
12018 "content": {
12019 "type": "SEQ",
12020 "members": [
12021 {
12022 "type": "CHOICE",
12023 "members": [
12024 {
12025 "type": "SYMBOL",
12026 "name": "_field_identifier"
12027 },
12028 {
12029 "type": "SYMBOL",
12030 "name": "template_method"
12031 },
12032 {
12033 "type": "ALIAS",
12034 "content": {
12035 "type": "SYMBOL",
12036 "name": "qualified_field_identifier"
12037 },
12038 "named": true,
12039 "value": "qualified_identifier"
12040 }
12041 ]
12042 },
12043 {
12044 "type": "CHOICE",
12045 "members": [
12046 {
12047 "type": "SYMBOL",
12048 "name": "initializer_list"
12049 },
12050 {
12051 "type": "SYMBOL",
12052 "name": "argument_list"
12053 }
12054 ]
12055 },
12056 {
12057 "type": "CHOICE",
12058 "members": [
12059 {
12060 "type": "STRING",
12061 "value": "..."
12062 },
12063 {
12064 "type": "BLANK"
12065 }
12066 ]
12067 }
12068 ]
12069 }
12070 },
12071 "inline_method_definition": {
12072 "type": "SEQ",
12073 "members": [
12074 {
12075 "type": "SYMBOL",
12076 "name": "_declaration_specifiers"
12077 },
12078 {
12079 "type": "FIELD",
12080 "name": "declarator",
12081 "content": {
12082 "type": "SYMBOL",
12083 "name": "_field_declarator"
12084 }
12085 },
12086 {
12087 "type": "CHOICE",
12088 "members": [
12089 {
12090 "type": "FIELD",
12091 "name": "body",
12092 "content": {
12093 "type": "CHOICE",
12094 "members": [
12095 {
12096 "type": "SYMBOL",
12097 "name": "compound_statement"
12098 },
12099 {
12100 "type": "SYMBOL",
12101 "name": "try_statement"
12102 }
12103 ]
12104 }
12105 },
12106 {
12107 "type": "SYMBOL",
12108 "name": "default_method_clause"
12109 },
12110 {
12111 "type": "SYMBOL",
12112 "name": "delete_method_clause"
12113 },
12114 {
12115 "type": "SYMBOL",
12116 "name": "pure_virtual_clause"
12117 }
12118 ]
12119 }
12120 ]
12121 },
12122 "_constructor_specifiers": {
12123 "type": "CHOICE",
12124 "members": [
12125 {
12126 "type": "SYMBOL",
12127 "name": "_declaration_modifiers"
12128 },
12129 {
12130 "type": "SYMBOL",
12131 "name": "explicit_function_specifier"
12132 }
12133 ]
12134 },
12135 "operator_cast_definition": {
12136 "type": "SEQ",
12137 "members": [
12138 {
12139 "type": "REPEAT",
12140 "content": {
12141 "type": "SYMBOL",
12142 "name": "_constructor_specifiers"
12143 }
12144 },
12145 {
12146 "type": "FIELD",
12147 "name": "declarator",
12148 "content": {
12149 "type": "CHOICE",
12150 "members": [
12151 {
12152 "type": "SYMBOL",
12153 "name": "operator_cast"
12154 },
12155 {
12156 "type": "ALIAS",
12157 "content": {
12158 "type": "SYMBOL",
12159 "name": "qualified_operator_cast_identifier"
12160 },
12161 "named": true,
12162 "value": "qualified_identifier"
12163 }
12164 ]
12165 }
12166 },
12167 {
12168 "type": "FIELD",
12169 "name": "body",
12170 "content": {
12171 "type": "CHOICE",
12172 "members": [
12173 {
12174 "type": "SYMBOL",
12175 "name": "compound_statement"
12176 },
12177 {
12178 "type": "SYMBOL",
12179 "name": "try_statement"
12180 }
12181 ]
12182 }
12183 }
12184 ]
12185 },
12186 "operator_cast_declaration": {
12187 "type": "PREC",
12188 "value": 1,
12189 "content": {
12190 "type": "SEQ",
12191 "members": [
12192 {
12193 "type": "REPEAT",
12194 "content": {
12195 "type": "SYMBOL",
12196 "name": "_constructor_specifiers"
12197 }
12198 },
12199 {
12200 "type": "FIELD",
12201 "name": "declarator",
12202 "content": {
12203 "type": "CHOICE",
12204 "members": [
12205 {
12206 "type": "SYMBOL",
12207 "name": "operator_cast"
12208 },
12209 {
12210 "type": "ALIAS",
12211 "content": {
12212 "type": "SYMBOL",
12213 "name": "qualified_operator_cast_identifier"
12214 },
12215 "named": true,
12216 "value": "qualified_identifier"
12217 }
12218 ]
12219 }
12220 },
12221 {
12222 "type": "CHOICE",
12223 "members": [
12224 {
12225 "type": "SEQ",
12226 "members": [
12227 {
12228 "type": "STRING",
12229 "value": "="
12230 },
12231 {
12232 "type": "FIELD",
12233 "name": "default_value",
12234 "content": {
12235 "type": "SYMBOL",
12236 "name": "_expression"
12237 }
12238 }
12239 ]
12240 },
12241 {
12242 "type": "BLANK"
12243 }
12244 ]
12245 },
12246 {
12247 "type": "STRING",
12248 "value": ";"
12249 }
12250 ]
12251 }
12252 },
12253 "constructor_try_statement": {
12254 "type": "SEQ",
12255 "members": [
12256 {
12257 "type": "STRING",
12258 "value": "try"
12259 },
12260 {
12261 "type": "CHOICE",
12262 "members": [
12263 {
12264 "type": "SYMBOL",
12265 "name": "field_initializer_list"
12266 },
12267 {
12268 "type": "BLANK"
12269 }
12270 ]
12271 },
12272 {
12273 "type": "FIELD",
12274 "name": "body",
12275 "content": {
12276 "type": "SYMBOL",
12277 "name": "compound_statement"
12278 }
12279 },
12280 {
12281 "type": "REPEAT1",
12282 "content": {
12283 "type": "SYMBOL",
12284 "name": "catch_clause"
12285 }
12286 }
12287 ]
12288 },
12289 "constructor_or_destructor_definition": {
12290 "type": "SEQ",
12291 "members": [
12292 {
12293 "type": "REPEAT",
12294 "content": {
12295 "type": "SYMBOL",
12296 "name": "_constructor_specifiers"
12297 }
12298 },
12299 {
12300 "type": "FIELD",
12301 "name": "declarator",
12302 "content": {
12303 "type": "SYMBOL",
12304 "name": "function_declarator"
12305 }
12306 },
12307 {
12308 "type": "CHOICE",
12309 "members": [
12310 {
12311 "type": "SEQ",
12312 "members": [
12313 {
12314 "type": "CHOICE",
12315 "members": [
12316 {
12317 "type": "SYMBOL",
12318 "name": "field_initializer_list"
12319 },
12320 {
12321 "type": "BLANK"
12322 }
12323 ]
12324 },
12325 {
12326 "type": "FIELD",
12327 "name": "body",
12328 "content": {
12329 "type": "SYMBOL",
12330 "name": "compound_statement"
12331 }
12332 }
12333 ]
12334 },
12335 {
12336 "type": "ALIAS",
12337 "content": {
12338 "type": "SYMBOL",
12339 "name": "constructor_try_statement"
12340 },
12341 "named": true,
12342 "value": "try_statement"
12343 },
12344 {
12345 "type": "SYMBOL",
12346 "name": "default_method_clause"
12347 },
12348 {
12349 "type": "SYMBOL",
12350 "name": "delete_method_clause"
12351 },
12352 {
12353 "type": "SYMBOL",
12354 "name": "pure_virtual_clause"
12355 }
12356 ]
12357 }
12358 ]
12359 },
12360 "constructor_or_destructor_declaration": {
12361 "type": "SEQ",
12362 "members": [
12363 {
12364 "type": "REPEAT",
12365 "content": {
12366 "type": "SYMBOL",
12367 "name": "_constructor_specifiers"
12368 }
12369 },
12370 {
12371 "type": "FIELD",
12372 "name": "declarator",
12373 "content": {
12374 "type": "SYMBOL",
12375 "name": "function_declarator"
12376 }
12377 },
12378 {
12379 "type": "STRING",
12380 "value": ";"
12381 }
12382 ]
12383 },
12384 "default_method_clause": {
12385 "type": "SEQ",
12386 "members": [
12387 {
12388 "type": "STRING",
12389 "value": "="
12390 },
12391 {
12392 "type": "STRING",
12393 "value": "default"
12394 },
12395 {
12396 "type": "STRING",
12397 "value": ";"
12398 }
12399 ]
12400 },
12401 "delete_method_clause": {
12402 "type": "SEQ",
12403 "members": [
12404 {
12405 "type": "STRING",
12406 "value": "="
12407 },
12408 {
12409 "type": "STRING",
12410 "value": "delete"
12411 },
12412 {
12413 "type": "STRING",
12414 "value": ";"
12415 }
12416 ]
12417 },
12418 "pure_virtual_clause": {
12419 "type": "SEQ",
12420 "members": [
12421 {
12422 "type": "STRING",
12423 "value": "="
12424 },
12425 {
12426 "type": "STRING",
12427 "value": "0"
12428 },
12429 {
12430 "type": "STRING",
12431 "value": ";"
12432 }
12433 ]
12434 },
12435 "friend_declaration": {
12436 "type": "SEQ",
12437 "members": [
12438 {
12439 "type": "STRING",
12440 "value": "friend"
12441 },
12442 {
12443 "type": "CHOICE",
12444 "members": [
12445 {
12446 "type": "SYMBOL",
12447 "name": "declaration"
12448 },
12449 {
12450 "type": "SYMBOL",
12451 "name": "function_definition"
12452 },
12453 {
12454 "type": "SEQ",
12455 "members": [
12456 {
12457 "type": "CHOICE",
12458 "members": [
12459 {
12460 "type": "CHOICE",
12461 "members": [
12462 {
12463 "type": "STRING",
12464 "value": "class"
12465 },
12466 {
12467 "type": "STRING",
12468 "value": "struct"
12469 },
12470 {
12471 "type": "STRING",
12472 "value": "union"
12473 }
12474 ]
12475 },
12476 {
12477 "type": "BLANK"
12478 }
12479 ]
12480 },
12481 {
12482 "type": "SYMBOL",
12483 "name": "_class_name"
12484 },
12485 {
12486 "type": "STRING",
12487 "value": ";"
12488 }
12489 ]
12490 }
12491 ]
12492 }
12493 ]
12494 },
12495 "access_specifier": {
12496 "type": "CHOICE",
12497 "members": [
12498 {
12499 "type": "STRING",
12500 "value": "public"
12501 },
12502 {
12503 "type": "STRING",
12504 "value": "private"
12505 },
12506 {
12507 "type": "STRING",
12508 "value": "protected"
12509 }
12510 ]
12511 },
12512 "reference_declarator": {
12513 "type": "PREC_DYNAMIC",
12514 "value": 1,
12515 "content": {
12516 "type": "PREC_RIGHT",
12517 "value": 0,
12518 "content": {
12519 "type": "SEQ",
12520 "members": [
12521 {
12522 "type": "CHOICE",
12523 "members": [
12524 {
12525 "type": "STRING",
12526 "value": "&"
12527 },
12528 {
12529 "type": "STRING",
12530 "value": "&&"
12531 }
12532 ]
12533 },
12534 {
12535 "type": "SYMBOL",
12536 "name": "_declarator"
12537 }
12538 ]
12539 }
12540 }
12541 },
12542 "reference_field_declarator": {
12543 "type": "PREC_DYNAMIC",
12544 "value": 1,
12545 "content": {
12546 "type": "PREC_RIGHT",
12547 "value": 0,
12548 "content": {
12549 "type": "SEQ",
12550 "members": [
12551 {
12552 "type": "CHOICE",
12553 "members": [
12554 {
12555 "type": "STRING",
12556 "value": "&"
12557 },
12558 {
12559 "type": "STRING",
12560 "value": "&&"
12561 }
12562 ]
12563 },
12564 {
12565 "type": "SYMBOL",
12566 "name": "_field_declarator"
12567 }
12568 ]
12569 }
12570 }
12571 },
12572 "reference_type_declarator": {
12573 "type": "PREC_DYNAMIC",
12574 "value": 1,
12575 "content": {
12576 "type": "PREC_RIGHT",
12577 "value": 0,
12578 "content": {
12579 "type": "SEQ",
12580 "members": [
12581 {
12582 "type": "CHOICE",
12583 "members": [
12584 {
12585 "type": "STRING",
12586 "value": "&"
12587 },
12588 {
12589 "type": "STRING",
12590 "value": "&&"
12591 }
12592 ]
12593 },
12594 {
12595 "type": "SYMBOL",
12596 "name": "_type_declarator"
12597 }
12598 ]
12599 }
12600 }
12601 },
12602 "abstract_reference_declarator": {
12603 "type": "PREC_RIGHT",
12604 "value": 0,
12605 "content": {
12606 "type": "SEQ",
12607 "members": [
12608 {
12609 "type": "CHOICE",
12610 "members": [
12611 {
12612 "type": "STRING",
12613 "value": "&"
12614 },
12615 {
12616 "type": "STRING",
12617 "value": "&&"
12618 }
12619 ]
12620 },
12621 {
12622 "type": "CHOICE",
12623 "members": [
12624 {
12625 "type": "SYMBOL",
12626 "name": "_abstract_declarator"
12627 },
12628 {
12629 "type": "BLANK"
12630 }
12631 ]
12632 }
12633 ]
12634 }
12635 },
12636 "structured_binding_declarator": {
12637 "type": "PREC_DYNAMIC",
12638 "value": -1,
12639 "content": {
12640 "type": "SEQ",
12641 "members": [
12642 {
12643 "type": "STRING",
12644 "value": "["
12645 },
12646 {
12647 "type": "SEQ",
12648 "members": [
12649 {
12650 "type": "SYMBOL",
12651 "name": "identifier"
12652 },
12653 {
12654 "type": "REPEAT",
12655 "content": {
12656 "type": "SEQ",
12657 "members": [
12658 {
12659 "type": "STRING",
12660 "value": ","
12661 },
12662 {
12663 "type": "SYMBOL",
12664 "name": "identifier"
12665 }
12666 ]
12667 }
12668 }
12669 ]
12670 },
12671 {
12672 "type": "STRING",
12673 "value": "]"
12674 }
12675 ]
12676 }
12677 },
12678 "ref_qualifier": {
12679 "type": "CHOICE",
12680 "members": [
12681 {
12682 "type": "STRING",
12683 "value": "&"
12684 },
12685 {
12686 "type": "STRING",
12687 "value": "&&"
12688 }
12689 ]
12690 },
12691 "_function_declarator_seq": {
12692 "type": "SEQ",
12693 "members": [
12694 {
12695 "type": "FIELD",
12696 "name": "parameters",
12697 "content": {
12698 "type": "SYMBOL",
12699 "name": "parameter_list"
12700 }
12701 },
12702 {
12703 "type": "CHOICE",
12704 "members": [
12705 {
12706 "type": "SYMBOL",
12707 "name": "_function_attributes_start"
12708 },
12709 {
12710 "type": "BLANK"
12711 }
12712 ]
12713 },
12714 {
12715 "type": "CHOICE",
12716 "members": [
12717 {
12718 "type": "SYMBOL",
12719 "name": "ref_qualifier"
12720 },
12721 {
12722 "type": "BLANK"
12723 }
12724 ]
12725 },
12726 {
12727 "type": "CHOICE",
12728 "members": [
12729 {
12730 "type": "SYMBOL",
12731 "name": "_function_exception_specification"
12732 },
12733 {
12734 "type": "BLANK"
12735 }
12736 ]
12737 },
12738 {
12739 "type": "CHOICE",
12740 "members": [
12741 {
12742 "type": "SYMBOL",
12743 "name": "_function_attributes_end"
12744 },
12745 {
12746 "type": "BLANK"
12747 }
12748 ]
12749 },
12750 {
12751 "type": "CHOICE",
12752 "members": [
12753 {
12754 "type": "SYMBOL",
12755 "name": "trailing_return_type"
12756 },
12757 {
12758 "type": "BLANK"
12759 }
12760 ]
12761 },
12762 {
12763 "type": "CHOICE",
12764 "members": [
12765 {
12766 "type": "SYMBOL",
12767 "name": "_function_postfix"
12768 },
12769 {
12770 "type": "BLANK"
12771 }
12772 ]
12773 }
12774 ]
12775 },
12776 "_function_attributes_start": {
12777 "type": "PREC",
12778 "value": 1,
12779 "content": {
12780 "type": "CHOICE",
12781 "members": [
12782 {
12783 "type": "SEQ",
12784 "members": [
12785 {
12786 "type": "REPEAT1",
12787 "content": {
12788 "type": "SYMBOL",
12789 "name": "attribute_specifier"
12790 }
12791 },
12792 {
12793 "type": "REPEAT",
12794 "content": {
12795 "type": "SYMBOL",
12796 "name": "type_qualifier"
12797 }
12798 }
12799 ]
12800 },
12801 {
12802 "type": "SEQ",
12803 "members": [
12804 {
12805 "type": "REPEAT",
12806 "content": {
12807 "type": "SYMBOL",
12808 "name": "attribute_specifier"
12809 }
12810 },
12811 {
12812 "type": "REPEAT1",
12813 "content": {
12814 "type": "SYMBOL",
12815 "name": "type_qualifier"
12816 }
12817 }
12818 ]
12819 }
12820 ]
12821 }
12822 },
12823 "_function_exception_specification": {
12824 "type": "CHOICE",
12825 "members": [
12826 {
12827 "type": "SYMBOL",
12828 "name": "noexcept"
12829 },
12830 {
12831 "type": "SYMBOL",
12832 "name": "throw_specifier"
12833 }
12834 ]
12835 },
12836 "_function_attributes_end": {
12837 "type": "PREC_RIGHT",
12838 "value": 0,
12839 "content": {
12840 "type": "SEQ",
12841 "members": [
12842 {
12843 "type": "CHOICE",
12844 "members": [
12845 {
12846 "type": "SYMBOL",
12847 "name": "gnu_asm_expression"
12848 },
12849 {
12850 "type": "BLANK"
12851 }
12852 ]
12853 },
12854 {
12855 "type": "CHOICE",
12856 "members": [
12857 {
12858 "type": "SEQ",
12859 "members": [
12860 {
12861 "type": "REPEAT1",
12862 "content": {
12863 "type": "SYMBOL",
12864 "name": "attribute_specifier"
12865 }
12866 },
12867 {
12868 "type": "REPEAT",
12869 "content": {
12870 "type": "SYMBOL",
12871 "name": "attribute_declaration"
12872 }
12873 }
12874 ]
12875 },
12876 {
12877 "type": "SEQ",
12878 "members": [
12879 {
12880 "type": "REPEAT",
12881 "content": {
12882 "type": "SYMBOL",
12883 "name": "attribute_specifier"
12884 }
12885 },
12886 {
12887 "type": "REPEAT1",
12888 "content": {
12889 "type": "SYMBOL",
12890 "name": "attribute_declaration"
12891 }
12892 }
12893 ]
12894 }
12895 ]
12896 }
12897 ]
12898 }
12899 },
12900 "_function_postfix": {
12901 "type": "PREC_RIGHT",
12902 "value": 0,
12903 "content": {
12904 "type": "CHOICE",
12905 "members": [
12906 {
12907 "type": "REPEAT1",
12908 "content": {
12909 "type": "SYMBOL",
12910 "name": "virtual_specifier"
12911 }
12912 },
12913 {
12914 "type": "SYMBOL",
12915 "name": "requires_clause"
12916 }
12917 ]
12918 }
12919 },
12920 "trailing_return_type": {
12921 "type": "SEQ",
12922 "members": [
12923 {
12924 "type": "STRING",
12925 "value": "->"
12926 },
12927 {
12928 "type": "SYMBOL",
12929 "name": "type_descriptor"
12930 }
12931 ]
12932 },
12933 "noexcept": {
12934 "type": "PREC_RIGHT",
12935 "value": 0,
12936 "content": {
12937 "type": "SEQ",
12938 "members": [
12939 {
12940 "type": "STRING",
12941 "value": "noexcept"
12942 },
12943 {
12944 "type": "CHOICE",
12945 "members": [
12946 {
12947 "type": "SEQ",
12948 "members": [
12949 {
12950 "type": "STRING",
12951 "value": "("
12952 },
12953 {
12954 "type": "CHOICE",
12955 "members": [
12956 {
12957 "type": "SYMBOL",
12958 "name": "_expression"
12959 },
12960 {
12961 "type": "BLANK"
12962 }
12963 ]
12964 },
12965 {
12966 "type": "STRING",
12967 "value": ")"
12968 }
12969 ]
12970 },
12971 {
12972 "type": "BLANK"
12973 }
12974 ]
12975 }
12976 ]
12977 }
12978 },
12979 "throw_specifier": {
12980 "type": "SEQ",
12981 "members": [
12982 {
12983 "type": "STRING",
12984 "value": "throw"
12985 },
12986 {
12987 "type": "SEQ",
12988 "members": [
12989 {
12990 "type": "STRING",
12991 "value": "("
12992 },
12993 {
12994 "type": "CHOICE",
12995 "members": [
12996 {
12997 "type": "SEQ",
12998 "members": [
12999 {
13000 "type": "SYMBOL",
13001 "name": "type_descriptor"
13002 },
13003 {
13004 "type": "REPEAT",
13005 "content": {
13006 "type": "SEQ",
13007 "members": [
13008 {
13009 "type": "STRING",
13010 "value": ","
13011 },
13012 {
13013 "type": "SYMBOL",
13014 "name": "type_descriptor"
13015 }
13016 ]
13017 }
13018 }
13019 ]
13020 },
13021 {
13022 "type": "BLANK"
13023 }
13024 ]
13025 },
13026 {
13027 "type": "STRING",
13028 "value": ")"
13029 }
13030 ]
13031 }
13032 ]
13033 },
13034 "template_type": {
13035 "type": "SEQ",
13036 "members": [
13037 {
13038 "type": "FIELD",
13039 "name": "name",
13040 "content": {
13041 "type": "SYMBOL",
13042 "name": "_type_identifier"
13043 }
13044 },
13045 {
13046 "type": "FIELD",
13047 "name": "arguments",
13048 "content": {
13049 "type": "SYMBOL",
13050 "name": "template_argument_list"
13051 }
13052 }
13053 ]
13054 },
13055 "template_method": {
13056 "type": "SEQ",
13057 "members": [
13058 {
13059 "type": "FIELD",
13060 "name": "name",
13061 "content": {
13062 "type": "CHOICE",
13063 "members": [
13064 {
13065 "type": "SYMBOL",
13066 "name": "_field_identifier"
13067 },
13068 {
13069 "type": "SYMBOL",
13070 "name": "operator_name"
13071 }
13072 ]
13073 }
13074 },
13075 {
13076 "type": "FIELD",
13077 "name": "arguments",
13078 "content": {
13079 "type": "SYMBOL",
13080 "name": "template_argument_list"
13081 }
13082 }
13083 ]
13084 },
13085 "template_function": {
13086 "type": "SEQ",
13087 "members": [
13088 {
13089 "type": "FIELD",
13090 "name": "name",
13091 "content": {
13092 "type": "SYMBOL",
13093 "name": "identifier"
13094 }
13095 },
13096 {
13097 "type": "FIELD",
13098 "name": "arguments",
13099 "content": {
13100 "type": "SYMBOL",
13101 "name": "template_argument_list"
13102 }
13103 }
13104 ]
13105 },
13106 "template_argument_list": {
13107 "type": "SEQ",
13108 "members": [
13109 {
13110 "type": "STRING",
13111 "value": "<"
13112 },
13113 {
13114 "type": "CHOICE",
13115 "members": [
13116 {
13117 "type": "SEQ",
13118 "members": [
13119 {
13120 "type": "CHOICE",
13121 "members": [
13122 {
13123 "type": "PREC_DYNAMIC",
13124 "value": 3,
13125 "content": {
13126 "type": "SYMBOL",
13127 "name": "type_descriptor"
13128 }
13129 },
13130 {
13131 "type": "PREC_DYNAMIC",
13132 "value": 2,
13133 "content": {
13134 "type": "ALIAS",
13135 "content": {
13136 "type": "SYMBOL",
13137 "name": "type_parameter_pack_expansion"
13138 },
13139 "named": true,
13140 "value": "parameter_pack_expansion"
13141 }
13142 },
13143 {
13144 "type": "PREC_DYNAMIC",
13145 "value": 1,
13146 "content": {
13147 "type": "SYMBOL",
13148 "name": "_expression"
13149 }
13150 }
13151 ]
13152 },
13153 {
13154 "type": "REPEAT",
13155 "content": {
13156 "type": "SEQ",
13157 "members": [
13158 {
13159 "type": "STRING",
13160 "value": ","
13161 },
13162 {
13163 "type": "CHOICE",
13164 "members": [
13165 {
13166 "type": "PREC_DYNAMIC",
13167 "value": 3,
13168 "content": {
13169 "type": "SYMBOL",
13170 "name": "type_descriptor"
13171 }
13172 },
13173 {
13174 "type": "PREC_DYNAMIC",
13175 "value": 2,
13176 "content": {
13177 "type": "ALIAS",
13178 "content": {
13179 "type": "SYMBOL",
13180 "name": "type_parameter_pack_expansion"
13181 },
13182 "named": true,
13183 "value": "parameter_pack_expansion"
13184 }
13185 },
13186 {
13187 "type": "PREC_DYNAMIC",
13188 "value": 1,
13189 "content": {
13190 "type": "SYMBOL",
13191 "name": "_expression"
13192 }
13193 }
13194 ]
13195 }
13196 ]
13197 }
13198 }
13199 ]
13200 },
13201 {
13202 "type": "BLANK"
13203 }
13204 ]
13205 },
13206 {
13207 "type": "ALIAS",
13208 "content": {
13209 "type": "TOKEN",
13210 "content": {
13211 "type": "PREC",
13212 "value": 1,
13213 "content": {
13214 "type": "STRING",
13215 "value": ">"
13216 }
13217 }
13218 },
13219 "named": false,
13220 "value": ">"
13221 }
13222 ]
13223 },
13224 "namespace_definition": {
13225 "type": "SEQ",
13226 "members": [
13227 {
13228 "type": "CHOICE",
13229 "members": [
13230 {
13231 "type": "STRING",
13232 "value": "inline"
13233 },
13234 {
13235 "type": "BLANK"
13236 }
13237 ]
13238 },
13239 {
13240 "type": "STRING",
13241 "value": "namespace"
13242 },
13243 {
13244 "type": "CHOICE",
13245 "members": [
13246 {
13247 "type": "SYMBOL",
13248 "name": "attribute_declaration"
13249 },
13250 {
13251 "type": "BLANK"
13252 }
13253 ]
13254 },
13255 {
13256 "type": "FIELD",
13257 "name": "name",
13258 "content": {
13259 "type": "CHOICE",
13260 "members": [
13261 {
13262 "type": "CHOICE",
13263 "members": [
13264 {
13265 "type": "SYMBOL",
13266 "name": "_namespace_identifier"
13267 },
13268 {
13269 "type": "SYMBOL",
13270 "name": "nested_namespace_specifier"
13271 }
13272 ]
13273 },
13274 {
13275 "type": "BLANK"
13276 }
13277 ]
13278 }
13279 },
13280 {
13281 "type": "FIELD",
13282 "name": "body",
13283 "content": {
13284 "type": "SYMBOL",
13285 "name": "declaration_list"
13286 }
13287 }
13288 ]
13289 },
13290 "namespace_alias_definition": {
13291 "type": "SEQ",
13292 "members": [
13293 {
13294 "type": "STRING",
13295 "value": "namespace"
13296 },
13297 {
13298 "type": "FIELD",
13299 "name": "name",
13300 "content": {
13301 "type": "SYMBOL",
13302 "name": "_namespace_identifier"
13303 }
13304 },
13305 {
13306 "type": "STRING",
13307 "value": "="
13308 },
13309 {
13310 "type": "CHOICE",
13311 "members": [
13312 {
13313 "type": "SYMBOL",
13314 "name": "_namespace_identifier"
13315 },
13316 {
13317 "type": "SYMBOL",
13318 "name": "nested_namespace_specifier"
13319 }
13320 ]
13321 },
13322 {
13323 "type": "STRING",
13324 "value": ";"
13325 }
13326 ]
13327 },
13328 "_namespace_specifier": {
13329 "type": "SEQ",
13330 "members": [
13331 {
13332 "type": "CHOICE",
13333 "members": [
13334 {
13335 "type": "STRING",
13336 "value": "inline"
13337 },
13338 {
13339 "type": "BLANK"
13340 }
13341 ]
13342 },
13343 {
13344 "type": "SYMBOL",
13345 "name": "_namespace_identifier"
13346 }
13347 ]
13348 },
13349 "nested_namespace_specifier": {
13350 "type": "PREC",
13351 "value": 1,
13352 "content": {
13353 "type": "SEQ",
13354 "members": [
13355 {
13356 "type": "CHOICE",
13357 "members": [
13358 {
13359 "type": "SYMBOL",
13360 "name": "_namespace_specifier"
13361 },
13362 {
13363 "type": "BLANK"
13364 }
13365 ]
13366 },
13367 {
13368 "type": "STRING",
13369 "value": "::"
13370 },
13371 {
13372 "type": "CHOICE",
13373 "members": [
13374 {
13375 "type": "SYMBOL",
13376 "name": "nested_namespace_specifier"
13377 },
13378 {
13379 "type": "SYMBOL",
13380 "name": "_namespace_specifier"
13381 }
13382 ]
13383 }
13384 ]
13385 }
13386 },
13387 "using_declaration": {
13388 "type": "SEQ",
13389 "members": [
13390 {
13391 "type": "STRING",
13392 "value": "using"
13393 },
13394 {
13395 "type": "CHOICE",
13396 "members": [
13397 {
13398 "type": "CHOICE",
13399 "members": [
13400 {
13401 "type": "STRING",
13402 "value": "namespace"
13403 },
13404 {
13405 "type": "STRING",
13406 "value": "enum"
13407 }
13408 ]
13409 },
13410 {
13411 "type": "BLANK"
13412 }
13413 ]
13414 },
13415 {
13416 "type": "CHOICE",
13417 "members": [
13418 {
13419 "type": "SYMBOL",
13420 "name": "identifier"
13421 },
13422 {
13423 "type": "SYMBOL",
13424 "name": "qualified_identifier"
13425 }
13426 ]
13427 },
13428 {
13429 "type": "STRING",
13430 "value": ";"
13431 }
13432 ]
13433 },
13434 "alias_declaration": {
13435 "type": "SEQ",
13436 "members": [
13437 {
13438 "type": "STRING",
13439 "value": "using"
13440 },
13441 {
13442 "type": "FIELD",
13443 "name": "name",
13444 "content": {
13445 "type": "SYMBOL",
13446 "name": "_type_identifier"
13447 }
13448 },
13449 {
13450 "type": "REPEAT",
13451 "content": {
13452 "type": "SYMBOL",
13453 "name": "attribute_declaration"
13454 }
13455 },
13456 {
13457 "type": "STRING",
13458 "value": "="
13459 },
13460 {
13461 "type": "FIELD",
13462 "name": "type",
13463 "content": {
13464 "type": "SYMBOL",
13465 "name": "type_descriptor"
13466 }
13467 },
13468 {
13469 "type": "STRING",
13470 "value": ";"
13471 }
13472 ]
13473 },
13474 "static_assert_declaration": {
13475 "type": "SEQ",
13476 "members": [
13477 {
13478 "type": "STRING",
13479 "value": "static_assert"
13480 },
13481 {
13482 "type": "STRING",
13483 "value": "("
13484 },
13485 {
13486 "type": "FIELD",
13487 "name": "condition",
13488 "content": {
13489 "type": "SYMBOL",
13490 "name": "_expression"
13491 }
13492 },
13493 {
13494 "type": "CHOICE",
13495 "members": [
13496 {
13497 "type": "SEQ",
13498 "members": [
13499 {
13500 "type": "STRING",
13501 "value": ","
13502 },
13503 {
13504 "type": "FIELD",
13505 "name": "message",
13506 "content": {
13507 "type": "CHOICE",
13508 "members": [
13509 {
13510 "type": "SYMBOL",
13511 "name": "string_literal"
13512 },
13513 {
13514 "type": "SYMBOL",
13515 "name": "raw_string_literal"
13516 },
13517 {
13518 "type": "SYMBOL",
13519 "name": "concatenated_string"
13520 }
13521 ]
13522 }
13523 }
13524 ]
13525 },
13526 {
13527 "type": "BLANK"
13528 }
13529 ]
13530 },
13531 {
13532 "type": "STRING",
13533 "value": ")"
13534 },
13535 {
13536 "type": "STRING",
13537 "value": ";"
13538 }
13539 ]
13540 },
13541 "concept_definition": {
13542 "type": "SEQ",
13543 "members": [
13544 {
13545 "type": "STRING",
13546 "value": "concept"
13547 },
13548 {
13549 "type": "FIELD",
13550 "name": "name",
13551 "content": {
13552 "type": "SYMBOL",
13553 "name": "identifier"
13554 }
13555 },
13556 {
13557 "type": "STRING",
13558 "value": "="
13559 },
13560 {
13561 "type": "SYMBOL",
13562 "name": "_expression"
13563 },
13564 {
13565 "type": "STRING",
13566 "value": ";"
13567 }
13568 ]
13569 },
13570 "for_range_loop": {
13571 "type": "SEQ",
13572 "members": [
13573 {
13574 "type": "STRING",
13575 "value": "for"
13576 },
13577 {
13578 "type": "STRING",
13579 "value": "("
13580 },
13581 {
13582 "type": "SYMBOL",
13583 "name": "_for_range_loop_body"
13584 },
13585 {
13586 "type": "STRING",
13587 "value": ")"
13588 },
13589 {
13590 "type": "FIELD",
13591 "name": "body",
13592 "content": {
13593 "type": "SYMBOL",
13594 "name": "_statement"
13595 }
13596 }
13597 ]
13598 },
13599 "_for_range_loop_body": {
13600 "type": "SEQ",
13601 "members": [
13602 {
13603 "type": "FIELD",
13604 "name": "initializer",
13605 "content": {
13606 "type": "CHOICE",
13607 "members": [
13608 {
13609 "type": "SYMBOL",
13610 "name": "init_statement"
13611 },
13612 {
13613 "type": "BLANK"
13614 }
13615 ]
13616 }
13617 },
13618 {
13619 "type": "SYMBOL",
13620 "name": "_declaration_specifiers"
13621 },
13622 {
13623 "type": "FIELD",
13624 "name": "declarator",
13625 "content": {
13626 "type": "SYMBOL",
13627 "name": "_declarator"
13628 }
13629 },
13630 {
13631 "type": "STRING",
13632 "value": ":"
13633 },
13634 {
13635 "type": "FIELD",
13636 "name": "right",
13637 "content": {
13638 "type": "CHOICE",
13639 "members": [
13640 {
13641 "type": "SYMBOL",
13642 "name": "_expression"
13643 },
13644 {
13645 "type": "SYMBOL",
13646 "name": "initializer_list"
13647 }
13648 ]
13649 }
13650 }
13651 ]
13652 },
13653 "init_statement": {
13654 "type": "CHOICE",
13655 "members": [
13656 {
13657 "type": "SYMBOL",
13658 "name": "alias_declaration"
13659 },
13660 {
13661 "type": "SYMBOL",
13662 "name": "type_definition"
13663 },
13664 {
13665 "type": "SYMBOL",
13666 "name": "declaration"
13667 },
13668 {
13669 "type": "SYMBOL",
13670 "name": "expression_statement"
13671 }
13672 ]
13673 },
13674 "condition_clause": {
13675 "type": "SEQ",
13676 "members": [
13677 {
13678 "type": "STRING",
13679 "value": "("
13680 },
13681 {
13682 "type": "FIELD",
13683 "name": "initializer",
13684 "content": {
13685 "type": "CHOICE",
13686 "members": [
13687 {
13688 "type": "SYMBOL",
13689 "name": "init_statement"
13690 },
13691 {
13692 "type": "BLANK"
13693 }
13694 ]
13695 }
13696 },
13697 {
13698 "type": "FIELD",
13699 "name": "value",
13700 "content": {
13701 "type": "CHOICE",
13702 "members": [
13703 {
13704 "type": "SYMBOL",
13705 "name": "_expression"
13706 },
13707 {
13708 "type": "SYMBOL",
13709 "name": "comma_expression"
13710 },
13711 {
13712 "type": "ALIAS",
13713 "content": {
13714 "type": "SYMBOL",
13715 "name": "condition_declaration"
13716 },
13717 "named": true,
13718 "value": "declaration"
13719 }
13720 ]
13721 }
13722 },
13723 {
13724 "type": "STRING",
13725 "value": ")"
13726 }
13727 ]
13728 },
13729 "condition_declaration": {
13730 "type": "SEQ",
13731 "members": [
13732 {
13733 "type": "SYMBOL",
13734 "name": "_declaration_specifiers"
13735 },
13736 {
13737 "type": "FIELD",
13738 "name": "declarator",
13739 "content": {
13740 "type": "SYMBOL",
13741 "name": "_declarator"
13742 }
13743 },
13744 {
13745 "type": "CHOICE",
13746 "members": [
13747 {
13748 "type": "SEQ",
13749 "members": [
13750 {
13751 "type": "STRING",
13752 "value": "="
13753 },
13754 {
13755 "type": "FIELD",
13756 "name": "value",
13757 "content": {
13758 "type": "SYMBOL",
13759 "name": "_expression"
13760 }
13761 }
13762 ]
13763 },
13764 {
13765 "type": "FIELD",
13766 "name": "value",
13767 "content": {
13768 "type": "SYMBOL",
13769 "name": "initializer_list"
13770 }
13771 }
13772 ]
13773 }
13774 ]
13775 },
13776 "co_return_statement": {
13777 "type": "SEQ",
13778 "members": [
13779 {
13780 "type": "STRING",
13781 "value": "co_return"
13782 },
13783 {
13784 "type": "CHOICE",
13785 "members": [
13786 {
13787 "type": "SYMBOL",
13788 "name": "_expression"
13789 },
13790 {
13791 "type": "BLANK"
13792 }
13793 ]
13794 },
13795 {
13796 "type": "STRING",
13797 "value": ";"
13798 }
13799 ]
13800 },
13801 "co_yield_statement": {
13802 "type": "SEQ",
13803 "members": [
13804 {
13805 "type": "STRING",
13806 "value": "co_yield"
13807 },
13808 {
13809 "type": "SYMBOL",
13810 "name": "_expression"
13811 },
13812 {
13813 "type": "STRING",
13814 "value": ";"
13815 }
13816 ]
13817 },
13818 "throw_statement": {
13819 "type": "SEQ",
13820 "members": [
13821 {
13822 "type": "STRING",
13823 "value": "throw"
13824 },
13825 {
13826 "type": "CHOICE",
13827 "members": [
13828 {
13829 "type": "SYMBOL",
13830 "name": "_expression"
13831 },
13832 {
13833 "type": "BLANK"
13834 }
13835 ]
13836 },
13837 {
13838 "type": "STRING",
13839 "value": ";"
13840 }
13841 ]
13842 },
13843 "try_statement": {
13844 "type": "SEQ",
13845 "members": [
13846 {
13847 "type": "STRING",
13848 "value": "try"
13849 },
13850 {
13851 "type": "FIELD",
13852 "name": "body",
13853 "content": {
13854 "type": "SYMBOL",
13855 "name": "compound_statement"
13856 }
13857 },
13858 {
13859 "type": "REPEAT1",
13860 "content": {
13861 "type": "SYMBOL",
13862 "name": "catch_clause"
13863 }
13864 }
13865 ]
13866 },
13867 "catch_clause": {
13868 "type": "SEQ",
13869 "members": [
13870 {
13871 "type": "STRING",
13872 "value": "catch"
13873 },
13874 {
13875 "type": "FIELD",
13876 "name": "parameters",
13877 "content": {
13878 "type": "SYMBOL",
13879 "name": "parameter_list"
13880 }
13881 },
13882 {
13883 "type": "FIELD",
13884 "name": "body",
13885 "content": {
13886 "type": "SYMBOL",
13887 "name": "compound_statement"
13888 }
13889 }
13890 ]
13891 },
13892 "raw_string_literal": {
13893 "type": "SEQ",
13894 "members": [
13895 {
13896 "type": "CHOICE",
13897 "members": [
13898 {
13899 "type": "STRING",
13900 "value": "R\""
13901 },
13902 {
13903 "type": "STRING",
13904 "value": "LR\""
13905 },
13906 {
13907 "type": "STRING",
13908 "value": "uR\""
13909 },
13910 {
13911 "type": "STRING",
13912 "value": "UR\""
13913 },
13914 {
13915 "type": "STRING",
13916 "value": "u8R\""
13917 }
13918 ]
13919 },
13920 {
13921 "type": "CHOICE",
13922 "members": [
13923 {
13924 "type": "SEQ",
13925 "members": [
13926 {
13927 "type": "FIELD",
13928 "name": "delimiter",
13929 "content": {
13930 "type": "SYMBOL",
13931 "name": "raw_string_delimiter"
13932 }
13933 },
13934 {
13935 "type": "STRING",
13936 "value": "("
13937 },
13938 {
13939 "type": "SYMBOL",
13940 "name": "raw_string_content"
13941 },
13942 {
13943 "type": "STRING",
13944 "value": ")"
13945 },
13946 {
13947 "type": "SYMBOL",
13948 "name": "raw_string_delimiter"
13949 }
13950 ]
13951 },
13952 {
13953 "type": "SEQ",
13954 "members": [
13955 {
13956 "type": "STRING",
13957 "value": "("
13958 },
13959 {
13960 "type": "SYMBOL",
13961 "name": "raw_string_content"
13962 },
13963 {
13964 "type": "STRING",
13965 "value": ")"
13966 }
13967 ]
13968 }
13969 ]
13970 },
13971 {
13972 "type": "STRING",
13973 "value": "\""
13974 }
13975 ]
13976 },
13977 "subscript_argument_list": {
13978 "type": "SEQ",
13979 "members": [
13980 {
13981 "type": "STRING",
13982 "value": "["
13983 },
13984 {
13985 "type": "CHOICE",
13986 "members": [
13987 {
13988 "type": "SEQ",
13989 "members": [
13990 {
13991 "type": "CHOICE",
13992 "members": [
13993 {
13994 "type": "SYMBOL",
13995 "name": "_expression"
13996 },
13997 {
13998 "type": "SYMBOL",
13999 "name": "initializer_list"
14000 }
14001 ]
14002 },
14003 {
14004 "type": "REPEAT",
14005 "content": {
14006 "type": "SEQ",
14007 "members": [
14008 {
14009 "type": "STRING",
14010 "value": ","
14011 },
14012 {
14013 "type": "CHOICE",
14014 "members": [
14015 {
14016 "type": "SYMBOL",
14017 "name": "_expression"
14018 },
14019 {
14020 "type": "SYMBOL",
14021 "name": "initializer_list"
14022 }
14023 ]
14024 }
14025 ]
14026 }
14027 }
14028 ]
14029 },
14030 {
14031 "type": "BLANK"
14032 }
14033 ]
14034 },
14035 {
14036 "type": "STRING",
14037 "value": "]"
14038 }
14039 ]
14040 },
14041 "co_await_expression": {
14042 "type": "PREC_LEFT",
14043 "value": 14,
14044 "content": {
14045 "type": "SEQ",
14046 "members": [
14047 {
14048 "type": "FIELD",
14049 "name": "operator",
14050 "content": {
14051 "type": "STRING",
14052 "value": "co_await"
14053 }
14054 },
14055 {
14056 "type": "FIELD",
14057 "name": "argument",
14058 "content": {
14059 "type": "SYMBOL",
14060 "name": "_expression"
14061 }
14062 }
14063 ]
14064 }
14065 },
14066 "new_expression": {
14067 "type": "PREC_RIGHT",
14068 "value": 16,
14069 "content": {
14070 "type": "SEQ",
14071 "members": [
14072 {
14073 "type": "CHOICE",
14074 "members": [
14075 {
14076 "type": "STRING",
14077 "value": "::"
14078 },
14079 {
14080 "type": "BLANK"
14081 }
14082 ]
14083 },
14084 {
14085 "type": "STRING",
14086 "value": "new"
14087 },
14088 {
14089 "type": "FIELD",
14090 "name": "placement",
14091 "content": {
14092 "type": "CHOICE",
14093 "members": [
14094 {
14095 "type": "SYMBOL",
14096 "name": "argument_list"
14097 },
14098 {
14099 "type": "BLANK"
14100 }
14101 ]
14102 }
14103 },
14104 {
14105 "type": "FIELD",
14106 "name": "type",
14107 "content": {
14108 "type": "SYMBOL",
14109 "name": "_type_specifier"
14110 }
14111 },
14112 {
14113 "type": "FIELD",
14114 "name": "declarator",
14115 "content": {
14116 "type": "CHOICE",
14117 "members": [
14118 {
14119 "type": "SYMBOL",
14120 "name": "new_declarator"
14121 },
14122 {
14123 "type": "BLANK"
14124 }
14125 ]
14126 }
14127 },
14128 {
14129 "type": "FIELD",
14130 "name": "arguments",
14131 "content": {
14132 "type": "CHOICE",
14133 "members": [
14134 {
14135 "type": "CHOICE",
14136 "members": [
14137 {
14138 "type": "SYMBOL",
14139 "name": "argument_list"
14140 },
14141 {
14142 "type": "SYMBOL",
14143 "name": "initializer_list"
14144 }
14145 ]
14146 },
14147 {
14148 "type": "BLANK"
14149 }
14150 ]
14151 }
14152 }
14153 ]
14154 }
14155 },
14156 "new_declarator": {
14157 "type": "PREC_RIGHT",
14158 "value": 0,
14159 "content": {
14160 "type": "SEQ",
14161 "members": [
14162 {
14163 "type": "STRING",
14164 "value": "["
14165 },
14166 {
14167 "type": "FIELD",
14168 "name": "length",
14169 "content": {
14170 "type": "SYMBOL",
14171 "name": "_expression"
14172 }
14173 },
14174 {
14175 "type": "STRING",
14176 "value": "]"
14177 },
14178 {
14179 "type": "CHOICE",
14180 "members": [
14181 {
14182 "type": "SYMBOL",
14183 "name": "new_declarator"
14184 },
14185 {
14186 "type": "BLANK"
14187 }
14188 ]
14189 }
14190 ]
14191 }
14192 },
14193 "delete_expression": {
14194 "type": "SEQ",
14195 "members": [
14196 {
14197 "type": "CHOICE",
14198 "members": [
14199 {
14200 "type": "STRING",
14201 "value": "::"
14202 },
14203 {
14204 "type": "BLANK"
14205 }
14206 ]
14207 },
14208 {
14209 "type": "STRING",
14210 "value": "delete"
14211 },
14212 {
14213 "type": "CHOICE",
14214 "members": [
14215 {
14216 "type": "SEQ",
14217 "members": [
14218 {
14219 "type": "STRING",
14220 "value": "["
14221 },
14222 {
14223 "type": "STRING",
14224 "value": "]"
14225 }
14226 ]
14227 },
14228 {
14229 "type": "BLANK"
14230 }
14231 ]
14232 },
14233 {
14234 "type": "SYMBOL",
14235 "name": "_expression"
14236 }
14237 ]
14238 },
14239 "type_requirement": {
14240 "type": "SEQ",
14241 "members": [
14242 {
14243 "type": "STRING",
14244 "value": "typename"
14245 },
14246 {
14247 "type": "SYMBOL",
14248 "name": "_class_name"
14249 }
14250 ]
14251 },
14252 "compound_requirement": {
14253 "type": "SEQ",
14254 "members": [
14255 {
14256 "type": "STRING",
14257 "value": "{"
14258 },
14259 {
14260 "type": "SYMBOL",
14261 "name": "_expression"
14262 },
14263 {
14264 "type": "STRING",
14265 "value": "}"
14266 },
14267 {
14268 "type": "CHOICE",
14269 "members": [
14270 {
14271 "type": "STRING",
14272 "value": "noexcept"
14273 },
14274 {
14275 "type": "BLANK"
14276 }
14277 ]
14278 },
14279 {
14280 "type": "CHOICE",
14281 "members": [
14282 {
14283 "type": "SYMBOL",
14284 "name": "trailing_return_type"
14285 },
14286 {
14287 "type": "BLANK"
14288 }
14289 ]
14290 },
14291 {
14292 "type": "STRING",
14293 "value": ";"
14294 }
14295 ]
14296 },
14297 "_requirement": {
14298 "type": "CHOICE",
14299 "members": [
14300 {
14301 "type": "ALIAS",
14302 "content": {
14303 "type": "SYMBOL",
14304 "name": "expression_statement"
14305 },
14306 "named": true,
14307 "value": "simple_requirement"
14308 },
14309 {
14310 "type": "SYMBOL",
14311 "name": "type_requirement"
14312 },
14313 {
14314 "type": "SYMBOL",
14315 "name": "compound_requirement"
14316 }
14317 ]
14318 },
14319 "requirement_seq": {
14320 "type": "SEQ",
14321 "members": [
14322 {
14323 "type": "STRING",
14324 "value": "{"
14325 },
14326 {
14327 "type": "REPEAT",
14328 "content": {
14329 "type": "SYMBOL",
14330 "name": "_requirement"
14331 }
14332 },
14333 {
14334 "type": "STRING",
14335 "value": "}"
14336 }
14337 ]
14338 },
14339 "constraint_conjunction": {
14340 "type": "PREC_LEFT",
14341 "value": 2,
14342 "content": {
14343 "type": "SEQ",
14344 "members": [
14345 {
14346 "type": "FIELD",
14347 "name": "left",
14348 "content": {
14349 "type": "SYMBOL",
14350 "name": "_requirement_clause_constraint"
14351 }
14352 },
14353 {
14354 "type": "FIELD",
14355 "name": "operator",
14356 "content": {
14357 "type": "CHOICE",
14358 "members": [
14359 {
14360 "type": "STRING",
14361 "value": "&&"
14362 },
14363 {
14364 "type": "STRING",
14365 "value": "and"
14366 }
14367 ]
14368 }
14369 },
14370 {
14371 "type": "FIELD",
14372 "name": "right",
14373 "content": {
14374 "type": "SYMBOL",
14375 "name": "_requirement_clause_constraint"
14376 }
14377 }
14378 ]
14379 }
14380 },
14381 "constraint_disjunction": {
14382 "type": "PREC_LEFT",
14383 "value": 1,
14384 "content": {
14385 "type": "SEQ",
14386 "members": [
14387 {
14388 "type": "FIELD",
14389 "name": "left",
14390 "content": {
14391 "type": "SYMBOL",
14392 "name": "_requirement_clause_constraint"
14393 }
14394 },
14395 {
14396 "type": "FIELD",
14397 "name": "operator",
14398 "content": {
14399 "type": "CHOICE",
14400 "members": [
14401 {
14402 "type": "STRING",
14403 "value": "||"
14404 },
14405 {
14406 "type": "STRING",
14407 "value": "or"
14408 }
14409 ]
14410 }
14411 },
14412 {
14413 "type": "FIELD",
14414 "name": "right",
14415 "content": {
14416 "type": "SYMBOL",
14417 "name": "_requirement_clause_constraint"
14418 }
14419 }
14420 ]
14421 }
14422 },
14423 "_requirement_clause_constraint": {
14424 "type": "CHOICE",
14425 "members": [
14426 {
14427 "type": "SYMBOL",
14428 "name": "true"
14429 },
14430 {
14431 "type": "SYMBOL",
14432 "name": "false"
14433 },
14434 {
14435 "type": "SYMBOL",
14436 "name": "_class_name"
14437 },
14438 {
14439 "type": "SYMBOL",
14440 "name": "fold_expression"
14441 },
14442 {
14443 "type": "SYMBOL",
14444 "name": "lambda_expression"
14445 },
14446 {
14447 "type": "SYMBOL",
14448 "name": "requires_expression"
14449 },
14450 {
14451 "type": "SEQ",
14452 "members": [
14453 {
14454 "type": "STRING",
14455 "value": "("
14456 },
14457 {
14458 "type": "SYMBOL",
14459 "name": "_expression"
14460 },
14461 {
14462 "type": "STRING",
14463 "value": ")"
14464 }
14465 ]
14466 },
14467 {
14468 "type": "SYMBOL",
14469 "name": "constraint_conjunction"
14470 },
14471 {
14472 "type": "SYMBOL",
14473 "name": "constraint_disjunction"
14474 }
14475 ]
14476 },
14477 "requires_clause": {
14478 "type": "SEQ",
14479 "members": [
14480 {
14481 "type": "STRING",
14482 "value": "requires"
14483 },
14484 {
14485 "type": "FIELD",
14486 "name": "constraint",
14487 "content": {
14488 "type": "SYMBOL",
14489 "name": "_requirement_clause_constraint"
14490 }
14491 }
14492 ]
14493 },
14494 "requires_parameter_list": {
14495 "type": "SEQ",
14496 "members": [
14497 {
14498 "type": "STRING",
14499 "value": "("
14500 },
14501 {
14502 "type": "CHOICE",
14503 "members": [
14504 {
14505 "type": "SEQ",
14506 "members": [
14507 {
14508 "type": "CHOICE",
14509 "members": [
14510 {
14511 "type": "SYMBOL",
14512 "name": "parameter_declaration"
14513 },
14514 {
14515 "type": "SYMBOL",
14516 "name": "optional_parameter_declaration"
14517 },
14518 {
14519 "type": "SYMBOL",
14520 "name": "variadic_parameter_declaration"
14521 }
14522 ]
14523 },
14524 {
14525 "type": "REPEAT",
14526 "content": {
14527 "type": "SEQ",
14528 "members": [
14529 {
14530 "type": "STRING",
14531 "value": ","
14532 },
14533 {
14534 "type": "CHOICE",
14535 "members": [
14536 {
14537 "type": "SYMBOL",
14538 "name": "parameter_declaration"
14539 },
14540 {
14541 "type": "SYMBOL",
14542 "name": "optional_parameter_declaration"
14543 },
14544 {
14545 "type": "SYMBOL",
14546 "name": "variadic_parameter_declaration"
14547 }
14548 ]
14549 }
14550 ]
14551 }
14552 }
14553 ]
14554 },
14555 {
14556 "type": "BLANK"
14557 }
14558 ]
14559 },
14560 {
14561 "type": "STRING",
14562 "value": ")"
14563 }
14564 ]
14565 },
14566 "requires_expression": {
14567 "type": "SEQ",
14568 "members": [
14569 {
14570 "type": "STRING",
14571 "value": "requires"
14572 },
14573 {
14574 "type": "FIELD",
14575 "name": "parameters",
14576 "content": {
14577 "type": "CHOICE",
14578 "members": [
14579 {
14580 "type": "ALIAS",
14581 "content": {
14582 "type": "SYMBOL",
14583 "name": "requires_parameter_list"
14584 },
14585 "named": true,
14586 "value": "parameter_list"
14587 },
14588 {
14589 "type": "BLANK"
14590 }
14591 ]
14592 }
14593 },
14594 {
14595 "type": "FIELD",
14596 "name": "requirements",
14597 "content": {
14598 "type": "SYMBOL",
14599 "name": "requirement_seq"
14600 }
14601 }
14602 ]
14603 },
14604 "lambda_expression": {
14605 "type": "SEQ",
14606 "members": [
14607 {
14608 "type": "FIELD",
14609 "name": "captures",
14610 "content": {
14611 "type": "SYMBOL",
14612 "name": "lambda_capture_specifier"
14613 }
14614 },
14615 {
14616 "type": "CHOICE",
14617 "members": [
14618 {
14619 "type": "SEQ",
14620 "members": [
14621 {
14622 "type": "FIELD",
14623 "name": "template_parameters",
14624 "content": {
14625 "type": "SYMBOL",
14626 "name": "template_parameter_list"
14627 }
14628 },
14629 {
14630 "type": "CHOICE",
14631 "members": [
14632 {
14633 "type": "FIELD",
14634 "name": "constraint",
14635 "content": {
14636 "type": "SYMBOL",
14637 "name": "requires_clause"
14638 }
14639 },
14640 {
14641 "type": "BLANK"
14642 }
14643 ]
14644 }
14645 ]
14646 },
14647 {
14648 "type": "BLANK"
14649 }
14650 ]
14651 },
14652 {
14653 "type": "CHOICE",
14654 "members": [
14655 {
14656 "type": "FIELD",
14657 "name": "declarator",
14658 "content": {
14659 "type": "SYMBOL",
14660 "name": "abstract_function_declarator"
14661 }
14662 },
14663 {
14664 "type": "BLANK"
14665 }
14666 ]
14667 },
14668 {
14669 "type": "FIELD",
14670 "name": "body",
14671 "content": {
14672 "type": "SYMBOL",
14673 "name": "compound_statement"
14674 }
14675 }
14676 ]
14677 },
14678 "lambda_capture_specifier": {
14679 "type": "PREC",
14680 "value": 18,
14681 "content": {
14682 "type": "SEQ",
14683 "members": [
14684 {
14685 "type": "STRING",
14686 "value": "["
14687 },
14688 {
14689 "type": "CHOICE",
14690 "members": [
14691 {
14692 "type": "SYMBOL",
14693 "name": "lambda_default_capture"
14694 },
14695 {
14696 "type": "CHOICE",
14697 "members": [
14698 {
14699 "type": "SEQ",
14700 "members": [
14701 {
14702 "type": "SYMBOL",
14703 "name": "_expression"
14704 },
14705 {
14706 "type": "REPEAT",
14707 "content": {
14708 "type": "SEQ",
14709 "members": [
14710 {
14711 "type": "STRING",
14712 "value": ","
14713 },
14714 {
14715 "type": "SYMBOL",
14716 "name": "_expression"
14717 }
14718 ]
14719 }
14720 }
14721 ]
14722 },
14723 {
14724 "type": "BLANK"
14725 }
14726 ]
14727 },
14728 {
14729 "type": "SEQ",
14730 "members": [
14731 {
14732 "type": "SYMBOL",
14733 "name": "lambda_default_capture"
14734 },
14735 {
14736 "type": "STRING",
14737 "value": ","
14738 },
14739 {
14740 "type": "SEQ",
14741 "members": [
14742 {
14743 "type": "SYMBOL",
14744 "name": "_expression"
14745 },
14746 {
14747 "type": "REPEAT",
14748 "content": {
14749 "type": "SEQ",
14750 "members": [
14751 {
14752 "type": "STRING",
14753 "value": ","
14754 },
14755 {
14756 "type": "SYMBOL",
14757 "name": "_expression"
14758 }
14759 ]
14760 }
14761 }
14762 ]
14763 }
14764 ]
14765 }
14766 ]
14767 },
14768 {
14769 "type": "STRING",
14770 "value": "]"
14771 }
14772 ]
14773 }
14774 },
14775 "lambda_default_capture": {
14776 "type": "CHOICE",
14777 "members": [
14778 {
14779 "type": "STRING",
14780 "value": "="
14781 },
14782 {
14783 "type": "STRING",
14784 "value": "&"
14785 }
14786 ]
14787 },
14788 "_fold_operator": {
14789 "type": "CHOICE",
14790 "members": [
14791 {
14792 "type": "STRING",
14793 "value": "+"
14794 },
14795 {
14796 "type": "STRING",
14797 "value": "-"
14798 },
14799 {
14800 "type": "STRING",
14801 "value": "*"
14802 },
14803 {
14804 "type": "STRING",
14805 "value": "/"
14806 },
14807 {
14808 "type": "STRING",
14809 "value": "%"
14810 },
14811 {
14812 "type": "STRING",
14813 "value": "^"
14814 },
14815 {
14816 "type": "STRING",
14817 "value": "&"
14818 },
14819 {
14820 "type": "STRING",
14821 "value": "|"
14822 },
14823 {
14824 "type": "STRING",
14825 "value": "="
14826 },
14827 {
14828 "type": "STRING",
14829 "value": "<"
14830 },
14831 {
14832 "type": "STRING",
14833 "value": ">"
14834 },
14835 {
14836 "type": "STRING",
14837 "value": "<<"
14838 },
14839 {
14840 "type": "STRING",
14841 "value": ">>"
14842 },
14843 {
14844 "type": "STRING",
14845 "value": "+="
14846 },
14847 {
14848 "type": "STRING",
14849 "value": "-="
14850 },
14851 {
14852 "type": "STRING",
14853 "value": "*="
14854 },
14855 {
14856 "type": "STRING",
14857 "value": "/="
14858 },
14859 {
14860 "type": "STRING",
14861 "value": "%="
14862 },
14863 {
14864 "type": "STRING",
14865 "value": "^="
14866 },
14867 {
14868 "type": "STRING",
14869 "value": "&="
14870 },
14871 {
14872 "type": "STRING",
14873 "value": "|="
14874 },
14875 {
14876 "type": "STRING",
14877 "value": ">>="
14878 },
14879 {
14880 "type": "STRING",
14881 "value": "<<="
14882 },
14883 {
14884 "type": "STRING",
14885 "value": "=="
14886 },
14887 {
14888 "type": "STRING",
14889 "value": "!="
14890 },
14891 {
14892 "type": "STRING",
14893 "value": "<="
14894 },
14895 {
14896 "type": "STRING",
14897 "value": ">="
14898 },
14899 {
14900 "type": "STRING",
14901 "value": "&&"
14902 },
14903 {
14904 "type": "STRING",
14905 "value": "||"
14906 },
14907 {
14908 "type": "STRING",
14909 "value": ","
14910 },
14911 {
14912 "type": "STRING",
14913 "value": ".*"
14914 },
14915 {
14916 "type": "STRING",
14917 "value": "->*"
14918 },
14919 {
14920 "type": "STRING",
14921 "value": "or"
14922 },
14923 {
14924 "type": "STRING",
14925 "value": "and"
14926 },
14927 {
14928 "type": "STRING",
14929 "value": "bitor"
14930 },
14931 {
14932 "type": "STRING",
14933 "value": "xor"
14934 },
14935 {
14936 "type": "STRING",
14937 "value": "bitand"
14938 },
14939 {
14940 "type": "STRING",
14941 "value": "not_eq"
14942 }
14943 ]
14944 },
14945 "_binary_fold_operator": {
14946 "type": "CHOICE",
14947 "members": [
14948 {
14949 "type": "SEQ",
14950 "members": [
14951 {
14952 "type": "FIELD",
14953 "name": "operator",
14954 "content": {
14955 "type": "STRING",
14956 "value": "+"
14957 }
14958 },
14959 {
14960 "type": "STRING",
14961 "value": "..."
14962 },
14963 {
14964 "type": "STRING",
14965 "value": "+"
14966 }
14967 ]
14968 },
14969 {
14970 "type": "SEQ",
14971 "members": [
14972 {
14973 "type": "FIELD",
14974 "name": "operator",
14975 "content": {
14976 "type": "STRING",
14977 "value": "-"
14978 }
14979 },
14980 {
14981 "type": "STRING",
14982 "value": "..."
14983 },
14984 {
14985 "type": "STRING",
14986 "value": "-"
14987 }
14988 ]
14989 },
14990 {
14991 "type": "SEQ",
14992 "members": [
14993 {
14994 "type": "FIELD",
14995 "name": "operator",
14996 "content": {
14997 "type": "STRING",
14998 "value": "*"
14999 }
15000 },
15001 {
15002 "type": "STRING",
15003 "value": "..."
15004 },
15005 {
15006 "type": "STRING",
15007 "value": "*"
15008 }
15009 ]
15010 },
15011 {
15012 "type": "SEQ",
15013 "members": [
15014 {
15015 "type": "FIELD",
15016 "name": "operator",
15017 "content": {
15018 "type": "STRING",
15019 "value": "/"
15020 }
15021 },
15022 {
15023 "type": "STRING",
15024 "value": "..."
15025 },
15026 {
15027 "type": "STRING",
15028 "value": "/"
15029 }
15030 ]
15031 },
15032 {
15033 "type": "SEQ",
15034 "members": [
15035 {
15036 "type": "FIELD",
15037 "name": "operator",
15038 "content": {
15039 "type": "STRING",
15040 "value": "%"
15041 }
15042 },
15043 {
15044 "type": "STRING",
15045 "value": "..."
15046 },
15047 {
15048 "type": "STRING",
15049 "value": "%"
15050 }
15051 ]
15052 },
15053 {
15054 "type": "SEQ",
15055 "members": [
15056 {
15057 "type": "FIELD",
15058 "name": "operator",
15059 "content": {
15060 "type": "STRING",
15061 "value": "^"
15062 }
15063 },
15064 {
15065 "type": "STRING",
15066 "value": "..."
15067 },
15068 {
15069 "type": "STRING",
15070 "value": "^"
15071 }
15072 ]
15073 },
15074 {
15075 "type": "SEQ",
15076 "members": [
15077 {
15078 "type": "FIELD",
15079 "name": "operator",
15080 "content": {
15081 "type": "STRING",
15082 "value": "&"
15083 }
15084 },
15085 {
15086 "type": "STRING",
15087 "value": "..."
15088 },
15089 {
15090 "type": "STRING",
15091 "value": "&"
15092 }
15093 ]
15094 },
15095 {
15096 "type": "SEQ",
15097 "members": [
15098 {
15099 "type": "FIELD",
15100 "name": "operator",
15101 "content": {
15102 "type": "STRING",
15103 "value": "|"
15104 }
15105 },
15106 {
15107 "type": "STRING",
15108 "value": "..."
15109 },
15110 {
15111 "type": "STRING",
15112 "value": "|"
15113 }
15114 ]
15115 },
15116 {
15117 "type": "SEQ",
15118 "members": [
15119 {
15120 "type": "FIELD",
15121 "name": "operator",
15122 "content": {
15123 "type": "STRING",
15124 "value": "="
15125 }
15126 },
15127 {
15128 "type": "STRING",
15129 "value": "..."
15130 },
15131 {
15132 "type": "STRING",
15133 "value": "="
15134 }
15135 ]
15136 },
15137 {
15138 "type": "SEQ",
15139 "members": [
15140 {
15141 "type": "FIELD",
15142 "name": "operator",
15143 "content": {
15144 "type": "STRING",
15145 "value": "<"
15146 }
15147 },
15148 {
15149 "type": "STRING",
15150 "value": "..."
15151 },
15152 {
15153 "type": "STRING",
15154 "value": "<"
15155 }
15156 ]
15157 },
15158 {
15159 "type": "SEQ",
15160 "members": [
15161 {
15162 "type": "FIELD",
15163 "name": "operator",
15164 "content": {
15165 "type": "STRING",
15166 "value": ">"
15167 }
15168 },
15169 {
15170 "type": "STRING",
15171 "value": "..."
15172 },
15173 {
15174 "type": "STRING",
15175 "value": ">"
15176 }
15177 ]
15178 },
15179 {
15180 "type": "SEQ",
15181 "members": [
15182 {
15183 "type": "FIELD",
15184 "name": "operator",
15185 "content": {
15186 "type": "STRING",
15187 "value": "<<"
15188 }
15189 },
15190 {
15191 "type": "STRING",
15192 "value": "..."
15193 },
15194 {
15195 "type": "STRING",
15196 "value": "<<"
15197 }
15198 ]
15199 },
15200 {
15201 "type": "SEQ",
15202 "members": [
15203 {
15204 "type": "FIELD",
15205 "name": "operator",
15206 "content": {
15207 "type": "STRING",
15208 "value": ">>"
15209 }
15210 },
15211 {
15212 "type": "STRING",
15213 "value": "..."
15214 },
15215 {
15216 "type": "STRING",
15217 "value": ">>"
15218 }
15219 ]
15220 },
15221 {
15222 "type": "SEQ",
15223 "members": [
15224 {
15225 "type": "FIELD",
15226 "name": "operator",
15227 "content": {
15228 "type": "STRING",
15229 "value": "+="
15230 }
15231 },
15232 {
15233 "type": "STRING",
15234 "value": "..."
15235 },
15236 {
15237 "type": "STRING",
15238 "value": "+="
15239 }
15240 ]
15241 },
15242 {
15243 "type": "SEQ",
15244 "members": [
15245 {
15246 "type": "FIELD",
15247 "name": "operator",
15248 "content": {
15249 "type": "STRING",
15250 "value": "-="
15251 }
15252 },
15253 {
15254 "type": "STRING",
15255 "value": "..."
15256 },
15257 {
15258 "type": "STRING",
15259 "value": "-="
15260 }
15261 ]
15262 },
15263 {
15264 "type": "SEQ",
15265 "members": [
15266 {
15267 "type": "FIELD",
15268 "name": "operator",
15269 "content": {
15270 "type": "STRING",
15271 "value": "*="
15272 }
15273 },
15274 {
15275 "type": "STRING",
15276 "value": "..."
15277 },
15278 {
15279 "type": "STRING",
15280 "value": "*="
15281 }
15282 ]
15283 },
15284 {
15285 "type": "SEQ",
15286 "members": [
15287 {
15288 "type": "FIELD",
15289 "name": "operator",
15290 "content": {
15291 "type": "STRING",
15292 "value": "/="
15293 }
15294 },
15295 {
15296 "type": "STRING",
15297 "value": "..."
15298 },
15299 {
15300 "type": "STRING",
15301 "value": "/="
15302 }
15303 ]
15304 },
15305 {
15306 "type": "SEQ",
15307 "members": [
15308 {
15309 "type": "FIELD",
15310 "name": "operator",
15311 "content": {
15312 "type": "STRING",
15313 "value": "%="
15314 }
15315 },
15316 {
15317 "type": "STRING",
15318 "value": "..."
15319 },
15320 {
15321 "type": "STRING",
15322 "value": "%="
15323 }
15324 ]
15325 },
15326 {
15327 "type": "SEQ",
15328 "members": [
15329 {
15330 "type": "FIELD",
15331 "name": "operator",
15332 "content": {
15333 "type": "STRING",
15334 "value": "^="
15335 }
15336 },
15337 {
15338 "type": "STRING",
15339 "value": "..."
15340 },
15341 {
15342 "type": "STRING",
15343 "value": "^="
15344 }
15345 ]
15346 },
15347 {
15348 "type": "SEQ",
15349 "members": [
15350 {
15351 "type": "FIELD",
15352 "name": "operator",
15353 "content": {
15354 "type": "STRING",
15355 "value": "&="
15356 }
15357 },
15358 {
15359 "type": "STRING",
15360 "value": "..."
15361 },
15362 {
15363 "type": "STRING",
15364 "value": "&="
15365 }
15366 ]
15367 },
15368 {
15369 "type": "SEQ",
15370 "members": [
15371 {
15372 "type": "FIELD",
15373 "name": "operator",
15374 "content": {
15375 "type": "STRING",
15376 "value": "|="
15377 }
15378 },
15379 {
15380 "type": "STRING",
15381 "value": "..."
15382 },
15383 {
15384 "type": "STRING",
15385 "value": "|="
15386 }
15387 ]
15388 },
15389 {
15390 "type": "SEQ",
15391 "members": [
15392 {
15393 "type": "FIELD",
15394 "name": "operator",
15395 "content": {
15396 "type": "STRING",
15397 "value": ">>="
15398 }
15399 },
15400 {
15401 "type": "STRING",
15402 "value": "..."
15403 },
15404 {
15405 "type": "STRING",
15406 "value": ">>="
15407 }
15408 ]
15409 },
15410 {
15411 "type": "SEQ",
15412 "members": [
15413 {
15414 "type": "FIELD",
15415 "name": "operator",
15416 "content": {
15417 "type": "STRING",
15418 "value": "<<="
15419 }
15420 },
15421 {
15422 "type": "STRING",
15423 "value": "..."
15424 },
15425 {
15426 "type": "STRING",
15427 "value": "<<="
15428 }
15429 ]
15430 },
15431 {
15432 "type": "SEQ",
15433 "members": [
15434 {
15435 "type": "FIELD",
15436 "name": "operator",
15437 "content": {
15438 "type": "STRING",
15439 "value": "=="
15440 }
15441 },
15442 {
15443 "type": "STRING",
15444 "value": "..."
15445 },
15446 {
15447 "type": "STRING",
15448 "value": "=="
15449 }
15450 ]
15451 },
15452 {
15453 "type": "SEQ",
15454 "members": [
15455 {
15456 "type": "FIELD",
15457 "name": "operator",
15458 "content": {
15459 "type": "STRING",
15460 "value": "!="
15461 }
15462 },
15463 {
15464 "type": "STRING",
15465 "value": "..."
15466 },
15467 {
15468 "type": "STRING",
15469 "value": "!="
15470 }
15471 ]
15472 },
15473 {
15474 "type": "SEQ",
15475 "members": [
15476 {
15477 "type": "FIELD",
15478 "name": "operator",
15479 "content": {
15480 "type": "STRING",
15481 "value": "<="
15482 }
15483 },
15484 {
15485 "type": "STRING",
15486 "value": "..."
15487 },
15488 {
15489 "type": "STRING",
15490 "value": "<="
15491 }
15492 ]
15493 },
15494 {
15495 "type": "SEQ",
15496 "members": [
15497 {
15498 "type": "FIELD",
15499 "name": "operator",
15500 "content": {
15501 "type": "STRING",
15502 "value": ">="
15503 }
15504 },
15505 {
15506 "type": "STRING",
15507 "value": "..."
15508 },
15509 {
15510 "type": "STRING",
15511 "value": ">="
15512 }
15513 ]
15514 },
15515 {
15516 "type": "SEQ",
15517 "members": [
15518 {
15519 "type": "FIELD",
15520 "name": "operator",
15521 "content": {
15522 "type": "STRING",
15523 "value": "&&"
15524 }
15525 },
15526 {
15527 "type": "STRING",
15528 "value": "..."
15529 },
15530 {
15531 "type": "STRING",
15532 "value": "&&"
15533 }
15534 ]
15535 },
15536 {
15537 "type": "SEQ",
15538 "members": [
15539 {
15540 "type": "FIELD",
15541 "name": "operator",
15542 "content": {
15543 "type": "STRING",
15544 "value": "||"
15545 }
15546 },
15547 {
15548 "type": "STRING",
15549 "value": "..."
15550 },
15551 {
15552 "type": "STRING",
15553 "value": "||"
15554 }
15555 ]
15556 },
15557 {
15558 "type": "SEQ",
15559 "members": [
15560 {
15561 "type": "FIELD",
15562 "name": "operator",
15563 "content": {
15564 "type": "STRING",
15565 "value": ","
15566 }
15567 },
15568 {
15569 "type": "STRING",
15570 "value": "..."
15571 },
15572 {
15573 "type": "STRING",
15574 "value": ","
15575 }
15576 ]
15577 },
15578 {
15579 "type": "SEQ",
15580 "members": [
15581 {
15582 "type": "FIELD",
15583 "name": "operator",
15584 "content": {
15585 "type": "STRING",
15586 "value": ".*"
15587 }
15588 },
15589 {
15590 "type": "STRING",
15591 "value": "..."
15592 },
15593 {
15594 "type": "STRING",
15595 "value": ".*"
15596 }
15597 ]
15598 },
15599 {
15600 "type": "SEQ",
15601 "members": [
15602 {
15603 "type": "FIELD",
15604 "name": "operator",
15605 "content": {
15606 "type": "STRING",
15607 "value": "->*"
15608 }
15609 },
15610 {
15611 "type": "STRING",
15612 "value": "..."
15613 },
15614 {
15615 "type": "STRING",
15616 "value": "->*"
15617 }
15618 ]
15619 },
15620 {
15621 "type": "SEQ",
15622 "members": [
15623 {
15624 "type": "FIELD",
15625 "name": "operator",
15626 "content": {
15627 "type": "STRING",
15628 "value": "or"
15629 }
15630 },
15631 {
15632 "type": "STRING",
15633 "value": "..."
15634 },
15635 {
15636 "type": "STRING",
15637 "value": "or"
15638 }
15639 ]
15640 },
15641 {
15642 "type": "SEQ",
15643 "members": [
15644 {
15645 "type": "FIELD",
15646 "name": "operator",
15647 "content": {
15648 "type": "STRING",
15649 "value": "and"
15650 }
15651 },
15652 {
15653 "type": "STRING",
15654 "value": "..."
15655 },
15656 {
15657 "type": "STRING",
15658 "value": "and"
15659 }
15660 ]
15661 },
15662 {
15663 "type": "SEQ",
15664 "members": [
15665 {
15666 "type": "FIELD",
15667 "name": "operator",
15668 "content": {
15669 "type": "STRING",
15670 "value": "bitor"
15671 }
15672 },
15673 {
15674 "type": "STRING",
15675 "value": "..."
15676 },
15677 {
15678 "type": "STRING",
15679 "value": "bitor"
15680 }
15681 ]
15682 },
15683 {
15684 "type": "SEQ",
15685 "members": [
15686 {
15687 "type": "FIELD",
15688 "name": "operator",
15689 "content": {
15690 "type": "STRING",
15691 "value": "xor"
15692 }
15693 },
15694 {
15695 "type": "STRING",
15696 "value": "..."
15697 },
15698 {
15699 "type": "STRING",
15700 "value": "xor"
15701 }
15702 ]
15703 },
15704 {
15705 "type": "SEQ",
15706 "members": [
15707 {
15708 "type": "FIELD",
15709 "name": "operator",
15710 "content": {
15711 "type": "STRING",
15712 "value": "bitand"
15713 }
15714 },
15715 {
15716 "type": "STRING",
15717 "value": "..."
15718 },
15719 {
15720 "type": "STRING",
15721 "value": "bitand"
15722 }
15723 ]
15724 },
15725 {
15726 "type": "SEQ",
15727 "members": [
15728 {
15729 "type": "FIELD",
15730 "name": "operator",
15731 "content": {
15732 "type": "STRING",
15733 "value": "not_eq"
15734 }
15735 },
15736 {
15737 "type": "STRING",
15738 "value": "..."
15739 },
15740 {
15741 "type": "STRING",
15742 "value": "not_eq"
15743 }
15744 ]
15745 }
15746 ]
15747 },
15748 "_unary_left_fold": {
15749 "type": "SEQ",
15750 "members": [
15751 {
15752 "type": "FIELD",
15753 "name": "left",
15754 "content": {
15755 "type": "STRING",
15756 "value": "..."
15757 }
15758 },
15759 {
15760 "type": "FIELD",
15761 "name": "operator",
15762 "content": {
15763 "type": "SYMBOL",
15764 "name": "_fold_operator"
15765 }
15766 },
15767 {
15768 "type": "FIELD",
15769 "name": "right",
15770 "content": {
15771 "type": "SYMBOL",
15772 "name": "_expression"
15773 }
15774 }
15775 ]
15776 },
15777 "_unary_right_fold": {
15778 "type": "SEQ",
15779 "members": [
15780 {
15781 "type": "FIELD",
15782 "name": "left",
15783 "content": {
15784 "type": "SYMBOL",
15785 "name": "_expression"
15786 }
15787 },
15788 {
15789 "type": "FIELD",
15790 "name": "operator",
15791 "content": {
15792 "type": "SYMBOL",
15793 "name": "_fold_operator"
15794 }
15795 },
15796 {
15797 "type": "FIELD",
15798 "name": "right",
15799 "content": {
15800 "type": "STRING",
15801 "value": "..."
15802 }
15803 }
15804 ]
15805 },
15806 "_binary_fold": {
15807 "type": "SEQ",
15808 "members": [
15809 {
15810 "type": "FIELD",
15811 "name": "left",
15812 "content": {
15813 "type": "SYMBOL",
15814 "name": "_expression"
15815 }
15816 },
15817 {
15818 "type": "SYMBOL",
15819 "name": "_binary_fold_operator"
15820 },
15821 {
15822 "type": "FIELD",
15823 "name": "right",
15824 "content": {
15825 "type": "SYMBOL",
15826 "name": "_expression"
15827 }
15828 }
15829 ]
15830 },
15831 "fold_expression": {
15832 "type": "SEQ",
15833 "members": [
15834 {
15835 "type": "STRING",
15836 "value": "("
15837 },
15838 {
15839 "type": "CHOICE",
15840 "members": [
15841 {
15842 "type": "SYMBOL",
15843 "name": "_unary_right_fold"
15844 },
15845 {
15846 "type": "SYMBOL",
15847 "name": "_unary_left_fold"
15848 },
15849 {
15850 "type": "SYMBOL",
15851 "name": "_binary_fold"
15852 }
15853 ]
15854 },
15855 {
15856 "type": "STRING",
15857 "value": ")"
15858 }
15859 ]
15860 },
15861 "parameter_pack_expansion": {
15862 "type": "PREC",
15863 "value": -1,
15864 "content": {
15865 "type": "SEQ",
15866 "members": [
15867 {
15868 "type": "FIELD",
15869 "name": "pattern",
15870 "content": {
15871 "type": "SYMBOL",
15872 "name": "_expression"
15873 }
15874 },
15875 {
15876 "type": "STRING",
15877 "value": "..."
15878 }
15879 ]
15880 }
15881 },
15882 "type_parameter_pack_expansion": {
15883 "type": "SEQ",
15884 "members": [
15885 {
15886 "type": "FIELD",
15887 "name": "pattern",
15888 "content": {
15889 "type": "SYMBOL",
15890 "name": "type_descriptor"
15891 }
15892 },
15893 {
15894 "type": "STRING",
15895 "value": "..."
15896 }
15897 ]
15898 },
15899 "destructor_name": {
15900 "type": "PREC",
15901 "value": 1,
15902 "content": {
15903 "type": "SEQ",
15904 "members": [
15905 {
15906 "type": "STRING",
15907 "value": "~"
15908 },
15909 {
15910 "type": "SYMBOL",
15911 "name": "identifier"
15912 }
15913 ]
15914 }
15915 },
15916 "dependent_identifier": {
15917 "type": "SEQ",
15918 "members": [
15919 {
15920 "type": "STRING",
15921 "value": "template"
15922 },
15923 {
15924 "type": "SYMBOL",
15925 "name": "template_function"
15926 }
15927 ]
15928 },
15929 "dependent_field_identifier": {
15930 "type": "SEQ",
15931 "members": [
15932 {
15933 "type": "STRING",
15934 "value": "template"
15935 },
15936 {
15937 "type": "SYMBOL",
15938 "name": "template_method"
15939 }
15940 ]
15941 },
15942 "dependent_type_identifier": {
15943 "type": "SEQ",
15944 "members": [
15945 {
15946 "type": "STRING",
15947 "value": "template"
15948 },
15949 {
15950 "type": "SYMBOL",
15951 "name": "template_type"
15952 }
15953 ]
15954 },
15955 "_scope_resolution": {
15956 "type": "PREC",
15957 "value": 1,
15958 "content": {
15959 "type": "SEQ",
15960 "members": [
15961 {
15962 "type": "FIELD",
15963 "name": "scope",
15964 "content": {
15965 "type": "CHOICE",
15966 "members": [
15967 {
15968 "type": "CHOICE",
15969 "members": [
15970 {
15971 "type": "SYMBOL",
15972 "name": "_namespace_identifier"
15973 },
15974 {
15975 "type": "SYMBOL",
15976 "name": "template_type"
15977 },
15978 {
15979 "type": "SYMBOL",
15980 "name": "decltype"
15981 },
15982 {
15983 "type": "ALIAS",
15984 "content": {
15985 "type": "SYMBOL",
15986 "name": "dependent_type_identifier"
15987 },
15988 "named": true,
15989 "value": "dependent_name"
15990 }
15991 ]
15992 },
15993 {
15994 "type": "BLANK"
15995 }
15996 ]
15997 }
15998 },
15999 {
16000 "type": "STRING",
16001 "value": "::"
16002 }
16003 ]
16004 }
16005 },
16006 "qualified_field_identifier": {
16007 "type": "PREC_RIGHT",
16008 "value": 0,
16009 "content": {
16010 "type": "SEQ",
16011 "members": [
16012 {
16013 "type": "SYMBOL",
16014 "name": "_scope_resolution"
16015 },
16016 {
16017 "type": "FIELD",
16018 "name": "name",
16019 "content": {
16020 "type": "CHOICE",
16021 "members": [
16022 {
16023 "type": "ALIAS",
16024 "content": {
16025 "type": "SYMBOL",
16026 "name": "dependent_field_identifier"
16027 },
16028 "named": true,
16029 "value": "dependent_name"
16030 },
16031 {
16032 "type": "ALIAS",
16033 "content": {
16034 "type": "SYMBOL",
16035 "name": "qualified_field_identifier"
16036 },
16037 "named": true,
16038 "value": "qualified_identifier"
16039 },
16040 {
16041 "type": "SYMBOL",
16042 "name": "template_method"
16043 },
16044 {
16045 "type": "SYMBOL",
16046 "name": "_field_identifier"
16047 }
16048 ]
16049 }
16050 }
16051 ]
16052 }
16053 },
16054 "qualified_identifier": {
16055 "type": "SEQ",
16056 "members": [
16057 {
16058 "type": "SYMBOL",
16059 "name": "_scope_resolution"
16060 },
16061 {
16062 "type": "FIELD",
16063 "name": "name",
16064 "content": {
16065 "type": "CHOICE",
16066 "members": [
16067 {
16068 "type": "ALIAS",
16069 "content": {
16070 "type": "SYMBOL",
16071 "name": "dependent_identifier"
16072 },
16073 "named": true,
16074 "value": "dependent_name"
16075 },
16076 {
16077 "type": "SYMBOL",
16078 "name": "qualified_identifier"
16079 },
16080 {
16081 "type": "SYMBOL",
16082 "name": "template_function"
16083 },
16084 {
16085 "type": "SEQ",
16086 "members": [
16087 {
16088 "type": "CHOICE",
16089 "members": [
16090 {
16091 "type": "STRING",
16092 "value": "template"
16093 },
16094 {
16095 "type": "BLANK"
16096 }
16097 ]
16098 },
16099 {
16100 "type": "SYMBOL",
16101 "name": "identifier"
16102 }
16103 ]
16104 },
16105 {
16106 "type": "SYMBOL",
16107 "name": "operator_name"
16108 },
16109 {
16110 "type": "SYMBOL",
16111 "name": "destructor_name"
16112 },
16113 {
16114 "type": "SYMBOL",
16115 "name": "pointer_type_declarator"
16116 }
16117 ]
16118 }
16119 }
16120 ]
16121 },
16122 "qualified_type_identifier": {
16123 "type": "SEQ",
16124 "members": [
16125 {
16126 "type": "SYMBOL",
16127 "name": "_scope_resolution"
16128 },
16129 {
16130 "type": "FIELD",
16131 "name": "name",
16132 "content": {
16133 "type": "CHOICE",
16134 "members": [
16135 {
16136 "type": "ALIAS",
16137 "content": {
16138 "type": "SYMBOL",
16139 "name": "dependent_type_identifier"
16140 },
16141 "named": true,
16142 "value": "dependent_name"
16143 },
16144 {
16145 "type": "ALIAS",
16146 "content": {
16147 "type": "SYMBOL",
16148 "name": "qualified_type_identifier"
16149 },
16150 "named": true,
16151 "value": "qualified_identifier"
16152 },
16153 {
16154 "type": "SYMBOL",
16155 "name": "template_type"
16156 },
16157 {
16158 "type": "SYMBOL",
16159 "name": "_type_identifier"
16160 }
16161 ]
16162 }
16163 }
16164 ]
16165 },
16166 "qualified_operator_cast_identifier": {
16167 "type": "SEQ",
16168 "members": [
16169 {
16170 "type": "SYMBOL",
16171 "name": "_scope_resolution"
16172 },
16173 {
16174 "type": "FIELD",
16175 "name": "name",
16176 "content": {
16177 "type": "CHOICE",
16178 "members": [
16179 {
16180 "type": "ALIAS",
16181 "content": {
16182 "type": "SYMBOL",
16183 "name": "qualified_operator_cast_identifier"
16184 },
16185 "named": true,
16186 "value": "qualified_identifier"
16187 },
16188 {
16189 "type": "SYMBOL",
16190 "name": "operator_cast"
16191 }
16192 ]
16193 }
16194 }
16195 ]
16196 },
16197 "_assignment_expression_lhs": {
16198 "type": "SEQ",
16199 "members": [
16200 {
16201 "type": "FIELD",
16202 "name": "left",
16203 "content": {
16204 "type": "SYMBOL",
16205 "name": "_expression"
16206 }
16207 },
16208 {
16209 "type": "FIELD",
16210 "name": "operator",
16211 "content": {
16212 "type": "CHOICE",
16213 "members": [
16214 {
16215 "type": "STRING",
16216 "value": "="
16217 },
16218 {
16219 "type": "STRING",
16220 "value": "*="
16221 },
16222 {
16223 "type": "STRING",
16224 "value": "/="
16225 },
16226 {
16227 "type": "STRING",
16228 "value": "%="
16229 },
16230 {
16231 "type": "STRING",
16232 "value": "+="
16233 },
16234 {
16235 "type": "STRING",
16236 "value": "-="
16237 },
16238 {
16239 "type": "STRING",
16240 "value": "<<="
16241 },
16242 {
16243 "type": "STRING",
16244 "value": ">>="
16245 },
16246 {
16247 "type": "STRING",
16248 "value": "&="
16249 },
16250 {
16251 "type": "STRING",
16252 "value": "^="
16253 },
16254 {
16255 "type": "STRING",
16256 "value": "|="
16257 },
16258 {
16259 "type": "STRING",
16260 "value": "and_eq"
16261 },
16262 {
16263 "type": "STRING",
16264 "value": "or_eq"
16265 },
16266 {
16267 "type": "STRING",
16268 "value": "xor_eq"
16269 }
16270 ]
16271 }
16272 },
16273 {
16274 "type": "FIELD",
16275 "name": "right",
16276 "content": {
16277 "type": "CHOICE",
16278 "members": [
16279 {
16280 "type": "SYMBOL",
16281 "name": "_expression"
16282 },
16283 {
16284 "type": "SYMBOL",
16285 "name": "initializer_list"
16286 }
16287 ]
16288 }
16289 }
16290 ]
16291 },
16292 "operator_name": {
16293 "type": "PREC",
16294 "value": 1,
16295 "content": {
16296 "type": "SEQ",
16297 "members": [
16298 {
16299 "type": "STRING",
16300 "value": "operator"
16301 },
16302 {
16303 "type": "CHOICE",
16304 "members": [
16305 {
16306 "type": "STRING",
16307 "value": "co_await"
16308 },
16309 {
16310 "type": "STRING",
16311 "value": "+"
16312 },
16313 {
16314 "type": "STRING",
16315 "value": "-"
16316 },
16317 {
16318 "type": "STRING",
16319 "value": "*"
16320 },
16321 {
16322 "type": "STRING",
16323 "value": "/"
16324 },
16325 {
16326 "type": "STRING",
16327 "value": "%"
16328 },
16329 {
16330 "type": "STRING",
16331 "value": "^"
16332 },
16333 {
16334 "type": "STRING",
16335 "value": "&"
16336 },
16337 {
16338 "type": "STRING",
16339 "value": "|"
16340 },
16341 {
16342 "type": "STRING",
16343 "value": "~"
16344 },
16345 {
16346 "type": "STRING",
16347 "value": "!"
16348 },
16349 {
16350 "type": "STRING",
16351 "value": "="
16352 },
16353 {
16354 "type": "STRING",
16355 "value": "<"
16356 },
16357 {
16358 "type": "STRING",
16359 "value": ">"
16360 },
16361 {
16362 "type": "STRING",
16363 "value": "+="
16364 },
16365 {
16366 "type": "STRING",
16367 "value": "-="
16368 },
16369 {
16370 "type": "STRING",
16371 "value": "*="
16372 },
16373 {
16374 "type": "STRING",
16375 "value": "/="
16376 },
16377 {
16378 "type": "STRING",
16379 "value": "%="
16380 },
16381 {
16382 "type": "STRING",
16383 "value": "^="
16384 },
16385 {
16386 "type": "STRING",
16387 "value": "&="
16388 },
16389 {
16390 "type": "STRING",
16391 "value": "|="
16392 },
16393 {
16394 "type": "STRING",
16395 "value": "<<"
16396 },
16397 {
16398 "type": "STRING",
16399 "value": ">>"
16400 },
16401 {
16402 "type": "STRING",
16403 "value": ">>="
16404 },
16405 {
16406 "type": "STRING",
16407 "value": "<<="
16408 },
16409 {
16410 "type": "STRING",
16411 "value": "=="
16412 },
16413 {
16414 "type": "STRING",
16415 "value": "!="
16416 },
16417 {
16418 "type": "STRING",
16419 "value": "<="
16420 },
16421 {
16422 "type": "STRING",
16423 "value": ">="
16424 },
16425 {
16426 "type": "STRING",
16427 "value": "<=>"
16428 },
16429 {
16430 "type": "STRING",
16431 "value": "&&"
16432 },
16433 {
16434 "type": "STRING",
16435 "value": "||"
16436 },
16437 {
16438 "type": "STRING",
16439 "value": "++"
16440 },
16441 {
16442 "type": "STRING",
16443 "value": "--"
16444 },
16445 {
16446 "type": "STRING",
16447 "value": ","
16448 },
16449 {
16450 "type": "STRING",
16451 "value": "->*"
16452 },
16453 {
16454 "type": "STRING",
16455 "value": "->"
16456 },
16457 {
16458 "type": "STRING",
16459 "value": "()"
16460 },
16461 {
16462 "type": "STRING",
16463 "value": "[]"
16464 },
16465 {
16466 "type": "STRING",
16467 "value": "xor"
16468 },
16469 {
16470 "type": "STRING",
16471 "value": "bitand"
16472 },
16473 {
16474 "type": "STRING",
16475 "value": "bitor"
16476 },
16477 {
16478 "type": "STRING",
16479 "value": "compl"
16480 },
16481 {
16482 "type": "STRING",
16483 "value": "not"
16484 },
16485 {
16486 "type": "STRING",
16487 "value": "xor_eq"
16488 },
16489 {
16490 "type": "STRING",
16491 "value": "and_eq"
16492 },
16493 {
16494 "type": "STRING",
16495 "value": "or_eq"
16496 },
16497 {
16498 "type": "STRING",
16499 "value": "not_eq"
16500 },
16501 {
16502 "type": "STRING",
16503 "value": "and"
16504 },
16505 {
16506 "type": "STRING",
16507 "value": "or"
16508 },
16509 {
16510 "type": "SEQ",
16511 "members": [
16512 {
16513 "type": "CHOICE",
16514 "members": [
16515 {
16516 "type": "STRING",
16517 "value": "new"
16518 },
16519 {
16520 "type": "STRING",
16521 "value": "delete"
16522 }
16523 ]
16524 },
16525 {
16526 "type": "CHOICE",
16527 "members": [
16528 {
16529 "type": "STRING",
16530 "value": "[]"
16531 },
16532 {
16533 "type": "BLANK"
16534 }
16535 ]
16536 }
16537 ]
16538 },
16539 {
16540 "type": "SEQ",
16541 "members": [
16542 {
16543 "type": "STRING",
16544 "value": "\"\""
16545 },
16546 {
16547 "type": "SYMBOL",
16548 "name": "identifier"
16549 }
16550 ]
16551 }
16552 ]
16553 }
16554 ]
16555 }
16556 },
16557 "this": {
16558 "type": "STRING",
16559 "value": "this"
16560 },
16561 "literal_suffix": {
16562 "type": "IMMEDIATE_TOKEN",
16563 "content": {
16564 "type": "PATTERN",
16565 "value": "[a-zA-Z_]\\w*"
16566 }
16567 },
16568 "user_defined_literal": {
16569 "type": "SEQ",
16570 "members": [
16571 {
16572 "type": "CHOICE",
16573 "members": [
16574 {
16575 "type": "SYMBOL",
16576 "name": "number_literal"
16577 },
16578 {
16579 "type": "SYMBOL",
16580 "name": "char_literal"
16581 },
16582 {
16583 "type": "SYMBOL",
16584 "name": "string_literal"
16585 },
16586 {
16587 "type": "SYMBOL",
16588 "name": "raw_string_literal"
16589 },
16590 {
16591 "type": "SYMBOL",
16592 "name": "concatenated_string"
16593 }
16594 ]
16595 },
16596 {
16597 "type": "SYMBOL",
16598 "name": "literal_suffix"
16599 }
16600 ]
16601 },
16602 "_namespace_identifier": {
16603 "type": "ALIAS",
16604 "content": {
16605 "type": "SYMBOL",
16606 "name": "identifier"
16607 },
16608 "named": true,
16609 "value": "namespace_identifier"
16610 }
16611 },
16612 "extras": [
16613 {
16614 "type": "PATTERN",
16615 "value": "\\s|\\\\\\r?\\n"
16616 },
16617 {
16618 "type": "SYMBOL",
16619 "name": "comment"
16620 }
16621 ],
16622 "conflicts": [
16623 [
16624 "_type_specifier",
16625 "_declarator"
16626 ],
16627 [
16628 "_type_specifier",
16629 "_expression_not_binary"
16630 ],
16631 [
16632 "sized_type_specifier"
16633 ],
16634 [
16635 "attributed_statement"
16636 ],
16637 [
16638 "_declaration_modifiers",
16639 "attributed_statement"
16640 ],
16641 [
16642 "template_function",
16643 "template_type"
16644 ],
16645 [
16646 "template_function",
16647 "template_type",
16648 "_expression_not_binary"
16649 ],
16650 [
16651 "template_function",
16652 "template_type",
16653 "qualified_identifier"
16654 ],
16655 [
16656 "template_type",
16657 "qualified_type_identifier"
16658 ],
16659 [
16660 "qualified_type_identifier",
16661 "qualified_identifier"
16662 ],
16663 [
16664 "comma_expression",
16665 "initializer_list"
16666 ],
16667 [
16668 "_expression_not_binary",
16669 "_declarator"
16670 ],
16671 [
16672 "_expression_not_binary",
16673 "structured_binding_declarator"
16674 ],
16675 [
16676 "_expression_not_binary",
16677 "_declarator",
16678 "_type_specifier"
16679 ],
16680 [
16681 "parameter_list",
16682 "argument_list"
16683 ],
16684 [
16685 "_type_specifier",
16686 "call_expression"
16687 ],
16688 [
16689 "_declaration_specifiers",
16690 "_constructor_specifiers"
16691 ],
16692 [
16693 "_binary_fold_operator",
16694 "_fold_operator"
16695 ],
16696 [
16697 "_function_declarator_seq"
16698 ],
16699 [
16700 "_type_specifier",
16701 "sized_type_specifier"
16702 ],
16703 [
16704 "initializer_pair",
16705 "comma_expression"
16706 ],
16707 [
16708 "expression_statement",
16709 "_for_statement_body"
16710 ],
16711 [
16712 "init_statement",
16713 "_for_statement_body"
16714 ]
16715 ],
16716 "precedences": [
16717 [
16718 {
16719 "type": "SYMBOL",
16720 "name": "argument_list"
16721 },
16722 {
16723 "type": "SYMBOL",
16724 "name": "type_qualifier"
16725 }
16726 ],
16727 [
16728 {
16729 "type": "SYMBOL",
16730 "name": "_expression_not_binary"
16731 },
16732 {
16733 "type": "SYMBOL",
16734 "name": "_class_name"
16735 }
16736 ]
16737 ],
16738 "externals": [
16739 {
16740 "type": "SYMBOL",
16741 "name": "raw_string_delimiter"
16742 },
16743 {
16744 "type": "SYMBOL",
16745 "name": "raw_string_content"
16746 }
16747 ],
16748 "inline": [
16749 "_statement",
16750 "_block_item",
16751 "_top_level_item",
16752 "_top_level_statement",
16753 "_type_identifier",
16754 "_field_identifier",
16755 "_statement_identifier",
16756 "_non_case_statement",
16757 "_assignment_left_expression",
16758 "_namespace_identifier"
16759 ],
16760 "supertypes": [
16761 "_expression",
16762 "_statement",
16763 "_type_specifier",
16764 "_declarator",
16765 "_field_declarator",
16766 "_type_declarator",
16767 "_abstract_declarator"
16768 ]
16769}