(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SRCDIR)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(dirname)} {($ VSub_Number '$0')})])
                left_token: <Left_CommandSub '$('>
                spids: [126 130]
              )
            }
          spids: [125]
        )
      ]
      spids: [125]
    )
    (FuncDef
      name: main
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:REGRESS)
                  op: Equal
                  rhs: {(${ VSub_Name SRCDIR) (/regress.multitest.out)}
                  spids: [140]
                )
              ]
              spids: [140]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DICT)
                  op: Equal
                  rhs: {(/usr/share/dict/words)}
                  spids: [147]
                )
              ]
              spids: [147]
            )
            (SimpleCommand
              words: [{(awk)} {(SQ <'END { for (i = 1; i < 15; i++) print "l1_" i}'>)}]
              redirects: [
                (Redir op_id:Redir_Less fd:-1 arg_word:{(/dev/null)} spids:[158])
                (Redir op_id:Redir_Great fd:-1 arg_word:{(lines1)} spids:[161])
              ]
            )
            (SimpleCommand
              words: [{(awk)} {(SQ <'END { for (i = 1; i < 10; i++) print "l2_" i}'>)}]
              redirects: [
                (Redir op_id:Redir_Less fd:-1 arg_word:{(/dev/null)} spids:[171])
                (Redir op_id:Redir_Great fd:-1 arg_word:{(lines2)} spids:[174])
              ]
            )
            (C {(echo)} {(DQ (1..130))})
            (SimpleCommand
              words: [{(exec)}]
              redirects: [
                (Redir op_id:Redir_GreatAnd fd:4 arg_word:{(1)} spids:[189])
                (Redir op_id:Redir_GreatAnd fd:5 arg_word:{(2)} spids:[192])
              ]
            )
            (C {(tests)})
            (SimpleCommand
              words: [{(exec)}]
              redirects: [
                (Redir op_id:Redir_GreatAnd fd:1 arg_word:{(4)} spids:[201])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(5)} spids:[204])
              ]
            )
            (C {(rm)} {(-f)} {(current.out)} {(lines) (Lit_Other '[') (1-4) (Lit_Other ']')} 
              {(script) (Lit_Other '[') (1-2) (Lit_Other ']')}
            )
          ]
          spids: [137]
        )
      spids: [133 136]
    )
    (FuncDef
      name: tests
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:SED) op:Equal rhs:{(sed)} spids:[239])]
              spids: [239]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:MARK) op:Equal rhs:{(0)} spids:[243])]
              spids: [243]
            )
            (C {(test_args)})
            (C {(test_addr)})
            (C {(test_group)})
            (C {(test_acid)})
            (C {(test_branch)})
            (C {(test_pattern)})
            (C {(test_print)})
            (C {(test_subst)})
            (C {(test_error)})
            (C {(result)})
          ]
          spids: [236]
        )
      spids: [232 235]
    )
    (FuncDef
      name: result
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$TODO'))} {(Lit_Other '=')} {(SQ <1>)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TODO)
                          op: Equal
                          rhs: {(SQ <'TODO '>)}
                          spids: [315]
                        )
                      ]
                      spids: [315]
                    )
                  ]
                  spids: [-1 312]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:TODO) op:Equal rhs:{(SQ )} spids:[324])]
                  spids: [324]
                )
              ]
              spids: [321 329]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (C {(Lit_Other '[')} {(-r)} 
                              {($ VSub_Name '$REGRESS') (/) (${ VSub_Name TESTNAME)} {(Lit_Other ']')}
                            )
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {
                          (DQ ('Seeding ') ($ VSub_Name '$REGRESS') (/) (${ VSub_Name TESTNAME) 
                            (' with current result')
                          )
                        }
                      ]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[365])]
                    )
                    (C {(cp)} {(current.out)} {($ VSub_Name '$REGRESS') (/) (${ VSub_Name TESTNAME)})
                  ]
                  spids: [-1 350]
                )
              ]
              spids: [-1 380]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(diff)} {(-c)} {($ VSub_Name '$REGRESS') (/) (${ VSub_Name TESTNAME)} 
                          {(current.out)}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ('ok ') ($ VSub_Name '$MARK') (' ') ($ VSub_Name '$TESTNAME') (' # ') 
                          ($ VSub_Name '$TODO') ($ VSub_Name '$COMMENT')
                        )
                      }
                    )
                  ]
                  spids: [-1 399]
                )
              ]
              else_action: [
                (C {(echo)} 
                  {
                    (DQ ('not ok ') ($ VSub_Name '$MARK') (' ') ($ VSub_Name '$TESTNAME') (' # ') 
                      ($ VSub_Name '$TODO') ($ VSub_Name '$COMMENT')
                    )
                  }
                )
              ]
              redirects: [
                (Redir op_id:Redir_GreatAnd fd:1 arg_word:{(4)} spids:[433])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(5)} spids:[436])
              ]
              spids: [415 431]
            )
          ]
          spids: [291]
        )
      spids: [287 290]
    )
    (FuncDef
      name: mark
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(Lit_Other '[')} {($ VSub_Name '$MARK')} {(-gt)} {(0)} {(Lit_Other ']')})
                (C {(result)})
              ]
              op_id: Op_DAmp
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MARK)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(expr)} {($ VSub_Name '$MARK')} {(Lit_Other '+')} {(1)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [468 476]
                      )
                    }
                  spids: [467]
                )
              ]
              spids: [467]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:TESTNAME)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [479]
                )
              ]
              spids: [479]
            )
            (SimpleCommand
              words: [{(exec)}]
              redirects: [
                (Redir op_id:Redir_GreatAnd fd:1 arg_word:{(4)} spids:[485])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(5)} spids:[488])
              ]
            )
            (SimpleCommand
              words: [{(exec)}]
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(DQ (current.out))} spids:[494])]
            )
          ]
          spids: [449]
        )
      spids: [445 448]
    )
    (FuncDef
      name: test_args
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'Argument parsing - first type'>)}
                  spids: [509]
                )
              ]
              spids: [509]
            )
            (C {(mark)} {(SQ <1.1>)})
            (C {($ VSub_Name '$SED')} {(SQ <'s/^/e1_/p'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <1.2>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'s/^/e1_/p'>)} {(lines1)})
            (C {(mark)} {(SQ <1.3>)})
            (SimpleCommand
              words: [{($ VSub_Name '$SED')} {(SQ <'s/^/e1_/p'>)}]
              redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(lines1)} spids:[563])]
            )
            (Sentence child:(C {(mark)} {(SQ <1.4>)}) terminator:<Op_Semi ';'>)
            (SimpleCommand
              words: [{($ VSub_Name '$SED')} {(-n)} {(SQ <'s/^/e1_/p'>)}]
              redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(lines1)} spids:[583])]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'Argument parsing - second type'>)}
                  spids: [587]
                )
              ]
              spids: [587]
            )
            (C {(mark)} {(SQ <1.4.1>)})
            (SimpleCommand
              words: [{($ VSub_Name '$SED')} {(-e)} {(SQ )}]
              redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(lines1)} spids:[607])]
            )
            (SimpleCommand
              words: [{(echo)} {(SQ <'s/^/s1_/p'>)}]
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(script1)} spids:[617])]
            )
            (SimpleCommand
              words: [{(echo)} {(SQ <'s/^/s2_/p'>)}]
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(script2)} spids:[627])]
            )
            (C {(mark)} {(SQ <1.5>)})
            (C {($ VSub_Name '$SED')} {(-f)} {(script1)} {(lines1)})
            (C {(mark)} {(SQ <1.6>)})
            (SimpleCommand
              words: [{($ VSub_Name '$SED')} {(-f)} {(script1)}]
              redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(lines1)} spids:[660])]
            )
            (C {(mark)} {(SQ <1.7>)})
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/^/e1_/p'>)} {(lines1)})
            (C {(mark)} {(SQ <1.8>)})
            (SimpleCommand
              words: [{($ VSub_Name '$SED')} {(-e)} {(SQ <'s/^/e1_/p'>)}]
              redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(lines1)} spids:[697])]
            )
            (Sentence child:(C {(mark)} {(SQ <1.9>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-f)} {(script1)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <1.10>)}) terminator:<Op_Semi ';'>)
            (SimpleCommand
              words: [{($ VSub_Name '$SED')} {(-n)} {(-f)} {(script1)}]
              redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(lines1)} spids:[736])]
            )
            (Sentence child:(C {(mark)} {(SQ <1.11>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <'s/^/e1_/p'>)} {(lines1)})
            (C {(mark)} {(SQ <1.12>)})
            (SimpleCommand
              words: [{($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <'s/^/e1_/p'>)}]
              redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(lines1)} spids:[778])]
            )
            (C {(mark)} {(SQ <1.13>)})
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/^/e1_/p'>)} {(-e)} {(SQ <'s/^/e2_/p'>)} {(lines1)})
            (C {(mark)} {(SQ <1.14>)})
            (C {($ VSub_Name '$SED')} {(-f)} {(script1)} {(-f)} {(script2)} {(lines1)})
            (C {(mark)} {(SQ <1.15>)})
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/^/e1_/p'>)} {(-f)} {(script1)} {(lines1)})
            (C {(mark)} {(SQ <1.16>)})
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/^/e1_/p'>)} {(lines1)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <1.17>)}) terminator:<Op_Semi ';'>)
            (SimpleCommand
              words: [{($ VSub_Name '$SED')} {(p)} {(lines1)}]
              redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(lines1)} spids:[884])]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir op_id:Redir_Great fd:-1 arg_word:{(script1)} spids:[891])
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ('#n\n') ('# A comment\n') ('\n') ('p\n'))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [894]
                )
              ]
            )
            (Sentence child:(C {(mark)} {(SQ <1.18>)}) terminator:<Op_Semi ';'>)
            (SimpleCommand
              words: [{($ VSub_Name '$SED')} {(-f)} {(script1)} {(lines1)}]
              redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(lines1)} spids:[917])]
            )
          ]
          spids: [506]
        )
      spids: [502 505]
    )
    (FuncDef
      name: test_addr
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'Address ranges'>)}
                  spids: [932]
                )
              ]
              spids: [932]
            )
            (Sentence child:(C {(mark)} {(SQ <2.1>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <4p>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <2.2>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <20p>)} {(lines1)} {(lines2)})
            (Sentence child:(C {(mark)} {(SQ <2.3>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <'$p'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <2.4>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <'$p'>)} {(lines1)} {(lines2)})
            (Sentence child:(C {(mark)} {(SQ <2.5>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <'$a\\\n'> <hello>)} {(/dev/null)})
            (Sentence child:(C {(mark)} {(SQ <2.6>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <'$p'>)} {(lines1)} {(/dev/null)} {(lines2)})
            (Sentence child:(C {(mark)} {(SQ <2.7>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <20p>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <2.8>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ </NOTFOUND/p>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <2.9>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ </l1_7/p>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <2.10>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <' /l1_7/ p'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <2.11>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'\\_l1\\_7_p'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <2.12>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'1,4p'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <2.13>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'1,$p'>)} {(lines1)} {(lines2)})
            (Sentence child:(C {(mark)} {(SQ <2.14>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'1,/l2_9/p'>)} {(lines1)} {(lines2)})
            (Sentence child:(C {(mark)} {(SQ <2.15>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'/4/,$p'>)} {(lines1)} {(lines2)})
            (Sentence child:(C {(mark)} {(SQ <2.16>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'/4/,20p'>)} {(lines1)} {(lines2)})
            (Sentence child:(C {(mark)} {(SQ <2.17>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'/4/,/10/p'>)} {(lines1)} {(lines2)})
            (Sentence child:(C {(mark)} {(SQ <2.18>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'/l2_3/,/l1_8/p'>)} {(lines1)} {(lines2)})
            (Sentence child:(C {(mark)} {(SQ <2.19>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'12,3p'>)} {(lines1)} {(lines2)})
            (Sentence child:(C {(mark)} {(SQ <2.20>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'/l1_7/,3p'>)} {(lines1)} {(lines2)})
            (Sentence child:(C {(mark)} {(SQ <2.21>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'13,+4p'>)} {(lines1)} {(lines2)})
            (Sentence child:(C {(mark)} {(SQ <2.22>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'/l1_6/,+2p'>)} {(lines1)} {(lines2)})
            (Sentence child:(C {(mark)} {(SQ <2.23>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'12,+1p'>)} {(lines1)})
          ]
          spids: [929]
        )
      spids: [925 928]
    )
    (FuncDef
      name: test_group
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'Brace and other grouping'>)}
                  spids: [1436]
                )
              ]
              spids: [1436]
            )
            (Sentence child:(C {(mark)} {(SQ <3.1>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} 
              {(SQ <'\n'> <'4,12 {\n'> <'\ts/^/^/\n'> <'\ts/$/$/\n'> <'\ts/_/T/\n'> <'}'>)} {(lines1)}
            )
            (Sentence child:(C {(mark)} {(SQ <3.2>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} 
              {
                (SQ <'\n'> <'4,12 {\n'> <'\ts/^/^/\n'> <'\t/6/,/10/ {\n'> <'\t\ts/$/$/\n'> 
                  <'\t\t/8/ s/_/T/\n'> <'\t}\n'> <'}'>
                )
              } {(lines1)}
            )
            (Sentence child:(C {(mark)} {(SQ <3.3>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} 
              {
                (SQ <'\n'> <'4,12 !{\n'> <'\ts/^/^/\n'> <'\t/6/,/10/ !{\n'> <'\t\ts/$/$/\n'> 
                  <'\t\t/8/ !s/_/T/\n'> <'\t}\n'> <'}'>
                )
              } {(lines1)}
            )
            (Sentence child:(C {(mark)} {(SQ <3.4>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'4,12!s/^/^/'>)} {(lines1)})
          ]
          spids: [1433]
        )
      spids: [1429 1432]
    )
    (FuncDef
      name: test_acid
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'Commands a c d and i'>)}
                  spids: [1546]
                )
              ]
              spids: [1546]
            )
            (Sentence child:(C {(mark)} {(SQ <4.1>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} 
              {(SQ <'\n'> <'s/^/before_i/p\n'> <'20i\\\n'> <'inserted\n'> <'s/^/after_i/p\n'>)} {(lines1)} {(lines2)}
            )
            (Sentence child:(C {(mark)} {(SQ <4.2>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} 
              {
                (SQ <'\n'> <'5,12s/^/5-12/\n'> <'s/^/before_a/p\n'> <'/5-12/a\\\n'> <'appended\n'> 
                  <'s/^/after_a/p\n'>
                )
              } {(lines1)} {(lines2)}
            )
            (C {(mark)} {(SQ <4.3>)})
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} 
              {(SQ <'\n'> <'s/^/^/p\n'> <'/l1_/a\\\n'> <'appended\n'> <'8,10N\n'> <'s/$/$/p\n'>)} {(lines1)} {(lines2)}
            )
            (Sentence child:(C {(mark)} {(SQ <4.4>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <'\n'> <'c\\\n'> <'hello\n'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <4.5>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <'\n'> <'8c\\\n'> <'hello\n'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <4.6>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <'\n'> <'3,14c\\\n'> <'hello\n'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <4.7>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <'\n'> <'8,3c\\\n'> <'hello\n'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <4.8>)}) terminator:<Op_Semi ';'>)
            (SimpleCommand
              words: [{($ VSub_Name '$SED')} {(d)}]
              redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(lines1)} spids:[1741])]
            )
          ]
          spids: [1543]
        )
      spids: [1539 1542]
    )
    (FuncDef
      name: test_branch
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'Labels and branching'>)}
                  spids: [1754]
                )
              ]
              spids: [1754]
            )
            (Sentence child:(C {(mark)} {(SQ <5.1>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} 
              {
                (SQ <'\n'> <'b label4\n'> <':label3\n'> <'s/^/label3_/p\n'> <'b end\n'> <':label4\n'> 
                  <'2,12b label1\n'> <'b label2\n'> <':label1\n'> <'s/^/label1_/p\n'> <'b\n'> <':label2\n'> <'s/^/label2_/p\n'> <'b label3\n'> 
                  <':end\n'>
                )
              } {(lines1)}
            )
            (C {(mark)} {(SQ <5.2>)})
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} 
              {(SQ <'\n'> <'s/l1_/l2_/\n'> <'t ok\n'> <'b\n'> <':ok\n'> <'s/^/tested /p\n'>)} {(lines1)} {(lines2)}
            )
            (Sentence child:(C {(mark)} {(SQ <5.3>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} 
              {
                (SQ <'\n'> <'5,8b inside\n'> <'1,5 {\n'> <'\ts/^/^/p\n'> <'\t:inside\n'> <'\ts/$/$/p\n'> 
                  <'}\n'>
                )
              } {(lines1)}
            )
            (Sentence child:(C {(mark)} {(SQ <5.4>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} 
              {
                (SQ <'\n'> <'1,8s/^/^/\n'> <'t l1\n'> <':l1\n'> <'t l2\n'> <'s/$/$/p\n'> <'b\n'> <':l2\n'> 
                  <'s/^/ERROR/\n'>
                )
              } {(lines1)}
            )
            (C {(mark)} {(SQ <5.5>)})
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} 
              {
                (SQ <'\n'> <'t l2\n'> <'1,8s/^/^/p\n'> <'2,7N\n'> <'b\n'> <':l2\n'> <'s/^/ERROR/p\n'>)
              } {(lines1)}
            )
            (Sentence child:(C {(mark)} {(SQ <5.6>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(5q)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <5.7>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'\n'> <'5i\\\n'> <'hello\n'> <5q>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <5.8>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'\n'> <'{\n'> <':b\n'> <'}\n'> <'s/l/m/\n'> <tb>)} 
              {(lines1)}
            )
          ]
          spids: [1751]
        )
      spids: [1747 1750]
    )
    (FuncDef
      name: test_pattern
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'Pattern space commands'>)}
                  spids: [1985]
                )
              ]
              spids: [1985]
            )
            (Sentence child:(C {(mark)} {(SQ <6.1>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <'\n'> <'c\\\n'> <'changed\n'> <'p\n'>)} 
              {(lines1)}
            )
            (Sentence child:(C {(mark)} {(SQ <6.2>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <'\n'> <'4d\n'> <'p\n'>)} {(lines1)})
            (C {(mark)} {(SQ <6.3>)})
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'N;N;N;D'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <6.4>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} 
              {(SQ <'\n'> <'2h\n'> <'3H\n'> <'4g\n'> <'5G\n'> <'6x\n'> <'6p\n'> <'6x\n'> <'6p\n'>)} {(lines1)}
            )
            (Sentence child:(C {(mark)} {(SQ <6.5>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <4n>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <6.6>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <4n>)} {(lines1)})
          ]
          spids: [1983]
        )
      spids: [1979 1982]
    )
    (FuncDef
      name: test_print
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'Print and file routines'>)}
                  spids: [2135]
                )
              ]
              spids: [2135]
            )
            (SimpleCommand
              words: [{(awk)} {(SQ <'END {for (i = 1; i < 256; i++) printf("%c", i);print "\\n"}'>)}]
              redirects: [
                (Redir op_id:Redir_Less fd:-1 arg_word:{(/dev/null)} spids:[2149])
                (Redir op_id:Redir_Great fd:-1 arg_word:{(lines3)} spids:[2152])
              ]
            )
            (C {(mark)} {(SQ <7.1>)})
            (C {($ VSub_Name '$SED')} {(-n)} {(l)} {(lines3)})
            (Sentence child:(C {(mark)} {(SQ <7.2>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'/l2_/='>)} {(lines1)} {(lines2)})
            (C {(rm)} {(-f)} {(lines4)})
            (Sentence child:(C {(mark)} {(SQ <7.3>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'3,12w lines4'>)} {(lines1)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'w results'>)}
                  spids: [2223]
                )
              ]
              spids: [2223]
            )
            (C {(cat)} {(lines4)})
            (Sentence child:(C {(mark)} {(SQ <7.4>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'4r lines2'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <7.5>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'5r /dev/dds'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <7.6>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'6r /dev/null'>)} {(lines1)})
            (C {(mark)} {(SQ <7.7>)})
            (Pipeline
              children: [
                (C {(sed)} {(SQ <200q>)} {($ VSub_Name '$DICT')})
                (SimpleCommand
                  words: [{(sed)} {(SQ <'s$.*$s/^/&/w tmpdir/&$'>)}]
                  redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(script1)} spids:[2314])]
                )
              ]
              negated: False
            )
            (C {(rm)} {(-rf)} {(tmpdir)})
            (C {(mkdir)} {(tmpdir)})
            (C {($ VSub_Name '$SED')} {(-f)} {(script1)} {(lines1)})
            (C {(cat)} {(tmpdir/) (Lit_Other '*')})
            (C {(rm)} {(-rf)} {(tmpdir)})
            (C {(mark)} {(SQ <7.8>)})
            (SimpleCommand
              words: [{(echo)} {(line1)}]
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(lines3)} spids:[2363])]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ )}]
              redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(lines3)} spids:[2373])]
            )
            (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <'$p'>)} {(lines3)} {(/dev/null)})
          ]
          spids: [2132]
        )
      spids: [2128 2131]
    )
    (FuncDef
      name: test_subst
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'Substitution commands'>)}
                  spids: [2404]
                )
              ]
              spids: [2404]
            )
            (Sentence child:(C {(mark)} {(SQ <8.1>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <s/./X/g>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <8.2>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s,.,X,g'>)} {(lines1)})
            (C {(mark)} {(SQ <8.3>)})
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s.\\..X.g'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <8.4>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/[\\/]/Q/'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <8.5>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s_\\__X_'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <8.6>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/./(&)/g'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <8.7>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/./(\\&)/g'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <8.8>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/\\(.\\)\\(.\\)\\(.\\)/x\\3x\\2x\\1/g'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <8.9>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/_/u0\\\n'> <'u1\\\n'> <u2/g>)} {(lines1)})
            (C {(mark)} {(SQ <8.10>)})
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <s/./X/4>)} {(lines1)})
            (C {(rm)} {(-f)} {(lines4)})
            (Sentence child:(C {(mark)} {(SQ <8.11>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/1/X/w lines4'>)} {(lines1)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'s wfile results'>)}
                  spids: [2629]
                )
              ]
              spids: [2629]
            )
            (C {(cat)} {(lines4)})
            (Sentence child:(C {(mark)} {(SQ <8.12>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/[123]/X/g'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <8.13>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <y/0123456789/9876543210/>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <8.14>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'y10\\123456789198765432\\101'>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <8.15>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'1N;2y/\\n/X/'>)} {(lines1)})
            (C {(mark)} {(SQ <8.16>)})
            (Pipeline
              children: [
                (C {(echo)} {(SQ <eeefff>)})
                (C {($ VSub_Name '$SED')} {(-e)} 
                  {
                    (SQ <'\n'> <'\t\tp\n'> <'\t\ts/e/X/p\n'> <'\t\t:x\n'> <'\t\ts//Y/p \n'> 
                      <'\t\t# Establish limit counter in the hold space\n'> <'\t\t# GNU sed version 3.02 enters into an infinite loop here\n'> <'\t\tx \n'> <'\t\t/.\\{10\\}/ {\n'> 
                      <'\t\t\ts/.*/ERROR/\n'> <'\t\t\tb\n'> <'\t\t}\n'> <'\t\ts/.*/&./\n'> <'\t\tx \n'> <'\t\t/f/bx\n'> <'\t'>
                    )
                  }
                )
              ]
              negated: False
            )
            (Sentence child:(C {(mark)} {(SQ <8.17>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/[/]/Q/'>)} {(lines1)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'[ as an s delimiter and its escapes'>)}
                  spids: [2785]
                )
              ]
              spids: [2785]
            )
            (Sentence child:(C {(mark)} {(SQ <8.18>)}) terminator:<Op_Semi ';'>)
            (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s[_[X['>)} {(lines1)})
            (Sentence child:(C {(mark)} {(SQ <8.19>)}) terminator:<Op_Semi ';'>)
            (Pipeline
              children: [
                (C {(sed)} {(SQ <'s/l/[/'>)} {(lines1)})
                (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s[\\[.[X['>)})
              ]
              negated: False
            )
            (Sentence child:(C {(mark)} {(SQ <8.20>)}) terminator:<Op_Semi ';'>)
            (Pipeline
              children: [
                (C {(sed)} {(SQ <'s/l/[/'>)} {(lines1)})
                (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s[\\[.[X\\[['>)})
              ]
              negated: False
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'\\ in y command'>)}
                  spids: [2896]
                )
              ]
              spids: [2896]
            )
            (C {(mark)} {(SQ <8.21>)})
            (Pipeline
              children: [
                (C {(echo)} {(SQ <'a\\b(c'>)})
                (C {($ VSub_Name '$SED')} 
                  {
                    (SQ <'y%ABCDEFGHIJKLMNOPQRSTUVWXYZ, /\\\\()"%abcdefghijklmnopqrstuvwxyz,------%'>)
                  }
                )
              ]
              negated: False
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'\\n in a character class and a BRE'>)}
                  spids: [2925]
                )
              ]
              spids: [2925]
            )
            (Sentence child:(C {(mark)} {(SQ <8.22>)}) terminator:<Op_Semi ';'>)
            (Pipeline
              children: [
                (Subshell
                  child: 
                    (CommandList
                      children: [
                        (Sentence
                          child: (C {(echo)} {(1)})
                          terminator: <Op_Semi ';'>
                        )
                        (C {(echo)} {(2)})
                      ]
                    )
                  spids: [2939 2948]
                )
                (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'1{;N;s/[\\n]/X/;p;}'>)})
              ]
              negated: False
            )
            (Sentence child:(C {(mark)} {(SQ <8.23>)}) terminator:<Op_Semi ';'>)
            (Pipeline
              children: [
                (Subshell
                  child: 
                    (CommandList
                      children: [
                        (Sentence
                          child: (C {(echo)} {(1)})
                          terminator: <Op_Semi ';'>
                        )
                        (C {(echo)} {(2)})
                      ]
                    )
                  spids: [2969 2978]
                )
                (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'1{;N;s/\\n/X/;p;}'>)})
              ]
              negated: False
            )
          ]
          spids: [2401]
        )
      spids: [2397 2400]
    )
    (FuncDef
      name: test_error
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMMENT)
                  op: Equal
                  rhs: {(SQ <'Error cases'>)}
                  spids: [3000]
                )
              ]
              spids: [3000]
            )
            (Sentence child:(C {(mark)} {(SQ <9.1>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(-x)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3018])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.2>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(-f)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3040])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.3>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(-e)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3062])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.4>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(-f)} {(/dev/xyzzyxyzy)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3086])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.5>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(p)} {(/dev/xyzzyxyzy)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3110])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.6>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(-f)} {(/bin/sh)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3134])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.7>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <'{'>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3158])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.8>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <'{'>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3182])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.9>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ </hello/>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3206])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.10>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <'1,/hello/'>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3230])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.11>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(-e)} {(SQ <-5p>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3256])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.12>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ </jj>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3280])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.13>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <'a hello'>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3304])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.14>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <'a \\ hello'>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3328])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.15>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <'b foo'>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3352])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.16>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <'d hello'>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3376])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.17>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <s/aa>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3400])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.18>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <s/aa/>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3424])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.19>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <s/a/b>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3448])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.20>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <s/a/b/c/d>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3472])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.21>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <'s/a/b/ 1 2'>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3496])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.22>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <'s/a/b/ 1 g'>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3520])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.23>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <s/a/b/w>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3544])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.24>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <y/aa>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3568])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.25>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <y/aa/b/>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3592])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.26>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <y/aa/>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3616])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.27>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <y/a/b>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3640])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.28>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <y/a/b/c/d>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3664])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.29>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ <'!'>)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3688])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.30>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [
                    {($ VSub_Name '$SED')}
                    {(supercalifrangolisticexprialidociussupercalifrangolisticexcius)}
                  ]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3710])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
            (Sentence child:(C {(mark)} {(SQ <9.31>)}) terminator:<Op_Semi ';'>)
            (Sentence
              child: 
                (SimpleCommand
                  words: [{($ VSub_Name '$SED')} {(SQ )} {(/dev/null)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3735])]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(echo)} {($ VSub_QMark '$?')})
          ]
          spids: [2997]
        )
      spids: [2993 2996]
    )
    (C {(main)})
  ]
)