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