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