(CommandList
  children: [
    (C {(Lit_Other ":")} {(make)} {(abstract)} {(machine)} {(executor)} {(with)} {(state)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_command_) op:Equal rhs:{(mamexec)} spids:[82])]
      spids: [82]
    )
    (Case
      to_match: 
        {
          (CommandSubPart
            command_list: 
              (CommandList
                children: [
                  (Subshell
                    child: 
                      (CommandList
                        children: [
                          (Sentence
                            child: (C {(getopts)} {(SQ <"[-][123:xyz]">)} {(opt)} {(--xyz)})
                            terminator: <Op_Semi ";">
                          )
                          (C {(echo)} {(0) ($ VSub_Name "$opt")})
                        ]
                      )
                    redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[106])]
                    spids: [88 104]
                  )
                ]
              )
            left_token: <Left_Backtick "`">
            spids: [87 108]
          )
        }
      arms: [
        (case_arm
          pat_list: [{(0123)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ARGV0)
                  op: Equal
                  rhs: {(DQ ("-a ") ($ VSub_Name "$_command_"))}
                  spids: [115]
                )
              ]
              spids: [115]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:USAGE)
                  op: Equal
                  rhs: 
                    {
                      (SQ <"\n"> <"[-?\n"> <"@(#)$Id: mamexec (AT&T Labs Research) 1994-04-17 $\n"> 
                        <"]\n">
                      ) ($ VSub_Name "$USAGE_LICENSE") 
                      (SQ <"\n"> <"[+NAME?mamexec - make abstract machine executor]\n"> 
                        <"[+DESCRIPTION?"> <Lit_EscapedChar "\\b"> <mamexec> <Lit_EscapedChar "\\b"> 
                        <" reads MAM (Make Abstract Machine) target and\n"> <"\tprerequisite file descriptions from the standard input and executes\n"> 
                        <"\tactions to update targets that are older than their prerequisites.\n"> <"\tMamfiles are generated by the "> <Lit_EscapedChar "\\b"> <--mam> <Lit_EscapedChar "\\b"> 
                        <" option of "> <Lit_EscapedChar "\\b"> <nmake> <Lit_EscapedChar "\\b"> <"(1) and\n"> <"\t"> <Lit_EscapedChar "\\b"> 
                        <gmake> <Lit_EscapedChar "\\b"> <"(1) and are portable to environments that only have\n"> <"\t"> 
                        <Lit_EscapedChar "\\b"> <sh> <Lit_EscapedChar "\\b"> <"(1) and "> <Lit_EscapedChar "\\b"> <cc> <Lit_EscapedChar "\\b"> <"(1).]\n"> 
                        <"[+?A separate "> <Lit_EscapedChar "\\b"> <mamstate> <Lit_EscapedChar "\\b"> 
                        <"(1) program is used to compare current and state\n"> <"\tfile target times. "> <Lit_EscapedChar "\\b"> <mamexec> <Lit_EscapedChar "\\b"> <" is a "> 
                        <Lit_EscapedChar "\\b"> <ksh> <Lit_EscapedChar "\\b"> <"(1) script implementation\n"> 
                        <"\tthat has been replaced by the standalone "> <Lit_EscapedChar "\\b"> <mamake> <Lit_EscapedChar "\\b"> <"(1). New\n"> <"\tapplications should use "> 
                        <Lit_EscapedChar "\\b"> <mamake> <Lit_EscapedChar "\\b"> <".]\n"> <"[d:debug?Set the debug trace level to "> 
                        <Lit_EscapedChar "\\a"> <level> <Lit_EscapedChar "\\a"> <". Higher levels produce\n"> <"\tmore output.]\n"> 
                        <"[f:force?Force all targets to be out of date.]\n"> <"[i:ignore?Ignore shell action errors.]\n"> <"[n!:exec?Enable shell action execution.]\n"> 
                        <"[s:silent?Do not trace shell actions as they are executed.]\n"> <"\n"> <"[ target ... ]\n"> <"\n"> <"[+SEE ALSO?"> <Lit_EscapedChar "\\b"> <mamake> <Lit_EscapedChar "\\b"> 
                        <"(1), "> <Lit_EscapedChar "\\b"> <mamstate> <Lit_EscapedChar "\\b"> <"(1), "> <Lit_EscapedChar "\\b"> <nmake> 
                        <Lit_EscapedChar "\\b"> <"(1)]\n">
                      )
                    }
                  spids: [122]
                )
              ]
              spids: [122]
            )
          ]
          spids: [112 113 216 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:ARGV0) op:Equal rhs:{(DQ )} spids:[221])]
              spids: [221]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:USAGE) op:Equal rhs:{(DQ (dfins))} spids:[226])]
              spids: [226]
            )
          ]
          spids: [218 219 232 -1]
        )
      ]
      spids: [85 110 234]
    )
    (FuncDef
      name: usage
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:OPTIND) op:Equal rhs:{(0)} spids:[244])]
              spids: [244]
            )
            (C {(getopts)} {($ VSub_Name "$ARGV0")} {(DQ ($ VSub_Name "$USAGE"))} {(OPT)} {(SQ <"-?">)})
            (C {(exit)} {(2)})
          ]
          spids: [241]
        )
      spids: [237 240]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_debug_) op:Equal rhs:{(Lit_Other ":")} spids:[270])]
      spids: [270]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_diff_) op:Equal rhs:{(.)} spids:[273])]
      spids: [273]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_error_) op:Equal rhs:{(SQ <"exit 1">)} spids:[276])]
      spids: [276]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_exec_) op:Equal rhs:{(eval)} spids:[281])]
      spids: [281]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_force_) op:Equal rhs:{(SQ )} spids:[284])]
      spids: [284]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_list_) op:Equal rhs:{(SQ )} spids:[286])]
      spids: [286]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_same_) op:Equal rhs:{(.)} spids:[288])]
      spids: [288]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_set_) op:Equal rhs:{(SQ )} spids:[291])]
      spids: [291]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_silent_) op:Equal rhs:{(SQ )} spids:[293])]
      spids: [293]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_state_list_) op:Equal rhs:{(MAMlist)} spids:[295])]
      spids: [295]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_state_time_) op:Equal rhs:{(MAMtime)} spids:[298])]
      spids: [298]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_tmp_)
          op: Equal
          rhs: {(/tmp/mam.) ($ VSub_Dollar "$$") (.mam)}
          spids: [301]
        )
      ]
      spids: [301]
    )
    (C {(trap)} {(SQ <"rm -f $_tmp_">)} {(0)})
    (C {(trap)} {(SQ <"exit 2">)} {(1)} {(2)})
    (While
      cond: [(C {(getopts)} {($ VSub_Name "$ARGV0")} {(DQ ($ VSub_Name "$USAGE"))} {(OPT)})]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {($ VSub_Name "$OPT")}
              arms: [
                (case_arm
                  pat_list: [{(d)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_debug_)
                          op: Equal
                          rhs: {($ VSub_Name "$OPT")}
                          spids: [350]
                        )
                      ]
                      spids: [350]
                    )
                  ]
                  spids: [347 348 353 -1]
                )
                (case_arm
                  pat_list: [{(f)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:_force_) op:Equal rhs:{(1)} spids:[359])]
                      spids: [359]
                    )
                  ]
                  spids: [356 357 362 -1]
                )
                (case_arm
                  pat_list: [{(i)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_error_)
                          op: Equal
                          rhs: {(Lit_Other ":")}
                          spids: [368]
                        )
                      ]
                      spids: [368]
                    )
                  ]
                  spids: [365 366 371 -1]
                )
                (case_arm
                  pat_list: [{(n)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_exec_)
                          op: Equal
                          rhs: {(echo)}
                          spids: [377]
                        )
                      ]
                      spids: [377]
                    )
                  ]
                  spids: [374 375 380 -1]
                )
                (case_arm
                  pat_list: [{(s)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_silent_)
                          op: Equal
                          rhs: {(1)}
                          spids: [386]
                        )
                      ]
                      spids: [386]
                    )
                  ]
                  spids: [383 384 389 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [(C {(usage)})]
                  spids: [392 393 397 -1]
                )
              ]
              spids: [340 344 400]
            )
          ]
          spids: [338 402]
        )
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_select_) op:Equal rhs:{(SQ )} spids:[405])]
      spids: [405]
    )
    (While
      cond: [(C {(Lit_Other ":")})]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {($ VSub_Pound "$#")}
              arms: [
                (case_arm
                  pat_list: [{(0)}]
                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                  spids: [420 421 425 -1]
                )
              ]
              spids: [413 417 428]
            )
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other "*") (Lit_Other "=") (Lit_Other "*")}]
                  action: [(C {(eval)} {($ VSub_Number "$1")})]
                  spids: [438 441 448 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$_select_")}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ )}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_select_)
                                  op: Equal
                                  rhs: {($ VSub_Number "$1")}
                                  spids: [465]
                                )
                              ]
                              spids: [465]
                            )
                          ]
                          spids: [-1 463 468 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_select_)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$_select_") ("|") ($ VSub_Number "$1"))}
                                  spids: [474]
                                )
                              ]
                              spids: [474]
                            )
                          ]
                          spids: [471 472 481 -1]
                        )
                      ]
                      spids: [454 458 484]
                    )
                  ]
                  spids: [451 452 487 -1]
                )
              ]
              spids: [431 435 490]
            )
            (C {(shift)})
          ]
          spids: [411 495]
        )
    )
    (Case
      to_match: {($ VSub_Name "$_select_")}
      arms: [
        (case_arm
          pat_list: [{(DQ )}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:_select_) op:Equal rhs:{(DQ ("*"))} spids:[507])]
              spids: [507]
            )
          ]
          spids: [-1 505 512 -1]
        )
      ]
      spids: [497 501 514]
    )
    (AndOr
      children: [
        (Subshell
          child: 
            (CommandList
              children: [
                (Sentence child:(C {(set)} {(-e)}) terminator:<Op_Semi ";">)
                (AndOr children:[(C {(false)})(C {(true)})] op_id:Op_DPipe)
              ]
            )
          spids: [516 527]
        )
        (AndOr
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:_set_) op:Equal rhs:{(e)} spids:[531])]
              spids: [531]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {($ VSub_Name "$_command_") (Lit_Other ":")}
                {(command)}
                {(errors)}
                {(ignored)}
                {(because)}
                {(of)}
                {(shell)}
                {(botch)}
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[555])]
            )
          ]
          op_id: Op_DPipe
        )
      ]
      op_id: Op_DAmp
    )
    (Case
      to_match: {($ VSub_Name "$_silent_")}
      arms: [
        (case_arm
          pat_list: [{(DQ )}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_set_)
                  op: Equal
                  rhs: {(x) ($ VSub_Name "$_set_")}
                  spids: [568]
                )
              ]
              spids: [568]
            )
          ]
          spids: [-1 566 573 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (Case
              to_match: {($ VSub_Name "$_exec_")}
              arms: [
                (case_arm
                  pat_list: [{(DQ (echo))}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_exec_)
                          op: Equal
                          rhs: {(Lit_Other ":")}
                          spids: [590]
                        )
                      ]
                      spids: [590]
                    )
                  ]
                  spids: [586 588 593 -1]
                )
              ]
              spids: [578 582 596]
            )
          ]
          spids: [575 576 599 -1]
        )
      ]
      spids: [558 562 601]
    )
    (Case
      to_match: {($ VSub_Name "$_exec_")}
      arms: [
        (case_arm
          pat_list: [{(DQ (eval))}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:_begin_) op:Equal rhs:{(DQ ("("))} spids:[614])]
              spids: [614]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_end_)
                  op: Equal
                  rhs: {(DQ (") </dev/null"))}
                  spids: [620]
                )
              ]
              spids: [620]
            )
            (Case
              to_match: {($ VSub_Name "$_set_")}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_set_)
                          op: Equal
                          rhs: {(DQ ("set -") ($ VSub_Name "$_set_") (";"))}
                          spids: [637]
                        )
                      ]
                      spids: [637]
                    )
                  ]
                  spids: [633 635 644 -1]
                )
              ]
              spids: [626 630 647]
            )
          ]
          spids: [610 612 650 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:_set_) op:Equal rhs:{(SQ )} spids:[655])]
              spids: [655]
            )
          ]
          spids: [652 653 658 -1]
        )
      ]
      spids: [603 607 660]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(test)} {(-f)} {($ VSub_Name "$_state_list_")} {(-a)} {(-f)} 
              {($ VSub_Name "$_state_time_")}
            )
          ]
          action: [
            (Pipeline
              children: [
                (SimpleCommand
                  words: [{(mamstate)} {($ VSub_Name "$_state_list_")}]
                  redirects: [
                    (Redir
                      op_id: Redir_Less
                      fd: -1
                      arg_word: {($ VSub_Name "$_state_list_")}
                      spids: [683]
                    )
                  ]
                )
                (SimpleCommand
                  words: [{(sort)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: -1
                      arg_word: {($ VSub_Name "$_tmp_")}
                      spids: [691]
                    )
                  ]
                )
              ]
              negated: False
            )
            (ForEach
              iter_name: _i_
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C {(comm)} {(-12)} {($ VSub_Name "$_state_time_")} 
                                {($ VSub_Name "$_tmp_")}
                              )
                              (C {(sed)} {(SQ <"s/ .*//">)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_Backtick "`">
                    spids: [702 718]
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$_same_")}
                      arms: [
                        (case_arm
                          pat_list: [{(.)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_same_)
                                  op: Equal
                                  rhs: {($ VSub_Name "$_i_")}
                                  spids: [733]
                                )
                              ]
                              spids: [733]
                            )
                          ]
                          spids: [730 731 736 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_same_)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$_same_") ("|") ($ VSub_Name "$_i_"))}
                                  spids: [742]
                                )
                              ]
                              spids: [742]
                            )
                          ]
                          spids: [739 740 749 -1]
                        )
                      ]
                      spids: [723 727 752]
                    )
                  ]
                  spids: [721 755]
                )
              spids: [701 -1]
            )
          ]
          spids: [-1 677]
        )
      ]
      spids: [-1 757]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_index_) op:Equal rhs:{(_)} spids:[760])]
      spids: [760]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_match_) op:Equal rhs:{(SQ )} spids:[763])]
      spids: [763]
    )
    (Case
      to_match: 
        {
          (CommandSubPart
            command_list: 
              (CommandList
                children: [
                  (Subshell
                    child: 
                      (Pipeline
                        children: [
                          (C {(echo)} {(ok)})
                          (Subshell
                            child: 
                              (CommandList
                                children: [
                                  (Sentence
                                    child: (C {(read)} {(-r)} {(a)})
                                    terminator: <Op_Semi ";">
                                  )
                                  (C {(echo)} {($ VSub_Name "$a")})
                                ]
                              )
                            redirects: [
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [788]
                              )
                            ]
                            spids: [775 786]
                          )
                        ]
                        negated: False
                      )
                    spids: [768 790]
                  )
                ]
              )
            left_token: <Left_Backtick "`">
            spids: [767 791]
          )
        }
      arms: [
        (case_arm
          pat_list: [{(ok)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_read_)
                  op: Equal
                  rhs: {(SQ <"read -r">)}
                  spids: [798]
                )
              ]
              spids: [798]
            )
          ]
          spids: [795 796 804 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:_read_) op:Equal rhs:{(read)} spids:[817])]
              spids: [817]
            )
            (SimpleCommand
              words: [{(sed)} {(SQ <"s/\\\\/\\\\\\\\/g">)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {($ VSub_Name "$_tmp_")}
                  spids: [827]
                )
              ]
            )
            (SimpleCommand
              words: [{(exec)}]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: -1
                  arg_word: {($ VSub_Name "$_tmp_")}
                  spids: [834]
                )
              ]
            )
            (C {(rm)} {(-f)} {($ VSub_Name "$_tmp_")})
          ]
          spids: [806 807 846 -1]
        )
      ]
      spids: [765 793 848]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_old_) op:Equal rhs:{(1)} spids:[850])]
      spids: [850]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_ifs_) op:Equal rhs:{($ VSub_Name "$IFS")} spids:[853])]
      spids: [853]
    )
    (While
      cond: [
        (Sentence
          child: 
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <" ">)} spids:[858])]
              spids: [858]
            )
          terminator: <Op_Semi ";">
        )
        (C {($ VSub_Name "$_read_")} {(_op_)} {(_arg_)} {(_val_)})
      ]
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name "$_ifs_")}
                  spids: [874]
                )
              ]
              spids: [874]
            )
            (Case
              to_match: {($ VSub_Name "$_op_")}
              arms: [
                (case_arm
                  pat_list: [{(DQ (note))}]
                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [886 888 893 -1]
                )
                (case_arm
                  pat_list: [{(DQ (info))}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$_arg_")}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ (mam))}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_old_)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [913]
                                )
                              ]
                              spids: [913]
                            )
                          ]
                          spids: [909 911 915 -1]
                        )
                      ]
                      spids: [901 905 918]
                    )
                    (ControlFlow token:<ControlFlow_Continue continue>)
                  ]
                  spids: [897 899 924 -1]
                )
                (case_arm
                  pat_list: [{(DQ (setv))}]
                  action: [
                    (C {(eval)} {(Lit_VarLike "_data_=") (SQ <"$">) ($ VSub_Name "$_arg_")})
                    (Case
                      to_match: {($ VSub_Name "$_index_") (Lit_Other ":") ($ VSub_Name "$_data_")}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(__) (Lit_Other "*") (Lit_Other ":") (Lit_Other "*")}
                            {(Lit_Other "*") (Lit_Other ":")}
                          ]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$_exec_")}
                              arms: [
                                (case_arm
                                  pat_list: [{(DQ (eval))}]
                                  spids: [968 970 972 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(echo)} 
                                      {(DQ ($ VSub_Name "$_arg_") ("=") ($ VSub_Name "$_val_"))}
                                    )
                                  ]
                                  spids: [975 976 986 -1]
                                )
                              ]
                              spids: [960 964 989]
                            )
                            (C {(eval)} 
                              {($ VSub_Name "$_arg_") (Lit_Other "=") (DQ ($ VSub_Name "$_val_"))} {(DQ ("</dev/null"))}
                            )
                          ]
                          spids: [950 957 1005 -1]
                        )
                      ]
                      spids: [941 947 1008]
                    )
                    (Case
                      to_match: {($ VSub_Name "$_arg_") (Lit_Other ":") ($ VSub_Name "$mam_cc_L")}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ ("CC:"))}]
                          action: [
                            (AndOr
                              children: [
                                (Subshell
                                  child: 
                                    (CommandList
                                      children: [
                                        (C {(set)} {(-)})
                                        (C {(mkdir)} {(/tmp/mam) ($ VSub_Dollar "$$")})
                                        (C {(cd)} {(/tmp/mam) ($ VSub_Dollar "$$")})
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <"main(){return 0;}">)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(main.c)}
                                              spids: [1051]
                                            )
                                          ]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:code)
                                              op: Equal
                                              rhs: {(1)}
                                              spids: [1056]
                                            )
                                          ]
                                          spids: [1056]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (SimpleCommand
                                                  words: [{($ VSub_Name "$CC")} {(-c)} {(main.c)}]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 2
                                                      arg_word: {(/dev/null)}
                                                      spids: [1068]
                                                    )
                                                  ]
                                                )
                                              ]
                                              action: [
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (SimpleCommand
                                                          words: [
                                                            {($ VSub_Name "$CC")}
                                                            {(-L.)}
                                                            {(main.o)}
                                                            {(-lc)}
                                                          ]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_Great
                                                              fd: 2
                                                              arg_word: {(/dev/null)}
                                                              spids: [1084]
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                      action: [
                                                        (AndOr
                                                          children: [
                                                            (SimpleCommand
                                                              words: [
                                                                {($ VSub_Name "$CC")}
                                                                {(-L.)}
                                                                {(main.o)}
                                                                {(-lc)}
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: {(libc.a)}
                                                                  spids: [1098]
                                                                )
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: 2
                                                                  arg_word: {(/dev/null)}
                                                                  spids: [1102]
                                                                )
                                                              ]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:code)
                                                                  op: Equal
                                                                  rhs: {(0)}
                                                                  spids: [1107]
                                                                )
                                                              ]
                                                              spids: [1107]
                                                            )
                                                          ]
                                                          op_id: Op_DPipe
                                                        )
                                                      ]
                                                      spids: [-1 1088]
                                                    )
                                                  ]
                                                  spids: [-1 1111]
                                                )
                                              ]
                                              spids: [-1 1072]
                                            )
                                          ]
                                          spids: [-1 1114]
                                        )
                                        (C {(cd)} {(/tmp)})
                                        (C {(rm)} {(-rf)} {(/tmp/mam) ($ VSub_Dollar "$$")})
                                        (C {(exit)} {($ VSub_Name "$code")})
                                      ]
                                    )
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Less
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                      spids: [1137]
                                    )
                                  ]
                                  spids: [1025 1135]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:mam_cc_L)
                                      op: Equal
                                      rhs: {(SQ <" ">)}
                                      spids: [1142]
                                    )
                                  ]
                                  spids: [1142]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          spids: [1021 1023 1148 -1]
                        )
                      ]
                      spids: [1011 1017 1151]
                    )
                    (ControlFlow token:<ControlFlow_Continue continue>)
                  ]
                  spids: [928 930 1157 -1]
                )
                (case_arm
                  pat_list: [{(DQ (make))}]
                  action: [
                    (C {(eval)} 
                      {(_name_) ($ VSub_Name "$_index_") (Lit_Other "=") ($ VSub_Name "$_name_")}
                    )
                    (C {(eval)} 
                      {(_prev_) ($ VSub_Name "$_index_") (Lit_Other "=") ($ VSub_Name "$_prev_")}
                    )
                    (C {(eval)} {(_cmds_) ($ VSub_Name "$_index_") (Lit_Other "=") (SQ <"\"$_cmds_\"">)})
                    (C {(eval)} 
                      {(_attr_) ($ VSub_Name "$_index_") (Lit_Other "=") ($ VSub_Name "$_attr_")}
                    )
                    (C {(eval)} {(Lit_VarLike "_name_=") ($ VSub_Name "$_arg_")})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_prev_)
                          op: Equal
                          rhs: {($ VSub_Name "$_index_")}
                          spids: [1205]
                        )
                      ]
                      spids: [1205]
                    )
                    (Case
                      to_match: {(DQ (" ") ($ VSub_Name "$_val_") (" "))}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (DQ (" metarule ")) (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_attr_)
                                  op: Equal
                                  rhs: {(m) ($ VSub_Name "$_attr_")}
                                  spids: [1227]
                                )
                              ]
                              spids: [1227]
                            )
                          ]
                          spids: [1220 1225 1231 -1]
                        )
                      ]
                      spids: [1209 1217 1234]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_cmds_)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [1237]
                        )
                      ]
                      spids: [1237]
                    )
                    (C {(eval)} 
                      {
                        (DQ ("\tcase ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          ($ VSub_Name "$_name_") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" in\n") ("\t\t\t") ($ VSub_Name "$_select_") 
                          (")\n") ("\t\t\t\tcase ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$_select_") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (" in\n") ("\t\t\t\t") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("*") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (")\t_select_=") ($ VSub_Name "$_name_") (" ;;\n") ("\t\t\t\tesac\n") ("\t\t\t\t_match_=1\n") 
                          ("\t\t\t\t_attr_=x") ($ VSub_Name "$_attr_") ("\n") ("\t\t\t\t;;\n") ("\t\t\tesac")
                        )
                      }
                    )
                    (Case
                      to_match: {($ VSub_Name "$_force_")}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ )}]
                          action: [
                            (C {(eval)} 
                              {
                                (DQ ("\tcase ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                  ($ VSub_Name "$_name_") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" in\n") ("\t\t\t\t") ($ VSub_Name "$_diff_") 
                                  (")_attr_=u") ($ VSub_Name "$_attr_") (" ;;\n") ("\t\t\t\t") ($ VSub_Name "$_same_") (");;\n") ("\t\t\t\t*)\t_attr_=u") 
                                  ($ VSub_Name "$_attr_") (" ;;\n") ("\t\t\t\tesac")
                                )
                              }
                            )
                          ]
                          spids: [-1 1282 1307 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_attr_)
                                  op: Equal
                                  rhs: {(u) ($ VSub_Name "$_attr_")}
                                  spids: [1313]
                                )
                              ]
                              spids: [1313]
                            )
                          ]
                          spids: [1310 1311 1318 -1]
                        )
                      ]
                      spids: [1273 1277 1321]
                    )
                    (Case
                      to_match: {($ VSub_Name "$_attr_")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (u) (Lit_Other "*")}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$_diff_")}
                              arms: [
                                (case_arm
                                  pat_list: [{(.)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_diff_)
                                          op: Equal
                                          rhs: {($ VSub_Name "$_name_")}
                                          spids: [1346]
                                        )
                                      ]
                                      spids: [1346]
                                    )
                                  ]
                                  spids: [1343 1344 1349 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_diff_)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$_diff_") ("|") ($ VSub_Name "$_name_"))
                                            }
                                          spids: [1355]
                                        )
                                      ]
                                      spids: [1355]
                                    )
                                  ]
                                  spids: [1352 1353 1362 -1]
                                )
                              ]
                              spids: [1336 1340 1365]
                            )
                          ]
                          spids: [1331 1334 1368 -1]
                        )
                      ]
                      spids: [1324 1328 1371]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_index_)
                          op: Equal
                          rhs: {(_) ($ VSub_Name "$_index_")}
                          spids: [1374]
                        )
                      ]
                      spids: [1374]
                    )
                    (C {(eval)} 
                      {(_name_) ($ VSub_Name "$_index_") (Lit_Other "=") ($ VSub_Name "$_name_")}
                    )
                    (C {(eval)} 
                      {(_prev_) ($ VSub_Name "$_index_") (Lit_Other "=") ($ VSub_Name "$_prev_")}
                    )
                    (C {(eval)} 
                      {(_cmds_) ($ VSub_Name "$_index_") (Lit_Other "=") ($ VSub_Name "$_cmds_")}
                    )
                    (C {(eval)} 
                      {(_attr_) ($ VSub_Name "$_index_") (Lit_Other "=") ($ VSub_Name "$_attr_")}
                    )
                    (C {(eval)} 
                      {(Lit_VarLike "_list_=") (SQ <"\"">) (DQ ($ VSub_Name "$_list_")) (SQ <"\n">) 
                        ($ VSub_Name "$_name_") (SQ <"\"">)
                      }
                    )
                    (ControlFlow token:<ControlFlow_Continue continue>)
                  ]
                  spids: [1161 1163 1432 -1]
                )
                (case_arm
                  pat_list: [{(DQ (prev))}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$_force_")}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ )}]
                          action: [
                            (C {(eval)} 
                              {
                                (DQ ("\tcase ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                  ($ VSub_Name "$_arg_") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" in\n") ("\t\t\t\t") ($ VSub_Name "$_diff_") 
                                  (")_attr_=u") ($ VSub_Name "$_attr_") (" ;;\n") ("\t\t\t\t") ($ VSub_Name "$_same_") (")\t;;\n") 
                                  ("\t\t\t\t*)\t_attr_=u") ($ VSub_Name "$_attr_") (" ;;\n") ("\t\t\t\tesac")
                                )
                              }
                            )
                          ]
                          spids: [-1 1449 1474 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_attr_)
                                  op: Equal
                                  rhs: {(u) ($ VSub_Name "$_attr_")}
                                  spids: [1480]
                                )
                              ]
                              spids: [1480]
                            )
                          ]
                          spids: [1477 1478 1485 -1]
                        )
                      ]
                      spids: [1440 1444 1488]
                    )
                    (ControlFlow token:<ControlFlow_Continue continue>)
                  ]
                  spids: [1436 1438 1494 -1]
                )
              ]
              spids: [878 882 1497]
            )
            (Case
              to_match: {($ VSub_Name "$_index_")}
              arms: [
                (case_arm
                  pat_list: [{(_)}]
                  action: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [
                            {(echo)}
                            {($ VSub_Name "$_op_") (Lit_Other ":")}
                            {(missing)}
                            {(make)}
                            {(op)}
                          ]
                          redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1521])]
                        )
                      terminator: <Op_Semi ";">
                    )
                    (ControlFlow token:<ControlFlow_Continue continue>)
                  ]
                  spids: [1507 1508 1527 -1]
                )
              ]
              spids: [1500 1504 1530]
            )
            (Case
              to_match: {($ VSub_Name "$_op_")}
              arms: [
                (case_arm
                  pat_list: [{(DQ (attr))}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$_val_")}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ (meta))} {(DQ (suff))}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_attr_)
                                  op: Equal
                                  rhs: {(m) ($ VSub_Name "$_attr_")}
                                  spids: [1561]
                                )
                              ]
                              spids: [1561]
                            )
                          ]
                          spids: [1553 1559 1565 -1]
                        )
                      ]
                      spids: [1545 1549 1568]
                    )
                  ]
                  spids: [1541 1543 1571 -1]
                )
                (case_arm
                  pat_list: [{(DQ (exec))} {(DQ (....))}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$_old_")}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ )}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_arg_)
                                  op: Equal
                                  rhs: {($ VSub_Name "$_val_")}
                                  spids: [1595]
                                )
                              ]
                              spids: [1595]
                            )
                          ]
                          spids: [-1 1593 1599 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$_val_")}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_arg_)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$_arg_") (" ") ($ VSub_Name "$_val_"))
                                            }
                                          spids: [1616]
                                        )
                                      ]
                                      spids: [1616]
                                    )
                                  ]
                                  spids: [1612 1614 1623 -1]
                                )
                              ]
                              spids: [1605 1609 1626]
                            )
                          ]
                          spids: [1602 1603 1629 -1]
                        )
                      ]
                      spids: [1584 1588 1632]
                    )
                    (Case
                      to_match: {($ VSub_Name "$_cmds_")}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ )}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_cmds_)
                                  op: Equal
                                  rhs: {($ VSub_Name "$_arg_")}
                                  spids: [1646]
                                )
                              ]
                              spids: [1646]
                            )
                          ]
                          spids: [-1 1644 1650 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_cmds_)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$_cmds_") ("\n") ($ VSub_Name "$_arg_"))}
                                  spids: [1656]
                                )
                              ]
                              spids: [1656]
                            )
                          ]
                          spids: [1653 1654 1664 -1]
                        )
                      ]
                      spids: [1635 1639 1667]
                    )
                  ]
                  spids: [1575 1581 1670 -1]
                )
                (case_arm
                  pat_list: [{(DQ (done))}]
                  action: [
                    (C {(eval)} {(Lit_VarLike "_arg_=") ($ VSub_Name "$_arg_")})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_prop_)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [1684]
                        )
                      ]
                      spids: [1684]
                    )
                    (Case
                      to_match: {($ VSub_Name "$_arg_")}
                      arms: [
                        (case_arm
                          pat_list: [{($ VSub_Name "$_name_")}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$_attr_")}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (m) (Lit_Other "*")}]
                                  spids: [1703 1706 1708 -1]
                                )
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (x) (Lit_Other "*") (u) (Lit_Other "*")}
                                    {(Lit_Other "*") (u) (Lit_Other "*") (x) (Lit_Other "*")}
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$_cmds_")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(DQ )}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$_attr_")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*") (u) (Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:_prop_)
                                                          op: Equal
                                                          rhs: {(u)}
                                                          spids: [1748]
                                                        )
                                                      ]
                                                      spids: [1748]
                                                    )
                                                  ]
                                                  spids: [1743 1746 1751 -1]
                                                )
                                              ]
                                              spids: [1736 1740 1754]
                                            )
                                          ]
                                          spids: [-1 1734 1757 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name "$_exec_")} 
                                                  {
                                                    (DQ ($ VSub_Name "$_begin_") 
                                                      ($ VSub_Name "$_set_") ($ VSub_Name "$_cmds_") ($ VSub_Name "$_end_")
                                                    )
                                                  }
                                                )
                                                (BraceGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:_code_)
                                                          op: Equal
                                                          rhs: {($ VSub_QMark "$?")}
                                                          spids: [1778]
                                                        )
                                                      ]
                                                      spids: [1778]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$_set_")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") (-) (Lit_Other "*") (e) 
                                                              (Lit_Other "*")
                                                            }
                                                          ]
                                                          spids: [1789 1794 1796 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$_cmds_")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (KW_If if) 
                                                                      (Lit_Other "*") (KW_Then then) (Lit_Other "*") (KW_Fi fi) (Lit_Other "*")
                                                                    }
                                                                    {(DQ ("||"))}
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:_code_)
                                                                          op: Equal
                                                                          rhs: {(0)}
                                                                          spids: [1822]
                                                                        )
                                                                      ]
                                                                      spids: [1822]
                                                                    )
                                                                  ]
                                                                  spids: [1809 1820 1825 -1]
                                                                )
                                                              ]
                                                              spids: [1802 1806 1828]
                                                            )
                                                          ]
                                                          spids: [1799 1800 1831 -1]
                                                        )
                                                      ]
                                                      spids: [1782 1786 1834]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$_code_")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          spids: [1844 1845 1847 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (SimpleCommand
                                                              words: [
                                                                {(echo)}
                                                                {
                                                                  (DQ ("*** exit code ") 
                                                                    ($ VSub_Name "$_code_") (" making ") ($ VSub_Name "$_name_")
                                                                  )
                                                                }
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_GreatAnd
                                                                  fd: -1
                                                                  arg_word: {(2)}
                                                                  spids: [1862]
                                                                )
                                                              ]
                                                            )
                                                            (C {($ VSub_Name "$_error_")})
                                                          ]
                                                          spids: [1850 1851 1869 -1]
                                                        )
                                                      ]
                                                      spids: [1837 1841 1872]
                                                    )
                                                  ]
                                                  spids: [1775]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:_prop_)
                                                  op: Equal
                                                  rhs: {(u)}
                                                  spids: [1878]
                                                )
                                              ]
                                              spids: [1878]
                                            )
                                          ]
                                          spids: [1760 1761 1882 -1]
                                        )
                                      ]
                                      spids: [1725 1729 1885]
                                    )
                                  ]
                                  spids: [1711 1722 1888 -1]
                                )
                              ]
                              spids: [1696 1700 1891]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_index_)
                                  op: Equal
                                  rhs: {($ VSub_Name "$_prev_")}
                                  spids: [1894]
                                )
                              ]
                              spids: [1894]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "_name_=") (SQ <"$">) (_name_) ($ VSub_Name "$_index_")}
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "_prev_=") (SQ <"$">) (_prev_) ($ VSub_Name "$_index_")}
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "_cmds_=") (SQ <"$">) (_cmds_) ($ VSub_Name "$_index_")}
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "_attr_=") ($ VSub_Name "$_prop_") (SQ <"$">) (_attr_) 
                                ($ VSub_Name "$_index_")
                              }
                            )
                          ]
                          spids: [1694 1695 1939 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {($ VSub_Name "$_val_") (Lit_Other ":")}
                                {($ VSub_Name "$_op_")}
                                {($ VSub_Name "$_name_")}
                                {(expected)}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {(2)}
                                  spids: [1956]
                                )
                              ]
                            )
                          ]
                          spids: [1942 1943 1960 -1]
                        )
                      ]
                      spids: [1687 1691 1963]
                    )
                  ]
                  spids: [1674 1676 1966 -1]
                )
              ]
              spids: [1533 1537 1969]
            )
          ]
          spids: [872 1971]
        )
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{($ VSub_Name "$_ifs_")} spids:[1973])]
      spids: [1973]
    )
    (Case
      to_match: {($ VSub_Name "$_match_")}
      arms: [
        (case_arm
          pat_list: [{(DQ )}]
          action: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [
                    {(echo)}
                    {
                      (DQ ($ VSub_Name "$_command_") (": don't know how to make ") 
                        ($ VSub_Name "$_select_")
                      )
                    }
                  ]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1994])]
                )
              terminator: <Op_Semi ";">
            )
            (C {($ VSub_Name "$_error_")})
          ]
          spids: [-1 1984 2000 -1]
        )
      ]
      spids: [1976 1980 2002]
    )
    (Case
      to_match: {($ VSub_Name "$_exec_")}
      arms: [
        (case_arm
          pat_list: [{(DQ (eval))}]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ($ VSub_Name "$_list_"))}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {($ VSub_Name "$_state_list_")}
                  spids: [2021]
                )
              ]
            )
            (Pipeline
              children: [
                (SimpleCommand
                  words: [{(mamstate)} {($ VSub_Name "$_state_list_")}]
                  redirects: [
                    (Redir
                      op_id: Redir_Less
                      fd: -1
                      arg_word: {($ VSub_Name "$_state_list_")}
                      spids: [2030]
                    )
                  ]
                )
                (SimpleCommand
                  words: [{(sort)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: -1
                      arg_word: {($ VSub_Name "$_state_time_")}
                      spids: [2038]
                    )
                  ]
                )
              ]
              negated: False
            )
          ]
          spids: [2011 2013 2043 -1]
        )
      ]
      spids: [2004 2008 2045]
    )
  ]
)