aboutsummaryrefslogtreecommitdiff
path: root/vendor/tree-sitter-tcl/src/grammar.json
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/tree-sitter-tcl/src/grammar.json')
-rw-r--r--vendor/tree-sitter-tcl/src/grammar.json1606
1 files changed, 1606 insertions, 0 deletions
diff --git a/vendor/tree-sitter-tcl/src/grammar.json b/vendor/tree-sitter-tcl/src/grammar.json
new file mode 100644
index 0000000..81e2995
--- /dev/null
+++ b/vendor/tree-sitter-tcl/src/grammar.json
@@ -0,0 +1,1606 @@
1{
2 "name": "tcl",
3 "word": "simple_word",
4 "rules": {
5 "source_file": {
6 "type": "SYMBOL",
7 "name": "_commands"
8 },
9 "_commands": {
10 "type": "SEQ",
11 "members": [
12 {
13 "type": "REPEAT",
14 "content": {
15 "type": "SYMBOL",
16 "name": "_terminator"
17 }
18 },
19 {
20 "type": "SEQ",
21 "members": [
22 {
23 "type": "SYMBOL",
24 "name": "_command"
25 },
26 {
27 "type": "REPEAT",
28 "content": {
29 "type": "SEQ",
30 "members": [
31 {
32 "type": "REPEAT1",
33 "content": {
34 "type": "SYMBOL",
35 "name": "_terminator"
36 }
37 },
38 {
39 "type": "SYMBOL",
40 "name": "_command"
41 }
42 ]
43 }
44 }
45 ]
46 },
47 {
48 "type": "REPEAT",
49 "content": {
50 "type": "SYMBOL",
51 "name": "_terminator"
52 }
53 }
54 ]
55 },
56 "_terminator": {
57 "type": "CHOICE",
58 "members": [
59 {
60 "type": "STRING",
61 "value": "\n"
62 },
63 {
64 "type": "STRING",
65 "value": ";"
66 }
67 ]
68 },
69 "comment": {
70 "type": "PATTERN",
71 "value": "#[^\\n]*"
72 },
73 "_builtin": {
74 "type": "CHOICE",
75 "members": [
76 {
77 "type": "SYMBOL",
78 "name": "conditional"
79 },
80 {
81 "type": "SYMBOL",
82 "name": "global"
83 },
84 {
85 "type": "SYMBOL",
86 "name": "namespace"
87 },
88 {
89 "type": "SYMBOL",
90 "name": "procedure"
91 },
92 {
93 "type": "SYMBOL",
94 "name": "set"
95 },
96 {
97 "type": "SYMBOL",
98 "name": "try"
99 },
100 {
101 "type": "SYMBOL",
102 "name": "foreach"
103 },
104 {
105 "type": "SYMBOL",
106 "name": "expr_cmd"
107 },
108 {
109 "type": "SYMBOL",
110 "name": "while"
111 },
112 {
113 "type": "SYMBOL",
114 "name": "catch"
115 }
116 ]
117 },
118 "while": {
119 "type": "SEQ",
120 "members": [
121 {
122 "type": "STRING",
123 "value": "while"
124 },
125 {
126 "type": "SYMBOL",
127 "name": "expr"
128 },
129 {
130 "type": "SYMBOL",
131 "name": "_word"
132 }
133 ]
134 },
135 "expr_cmd": {
136 "type": "SEQ",
137 "members": [
138 {
139 "type": "STRING",
140 "value": "expr"
141 },
142 {
143 "type": "SYMBOL",
144 "name": "expr"
145 }
146 ]
147 },
148 "foreach": {
149 "type": "SEQ",
150 "members": [
151 {
152 "type": "STRING",
153 "value": "foreach"
154 },
155 {
156 "type": "SYMBOL",
157 "name": "arguments"
158 },
159 {
160 "type": "SYMBOL",
161 "name": "_word_simple"
162 },
163 {
164 "type": "SYMBOL",
165 "name": "_word"
166 }
167 ]
168 },
169 "global": {
170 "type": "SEQ",
171 "members": [
172 {
173 "type": "STRING",
174 "value": "global"
175 },
176 {
177 "type": "REPEAT",
178 "content": {
179 "type": "SYMBOL",
180 "name": "_concat_word"
181 }
182 }
183 ]
184 },
185 "namespace": {
186 "type": "SEQ",
187 "members": [
188 {
189 "type": "STRING",
190 "value": "namespace"
191 },
192 {
193 "type": "SYMBOL",
194 "name": "word_list"
195 }
196 ]
197 },
198 "try": {
199 "type": "SEQ",
200 "members": [
201 {
202 "type": "STRING",
203 "value": "try"
204 },
205 {
206 "type": "SYMBOL",
207 "name": "_word"
208 },
209 {
210 "type": "CHOICE",
211 "members": [
212 {
213 "type": "SEQ",
214 "members": [
215 {
216 "type": "STRING",
217 "value": "on"
218 },
219 {
220 "type": "STRING",
221 "value": "error"
222 },
223 {
224 "type": "SYMBOL",
225 "name": "arguments"
226 },
227 {
228 "type": "SYMBOL",
229 "name": "_word"
230 }
231 ]
232 },
233 {
234 "type": "BLANK"
235 }
236 ]
237 },
238 {
239 "type": "CHOICE",
240 "members": [
241 {
242 "type": "SYMBOL",
243 "name": "finally"
244 },
245 {
246 "type": "BLANK"
247 }
248 ]
249 }
250 ]
251 },
252 "finally": {
253 "type": "SEQ",
254 "members": [
255 {
256 "type": "STRING",
257 "value": "finally"
258 },
259 {
260 "type": "SYMBOL",
261 "name": "_word"
262 }
263 ]
264 },
265 "_command": {
266 "type": "CHOICE",
267 "members": [
268 {
269 "type": "SYMBOL",
270 "name": "_builtin"
271 },
272 {
273 "type": "SYMBOL",
274 "name": "comment"
275 },
276 {
277 "type": "SYMBOL",
278 "name": "command"
279 }
280 ]
281 },
282 "command": {
283 "type": "SEQ",
284 "members": [
285 {
286 "type": "FIELD",
287 "name": "name",
288 "content": {
289 "type": "SYMBOL",
290 "name": "_word"
291 }
292 },
293 {
294 "type": "CHOICE",
295 "members": [
296 {
297 "type": "FIELD",
298 "name": "arguments",
299 "content": {
300 "type": "SYMBOL",
301 "name": "word_list"
302 }
303 },
304 {
305 "type": "BLANK"
306 }
307 ]
308 }
309 ]
310 },
311 "word_list": {
312 "type": "REPEAT1",
313 "content": {
314 "type": "SYMBOL",
315 "name": "_word"
316 }
317 },
318 "unpack": {
319 "type": "STRING",
320 "value": "{*}"
321 },
322 "_word": {
323 "type": "SEQ",
324 "members": [
325 {
326 "type": "CHOICE",
327 "members": [
328 {
329 "type": "SYMBOL",
330 "name": "unpack"
331 },
332 {
333 "type": "BLANK"
334 }
335 ]
336 },
337 {
338 "type": "CHOICE",
339 "members": [
340 {
341 "type": "SYMBOL",
342 "name": "braced_word"
343 },
344 {
345 "type": "SYMBOL",
346 "name": "_concat_word"
347 }
348 ]
349 }
350 ]
351 },
352 "_word_simple": {
353 "type": "SEQ",
354 "members": [
355 {
356 "type": "CHOICE",
357 "members": [
358 {
359 "type": "SYMBOL",
360 "name": "braced_word_simple"
361 },
362 {
363 "type": "SYMBOL",
364 "name": "_concat_word"
365 }
366 ]
367 }
368 ]
369 },
370 "_concat_word": {
371 "type": "SEQ",
372 "members": [
373 {
374 "type": "CHOICE",
375 "members": [
376 {
377 "type": "SYMBOL",
378 "name": "escaped_character"
379 },
380 {
381 "type": "SYMBOL",
382 "name": "command_substitution"
383 },
384 {
385 "type": "SYMBOL",
386 "name": "simple_word"
387 },
388 {
389 "type": "SYMBOL",
390 "name": "quoted_word"
391 },
392 {
393 "type": "SYMBOL",
394 "name": "variable_substitution"
395 }
396 ]
397 },
398 {
399 "type": "REPEAT",
400 "content": {
401 "type": "SEQ",
402 "members": [
403 {
404 "type": "SYMBOL",
405 "name": "concat"
406 },
407 {
408 "type": "CHOICE",
409 "members": [
410 {
411 "type": "SYMBOL",
412 "name": "escaped_character"
413 },
414 {
415 "type": "SYMBOL",
416 "name": "command_substitution"
417 },
418 {
419 "type": "SYMBOL",
420 "name": "simple_word"
421 },
422 {
423 "type": "SYMBOL",
424 "name": "quoted_word"
425 },
426 {
427 "type": "SYMBOL",
428 "name": "variable_substitution"
429 }
430 ]
431 }
432 ]
433 }
434 }
435 ]
436 },
437 "_ident": {
438 "type": "IMMEDIATE_TOKEN",
439 "content": {
440 "type": "PATTERN",
441 "value": "[a-zA-Z_][a-zA-Z0-9_]*"
442 }
443 },
444 "id": {
445 "type": "SEQ",
446 "members": [
447 {
448 "type": "CHOICE",
449 "members": [
450 {
451 "type": "SYMBOL",
452 "name": "_ns_delim"
453 },
454 {
455 "type": "BLANK"
456 }
457 ]
458 },
459 {
460 "type": "SEQ",
461 "members": [
462 {
463 "type": "SYMBOL",
464 "name": "_ident"
465 },
466 {
467 "type": "REPEAT",
468 "content": {
469 "type": "SEQ",
470 "members": [
471 {
472 "type": "SYMBOL",
473 "name": "_ns_delim"
474 },
475 {
476 "type": "SYMBOL",
477 "name": "_ident"
478 }
479 ]
480 }
481 }
482 ]
483 }
484 ]
485 },
486 "array_index": {
487 "type": "SEQ",
488 "members": [
489 {
490 "type": "STRING",
491 "value": "("
492 },
493 {
494 "type": "SYMBOL",
495 "name": "_concat_word"
496 },
497 {
498 "type": "STRING",
499 "value": ")"
500 }
501 ]
502 },
503 "variable_substitution": {
504 "type": "SEQ",
505 "members": [
506 {
507 "type": "CHOICE",
508 "members": [
509 {
510 "type": "SEQ",
511 "members": [
512 {
513 "type": "STRING",
514 "value": "$"
515 },
516 {
517 "type": "SYMBOL",
518 "name": "id"
519 }
520 ]
521 },
522 {
523 "type": "SEQ",
524 "members": [
525 {
526 "type": "STRING",
527 "value": "$"
528 },
529 {
530 "type": "STRING",
531 "value": "{"
532 },
533 {
534 "type": "PATTERN",
535 "value": "[^}]+"
536 },
537 {
538 "type": "STRING",
539 "value": "}"
540 }
541 ]
542 }
543 ]
544 },
545 {
546 "type": "CHOICE",
547 "members": [
548 {
549 "type": "SYMBOL",
550 "name": "array_index"
551 },
552 {
553 "type": "BLANK"
554 }
555 ]
556 }
557 ]
558 },
559 "braced_word": {
560 "type": "SEQ",
561 "members": [
562 {
563 "type": "STRING",
564 "value": "{"
565 },
566 {
567 "type": "CHOICE",
568 "members": [
569 {
570 "type": "SYMBOL",
571 "name": "_commands"
572 },
573 {
574 "type": "BLANK"
575 }
576 ]
577 },
578 {
579 "type": "STRING",
580 "value": "}"
581 }
582 ]
583 },
584 "braced_word_simple": {
585 "type": "SEQ",
586 "members": [
587 {
588 "type": "STRING",
589 "value": "{"
590 },
591 {
592 "type": "REPEAT",
593 "content": {
594 "type": "CHOICE",
595 "members": [
596 {
597 "type": "SYMBOL",
598 "name": "braced_word_simple"
599 },
600 {
601 "type": "SYMBOL",
602 "name": "_concat_word"
603 }
604 ]
605 }
606 },
607 {
608 "type": "STRING",
609 "value": "}"
610 }
611 ]
612 },
613 "set": {
614 "type": "SEQ",
615 "members": [
616 {
617 "type": "STRING",
618 "value": "set"
619 },
620 {
621 "type": "SYMBOL",
622 "name": "_word"
623 },
624 {
625 "type": "SYMBOL",
626 "name": "_word"
627 }
628 ]
629 },
630 "procedure": {
631 "type": "SEQ",
632 "members": [
633 {
634 "type": "STRING",
635 "value": "proc"
636 },
637 {
638 "type": "FIELD",
639 "name": "name",
640 "content": {
641 "type": "SYMBOL",
642 "name": "_word"
643 }
644 },
645 {
646 "type": "FIELD",
647 "name": "arguments",
648 "content": {
649 "type": "SYMBOL",
650 "name": "arguments"
651 }
652 },
653 {
654 "type": "FIELD",
655 "name": "body",
656 "content": {
657 "type": "SYMBOL",
658 "name": "_word"
659 }
660 }
661 ]
662 },
663 "_argument_word": {
664 "type": "CHOICE",
665 "members": [
666 {
667 "type": "SYMBOL",
668 "name": "simple_word"
669 },
670 {
671 "type": "SYMBOL",
672 "name": "quoted_word"
673 },
674 {
675 "type": "SYMBOL",
676 "name": "braced_word"
677 }
678 ]
679 },
680 "argument": {
681 "type": "CHOICE",
682 "members": [
683 {
684 "type": "FIELD",
685 "name": "name",
686 "content": {
687 "type": "SYMBOL",
688 "name": "simple_word"
689 }
690 },
691 {
692 "type": "SEQ",
693 "members": [
694 {
695 "type": "STRING",
696 "value": "{"
697 },
698 {
699 "type": "FIELD",
700 "name": "name",
701 "content": {
702 "type": "SYMBOL",
703 "name": "simple_word"
704 }
705 },
706 {
707 "type": "CHOICE",
708 "members": [
709 {
710 "type": "FIELD",
711 "name": "default",
712 "content": {
713 "type": "SYMBOL",
714 "name": "_argument_word"
715 }
716 },
717 {
718 "type": "BLANK"
719 }
720 ]
721 },
722 {
723 "type": "STRING",
724 "value": "}"
725 }
726 ]
727 }
728 ]
729 },
730 "arguments": {
731 "type": "CHOICE",
732 "members": [
733 {
734 "type": "SEQ",
735 "members": [
736 {
737 "type": "STRING",
738 "value": "{"
739 },
740 {
741 "type": "REPEAT",
742 "content": {
743 "type": "SYMBOL",
744 "name": "argument"
745 }
746 },
747 {
748 "type": "STRING",
749 "value": "}"
750 }
751 ]
752 },
753 {
754 "type": "SYMBOL",
755 "name": "simple_word"
756 }
757 ]
758 },
759 "_expr": {
760 "type": "CHOICE",
761 "members": [
762 {
763 "type": "SEQ",
764 "members": [
765 {
766 "type": "STRING",
767 "value": "("
768 },
769 {
770 "type": "SYMBOL",
771 "name": "_expr"
772 },
773 {
774 "type": "STRING",
775 "value": ")"
776 }
777 ]
778 },
779 {
780 "type": "SEQ",
781 "members": [
782 {
783 "type": "SYMBOL",
784 "name": "simple_word"
785 },
786 {
787 "type": "STRING",
788 "value": "("
789 },
790 {
791 "type": "SYMBOL",
792 "name": "_expr"
793 },
794 {
795 "type": "STRING",
796 "value": ")"
797 }
798 ]
799 },
800 {
801 "type": "SYMBOL",
802 "name": "unary_expr"
803 },
804 {
805 "type": "SYMBOL",
806 "name": "binop_expr"
807 },
808 {
809 "type": "SYMBOL",
810 "name": "ternary_expr"
811 },
812 {
813 "type": "SYMBOL",
814 "name": "_concat_word"
815 }
816 ]
817 },
818 "expr": {
819 "type": "CHOICE",
820 "members": [
821 {
822 "type": "SEQ",
823 "members": [
824 {
825 "type": "STRING",
826 "value": "{"
827 },
828 {
829 "type": "SYMBOL",
830 "name": "_expr"
831 },
832 {
833 "type": "STRING",
834 "value": "}"
835 }
836 ]
837 },
838 {
839 "type": "SYMBOL",
840 "name": "_expr"
841 }
842 ]
843 },
844 "unary_expr": {
845 "type": "PREC_LEFT",
846 "value": 150,
847 "content": {
848 "type": "SEQ",
849 "members": [
850 {
851 "type": "CHOICE",
852 "members": [
853 {
854 "type": "STRING",
855 "value": "-"
856 },
857 {
858 "type": "STRING",
859 "value": "+"
860 },
861 {
862 "type": "STRING",
863 "value": "~"
864 },
865 {
866 "type": "STRING",
867 "value": "!"
868 }
869 ]
870 },
871 {
872 "type": "SYMBOL",
873 "name": "_expr"
874 }
875 ]
876 }
877 },
878 "binop_expr": {
879 "type": "CHOICE",
880 "members": [
881 {
882 "type": "PREC_LEFT",
883 "value": 140,
884 "content": {
885 "type": "SEQ",
886 "members": [
887 {
888 "type": "SYMBOL",
889 "name": "_expr"
890 },
891 {
892 "type": "STRING",
893 "value": "**"
894 },
895 {
896 "type": "SYMBOL",
897 "name": "_expr"
898 }
899 ]
900 }
901 },
902 {
903 "type": "PREC_LEFT",
904 "value": 130,
905 "content": {
906 "type": "SEQ",
907 "members": [
908 {
909 "type": "SYMBOL",
910 "name": "_expr"
911 },
912 {
913 "type": "STRING",
914 "value": "/"
915 },
916 {
917 "type": "SYMBOL",
918 "name": "_expr"
919 }
920 ]
921 }
922 },
923 {
924 "type": "PREC_LEFT",
925 "value": 130,
926 "content": {
927 "type": "SEQ",
928 "members": [
929 {
930 "type": "SYMBOL",
931 "name": "_expr"
932 },
933 {
934 "type": "STRING",
935 "value": "*"
936 },
937 {
938 "type": "SYMBOL",
939 "name": "_expr"
940 }
941 ]
942 }
943 },
944 {
945 "type": "PREC_LEFT",
946 "value": 130,
947 "content": {
948 "type": "SEQ",
949 "members": [
950 {
951 "type": "SYMBOL",
952 "name": "_expr"
953 },
954 {
955 "type": "STRING",
956 "value": "%"
957 },
958 {
959 "type": "SYMBOL",
960 "name": "_expr"
961 }
962 ]
963 }
964 },
965 {
966 "type": "PREC_LEFT",
967 "value": 120,
968 "content": {
969 "type": "SEQ",
970 "members": [
971 {
972 "type": "SYMBOL",
973 "name": "_expr"
974 },
975 {
976 "type": "STRING",
977 "value": "+"
978 },
979 {
980 "type": "SYMBOL",
981 "name": "_expr"
982 }
983 ]
984 }
985 },
986 {
987 "type": "PREC_LEFT",
988 "value": 120,
989 "content": {
990 "type": "SEQ",
991 "members": [
992 {
993 "type": "SYMBOL",
994 "name": "_expr"
995 },
996 {
997 "type": "STRING",
998 "value": "-"
999 },
1000 {
1001 "type": "SYMBOL",
1002 "name": "_expr"
1003 }
1004 ]
1005 }
1006 },
1007 {
1008 "type": "PREC_LEFT",
1009 "value": 110,
1010 "content": {
1011 "type": "SEQ",
1012 "members": [
1013 {
1014 "type": "SYMBOL",
1015 "name": "_expr"
1016 },
1017 {
1018 "type": "STRING",
1019 "value": "<<"
1020 },
1021 {
1022 "type": "SYMBOL",
1023 "name": "_expr"
1024 }
1025 ]
1026 }
1027 },
1028 {
1029 "type": "PREC_LEFT",
1030 "value": 110,
1031 "content": {
1032 "type": "SEQ",
1033 "members": [
1034 {
1035 "type": "SYMBOL",
1036 "name": "_expr"
1037 },
1038 {
1039 "type": "STRING",
1040 "value": ">>"
1041 },
1042 {
1043 "type": "SYMBOL",
1044 "name": "_expr"
1045 }
1046 ]
1047 }
1048 },
1049 {
1050 "type": "PREC_LEFT",
1051 "value": 100,
1052 "content": {
1053 "type": "SEQ",
1054 "members": [
1055 {
1056 "type": "SYMBOL",
1057 "name": "_expr"
1058 },
1059 {
1060 "type": "STRING",
1061 "value": ">"
1062 },
1063 {
1064 "type": "SYMBOL",
1065 "name": "_expr"
1066 }
1067 ]
1068 }
1069 },
1070 {
1071 "type": "PREC_LEFT",
1072 "value": 100,
1073 "content": {
1074 "type": "SEQ",
1075 "members": [
1076 {
1077 "type": "SYMBOL",
1078 "name": "_expr"
1079 },
1080 {
1081 "type": "STRING",
1082 "value": "<"
1083 },
1084 {
1085 "type": "SYMBOL",
1086 "name": "_expr"
1087 }
1088 ]
1089 }
1090 },
1091 {
1092 "type": "PREC_LEFT",
1093 "value": 100,
1094 "content": {
1095 "type": "SEQ",
1096 "members": [
1097 {
1098 "type": "SYMBOL",
1099 "name": "_expr"
1100 },
1101 {
1102 "type": "STRING",
1103 "value": ">="
1104 },
1105 {
1106 "type": "SYMBOL",
1107 "name": "_expr"
1108 }
1109 ]
1110 }
1111 },
1112 {
1113 "type": "PREC_LEFT",
1114 "value": 100,
1115 "content": {
1116 "type": "SEQ",
1117 "members": [
1118 {
1119 "type": "SYMBOL",
1120 "name": "_expr"
1121 },
1122 {
1123 "type": "STRING",
1124 "value": "<="
1125 },
1126 {
1127 "type": "SYMBOL",
1128 "name": "_expr"
1129 }
1130 ]
1131 }
1132 },
1133 {
1134 "type": "PREC_LEFT",
1135 "value": 90,
1136 "content": {
1137 "type": "SEQ",
1138 "members": [
1139 {
1140 "type": "SYMBOL",
1141 "name": "_expr"
1142 },
1143 {
1144 "type": "STRING",
1145 "value": "=="
1146 },
1147 {
1148 "type": "SYMBOL",
1149 "name": "_expr"
1150 }
1151 ]
1152 }
1153 },
1154 {
1155 "type": "PREC_LEFT",
1156 "value": 90,
1157 "content": {
1158 "type": "SEQ",
1159 "members": [
1160 {
1161 "type": "SYMBOL",
1162 "name": "_expr"
1163 },
1164 {
1165 "type": "STRING",
1166 "value": "!="
1167 },
1168 {
1169 "type": "SYMBOL",
1170 "name": "_expr"
1171 }
1172 ]
1173 }
1174 },
1175 {
1176 "type": "PREC_LEFT",
1177 "value": 80,
1178 "content": {
1179 "type": "SEQ",
1180 "members": [
1181 {
1182 "type": "SYMBOL",
1183 "name": "_expr"
1184 },
1185 {
1186 "type": "STRING",
1187 "value": "eq"
1188 },
1189 {
1190 "type": "SYMBOL",
1191 "name": "_expr"
1192 }
1193 ]
1194 }
1195 },
1196 {
1197 "type": "PREC_LEFT",
1198 "value": 80,
1199 "content": {
1200 "type": "SEQ",
1201 "members": [
1202 {
1203 "type": "SYMBOL",
1204 "name": "_expr"
1205 },
1206 {
1207 "type": "STRING",
1208 "value": "ne"
1209 },
1210 {
1211 "type": "SYMBOL",
1212 "name": "_expr"
1213 }
1214 ]
1215 }
1216 },
1217 {
1218 "type": "PREC_LEFT",
1219 "value": 70,
1220 "content": {
1221 "type": "SEQ",
1222 "members": [
1223 {
1224 "type": "SYMBOL",
1225 "name": "_expr"
1226 },
1227 {
1228 "type": "STRING",
1229 "value": "in"
1230 },
1231 {
1232 "type": "CHOICE",
1233 "members": [
1234 {
1235 "type": "SYMBOL",
1236 "name": "_concat_word"
1237 },
1238 {
1239 "type": "SYMBOL",
1240 "name": "braced_word_simple"
1241 }
1242 ]
1243 }
1244 ]
1245 }
1246 },
1247 {
1248 "type": "PREC_LEFT",
1249 "value": 70,
1250 "content": {
1251 "type": "SEQ",
1252 "members": [
1253 {
1254 "type": "SYMBOL",
1255 "name": "_expr"
1256 },
1257 {
1258 "type": "STRING",
1259 "value": "ni"
1260 },
1261 {
1262 "type": "CHOICE",
1263 "members": [
1264 {
1265 "type": "SYMBOL",
1266 "name": "_concat_word"
1267 },
1268 {
1269 "type": "SYMBOL",
1270 "name": "braced_word_simple"
1271 }
1272 ]
1273 }
1274 ]
1275 }
1276 },
1277 {
1278 "type": "PREC_LEFT",
1279 "value": 60,
1280 "content": {
1281 "type": "SEQ",
1282 "members": [
1283 {
1284 "type": "SYMBOL",
1285 "name": "_expr"
1286 },
1287 {
1288 "type": "STRING",
1289 "value": "&"
1290 },
1291 {
1292 "type": "SYMBOL",
1293 "name": "_expr"
1294 }
1295 ]
1296 }
1297 },
1298 {
1299 "type": "PREC_LEFT",
1300 "value": 50,
1301 "content": {
1302 "type": "SEQ",
1303 "members": [
1304 {
1305 "type": "SYMBOL",
1306 "name": "_expr"
1307 },
1308 {
1309 "type": "STRING",
1310 "value": "^"
1311 },
1312 {
1313 "type": "SYMBOL",
1314 "name": "_expr"
1315 }
1316 ]
1317 }
1318 },
1319 {
1320 "type": "PREC_LEFT",
1321 "value": 40,
1322 "content": {
1323 "type": "SEQ",
1324 "members": [
1325 {
1326 "type": "SYMBOL",
1327 "name": "_expr"
1328 },
1329 {
1330 "type": "STRING",
1331 "value": "|"
1332 },
1333 {
1334 "type": "SYMBOL",
1335 "name": "_expr"
1336 }
1337 ]
1338 }
1339 },
1340 {
1341 "type": "PREC_LEFT",
1342 "value": 30,
1343 "content": {
1344 "type": "SEQ",
1345 "members": [
1346 {
1347 "type": "SYMBOL",
1348 "name": "_expr"
1349 },
1350 {
1351 "type": "STRING",
1352 "value": "&&"
1353 },
1354 {
1355 "type": "SYMBOL",
1356 "name": "_expr"
1357 }
1358 ]
1359 }
1360 },
1361 {
1362 "type": "PREC_LEFT",
1363 "value": 20,
1364 "content": {
1365 "type": "SEQ",
1366 "members": [
1367 {
1368 "type": "SYMBOL",
1369 "name": "_expr"
1370 },
1371 {
1372 "type": "STRING",
1373 "value": "||"
1374 },
1375 {
1376 "type": "SYMBOL",
1377 "name": "_expr"
1378 }
1379 ]
1380 }
1381 }
1382 ]
1383 },
1384 "ternary_expr": {
1385 "type": "PREC_LEFT",
1386 "value": 10,
1387 "content": {
1388 "type": "SEQ",
1389 "members": [
1390 {
1391 "type": "SYMBOL",
1392 "name": "_expr"
1393 },
1394 {
1395 "type": "STRING",
1396 "value": "?"
1397 },
1398 {
1399 "type": "SYMBOL",
1400 "name": "_expr"
1401 },
1402 {
1403 "type": "STRING",
1404 "value": ":"
1405 },
1406 {
1407 "type": "SYMBOL",
1408 "name": "_expr"
1409 }
1410 ]
1411 }
1412 },
1413 "elseif": {
1414 "type": "SEQ",
1415 "members": [
1416 {
1417 "type": "STRING",
1418 "value": "elseif"
1419 },
1420 {
1421 "type": "FIELD",
1422 "name": "condition",
1423 "content": {
1424 "type": "SYMBOL",
1425 "name": "expr"
1426 }
1427 },
1428 {
1429 "type": "SYMBOL",
1430 "name": "_word"
1431 }
1432 ]
1433 },
1434 "else": {
1435 "type": "SEQ",
1436 "members": [
1437 {
1438 "type": "STRING",
1439 "value": "else"
1440 },
1441 {
1442 "type": "SYMBOL",
1443 "name": "_word"
1444 }
1445 ]
1446 },
1447 "conditional": {
1448 "type": "SEQ",
1449 "members": [
1450 {
1451 "type": "STRING",
1452 "value": "if"
1453 },
1454 {
1455 "type": "FIELD",
1456 "name": "condition",
1457 "content": {
1458 "type": "SYMBOL",
1459 "name": "expr"
1460 }
1461 },
1462 {
1463 "type": "SYMBOL",
1464 "name": "_word"
1465 },
1466 {
1467 "type": "REPEAT",
1468 "content": {
1469 "type": "SYMBOL",
1470 "name": "elseif"
1471 }
1472 },
1473 {
1474 "type": "CHOICE",
1475 "members": [
1476 {
1477 "type": "SYMBOL",
1478 "name": "else"
1479 },
1480 {
1481 "type": "BLANK"
1482 }
1483 ]
1484 }
1485 ]
1486 },
1487 "catch": {
1488 "type": "SEQ",
1489 "members": [
1490 {
1491 "type": "STRING",
1492 "value": "catch"
1493 },
1494 {
1495 "type": "SYMBOL",
1496 "name": "_word"
1497 }
1498 ]
1499 },
1500 "quoted_word": {
1501 "type": "SEQ",
1502 "members": [
1503 {
1504 "type": "STRING",
1505 "value": "\""
1506 },
1507 {
1508 "type": "REPEAT",
1509 "content": {
1510 "type": "CHOICE",
1511 "members": [
1512 {
1513 "type": "SYMBOL",
1514 "name": "variable_substitution"
1515 },
1516 {
1517 "type": "SYMBOL",
1518 "name": "_quoted_word_content"
1519 },
1520 {
1521 "type": "SYMBOL",
1522 "name": "command_substitution"
1523 },
1524 {
1525 "type": "SYMBOL",
1526 "name": "escaped_character"
1527 }
1528 ]
1529 }
1530 },
1531 {
1532 "type": "STRING",
1533 "value": "\""
1534 }
1535 ]
1536 },
1537 "escaped_character": {
1538 "type": "PATTERN",
1539 "value": "\\\\."
1540 },
1541 "_quoted_word_content": {
1542 "type": "TOKEN",
1543 "content": {
1544 "type": "PREC",
1545 "value": -1,
1546 "content": {
1547 "type": "PATTERN",
1548 "value": "[^$\\\\\\[\\]\"]+"
1549 }
1550 }
1551 },
1552 "command_substitution": {
1553 "type": "SEQ",
1554 "members": [
1555 {
1556 "type": "STRING",
1557 "value": "["
1558 },
1559 {
1560 "type": "SYMBOL",
1561 "name": "_command"
1562 },
1563 {
1564 "type": "STRING",
1565 "value": "]"
1566 }
1567 ]
1568 },
1569 "simple_word": {
1570 "type": "TOKEN",
1571 "content": {
1572 "type": "PATTERN",
1573 "value": "[^!$\\s\\\\\\[\\]{}();\"]+"
1574 }
1575 }
1576 },
1577 "extras": [
1578 {
1579 "type": "PATTERN",
1580 "value": "\\s+"
1581 },
1582 {
1583 "type": "PATTERN",
1584 "value": "\\\\\\r?\\n"
1585 }
1586 ],
1587 "conflicts": [],
1588 "precedences": [],
1589 "externals": [
1590 {
1591 "type": "SYMBOL",
1592 "name": "concat"
1593 },
1594 {
1595 "type": "SYMBOL",
1596 "name": "_ns_delim"
1597 }
1598 ],
1599 "inline": [
1600 "_commands",
1601 "_builtin",
1602 "_terminator",
1603 "_word"
1604 ],
1605 "supertypes": []
1606}