(command.CommandList
  children: [
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} 
          {
            (braced_var_sub
              token: <Id.VSub_Name PARSER_SH>
              suffix_op: (suffix_op.Unary op_id:Id.VTest_Plus arg_word:{<true>})
            )
          } {<Id.Lit_RBracket ']'>}
        )
        (command.ControlFlow token:<Id.ControlFlow_Return return>)
      ]
    )
    (C {<declare>} {<-g>} {<Id.Lit_VarLike 'PARSER_SH='> <true>})
    (C {<.>} 
      {
        (braced_var_sub
          token: <Id.VSub_Name BASH_SOURCE>
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{<Id.Lit_Slash /> <'*'>})
        ) </common.sh>
      }
    )
    (C {<.>} 
      {
        (braced_var_sub
          token: <Id.VSub_Name BASH_SOURCE>
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{<Id.Lit_Slash /> <'*'>})
        ) </variables.sh>
      }
    )
    (C {<.>} 
      {
        (braced_var_sub
          token: <Id.VSub_Name BASH_SOURCE>
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{<Id.Lit_Slash /> <'*'>})
        ) </variables.linkedlist.sh>
      }
    )
    (C {<declare>} {<-g>} {<Id.Lit_VarLike 'PARSER_DEBUG='> <0>})
    (C {<declare>} {<-g>} {<PARSER_PARSED>})
    (C {<declare>} {<-g>} {<PARSER_PARSED_COUNT>})
    (command.ShFunction
      name: 'parser::parse'
      body: 
        (command.BraceGroup
          children: [
            (C 
              {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <substring>
              } {(DQ (${ Id.VSub_At '@'))}
            )
          ]
        )
    )
    (command.ShFunction
      name: 'parser::parse::multiExpression'
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: (C {<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [136 151]
                )
              ]
            )
            (C {<declare>} {<Id.Lit_VarLike 'text='> (DQ (${ Id.VSub_Number 1))})
            (C {<declare>} 
              {<Id.Lit_VarLike 'originalOffset='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Number 2>
                    suffix_op: (suffix_op.Unary op_id:Id.VTest_Hyphen arg_word:{<0>})
                  )
                )
              }
            )
            (C {<declare>} {<Id.Lit_VarLike 'offset='> ($ Id.VSub_DollarName '$originalOffset')})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: 
                        (C {<stderr>} 
                          {
                            (DQ <'Trying to parse multiExpr from:\n'> 
                              (braced_var_sub
                                token: <Id.VSub_Name text>
                                suffix_op: 
                                  (suffix_op.Slice
                                    begin: (arith_expr.ArithWord w:{(${ Id.VSub_Name offset)})
                                  )
                              )
                            )
                          }
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [200 215]
                )
              ]
            )
            (command.Sentence
              child: 
                (C 
                  {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                    <Id.Lit_Other ':'> <new>
                  }
                )
              terminator: <Id.Op_Semi _>
            )
            (C {<declare>} {<Id.Lit_VarLike 'items='> (DQ (${ Id.VSub_Name RESULT))})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C 
                          {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                            <Id.Lit_Other ':'> <whitespace>
                          } {(DQ ($ Id.VSub_DollarName '$text'))} {(${ Id.VSub_Name offset)}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.DParen
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_PlusEqual
                          left: (sh_lhs_expr.Name name:offset)
                          right: (arith_expr.ArithWord w:{(${ Id.VSub_Name PARSER_PARSED_COUNT)})
                        )
                    )
                  ]
                  spids: [294 313]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} 
                          {(DQ (${ Id.VSub_Name text))} {(${ Id.VSub_Name offset)}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (C 
                      {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                        <Id.Lit_Other ':'> <append>
                      } {(DQ ($ Id.VSub_DollarName '$items'))} {(${ Id.VSub_Name PARSER_PARSED)}
                    )
                    (command.DParen
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_PlusEqual
                          left: (sh_lhs_expr.Name name:offset)
                          right: (arith_expr.ArithWord w:{(${ Id.VSub_Name PARSER_PARSED_COUNT)})
                        )
                    )
                  ]
                  spids: [338 356]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                      op: assign_op.Equal
                      rhs: {(DQ (${ Id.VSub_Name items))}
                      spids: [397]
                    )
                  ]
                )
                (command.DParen
                  child: 
                    (arith_expr.BinaryAssign
                      op_id: Id.Arith_Equal
                      left: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                      right: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Minus
                          left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike offset>)
                          right: (arith_expr.VarRef token:<Id.Lit_ArithVarLike originalOffset>)
                        )
                    )
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<0>}
                )
              ]
            )
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: [(command.Sentence child:(C {<true>}) terminator:<Id.Op_Semi _>)]
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  children: [
                                    (C 
                                      {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> 
                                        <Id.Lit_Other ':'> <Id.Lit_Other ':'> <whitespace>
                                      } {(DQ ($ Id.VSub_DollarName '$text'))} {(${ Id.VSub_Name offset)}
                                    )
                                  ]
                                  negated: T
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                                  op: assign_op.Equal
                                  rhs: {(DQ (${ Id.VSub_Name items))}
                                  spids: [474]
                                )
                              ]
                            )
                            (command.DParen
                              child: 
                                (arith_expr.BinaryAssign
                                  op_id: Id.Arith_Equal
                                  left: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Minus
                                      left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike offset>)
                                      right: 
                                        (arith_expr.VarRef
                                          token: <Id.Lit_ArithVarLike originalOffset>
                                        )
                                    )
                                )
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {<0>}
                            )
                          ]
                          spids: [446 467]
                        )
                      ]
                    )
                    (command.Sentence
                      child: 
                        (command.DParen
                          child: 
                            (arith_expr.BinaryAssign
                              op_id: Id.Arith_PlusEqual
                              left: (sh_lhs_expr.Name name:offset)
                              right: (arith_expr.ArithWord w:{(${ Id.VSub_Name PARSER_PARSED_COUNT)})
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  children: [
                                    (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} 
                                      {(DQ (${ Id.VSub_Name text))} {(${ Id.VSub_Name offset)}
                                    )
                                  ]
                                  negated: T
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                                  op: assign_op.Equal
                                  rhs: {(DQ (${ Id.VSub_Name items))}
                                  spids: [553]
                                )
                              ]
                            )
                            (command.DParen
                              child: 
                                (arith_expr.BinaryAssign
                                  op_id: Id.Arith_Equal
                                  left: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Minus
                                      left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike offset>)
                                      right: 
                                        (arith_expr.VarRef
                                          token: <Id.Lit_ArithVarLike originalOffset>
                                        )
                                    )
                                )
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {<0>}
                            )
                          ]
                          spids: [526 546]
                        )
                      ]
                    )
                    (C 
                      {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                        <Id.Lit_Other ':'> <append>
                      } {(DQ ($ Id.VSub_DollarName '$items'))} {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                    )
                    (command.Sentence
                      child: 
                        (command.DParen
                          child: 
                            (arith_expr.BinaryAssign
                              op_id: Id.Arith_PlusEqual
                              left: (sh_lhs_expr.Name name:offset)
                              right: (arith_expr.ArithWord w:{(${ Id.VSub_Name PARSER_PARSED_COUNT)})
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
            )
            (C {<stderr>} {(DQ <'Should never get here'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
        )
    )
    (command.ShFunction
      name: 'parser::parse::substring'
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: (C {<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [659 674]
                )
              ]
            )
            (C {<declare>} {<Id.Lit_VarLike 'text='> (DQ (${ Id.VSub_Number 1))})
            (C {<declare>} 
              {<Id.Lit_VarLike 'offset='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Number 2>
                    suffix_op: (suffix_op.Unary op_id:Id.VTest_Hyphen arg_word:{<0>})
                  )
                )
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C 
                          {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                            <Id.Lit_Other ':'> <atom>
                          } {(DQ (${ Id.VSub_Name text))} {(DQ (${ Id.VSub_Name offset))}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                          spids: [747]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
                          spids: [755]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [717 740]
                )
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C 
                          {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                            <Id.Lit_Other ':'> <sexp>
                          } {(DQ (${ Id.VSub_Name text))} {(DQ (${ Id.VSub_Name offset))}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                          spids: [798]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
                          spids: [806]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [768 791]
                )
              ]
            )
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})
          ]
        )
    )
    (command.ShFunction
      name: 'parser::parse::atom'
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: (C {<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [851 866]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C 
                          {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                            <Id.Lit_Other ':'> <real>
                          } {(DQ (${ Id.VSub_Name text))} {(DQ (${ Id.VSub_Name offset))}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                          spids: [916]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
                          spids: [924]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [886 909]
                )
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C 
                          {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                            <Id.Lit_Other ':'> <integer>
                          } {(DQ (${ Id.VSub_Name text))} {(DQ (${ Id.VSub_Name offset))}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                          spids: [967]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
                          spids: [975]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [937 960]
                )
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C 
                          {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                            <Id.Lit_Other ':'> <identifier>
                          } {(DQ (${ Id.VSub_Name text))} {(DQ (${ Id.VSub_Name offset))}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                          spids: [1018]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
                          spids: [1026]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [988 1011]
                )
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C 
                          {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                            <Id.Lit_Other ':'> <string>
                          } {(DQ (${ Id.VSub_Name text))} {(DQ (${ Id.VSub_Name offset))}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                          spids: [1069]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
                          spids: [1077]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [1039 1062]
                )
              ]
            )
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})
          ]
        )
    )
    (command.ShFunction
      name: 'parser::parse::real'
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: (C {<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1115 1130]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: 
                        (C {<stderr>} 
                          {
                            (DQ <'Trying to parse real from:\n'> 
                              (braced_var_sub
                                token: <Id.VSub_Name text>
                                suffix_op: 
                                  (suffix_op.Slice
                                    begin: (arith_expr.ArithWord w:{(${ Id.VSub_Name offset)})
                                  )
                              )
                            )
                          }
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1149 1164]
                )
              ]
            )
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})
          ]
        )
    )
    (C {<declare>} {<-g>} {<Id.Lit_VarLike 'PARSER_INTEGER_REGEX='> (SQ <'\\(-\\?[1-9][0-9]*\\)'>)})
    (C {<declare>} {<-g>} {<Id.Lit_VarLike 'PARSER_INTEGER_0_REGEX='> (SQ <'\\(0\\)'>)})
    (command.ShFunction
      name: 'parser::parse::integer'
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: (C {<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1233 1248]
                )
              ]
            )
            (C {<declare>} {<Id.Lit_VarLike 'text='> (DQ (${ Id.VSub_Number 1))})
            (C {<declare>} 
              {<Id.Lit_VarLike 'offset='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Number 2>
                    suffix_op: (suffix_op.Unary op_id:Id.VTest_Hyphen arg_word:{<0>})
                  )
                )
              }
            )
            (C {<declare>} 
              {<Id.Lit_VarLike 'subtext='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Number 1>
                    suffix_op: 
                      (suffix_op.Slice
                        begin: (arith_expr.ArithWord w:{(${ Id.VSub_Name offset)})
                      )
                  )
                )
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: 
                        (C {<stderr>} 
                          {
                            (DQ <'Trying to parse integer from:\n'> 
                              (braced_var_sub
                                token: <Id.VSub_Name text>
                                suffix_op: 
                                  (suffix_op.Slice
                                    begin: (arith_expr.ArithWord w:{(${ Id.VSub_Name offset)})
                                  )
                              )
                            )
                          }
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1305 1320]
                )
              ]
            )
            (command.Sentence child:(C {<declare>} {<value>}) terminator:<Id.Op_Semi _>)
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:value)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {<expr>} {<match>} {(DQ (${ Id.VSub_Name subtext))} 
                                {($ Id.VSub_DollarName '$PARSER_INTEGER_REGEX')}
                              )
                            ]
                          )
                      )
                    }
                  spids: [1347]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {($ Id.VSub_QMark '$?')}
                              right: {<0>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <new>} {<Integer>} 
                      {(DQ (${ Id.VSub_Name value))}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name RESULT))}
                          spids: [1393]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name value>
                                  prefix_op: (Id.VSub_Pound)
                                )
                              )
                            }
                          spids: [1401]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [1363 1376]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (braced_var_sub
                                      token: <Id.VSub_Name subtext>
                                      suffix_op: 
                                        (suffix_op.Slice
                                          begin: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>})
                                          length: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                                        )
                                    )
                                  )
                                }
                              right: {(DQ <0>)}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <new>} {<Integer>} {(DQ <0>)})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name RESULT))}
                          spids: [1457]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [1465]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [1419 1442]
                )
              ]
            )
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})
          ]
        )
    )
    (C {<declare>} {<-g>} 
      {<Id.Lit_VarLike 'PARSER_IDENTIFIER_REGEX='> 
        (SQ <'\\([a-zA-Z!?*+<=>_:-][a-zA-Z0-9!?*+<=>_:-]*\\)'>)
      }
    )
    (command.ShFunction
      name: 'parser::parse::identifier'
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: (C {<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1518 1533]
                )
              ]
            )
            (C {<declare>} {<Id.Lit_VarLike 'text='> (DQ (${ Id.VSub_Number 1))})
            (C {<declare>} 
              {<Id.Lit_VarLike 'offset='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Number 2>
                    suffix_op: (suffix_op.Unary op_id:Id.VTest_Hyphen arg_word:{<0>})
                  )
                )
              }
            )
            (C {<declare>} 
              {<Id.Lit_VarLike 'subtext='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Number 1>
                    suffix_op: 
                      (suffix_op.Slice
                        begin: (arith_expr.ArithWord w:{(${ Id.VSub_Name offset)})
                      )
                  )
                )
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: 
                        (C {<stderr>} 
                          {(DQ <'Trying to parse identifier from:\n'> (${ Id.VSub_Name subtext))}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1590 1605]
                )
              ]
            )
            (command.Sentence child:(C {<declare>} {<value>}) terminator:<Id.Op_Semi _>)
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:value)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {<expr>} {<match>} {(DQ (${ Id.VSub_Name subtext))} 
                                {($ Id.VSub_DollarName '$PARSER_IDENTIFIER_REGEX')}
                              )
                            ]
                          )
                      )
                    }
                  spids: [1628]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {($ Id.VSub_QMark '$?')}
                              right: {<0>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <new>} {<Identifier>} 
                      {(DQ (${ Id.VSub_Name value))}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name RESULT))}
                          spids: [1674]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name value>
                                  prefix_op: (Id.VSub_Pound)
                                )
                              )
                            }
                          spids: [1682]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [1644 1657]
                )
              ]
            )
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})
          ]
        )
    )
    (C {<declare>} {<-g>} {<Id.Lit_VarLike 'PARSER_STRING_REGEX='> (SQ <'\\([^"]*\\)'>)})
    (command.ShFunction
      name: 'parser::parse::string'
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: (C {<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1740 1755]
                )
              ]
            )
            (C {<declare>} {<Id.Lit_VarLike 'text='> (DQ (${ Id.VSub_Number 1))})
            (C {<declare>} 
              {<Id.Lit_VarLike 'offset='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Number 2>
                    suffix_op: (suffix_op.Unary op_id:Id.VTest_Hyphen arg_word:{<0>})
                  )
                )
              }
            )
            (C {<declare>} 
              {<Id.Lit_VarLike 'subtext='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Number 1>
                    suffix_op: 
                      (suffix_op.Slice
                        begin: (arith_expr.ArithWord w:{(${ Id.VSub_Name offset)})
                      )
                  )
                )
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: 
                        (C {<stderr>} 
                          {(DQ <'Trying to parse string from:\n'> (${ Id.VSub_Name subtext))}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1812 1827]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobNEqual
                              left: 
                                {
                                  (DQ 
                                    (braced_var_sub
                                      token: <Id.VSub_Name subtext>
                                      suffix_op: 
                                        (suffix_op.Slice
                                          begin: (arith_expr.ArithWord w:{<Id.Lit_Digits 0>})
                                          length: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                                        )
                                    )
                                  )
                                }
                              right: {(DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>))}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})]
                  spids: [1844 1867]
                )
              ]
            )
            (command.Sentence child:(C {<declare>} {<value>}) terminator:<Id.Op_Semi _>)
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:value)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        command_list: 
                          (command.CommandList
                            children: [
                              (C {<expr>} {<match>} 
                                {
                                  (DQ 
                                    (braced_var_sub
                                      token: <Id.VSub_Name subtext>
                                      suffix_op: 
                                        (suffix_op.Slice
                                          begin: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                                        )
                                    )
                                  )
                                } {($ Id.VSub_DollarName '$PARSER_STRING_REGEX')}
                              )
                            ]
                          )
                      )
                    }
                  spids: [1885]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobNEqual
                              left: {($ Id.VSub_QMark '$?')}
                              right: {<0>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})]
                  spids: [1903 1916]
                )
              ]
            )
            (C {<declare>} {<endIndex>})
            (command.DParen
              child: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: (sh_lhs_expr.Name name:endIndex)
                  right: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Plus
                      left: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                      right: 
                        (arith_expr.ArithWord
                          w: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                command_list: 
                                  (command.CommandList
                                    children: [(C {<expr>} {<length>} {(DQ (${ Id.VSub_Name value))})]
                                  )
                              )
                            }
                        )
                    )
                )
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobNEqual
                              left: 
                                {
                                  (DQ 
                                    (braced_var_sub
                                      token: <Id.VSub_Name subtext>
                                      suffix_op: 
                                        (suffix_op.Slice
                                          begin: (arith_expr.ArithWord w:{(${ Id.VSub_Name endIndex)})
                                          length: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                                        )
                                    )
                                  )
                                }
                              right: {(DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>))}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})]
                  spids: [1964 1989]
                )
              ]
            )
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <new>} {<String>} 
              {(DQ (${ Id.VSub_Name value))}
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                  op: assign_op.Equal
                  rhs: {(DQ (${ Id.VSub_Name RESULT))}
                  spids: [2015]
                )
              ]
            )
            (command.DParen
              child: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                  right: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Plus
                      left: 
                        (arith_expr.ArithWord
                          w: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                command_list: 
                                  (command.CommandList
                                    children: [(C {<expr>} {<length>} {(DQ (${ Id.VSub_Name value))})]
                                  )
                              )
                            }
                        )
                      right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>})
                    )
                )
            )
            (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
        )
    )
    (command.ShFunction
      name: 'parser::parse::sexp'
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: (C {<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [2081 2096]
                )
              ]
            )
            (C {<declare>} {<Id.Lit_VarLike 'text='> (DQ (${ Id.VSub_Number 1))})
            (C {<declare>} 
              {<Id.Lit_VarLike 'originalOffset='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Number 2>
                    suffix_op: (suffix_op.Unary op_id:Id.VTest_Hyphen arg_word:{<0>})
                  )
                )
              }
            )
            (C {<declare>} {<Id.Lit_VarLike 'offset='> ($ Id.VSub_DollarName '$originalOffset')})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: 
                        (C {<stderr>} 
                          {
                            (DQ <'Trying to parse sexp from:\n'> 
                              (braced_var_sub
                                token: <Id.VSub_Name text>
                                suffix_op: 
                                  (suffix_op.Slice
                                    begin: (arith_expr.ArithWord w:{(${ Id.VSub_Name offset)})
                                  )
                              )
                            )
                          }
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [2145 2160]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobNEqual
                              left: 
                                {
                                  (DQ 
                                    (braced_var_sub
                                      token: <Id.VSub_Name text>
                                      suffix_op: 
                                        (suffix_op.Slice
                                          begin: (arith_expr.ArithWord w:{(${ Id.VSub_Name offset)})
                                          length: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                                        )
                                    )
                                  )
                                }
                              right: {(DQ <'('>)}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                          op: assign_op.Equal
                          rhs: {(DQ )}
                          spids: [2209]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [2214]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [2181 2206]
                )
              ]
            )
            (command.DParen
              child: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_PlusEqual
                  left: (sh_lhs_expr.Name name:offset)
                  right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                )
            )
            (command.Sentence
              child: 
                (C 
                  {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                    <Id.Lit_Other ':'> <new>
                  }
                )
              terminator: <Id.Op_Semi _>
            )
            (C {<declare>} {<Id.Lit_VarLike 'items='> (DQ (${ Id.VSub_Name RESULT))})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C 
                          {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                            <Id.Lit_Other ':'> <whitespace>
                          } {(DQ ($ Id.VSub_DollarName '$text'))} {(${ Id.VSub_Name offset)}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.DParen
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_PlusEqual
                          left: (sh_lhs_expr.Name name:offset)
                          right: (arith_expr.ArithWord w:{(${ Id.VSub_Name PARSER_PARSED_COUNT)})
                        )
                    )
                  ]
                  spids: [2297 2316]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (braced_var_sub
                                      token: <Id.VSub_Name text>
                                      suffix_op: 
                                        (suffix_op.Slice
                                          begin: (arith_expr.ArithWord w:{(${ Id.VSub_Name offset)})
                                          length: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                                        )
                                    )
                                  )
                                }
                              right: {(DQ <')'>)}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.DParen
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_PlusEqual
                          left: (sh_lhs_expr.Name name:offset)
                          right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                        )
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                          op: assign_op.Equal
                          rhs: {(${ Id.VSub_Name items)}
                          spids: [2381]
                        )
                      ]
                    )
                    (command.DParen
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                          right: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Minus
                              left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike offset>)
                              right: (arith_expr.VarRef token:<Id.Lit_ArithVarLike originalOffset>)
                            )
                        )
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [2341 2366]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} 
                          {(DQ (${ Id.VSub_Name text))} {(${ Id.VSub_Name offset)}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (C 
                      {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                        <Id.Lit_Other ':'> <append>
                      } {(DQ ($ Id.VSub_DollarName '$items'))} {(${ Id.VSub_Name PARSER_PARSED)}
                    )
                    (command.DParen
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_PlusEqual
                          left: (sh_lhs_expr.Name name:offset)
                          right: (arith_expr.ArithWord w:{(${ Id.VSub_Name PARSER_PARSED_COUNT)})
                        )
                    )
                  ]
                  spids: [2416 2434]
                )
              ]
            )
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: [(command.Sentence child:(C {<true>}) terminator:<Id.Op_Semi _>)]
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C 
                                  {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> 
                                    <Id.Lit_Other ':'> <Id.Lit_Other ':'> <whitespace>
                                  } {(DQ ($ Id.VSub_DollarName '$text'))} {(${ Id.VSub_Name offset)}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (command.DParen
                              child: 
                                (arith_expr.BinaryAssign
                                  op_id: Id.Arith_PlusEqual
                                  left: (sh_lhs_expr.Name name:offset)
                                  right: 
                                    (arith_expr.ArithWord
                                      w: {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
                                    )
                                )
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (command.DBracket
                                          expr: 
                                            (bool_expr.Binary
                                              op_id: Id.BoolBinary_GlobDEqual
                                              left: 
                                                {
                                                  (DQ 
                                                    (braced_var_sub
                                                      token: <Id.VSub_Name text>
                                                      suffix_op: 
                                                        (suffix_op.Slice
                                                          begin: 
                                                            (arith_expr.ArithWord
                                                              w: {(${ Id.VSub_Name offset)}
                                                            )
                                                          length: 
                                                            (arith_expr.ArithWord
                                                              w: {<Id.Lit_Digits 1>}
                                                            )
                                                        )
                                                    )
                                                  )
                                                }
                                              right: {(DQ <')'>)}
                                            )
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                  action: [
                                    (command.DParen
                                      child: 
                                        (arith_expr.BinaryAssign
                                          op_id: Id.Arith_PlusEqual
                                          left: (sh_lhs_expr.Name name:offset)
                                          right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                                        )
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name items)}
                                          spids: [2575]
                                        )
                                      ]
                                    )
                                    (command.DParen
                                      child: 
                                        (arith_expr.BinaryAssign
                                          op_id: Id.Arith_Equal
                                          left: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Minus
                                              left: 
                                                (arith_expr.VarRef
                                                  token: <Id.Lit_ArithVarLike offset>
                                                )
                                              right: 
                                                (arith_expr.VarRef
                                                  token: <Id.Lit_ArithVarLike originalOffset>
                                                )
                                            )
                                        )
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Return return>
                                      arg_word: {<0>}
                                    )
                                  ]
                                  spids: [2535 2560]
                                )
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} 
                                          {(DQ (${ Id.VSub_Name text))} {(${ Id.VSub_Name offset)}
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> 
                                        <Id.Lit_Other ':'> <Id.Lit_Other ':'> <append>
                                      } {(DQ ($ Id.VSub_DollarName '$items'))} {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                                    )
                                    (command.DParen
                                      child: 
                                        (arith_expr.BinaryAssign
                                          op_id: Id.Arith_PlusEqual
                                          left: (sh_lhs_expr.Name name:offset)
                                          right: 
                                            (arith_expr.ArithWord
                                              w: {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
                                            )
                                        )
                                    )
                                  ]
                                  spids: [2602 2620]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                                      op: assign_op.Equal
                                      rhs: {(DQ )}
                                      spids: [2659]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                                      op: assign_op.Equal
                                      rhs: {<0>}
                                      spids: [2664]
                                    )
                                  ]
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {<1>}
                                )
                              ]
                            )
                          ]
                          spids: [2496 2515]
                        )
                      ]
                      else_action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: 
                                            {
                                              (DQ 
                                                (braced_var_sub
                                                  token: <Id.VSub_Name text>
                                                  suffix_op: 
                                                    (suffix_op.Slice
                                                      begin: 
                                                        (arith_expr.ArithWord
                                                          w: {(${ Id.VSub_Name offset)}
                                                        )
                                                      length: 
                                                        (arith_expr.ArithWord
                                                          w: {<Id.Lit_Digits 1>}
                                                        )
                                                    )
                                                )
                                              )
                                            }
                                          right: {(DQ <')'>)}
                                        )
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                              action: [
                                (command.DParen
                                  child: 
                                    (arith_expr.BinaryAssign
                                      op_id: Id.Arith_PlusEqual
                                      left: (sh_lhs_expr.Name name:offset)
                                      right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                                    )
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                                      op: assign_op.Equal
                                      rhs: {(${ Id.VSub_Name items)}
                                      spids: [2723]
                                    )
                                  ]
                                )
                                (command.DParen
                                  child: 
                                    (arith_expr.BinaryAssign
                                      op_id: Id.Arith_Equal
                                      left: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Minus
                                          left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike offset>)
                                          right: 
                                            (arith_expr.VarRef
                                              token: <Id.Lit_ArithVarLike originalOffset>
                                            )
                                        )
                                    )
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {<0>}
                                )
                              ]
                              spids: [2683 2708]
                            )
                          ]
                          else_action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                                  op: assign_op.Equal
                                  rhs: {(DQ )}
                                  spids: [2754]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                  spids: [2759]
                                )
                              ]
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {<1>}
                            )
                          ]
                        )
                      ]
                    )
                  ]
                )
            )
            (C {<stderr>} {(DQ <'Should never get here'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
        )
    )
    (C {<declare>} {<-g>} 
      {<Id.Lit_VarLike 'PARSER_WHITESPACE_REGEX='> (SQ <'\\([ \t\n'> <'][ \t\n'> <']*\\)'>)}
    )
    (command.ShFunction
      name: 'parser::parse::whitespace'
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: (C {<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [2827 2842]
                )
              ]
            )
            (C {<declare>} {<Id.Lit_VarLike 'text='> (DQ (${ Id.VSub_Number 1))})
            (C {<declare>} 
              {<Id.Lit_VarLike 'originalOffset='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Number 2>
                    suffix_op: (suffix_op.Unary op_id:Id.VTest_Hyphen arg_word:{<0>})
                  )
                )
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {(${ Id.VSub_Name PARSER_DEBUG)}
                              right: {<1>}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: 
                        (C {<stderr>} 
                          {
                            (DQ <'Trying to parse whitespace from:\n'> 
                              (braced_var_sub
                                token: <Id.VSub_Name text>
                                suffix_op: 
                                  (suffix_op.Slice
                                    begin: (arith_expr.ArithWord w:{(${ Id.VSub_Name originalOffset)})
                                  )
                              )
                            )
                          }
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [2885 2900]
                )
              ]
            )
            (C {<declare>} {<Id.Lit_VarLike 'offset='> (${ Id.VSub_Name originalOffset)})
            (C {<declare>} 
              {<Id.Lit_VarLike 'char='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Name text>
                    suffix_op: 
                      (suffix_op.Slice
                        begin: (arith_expr.ArithWord w:{(${ Id.VSub_Name offset)})
                        length: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                      )
                  )
                )
              }
            )
            (C {<declare>} {<Id.Lit_VarLike 'parsed='> (DQ )})
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: [
                (command.Sentence
                  child: 
                    (command.DBracket
                      expr: 
                        (bool_expr.LogicalOr
                          left: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: {($ Id.VSub_DollarName '$char')}
                              right: {(DQ <' '>)}
                            )
                          right: 
                            (bool_expr.LogicalOr
                              left: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {($ Id.VSub_DollarName '$char')}
                                  right: {(DQ <'\t'>)}
                                )
                              right: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {($ Id.VSub_DollarName '$char')}
                                  right: {(DQ <'\n'>)}
                                )
                            )
                        )
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
              body: 
                (command.DoGroup
                  children: [
                    (command.DParen
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_PlusEqual
                          left: (sh_lhs_expr.Name name:offset)
                          right: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                        )
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:parsed)
                          op: assign_op.PlusEqual
                          rhs: {(DQ (${ Id.VSub_Name char))}
                          spids: [3003]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:char)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (braced_var_sub
                                  token: <Id.VSub_Name text>
                                  suffix_op: 
                                    (suffix_op.Slice
                                      begin: (arith_expr.ArithWord w:{(${ Id.VSub_Name offset)})
                                      length: (arith_expr.ArithWord w:{<Id.Lit_Digits 1>})
                                    )
                                )
                              )
                            }
                          spids: [3011]
                        )
                      ]
                    )
                  ]
                )
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_gt
                              left: {($ Id.VSub_DollarName '$offset')}
                              right: {($ Id.VSub_DollarName '$originalOffset')}
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name parsed))}
                          spids: [3045]
                        )
                      ]
                    )
                    (command.DParen
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                          right: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Minus
                              left: (arith_expr.VarRef token:<Id.Lit_ArithVarLike offset>)
                              right: (arith_expr.VarRef token:<Id.Lit_ArithVarLike originalOffset>)
                            )
                        )
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [3029 3042]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:PARSER_PARSED)
                      op: assign_op.Equal
                      rhs: {(DQ )}
                      spids: [3077]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:PARSER_PARSED_COUNT)
                      op: assign_op.Equal
                      rhs: {<0>}
                      spids: [3082]
                    )
                  ]
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
          ]
        )
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Number '$0')} 
                  {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {($ Id.VSub_DollarName '$BASH_SOURCE')} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)]
          spids: [3103 3117]
        )
      ]
    )
    (C {<.>} 
      {
        (braced_var_sub
          token: <Id.VSub_Name BASH_SOURCE>
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{<Id.Lit_Slash /> <'*'>})
        ) </test.sh>
      }
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} {(DQ <1>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ <'parse 1 succeeds'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <debug>} 
              {(DQ (${ Id.VSub_Name RESULT))}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <'Integer :: 1'>)} 
          {(DQ (${ Id.VSub_Name RESULT))} {(DQ <'parse 1'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<1>} 
      {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))} {(DQ <'parse 1 / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} {(DQ <123456>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ <'parse 123456 succeeds'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <debug>} 
              {(DQ (${ Id.VSub_Name RESULT))}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <'Integer :: 123456'>)} 
          {(DQ (${ Id.VSub_Name RESULT))} {(DQ <'parse 123456'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<6>} 
      {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))} {(DQ <'parse 123456 / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} {(DQ <0>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ <'parse 0 succeeds'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <debug>} 
              {(DQ (${ Id.VSub_Name RESULT))}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <'Integer :: 0'>)} 
          {(DQ (${ Id.VSub_Name RESULT))} {(DQ <'parse 0'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<1>} 
      {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))} {(DQ <'parse 0 / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} {(DQ <-10>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ <'parse -10 succeeds'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <debug>} 
              {(DQ (${ Id.VSub_Name RESULT))}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <'Integer :: -10'>)} 
          {(DQ (${ Id.VSub_Name RESULT))} {(DQ <'parse -10'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<3>} 
      {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))} {(DQ <'parse 1 / count'>)}
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:output)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                command_list: 
                  (command.CommandList
                    children: [(C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} {(DQ <-0>)})]
                  )
              )
            }
          spids: [3457]
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<1>} {($ Id.VSub_QMark '$?')} 
      {(DQ <'parse -0 should fail'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} {(DQ <v>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {
            (DQ <'parse '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <abc> 
              (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' succeeds'>
            )
          }
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <debug>} 
              {(DQ (${ Id.VSub_Name RESULT))}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <'Identifier :: v'>)} 
          {(DQ (${ Id.VSub_Name RESULT))} {(DQ <'parse v'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} {(DQ <'a?'>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {
            (DQ <'parse '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <abc> 
              (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' succeeds'>
            )
          }
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <debug>} 
              {(DQ (${ Id.VSub_Name RESULT))}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <'Identifier :: a?'>)} 
          {(DQ (${ Id.VSub_Name RESULT))} {(DQ <'parse a?'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} {(SQ <'"abc"'>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {
            (DQ <'parse '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <abc> 
              (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' succeeds'>
            )
          }
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <debug>} 
              {(DQ (${ Id.VSub_Name RESULT))}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <'String :: abc'>)} 
          {(DQ (${ Id.VSub_Name RESULT))} 
          {
            (DQ <'parse '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <abc> 
              (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
            )
          }
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<5>} 
      {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))} 
      {
        (DQ <'parse '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <abc> 
          (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' / count'>
        )
      }
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <whitespace>
              } {(SQ <' \t '>)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ <'match whitespace / code'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<3>} 
      {(${ Id.VSub_Name PARSER_PARSED_COUNT)} {(DQ <'match whitepace / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <whitespace>
              } {(SQ <'abc def'>)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<1>} {($ Id.VSub_QMark '$?')} 
          {(DQ <'match non-whitespace / code'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <whitespace>
              } {(SQ )}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<1>} {($ Id.VSub_QMark '$?')} 
          {(DQ <'match empty non-whitespace / code'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <whitespace>
              } {(SQ <')'>)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<1>} {($ Id.VSub_QMark '$?')} 
          {(DQ <'match close paren against whitespace / code'>)}
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEST)
          op: assign_op.Equal
          rhs: {(DQ <'multiExpression - single expr'>)}
          spids: [3872]
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <multiExpression>
              } {(DQ <a>)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ (${ Id.VSub_Name TEST) <' / code'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<1>} 
      {(${ Id.VSub_Name PARSER_PARSED_COUNT)} {(DQ (${ Id.VSub_Name TEST) <' / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <type>} 
              {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <LinkedList>)} 
          {(${ Id.VSub_Name RESULT)} {(DQ (${ Id.VSub_Name TEST) <' / type'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <length>
              } {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<1>} {(${ Id.VSub_Name RESULT)} 
          {(DQ (${ Id.VSub_Name TEST) <' / length'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <first>
              } {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <value>} {(${ Id.VSub_Name RESULT)})
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <a>)} 
          {(DQ (${ Id.VSub_Name RESULT))} {(DQ (${ Id.VSub_Name TEST) <' / value'>)}
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEST)
          op: assign_op.Equal
          rhs: {(DQ <'multiExpression - multiple expressions'>)}
          spids: [4040]
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <multiExpression>
              } {(DQ <'a b'>)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ (${ Id.VSub_Name TEST) <' / code'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<3>} 
      {(${ Id.VSub_Name PARSER_PARSED_COUNT)} {(DQ (${ Id.VSub_Name TEST) <' / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <type>} 
              {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <LinkedList>)} 
          {(${ Id.VSub_Name RESULT)} {(DQ (${ Id.VSub_Name TEST) <' / type'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <length>
              } {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<2>} {(${ Id.VSub_Name RESULT)} 
          {(DQ (${ Id.VSub_Name TEST) <' / length'>)}
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEST)
          op: assign_op.Equal
          rhs: {(DQ <'multiExpression - whitespaces'>)}
          spids: [4157]
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <multiExpression>
              } {(DQ <' b '>)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ (${ Id.VSub_Name TEST) <' / code'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<3>} 
      {(${ Id.VSub_Name PARSER_PARSED_COUNT)} {(DQ (${ Id.VSub_Name TEST) <' / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <type>} 
              {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <LinkedList>)} 
          {(${ Id.VSub_Name RESULT)} {(DQ (${ Id.VSub_Name TEST) <' / type'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <length>
              } {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<1>} {(${ Id.VSub_Name RESULT)} 
          {(DQ (${ Id.VSub_Name TEST) <' / length'>)}
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEST)
          op: assign_op.Equal
          rhs: {(DQ <'multiExpression - integer'>)}
          spids: [4274]
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <multiExpression>
              } {(DQ <1>)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ (${ Id.VSub_Name TEST) <' / code'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<1>} 
      {(${ Id.VSub_Name PARSER_PARSED_COUNT)} {(DQ (${ Id.VSub_Name TEST) <' / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <type>} 
              {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <LinkedList>)} 
          {(${ Id.VSub_Name RESULT)} {(DQ (${ Id.VSub_Name TEST) <' / type'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <length>
              } {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<1>} {(${ Id.VSub_Name RESULT)} 
          {(DQ (${ Id.VSub_Name TEST) <' / length'>)}
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEST)
          op: assign_op.Equal
          rhs: {(DQ <'multiExpression - sexp'>)}
          spids: [4391]
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <multiExpression>
              } {(DQ <'(a)'>)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ (${ Id.VSub_Name TEST) <' / code'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<3>} 
      {(${ Id.VSub_Name PARSER_PARSED_COUNT)} {(DQ (${ Id.VSub_Name TEST) <' / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <type>} 
              {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <LinkedList>)} 
          {(${ Id.VSub_Name RESULT)} {(DQ (${ Id.VSub_Name TEST) <' / type'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <length>
              } {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<1>} {(${ Id.VSub_Name RESULT)} 
          {(DQ (${ Id.VSub_Name TEST) <' / length'>)}
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEST)
          op: assign_op.Equal
          rhs: {(DQ <'multiExpression - sexps'>)}
          spids: [4508]
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <multiExpression>
              } {(DQ <'(a) (b)'>)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ (${ Id.VSub_Name TEST) <' / code'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<7>} 
      {(${ Id.VSub_Name PARSER_PARSED_COUNT)} {(DQ (${ Id.VSub_Name TEST) <' / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <type>} 
              {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <LinkedList>)} 
          {(${ Id.VSub_Name RESULT)} {(DQ (${ Id.VSub_Name TEST) <' / type'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <length>
              } {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<2>} {(${ Id.VSub_Name RESULT)} 
          {(DQ (${ Id.VSub_Name TEST) <' / length'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} {(DQ <'()'>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ <'match empty sexp / code'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<2>} 
      {(${ Id.VSub_Name PARSER_PARSED_COUNT)} {(DQ <'match empty sexp / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <type>} 
              {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <LinkedList>)} 
          {(${ Id.VSub_Name RESULT)} {(DQ <'match empty sexp / type'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <length>
              } {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {(${ Id.VSub_Name RESULT)} 
          {(DQ <'match empty sexp / length'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} {(DQ <'( )'>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ <'match almost empty sexp / code'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<3>} 
      {(${ Id.VSub_Name PARSER_PARSED_COUNT)} {(DQ <'match almost empty sexp / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <type>} 
              {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <LinkedList>)} 
          {(${ Id.VSub_Name RESULT)} {(DQ <'match almost empty sexp / type'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <length>
              } {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {(${ Id.VSub_Name RESULT)} 
          {(DQ <'match almost empty sexp / length'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} {(DQ <'(a)'>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ <'single element sexp / code'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<3>} 
      {(${ Id.VSub_Name PARSER_PARSED_COUNT)} {(DQ <'single element sexp / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <type>} 
              {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <LinkedList>)} 
          {(${ Id.VSub_Name RESULT)} {(DQ <'single element sexp / type'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <length>
              } {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<1>} {(${ Id.VSub_Name RESULT)} 
          {(DQ <'single element sexp / length'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} {(DQ <'( a )'>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ <'single element sexp / code'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<5>} 
      {(${ Id.VSub_Name PARSER_PARSED_COUNT)} {(DQ <'single element sexp / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <type>} 
              {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <LinkedList>)} 
          {(${ Id.VSub_Name RESULT)} {(DQ <'single element sexp / type'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <length>
              } {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<1>} {(${ Id.VSub_Name RESULT)} 
          {(DQ <'single element sexp / length'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} {(DQ <'(a b)'>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ <'two element sexp / code'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<5>} 
      {(${ Id.VSub_Name PARSER_PARSED_COUNT)} {(DQ <'two element sexp / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <type>} 
              {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <LinkedList>)} 
          {(${ Id.VSub_Name RESULT)} {(DQ <'two element sexp / type'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <length>
              } {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<2>} {(${ Id.VSub_Name RESULT)} 
          {(DQ <'two element sexp / length'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<parser> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <parse>} {(DQ <'((a) (b) c)'>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<0>} {($ Id.VSub_QMark '$?')} 
          {(DQ <'nested element sexp / code'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<11>} 
      {(${ Id.VSub_Name PARSER_PARSED_COUNT)} {(DQ <'nested element sexp / count'>)}
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <type>} 
              {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {(DQ <LinkedList>)} 
          {(${ Id.VSub_Name RESULT)} {(DQ <'nested element sexp / type'>)}
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C 
              {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <LinkedList> <Id.Lit_Other ':'> 
                <Id.Lit_Other ':'> <length>
              } {(${ Id.VSub_Name PARSER_PARSED)}
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <equals>} {<3>} {(${ Id.VSub_Name RESULT)} 
          {(DQ <'nested element sexp / length'>)}
        )
      ]
    )
    (C {<assert> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <report>})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {<Id.Lit_LBracket '['>} 
                      {
                        (braced_var_sub
                          token: <Id.VSub_Number 1>
                          suffix_op: (suffix_op.Unary op_id:Id.VTest_Plus arg_word:{<isset>})
                        )
                      } {<Id.Lit_RBracket ']'>}
                    )
                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} 
                      {<Id.Lit_Equals '='> <Id.Lit_Equals '='>} {(DQ <debug>)} {<Id.Lit_RBracket ']'>}
                    )
                  ]
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [(C {<variable> <Id.Lit_Other ':'> <Id.Lit_Other ':'> <printMetadata>})]
          spids: [5222 5252]
        )
      ]
    )
  ]
)