(CommandList
  children: [
    (Case
      to_match: {($ VSub_Hyphen "$-") (Lit_Other ":") ($ VSub_Name "$BASH_VERSION")}
      arms: [
        (case_arm
          pat_list: [
            {(Lit_Other "*") (x) (Lit_Other "*") (Lit_Other ":") (Lit_Other "[") (0123456789) 
              (Lit_Other "]") (Lit_Other "*")
            }
          ]
          action: [
            (Sentence
              child: (C {(Lit_Other ":")} {(bash)} {(set)} {(-x)} {(is)} {(broken)} {(Lit_Other ":")})
              terminator: <Op_Semi ";">
            )
            (C {(set)} {(Lit_Other "+") (ex)})
          ]
          spids: [87 95 117 -1]
        )
      ]
      spids: [79 85 119]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:command) op:Equal rhs:{(iffe)} spids:[122])]
      spids: [122]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:version) op:Equal rhs:{(2012-07-17)} spids:[125])]
      spids: [125]
    )
    (FuncDef
      name: compile
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(DQ ($ VSub_At "$@"))}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 2
                  arg_word: {($ VSub_Name "$tmp") (.err)}
                  spids: [146]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_compile_status)
                  op: Equal
                  rhs: {($ VSub_QMark "$?")}
                  spids: [151]
                )
              ]
              spids: [151]
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(-s)} {($ VSub_Name "$tmp") (.err)})]
                  action: [
                    (SimpleCommand
                      words: [{(cat)} {($ VSub_Name "$tmp") (.err)}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[172])]
                    )
                    (Case
                      to_match: {($ VSub_Name "$_compile_status")}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other "[") (1-9) (Lit_Other "]")}
                            {(Lit_Other "[") (1-9) (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]")}
                            {(1) (Lit_Other "[") (01) (Lit_Other "]") (Lit_Other "[") (0-9) 
                              (Lit_Other "]")
                            }
                            {(12) (Lit_Other "[") (0-7) (Lit_Other "]")}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (SimpleCommand
                                      words: [
                                        {(egrep)}
                                        {(-i)}
                                        {(-c)}
                                        {
                                          (SQ <"terminated with signal|core dump|segmentation fault">)
                                        }
                                        {($ VSub_Name "$tmp") (.err)}
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: -1
                                          arg_word: {($ VSub_Name "$nullout")}
                                          spids: [224]
                                        )
                                      ]
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_compile_status)
                                          op: Equal
                                          rhs: {(139)}
                                          spids: [230]
                                        )
                                      ]
                                      spids: [230]
                                    )
                                  ]
                                  spids: [-1 228]
                                )
                              ]
                              spids: [-1 234]
                            )
                          ]
                          spids: [183 206 237 -1]
                        )
                      ]
                      spids: [176 180 240]
                    )
                  ]
                  spids: [-1 165]
                )
              ]
              spids: [-1 243]
            )
            (Case
              to_match: {($ VSub_Name "$_compile_status")}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other "?")}
                    {(Lit_Other "?") (Lit_Other "?")}
                    {(1) (Lit_Other "[") (01) (Lit_Other "]") (Lit_Other "?")}
                    {(12) (Lit_Other "[") (0-8) (Lit_Other "]")}
                    {(25) (Lit_Other "?")}
                  ]
                  spids: [253 271 274 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ ($ VSub_Name "$command") (": ") ($ VSub_At "$@"))}]
                      redirects: [
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: -1
                          arg_word: {($ VSub_Name "$stderr")}
                          spids: [288]
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(cat)} {($ VSub_Name "$tmp") (.err)}]
                      redirects: [
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: -1
                          arg_word: {($ VSub_Name "$stderr")}
                          spids: [297]
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {
                          (DQ ($ VSub_Name "$command") (": ") ($ VSub_Number "$1") 
                            (": core dump or fatal interruption -- results inconclusive")
                          )
                        }
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: -1
                          arg_word: {($ VSub_Name "$stderr")}
                          spids: [310]
                        )
                      ]
                    )
                    (C {(exit)} {($ VSub_Name "$_compile_status")})
                  ]
                  spids: [277 278 319 -1]
                )
              ]
              spids: [246 250 322]
            )
            (ControlFlow
              token: <ControlFlow_Return return>
              arg_word: {($ VSub_Name "$_compile_status")}
            )
          ]
          spids: [139]
        )
      spids: [132 135]
    )
    (FuncDef
      name: is_hdr
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(-)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:_is_hdr_flag)
                              op: Equal
                              rhs: {(-)}
                              spids: [352]
                            )
                          ]
                          spids: [352]
                        )
                      terminator: <Op_Semi ";">
                    )
                    (C {(shift)})
                  ]
                  spids: [349 350 358 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_is_hdr_flag)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [364]
                        )
                      ]
                      spids: [364]
                    )
                  ]
                  spids: [361 362 366 -1]
                )
              ]
              spids: [342 346 369]
            )
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other "*") (.c)}]
                  action: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:_is_hdr_file)
                              op: Equal
                              rhs: {($ VSub_Number "$1")}
                              spids: [383]
                            )
                          ]
                          spids: [383]
                        )
                      terminator: <Op_Semi ";">
                    )
                    (C {(shift)})
                  ]
                  spids: [379 381 389 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_is_hdr_file)
                          op: Equal
                          rhs: {($ VSub_Name "$tmp") (.c)}
                          spids: [395]
                        )
                      ]
                      spids: [395]
                    )
                  ]
                  spids: [392 393 399 -1]
                )
              ]
              spids: [372 376 402]
            )
            (C {(is)} {(hdr)} {($ VSub_Number "$1")})
            (SimpleCommand
              words: [{(compile)} {($ VSub_Name "$cc")} {(-c)} {($ VSub_Name "$_is_hdr_file")}]
              redirects: [
                (Redir
                  op_id: Redir_LessAnd
                  fd: -1
                  arg_word: {($ VSub_Name "$nullin")}
                  spids: [420]
                )
                (Redir
                  op_id: Redir_GreatAnd
                  fd: -1
                  arg_word: {($ VSub_Name "$nullout")}
                  spids: [423]
                )
                (Redir
                  op_id: Redir_Great
                  fd: 2
                  arg_word: {($ VSub_Name "$tmp") (.e)}
                  spids: [426]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_is_hdr_status)
                  op: Equal
                  rhs: {($ VSub_QMark "$?")}
                  spids: [431]
                )
              ]
              spids: [431]
            )
            (Case
              to_match: {($ VSub_Name "$_is_hdr_status")}
              arms: [
                (case_arm
                  pat_list: [{(0)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [(C {(test)} {(-s)} {($ VSub_Name "$tmp") (.e)})]
                          action: [
                            (Case
                              to_match: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(grep)} {(SQ <"#.*error">)} {($ VSub_Name "$tmp") (.e)})
                                        ]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [459 468]
                                  )
                                }
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_is_hdr_status)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [477]
                                        )
                                      ]
                                      spids: [477]
                                    )
                                  ]
                                  spids: [473 475 480 -1]
                                )
                              ]
                              spids: [457 470 483]
                            )
                          ]
                          spids: [-1 455]
                        )
                      ]
                      spids: [-1 486]
                    )
                  ]
                  spids: [442 443 489 -1]
                )
              ]
              spids: [435 439 492]
            )
            (Case
              to_match: {($ VSub_Name "$_is_hdr_status")}
              arms: [
                (case_arm
                  pat_list: [{(0)}]
                  action: [(C {(success)} {($ VSub_Name "$_is_hdr_flag")})]
                  spids: [502 503 510 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$debug")}
                      arms: [
                        (case_arm
                          pat_list: [{(3)}]
                          action: [
                            (SimpleCommand
                              words: [{(cat)} {($ VSub_Name "$tmp") (.e)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$stderr")}
                                  spids: [531]
                                )
                              ]
                            )
                          ]
                          spids: [523 524 534 -1]
                        )
                      ]
                      spids: [516 520 537]
                    )
                    (C {(failure)} {($ VSub_Name "$_is_hdr_flag")})
                  ]
                  spids: [513 514 545 -1]
                )
              ]
              spids: [495 499 548]
            )
            (ControlFlow
              token: <ControlFlow_Return return>
              arg_word: {($ VSub_Name "$_is_hdr_status")}
            )
          ]
          spids: [339]
        )
      spids: [332 335]
    )
    (FuncDef
      name: pkg
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(SQ )}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pth)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [{(getconf)} {(PATH)}]
                                        redirects: [
                                          (Redir
                                            op_id: Redir_Great
                                            fd: 2
                                            arg_word: {(/dev/null)}
                                            spids: [585]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [580 587]
                              )
                            }
                          spids: [579]
                        )
                      ]
                      spids: [579]
                    )
                    (Case
                      to_match: {($ VSub_Name "$pth")}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ )}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pth)
                                  op: Equal
                                  rhs: {(DQ ("/bin /usr/bin"))}
                                  spids: [601]
                                )
                              ]
                              spids: [601]
                            )
                          ]
                          spids: [-1 599 606 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (Lit_Other ":") (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pth)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(DQ ($ VSub_Name "$pth"))})
                                                  (C {(sed)} {(SQ <"s/:/ /g">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [615 629]
                                      )
                                    }
                                  spids: [614]
                                )
                              ]
                              spids: [614]
                            )
                          ]
                          spids: [609 612 631 -1]
                        )
                      ]
                      spids: [590 594 634]
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [-1 577 640 -1]
                )
                (case_arm
                  pat_list: [{(SQ <"<">)}]
                  action: [(C {(shift)})]
                  spids: [644 646 651 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [(ControlFlow token:<ControlFlow_Return return>)]
                  spids: [654 655 660 -1]
                )
              ]
              spids: [568 572 663]
            )
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(X)} {(X11) (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:i)
                          op: Equal
                          rhs: {(DQ (openwin))}
                          spids: [679]
                        )
                      ]
                      spids: [679]
                    )
                    (Case
                      to_match: {($ VSub_Number "$1")}
                      arms: [
                        (case_arm
                          pat_list: [{(X)}]
                          action: [(C {(set)} {(X11)})]
                          spids: [692 693 699 -1]
                        )
                      ]
                      spids: [685 689 702]
                    )
                    (Case
                      to_match: {($ VSub_Number "$1")}
                      arms: [
                        (case_arm
                          pat_list: [{(X11)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Pound "$#")}
                              arms: [
                                (case_arm
                                  pat_list: [{(1)}]
                                  action: [(C {(set)} {($ VSub_Number "$1")} {(6)} {(5)} {(4)})]
                                  spids: [722 723 735 -1]
                                )
                              ]
                              spids: [715 719 738]
                            )
                          ]
                          spids: [712 713 741 -1]
                        )
                      ]
                      spids: [705 709 744]
                    )
                  ]
                  spids: [673 677 747 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(SQ )} spids:[753])]
                      spids: [753]
                    )
                  ]
                  spids: [750 751 756 -1]
                )
              ]
              spids: [666 670 759]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pth)
                  op: Equal
                  rhs: 
                    {
                      (DQ ("{ usr . - . contrib local ") ($ VSub_Name "$i") (" - . share - . lib - ") 
                        ($ VSub_Number "$1")
                      )
                    }
                  spids: [762]
                )
              ]
              spids: [762]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:i)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [771]
                )
              ]
              spids: [771]
            )
            (While
              cond: [(C {(Lit_Other ":")})]
              body: 
                (DoGroup
                  children: [
                    (C {(shift)})
                    (Case
                      to_match: {($ VSub_Pound "$#")}
                      arms: [
                        (case_arm
                          pat_list: [{(0)}]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [792 793 797 -1]
                        )
                      ]
                      spids: [785 789 800]
                    )
                    (Case
                      to_match: {($ VSub_Number "$1")}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ <">">)}]
                          action: [
                            (Sentence
                              child: (C {(shift)})
                              terminator: <Op_Semi ";">
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [811 813 820 -1]
                        )
                      ]
                      spids: [803 807 823]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pth)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$pth") (" ") (${ VSub_Name i) (R) ($ VSub_Number "$1") 
                                (" ") (${ VSub_Name i) (.) ($ VSub_Number "$1")
                              )
                            }
                          spids: [826]
                        )
                      ]
                      spids: [826]
                    )
                  ]
                  spids: [780 844]
                )
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pth)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$pth") (" . } ") ($ VSub_Star "$*"))}
                  spids: [847]
                )
              ]
              spids: [847]
            )
          ]
          spids: [565]
        )
      spids: [558 561]
    )
    (FuncDef
      name: is
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Name "$verbose")}
              arms: [
                (case_arm
                  pat_list: [{(1)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$complete")}
                      arms: [(case_arm pat_list:[{(1)}] action:[(C {(failure)})] spids:[884885889-1])]
                      spids: [877 881 892]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oo)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [895]
                        )
                      ]
                      spids: [895]
                    )
                    (C {(shift)})
                    (Case
                      to_match: {($ VSub_Number "$1")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:yy)
                                  op: Equal
                                  rhs: {(is)}
                                  spids: [913]
                                )
                              ]
                              spids: [913]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ii)
                                  op: Equal
                                  rhs: {($ VSub_Number "$1")}
                                  spids: [917]
                                )
                              ]
                              spids: [917]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:complete)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [921]
                                )
                              ]
                              spids: [921]
                            )
                            (Case
                              to_match: {($ VSub_Name "$oo")}
                              arms: [
                                (case_arm
                                  pat_list: [{(cmd)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a command"))}
                                          spids: [935]
                                        )
                                      ]
                                      spids: [935]
                                    )
                                  ]
                                  spids: [932 933 940 -1]
                                )
                                (case_arm
                                  pat_list: [{(dat)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a library data symbol"))}
                                          spids: [946]
                                        )
                                      ]
                                      spids: [946]
                                    )
                                  ]
                                  spids: [943 944 951 -1]
                                )
                                (case_arm
                                  pat_list: [{(dfn)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a macro with extractable value"))}
                                          spids: [957]
                                        )
                                      ]
                                      spids: [957]
                                    )
                                  ]
                                  spids: [954 955 962 -1]
                                )
                                (case_arm
                                  pat_list: [{(exp)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ (true))}
                                          spids: [968]
                                        )
                                      ]
                                      spids: [968]
                                    )
                                  ]
                                  spids: [965 966 973 -1]
                                )
                                (case_arm
                                  pat_list: [{(hdr)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a header"))}
                                          spids: [979]
                                        )
                                      ]
                                      spids: [979]
                                    )
                                  ]
                                  spids: [976 977 984 -1]
                                )
                                (case_arm
                                  pat_list: [{(id)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("an identifier"))}
                                          spids: [990]
                                        )
                                      ]
                                      spids: [990]
                                    )
                                  ]
                                  spids: [987 988 995 -1]
                                )
                                (case_arm
                                  pat_list: [{(lcl)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a native header"))}
                                          spids: [1001]
                                        )
                                      ]
                                      spids: [1001]
                                    )
                                  ]
                                  spids: [998 999 1006 -1]
                                )
                                (case_arm
                                  pat_list: [{(key)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a reserved keyword"))}
                                          spids: [1012]
                                        )
                                      ]
                                      spids: [1012]
                                    )
                                  ]
                                  spids: [1009 1010 1017 -1]
                                )
                                (case_arm
                                  pat_list: [{(lib)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a library function"))}
                                          spids: [1023]
                                        )
                                      ]
                                      spids: [1023]
                                    )
                                  ]
                                  spids: [1020 1021 1028 -1]
                                )
                                (case_arm
                                  pat_list: [{(LIB)}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Number "$2")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(DQ )}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:mm)
                                                  op: Equal
                                                  rhs: {(DQ ("a library"))}
                                                  spids: [1045]
                                                )
                                              ]
                                              spids: [1045]
                                            )
                                          ]
                                          spids: [-1 1043 1050 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Sentence
                                              child: 
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:ii)
                                                      op: Equal
                                                      rhs: {($ VSub_Star "$*")}
                                                      spids: [1056]
                                                    )
                                                  ]
                                                  spids: [1056]
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:mm)
                                                  op: Equal
                                                  rhs: {(DQ ("a library group"))}
                                                  spids: [1060]
                                                )
                                              ]
                                              spids: [1060]
                                            )
                                          ]
                                          spids: [1053 1054 1065 -1]
                                        )
                                      ]
                                      spids: [1034 1038 1068]
                                    )
                                  ]
                                  spids: [1031 1032 1071 -1]
                                )
                                (case_arm
                                  pat_list: [{(mac)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a macro"))}
                                          spids: [1077]
                                        )
                                      ]
                                      spids: [1077]
                                    )
                                  ]
                                  spids: [1074 1075 1082 -1]
                                )
                                (case_arm
                                  pat_list: [{(mem)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a member of ") ($ VSub_Number "$2"))}
                                          spids: [1088]
                                        )
                                      ]
                                      spids: [1088]
                                    )
                                  ]
                                  spids: [1085 1086 1094 -1]
                                )
                                (case_arm
                                  pat_list: [{(mth)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a math library symbol"))}
                                          spids: [1100]
                                        )
                                      ]
                                      spids: [1100]
                                    )
                                  ]
                                  spids: [1097 1098 1105 -1]
                                )
                                (case_arm
                                  pat_list: [{(nos)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a non-opaque struct"))}
                                          spids: [1111]
                                        )
                                      ]
                                      spids: [1111]
                                    )
                                  ]
                                  spids: [1108 1109 1116 -1]
                                )
                                (case_arm
                                  pat_list: [{(npt)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a symbol that needs a prototype"))}
                                          spids: [1122]
                                        )
                                      ]
                                      spids: [1122]
                                    )
                                  ]
                                  spids: [1119 1120 1127 -1]
                                )
                                (case_arm
                                  pat_list: [{(num)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a numeric constant or enum"))}
                                          spids: [1133]
                                        )
                                      ]
                                      spids: [1133]
                                    )
                                  ]
                                  spids: [1130 1131 1138 -1]
                                )
                                (case_arm
                                  pat_list: [{(nxt)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("an include path for the native header"))}
                                          spids: [1144]
                                        )
                                      ]
                                      spids: [1144]
                                    )
                                  ]
                                  spids: [1141 1142 1149 -1]
                                )
                                (case_arm
                                  pat_list: [{(opt)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ("set in ") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\$">
                                                ) (PACKAGE_OPTIONS)
                                              )
                                            }
                                          spids: [1155]
                                        )
                                      ]
                                      spids: [1155]
                                    )
                                  ]
                                  spids: [1152 1153 1162 -1]
                                )
                                (case_arm
                                  pat_list: [{(pth)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a file"))}
                                          spids: [1168]
                                        )
                                      ]
                                      spids: [1168]
                                    )
                                  ]
                                  spids: [1165 1166 1173 -1]
                                )
                                (case_arm
                                  pat_list: [{(run)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:yy)
                                          op: Equal
                                          rhs: {(DQ ("capture output of"))}
                                          spids: [1179]
                                        )
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [1184]
                                        )
                                      ]
                                      spids: [1179]
                                    )
                                  ]
                                  spids: [1176 1177 1186 -1]
                                )
                                (case_arm
                                  pat_list: [{(siz)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a type with known size"))}
                                          spids: [1192]
                                        )
                                      ]
                                      spids: [1192]
                                    )
                                  ]
                                  spids: [1189 1190 1197 -1]
                                )
                                (case_arm
                                  pat_list: [{(sym)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a typed variable"))}
                                          spids: [1203]
                                        )
                                      ]
                                      spids: [1203]
                                    )
                                  ]
                                  spids: [1200 1201 1208 -1]
                                )
                                (case_arm
                                  pat_list: [{(sys)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a system header"))}
                                          spids: [1214]
                                        )
                                      ]
                                      spids: [1214]
                                    )
                                  ]
                                  spids: [1211 1212 1219 -1]
                                )
                                (case_arm
                                  pat_list: [{(typ)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ ("a type or typedef"))}
                                          spids: [1225]
                                        )
                                      ]
                                      spids: [1225]
                                    )
                                  ]
                                  spids: [1222 1223 1230 -1]
                                )
                                (case_arm
                                  pat_list: [{(val)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:yy)
                                          op: Equal
                                          rhs: {(DQ (determine))}
                                          spids: [1236]
                                        )
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ (value))}
                                          spids: [1241]
                                        )
                                      ]
                                      spids: [1236]
                                    )
                                  ]
                                  spids: [1233 1234 1246 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:yy)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [1252]
                                        )
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [1254]
                                        )
                                      ]
                                      spids: [1252]
                                    )
                                  ]
                                  spids: [1249 1250 1256 -1]
                                )
                              ]
                              spids: [925 929 1259]
                            )
                            (Case
                              to_match: {($ VSub_Name "$ii")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "[") (abcdefghijklmnopqrstuvwxyz) (Lit_Other "]") 
                                      (Lit_Other "*") (Lit_Other "[") (abcdefghijklmnopqrstuvwxyz) (Lit_Other "]") (SQ <"{">)
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ii)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$ii") (" ... }end"))}
                                          spids: [1281]
                                        )
                                      ]
                                      spids: [1281]
                                    )
                                  ]
                                  spids: [1269 1279 1287 -1]
                                )
                              ]
                              spids: [1262 1266 1290]
                            )
                            (SimpleCommand
                              words: [
                                {($ VSub_Name "$show")}
                                {(DQ ($ VSub_Name "$command") (": test:"))}
                                {($ VSub_Name "$yy")}
                                {($ VSub_Name "$ii")}
                                {($ VSub_Name "$mm")}
                                {(DQ (...) ($ VSub_Name "$SHOW"))}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$stderr")}
                                  spids: [1311]
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:complete)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [1315]
                                )
                              ]
                              spids: [1315]
                            )
                          ]
                          spids: [909 911 1319 -1]
                        )
                      ]
                      spids: [902 906 1322]
                    )
                  ]
                  spids: [874 875 1325 -1]
                )
              ]
              spids: [867 871 1328]
            )
          ]
          spids: [864]
        )
      spids: [857 860]
    )
    (FuncDef
      name: success
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(-)}]
                  action: [(C {(shift)})]
                  spids: [1347 1348 1353 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$result")}
                      arms: [
                        (case_arm
                          pat_list: [{(UNKNOWN)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:result)
                                  op: Equal
                                  rhs: {(SUCCESS)}
                                  spids: [1369]
                                )
                              ]
                              spids: [1369]
                            )
                          ]
                          spids: [1366 1367 1372 -1]
                        )
                      ]
                      spids: [1359 1363 1375]
                    )
                    (Case
                      to_match: {($ VSub_Number "$1")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "+")}]
                          action: [(ControlFlow token:<ControlFlow_Return return>)]
                          spids: [1385 1386 1390 -1]
                        )
                      ]
                      spids: [1378 1382 1393]
                    )
                  ]
                  spids: [1356 1357 1396 -1]
                )
              ]
              spids: [1340 1344 1399]
            )
            (Case
              to_match: {($ VSub_Name "$complete") (Lit_Other ":") ($ VSub_Name "$verbose")}
              arms: [
                (case_arm
                  pat_list: [{(1) (Lit_Other ":") (1)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$suspended")}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:suspended)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [1426]
                                )
                              ]
                              spids: [1426]
                            )
                            (SimpleCommand
                              words: [
                                {($ VSub_Name "$show")}
                                {(DQ ($ VSub_Name "$command") (": test:"))}
                                {($ VSub_Name "$yy")}
                                {($ VSub_Name "$ii")}
                                {($ VSub_Name "$mm")}
                                {(DQ (...) ($ VSub_Name "$SHOW"))}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$stderr")}
                                  spids: [1448]
                                )
                              ]
                            )
                          ]
                          spids: [1423 1424 1452 -1]
                        )
                      ]
                      spids: [1416 1420 1455]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:complete)
                          op: Equal
                          rhs: {(0)}
                          spids: [1458]
                        )
                      ]
                      spids: [1458]
                    )
                    (Case
                      to_match: {($ VSub_Pound "$#")}
                      arms: [
                        (case_arm
                          pat_list: [{(0)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:mm)
                                  op: Equal
                                  rhs: {(DQ (yes))}
                                  spids: [1472]
                                )
                              ]
                              spids: [1472]
                            )
                          ]
                          spids: [1469 1470 1477 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:mm)
                                  op: Equal
                                  rhs: {(DQ ("'") ($ VSub_Star "$*") ("'"))}
                                  spids: [1483]
                                )
                              ]
                              spids: [1483]
                            )
                          ]
                          spids: [1480 1481 1490 -1]
                        )
                      ]
                      spids: [1462 1466 1493]
                    )
                    (Case
                      to_match: {($ VSub_Name "$debug")}
                      arms: [
                        (case_arm
                          pat_list: [{(0)}]
                          action: [
                            (SimpleCommand
                              words: [{(echo)} {(DQ (" ") ($ VSub_Name "$mm"))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$stderr")}
                                  spids: [1513]
                                )
                              ]
                            )
                          ]
                          spids: [1503 1504 1516 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {(DQ ($ VSub_Name "$command") (": ... ") ($ VSub_Name "$mm"))}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$stderr")}
                                  spids: [1530]
                                )
                              ]
                            )
                          ]
                          spids: [1519 1520 1533 -1]
                        )
                      ]
                      spids: [1496 1500 1536]
                    )
                  ]
                  spids: [1411 1414 1539 -1]
                )
              ]
              spids: [1402 1408 1542]
            )
          ]
          spids: [1337]
        )
      spids: [1333 1336]
    )
    (FuncDef
      name: failure
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(-)}]
                  action: [(C {(shift)})]
                  spids: [1561 1562 1566 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:result)
                          op: Equal
                          rhs: {(FAILURE)}
                          spids: [1572]
                        )
                      ]
                      spids: [1572]
                    )
                    (Case
                      to_match: {($ VSub_Number "$1")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "+")}]
                          action: [(ControlFlow token:<ControlFlow_Return return>)]
                          spids: [1583 1584 1588 -1]
                        )
                      ]
                      spids: [1576 1580 1591]
                    )
                  ]
                  spids: [1569 1570 1594 -1]
                )
              ]
              spids: [1554 1558 1597]
            )
            (Case
              to_match: {($ VSub_Name "$complete") (Lit_Other ":") ($ VSub_Name "$verbose")}
              arms: [
                (case_arm
                  pat_list: [{(1) (Lit_Other ":") (1)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$suspended")}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:suspended)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [1624]
                                )
                              ]
                              spids: [1624]
                            )
                            (SimpleCommand
                              words: [
                                {($ VSub_Name "$show")}
                                {(DQ ($ VSub_Name "$command") (": test:"))}
                                {($ VSub_Name "$yy")}
                                {($ VSub_Name "$ii")}
                                {($ VSub_Name "$mm")}
                                {(DQ (...) ($ VSub_Name "$SHOW"))}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$stderr")}
                                  spids: [1646]
                                )
                              ]
                            )
                          ]
                          spids: [1621 1622 1650 -1]
                        )
                      ]
                      spids: [1614 1618 1653]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:complete)
                          op: Equal
                          rhs: {(0)}
                          spids: [1656]
                        )
                      ]
                      spids: [1656]
                    )
                    (Case
                      to_match: {($ VSub_Name "$group")}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ )}]
                          action: [
                            (Case
                              to_match: {($ VSub_Pound "$#")}
                              arms: [
                                (case_arm
                                  pat_list: [{(0)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {(DQ (no))}
                                          spids: [1681]
                                        )
                                      ]
                                      spids: [1681]
                                    )
                                  ]
                                  spids: [1678 1679 1686 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:mm)
                                          op: Equal
                                          rhs: {($ VSub_Star "$*")}
                                          spids: [1692]
                                        )
                                      ]
                                      spids: [1692]
                                    )
                                  ]
                                  spids: [1689 1690 1695 -1]
                                )
                              ]
                              spids: [1671 1675 1698]
                            )
                          ]
                          spids: [-1 1669 1701 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:mm)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [1707]
                                )
                              ]
                              spids: [1707]
                            )
                          ]
                          spids: [1704 1705 1710 -1]
                        )
                      ]
                      spids: [1660 1664 1713]
                    )
                    (Case
                      to_match: {($ VSub_Name "$debug")}
                      arms: [
                        (case_arm
                          pat_list: [{(0)}]
                          action: [
                            (SimpleCommand
                              words: [{(echo)} {(DQ (" ") ($ VSub_Name "$mm"))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$stderr")}
                                  spids: [1733]
                                )
                              ]
                            )
                          ]
                          spids: [1723 1724 1736 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {(DQ ($ VSub_Name "$command") (": ... ") ($ VSub_Name "$mm"))}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$stderr")}
                                  spids: [1750]
                                )
                              ]
                            )
                          ]
                          spids: [1739 1740 1753 -1]
                        )
                      ]
                      spids: [1716 1720 1756]
                    )
                  ]
                  spids: [1609 1612 1759 -1]
                )
              ]
              spids: [1600 1606 1762]
            )
          ]
          spids: [1551]
        )
      spids: [1547 1550]
    )
    (FuncDef
      name: report
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(-)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_report_ignore)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [1836]
                        )
                      ]
                      spids: [1836]
                    )
                    (C {(shift)})
                  ]
                  spids: [1833 1834 1843 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_report_ignore)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [1849]
                        )
                      ]
                      spids: [1849]
                    )
                  ]
                  spids: [1846 1847 1852 -1]
                )
              ]
              spids: [1826 1830 1855]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_report_not)
                  op: Equal
                  rhs: {($ VSub_Name "$not")}
                  spids: [1858]
                )
              ]
              spids: [1858]
            )
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(-0)}]
                  action: [(C {(shift)})]
                  spids: [1869 1870 1875 -1]
                )
                (case_arm
                  pat_list: [{(-1)}]
                  action: [
                    (C {(shift)})
                    (Case
                      to_match: {($ VSub_Name "$def")}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ )} {(-)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$_report_not")}
                              arms: [
                                (case_arm
                                  pat_list: [{(1)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_report_not)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [1907]
                                        )
                                      ]
                                      spids: [1907]
                                    )
                                  ]
                                  spids: [1904 1905 1909 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_report_not)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [1915]
                                        )
                                      ]
                                      spids: [1915]
                                    )
                                  ]
                                  spids: [1912 1913 1918 -1]
                                )
                              ]
                              spids: [1897 1901 1921]
                            )
                          ]
                          spids: [-1 1895 1924 -1]
                        )
                      ]
                      spids: [1884 1888 1927]
                    )
                  ]
                  spids: [1878 1879 1930 -1]
                )
              ]
              spids: [1862 1866 1933]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_report_status)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [1936]
                )
              ]
              spids: [1936]
            )
            (Case
              to_match: 
                {($ VSub_Name "$_report_ignore") (Lit_Other ":") ($ VSub_Name "$_report_status")}
              arms: [
                (case_arm
                  pat_list: [{(-) (Lit_Other ":") (Lit_Other "*")}]
                  spids: [1949 1952 1954 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (Lit_Other ":") (0)}]
                  action: [(C {(success)} {($ VSub_Name "$_report_ignore")})]
                  spids: [1957 1960 1967 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (C {(failure)} {($ VSub_Name "$_report_ignore")})
                    (Case
                      to_match: {($ VSub_Name "$group")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                          action: [(ControlFlow token:<ControlFlow_Return return>)]
                          spids: [1985 1987 1991 -1]
                        )
                      ]
                      spids: [1978 1982 1994]
                    )
                  ]
                  spids: [1970 1971 1997 -1]
                )
              ]
              spids: [1940 1946 2000]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_report_value)
                  op: Equal
                  rhs: {($ VSub_Number "$2")}
                  spids: [2003]
                )
              ]
              spids: [2003]
            )
            (Case
              to_match: {($ VSub_Name "$_report_not")}
              arms: [
                (case_arm
                  pat_list: [{(1)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$_report_status")}
                      arms: [
                        (case_arm
                          pat_list: [{(0)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_report_status)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [2027]
                                )
                              ]
                              spids: [2027]
                            )
                          ]
                          spids: [2024 2025 2030 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_report_status)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [2036]
                                )
                              ]
                              spids: [2036]
                            )
                          ]
                          spids: [2033 2034 2039 -1]
                        )
                      ]
                      spids: [2017 2021 2042]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_report_success)
                          op: Equal
                          rhs: {($ VSub_Number "$4")}
                          spids: [2045]
                        )
                      ]
                      spids: [2045]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_report_failure)
                          op: Equal
                          rhs: {($ VSub_Number "$3")}
                          spids: [2049]
                        )
                      ]
                      spids: [2049]
                    )
                  ]
                  spids: [2014 2015 2053 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_report_success)
                          op: Equal
                          rhs: {($ VSub_Number "$3")}
                          spids: [2059]
                        )
                      ]
                      spids: [2059]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_report_failure)
                          op: Equal
                          rhs: {($ VSub_Number "$4")}
                          spids: [2063]
                        )
                      ]
                      spids: [2063]
                    )
                  ]
                  spids: [2056 2057 2067 -1]
                )
              ]
              spids: [2007 2011 2070]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_report_default)
                  op: Equal
                  rhs: {($ VSub_Number "$5")}
                  spids: [2073]
                )
              ]
              spids: [2073]
            )
            (Case
              to_match: {($ VSub_Name "$_report_status")}
              arms: [
                (case_arm
                  pat_list: [{(0)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$M")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (-) (Lit_Other "*")}]
                          spids: [2094 2097 2099 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:usr)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$usr") ($ VSub_Name "$nl") ("#define ") 
                                        ($ VSub_Name "$m") (" ") ($ VSub_Name "$_report_value")
                                      )
                                    }
                                  spids: [2105]
                                )
                              ]
                              spids: [2105]
                            )
                            (Case
                              to_match: {($ VSub_Name "$_report_success")}
                              arms: [
                                (case_arm
                                  pat_list: [{(SQ )} {(-)}]
                                  spids: [-1 2127 2129 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$define")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(1)}]
                                          action: [
                                            (C {(echo)} 
                                              {
                                                (DQ ("#define ") ($ VSub_Name "$m") ("\t") 
                                                  ($ VSub_Name "$_report_value") ("\t/* ") ($ VSub_Name "$_report_success") (" */")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [2142 2143 2157 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(n)}]
                                          action: [
                                            (C {(echo)} 
                                              {
                                                (DQ ($ VSub_Name "$m") ("=") 
                                                  ($ VSub_Name "$_report_value")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [2160 2161 -1 2172]
                                        )
                                      ]
                                      spids: [2135 2139 2172]
                                    )
                                  ]
                                  spids: [2132 2133 2175 -1]
                                )
                              ]
                              spids: [2116 2120 2178]
                            )
                            (C {(eval)} 
                              {($ VSub_Name "$m") (Lit_Other "=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\'">
                                ) ($ VSub_Name "$_report_value") (EscapedLiteralPart token:<Lit_EscapedChar "\\'">)
                              }
                            )
                          ]
                          spids: [2102 2103 2190 -1]
                        )
                      ]
                      spids: [2087 2091 2193]
                    )
                  ]
                  spids: [2084 2085 2196 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$M")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (-) (Lit_Other "*")}]
                          spids: [2209 2212 2214 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$_report_failure")}
                              arms: [
                                (case_arm
                                  pat_list: [{(SQ )} {(-)}]
                                  spids: [-1 2231 2233 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: 
                                        {($ VSub_Name "$define") ($ VSub_Name "$all") 
                                          ($ VSub_Name "$config") ($ VSub_Name "$undef")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(1) (Lit_Other "?") (1) (Lit_Other "?")}
                                            {(1) (Lit_Other "?") (Lit_Other "?") (1)}
                                          ]
                                          action: [
                                            (C {(echo)} 
                                              {
                                                (DQ ("#undef\t") ($ VSub_Name "$m") ("\t\t/* ") 
                                                  ($ VSub_Name "$_report_failure") (" */")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [2249 2258 2269 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(11) (Lit_Other "?") (Lit_Other "?")}]
                                          action: [
                                            (C {(echo)} 
                                              {
                                                (DQ ("#define ") ($ VSub_Name "$m") ("\t0\t/* ") 
                                                  ($ VSub_Name "$_report_failure") (" */")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [2272 2275 2287 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(n1) (Lit_Other "?") (1)}]
                                          action: [(C {(echo)} {(DQ ($ VSub_Name "$m") ("="))})]
                                          spids: [2290 2293 2302 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(n1) (Lit_Other "?") (Lit_Other "?")}]
                                          action: [(C {(echo)} {(DQ ($ VSub_Name "$m") ("=0"))})]
                                          spids: [2305 2308 2317 -1]
                                        )
                                      ]
                                      spids: [2239 2246 2320]
                                    )
                                  ]
                                  spids: [2236 2237 2323 -1]
                                )
                              ]
                              spids: [2220 2224 2326]
                            )
                            (Case
                              to_match: {($ VSub_Name "$_report_default")}
                              arms: [
                                (case_arm
                                  pat_list: [{(SQ )} {(-)}]
                                  spids: [-1 2340 2342 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$define") ($ VSub_Name "$set")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(1) (Lit_Other "?") (Lit_Other "*")}]
                                          action: [
                                            (C {(echo)} 
                                              {
                                                (DQ ("#define ") ($ VSub_Name "$v") ("\t") 
                                                  ($ VSub_Name "$set") ("\t/* ") ($ VSub_Name "$_report_default") (" */")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [2356 2359 2373 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(n) (Lit_Other "?") (Lit_Other "*")}]
                                          action: [
                                            (C {(echo)} 
                                              {(DQ ($ VSub_Name "$v") ("=") ($ VSub_Name "$set"))}
                                            )
                                          ]
                                          spids: [2376 2379 2389 -1]
                                        )
                                      ]
                                      spids: [2348 2353 2392]
                                    )
                                  ]
                                  spids: [2345 2346 2395 -1]
                                )
                              ]
                              spids: [2329 2333 2398]
                            )
                            (C {(eval)} {($ VSub_Name "$m") (Lit_Other "=") (0)})
                          ]
                          spids: [2217 2218 2408 -1]
                        )
                      ]
                      spids: [2202 2206 2411]
                    )
                  ]
                  spids: [2199 2200 2414 -1]
                )
              ]
              spids: [2077 2081 2417]
            )
          ]
          spids: [1823]
        )
      spids: [1816 1819]
    )
    (FuncDef
      name: noisy
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Name "$complete") (Lit_Other ":") ($ VSub_Name "$verbose")}
              arms: [
                (case_arm
                  pat_list: [{(1) (Lit_Other ":") (1)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suspended)
                          op: Equal
                          rhs: {(1)}
                          spids: [2443]
                        )
                      ]
                      spids: [2443]
                    )
                    (SimpleCommand
                      words: [{(echo)}]
                      redirects: [
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: -1
                          arg_word: {($ VSub_Name "$stderr")}
                          spids: [2449]
                        )
                      ]
                    )
                  ]
                  spids: [2438 2441 2453 -1]
                )
              ]
              spids: [2429 2435 2456]
            )
          ]
          spids: [2426]
        )
      spids: [2422 2425]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:here_broken) op:Equal rhs:{(0)} spids:[2461])]
      spids: [2461]
    )
    (FuncDef
      name: literal
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: {(DQ ($ VSub_Star "$*") ("\n"))}
                          do_expansion: True
                          here_end: "!"
                          was_filled: True
                          spids: [2479]
                        )
                      ]
                    )
                  ]
                  action: [(C {(Lit_Other ":")} {(old)} {(here)} {(doc)} {(botch)} {(not)} {(present)})]
                  spids: [-1 2485]
                )
              ]
              else_action: [
                (Case
                  to_match: {($ VSub_Name "$here_broken")}
                  arms: [
                    (case_arm
                      pat_list: [{(0)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:here_broken)
                              op: Equal
                              rhs: {(1)}
                              spids: [2514]
                            )
                          ]
                          spids: [2514]
                        )
                        (SimpleCommand
                          words: [
                            {(echo)}
                            {
                              (DQ ($ VSub_Name "$command") 
                                (
": your shell botches here documents; this was fixed back in the 80's"
                                )
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: -1
                              arg_word: {($ VSub_Name "$stderr")}
                              spids: [2525]
                            )
                          ]
                        )
                      ]
                      spids: [2511 2512 2529 -1]
                    )
                  ]
                  spids: [2504 2508 2532]
                )
                (C {(sh)} {(-c)} {(DQ ("cat <<!\n") ($ VSub_Star "$*") ("\n") ("!\n"))})
              ]
              spids: [2502 2547]
            )
          ]
          spids: [2472]
        )
      spids: [2465 2468]
    )
    (FuncDef
      name: copy
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(-)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$shell")}
                      arms: [
                        (case_arm
                          pat_list: [{(ksh)}]
                          action: [(C {(print)} {(-r)} {(-)} {(DQ ($ VSub_Number "$2"))})]
                          spids: [2579 2580 2593 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (SimpleCommand
                                      words: [{(cat)}]
                                      redirects: [
                                        (HereDoc
                                          op_id: Redir_DLess
                                          fd: -1
                                          body: {(DQ ($ VSub_Number "$2") ("\n"))}
                                          do_expansion: True
                                          here_end: "!"
                                          was_filled: True
                                          spids: [2603]
                                        )
                                      ]
                                    )
                                  ]
                                  action: [
                                    (C {(Lit_Other ":")} {(ancient)} {(here)} {(doc)} {(botch)} {(not)} 
                                      {(present)}
                                    )
                                  ]
                                  spids: [-1 2609]
                                )
                              ]
                              else_action: [
                                (Case
                                  to_match: {($ VSub_Name "$here_broken")}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(0)}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:here_broken)
                                              op: Equal
                                              rhs: {(1)}
                                              spids: [2638]
                                            )
                                          ]
                                          spids: [2638]
                                        )
                                        (SimpleCommand
                                          words: [
                                            {(echo)}
                                            {
                                              (DQ ($ VSub_Name "$command") 
                                                (
": your shell botches here documents; this was fixed back in the 80's"
                                                )
                                              )
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_GreatAnd
                                              fd: -1
                                              arg_word: {($ VSub_Name "$stderr")}
                                              spids: [2649]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [2635 2636 2653 -1]
                                    )
                                  ]
                                  spids: [2628 2632 2656]
                                )
                                (C {(sh)} {(-c)} {(DQ ("cat <<!\n") ($ VSub_Number "$2") ("\n") ("!\n"))})
                              ]
                              spids: [2626 2671]
                            )
                          ]
                          spids: [2596 2597 2674 -1]
                        )
                      ]
                      spids: [2572 2576 2677]
                    )
                  ]
                  spids: [2569 2570 2680 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$shell")}
                      arms: [
                        (case_arm
                          pat_list: [{(ksh)}]
                          action: [
                            (SimpleCommand
                              words: [{(print)} {(-r)} {(-)} {(DQ ($ VSub_Number "$2"))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: -1
                                  arg_word: {(DQ ($ VSub_Number "$1"))}
                                  spids: [2706]
                                )
                              ]
                            )
                          ]
                          spids: [2693 2694 2713 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (SimpleCommand
                                      words: [{(cat)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {(DQ ($ VSub_Number "$1"))}
                                          spids: [2723]
                                        )
                                        (HereDoc
                                          op_id: Redir_DLess
                                          fd: -1
                                          body: {(DQ ($ VSub_Number "$2") ("\n"))}
                                          do_expansion: True
                                          here_end: "!"
                                          was_filled: True
                                          spids: [2729]
                                        )
                                      ]
                                    )
                                  ]
                                  action: [
                                    (C {(Lit_Other ":")} {(ancient)} {(here)} {(doc)} {(botch)} {(not)} 
                                      {(present)}
                                    )
                                  ]
                                  spids: [-1 2735]
                                )
                              ]
                              else_action: [
                                (Case
                                  to_match: {($ VSub_Name "$here_broken")}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(0)}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:here_broken)
                                              op: Equal
                                              rhs: {(1)}
                                              spids: [2764]
                                            )
                                          ]
                                          spids: [2764]
                                        )
                                        (SimpleCommand
                                          words: [
                                            {(echo)}
                                            {
                                              (DQ ($ VSub_Name "$command") 
                                                (
": your shell botches here documents; this was fixed back in the 80's"
                                                )
                                              )
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_GreatAnd
                                              fd: -1
                                              arg_word: {($ VSub_Name "$stderr")}
                                              spids: [2775]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [2761 2762 2779 -1]
                                    )
                                  ]
                                  spids: [2754 2758 2782]
                                )
                                (C {(sh)} {(-c)} 
                                  {
                                    (DQ ("cat > ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                      ($ VSub_Number "$1") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" <<!\n") ($ VSub_Number "$2") ("\n") ("!\n")
                                    )
                                  }
                                )
                              ]
                              spids: [2752 2801]
                            )
                          ]
                          spids: [2716 2717 2804 -1]
                        )
                      ]
                      spids: [2686 2690 2807]
                    )
                  ]
                  spids: [2683 2684 2810 -1]
                )
              ]
              spids: [2562 2566 2813]
            )
          ]
          spids: [2559]
        )
      spids: [2552 2555]
    )
    (FuncDef
      name: checkcc
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Name "$PACKAGE_PATH")}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                  action: [
                    (ForEach
                      iter_name: i
                      iter_words: [
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(echo)} {($ VSub_Name "$PACKAGE_PATH")})
                                      (C {(sed)} {(SQ <"s,:, ,g">)})
                                    ]
                                    negated: False
                                  )
                                ]
                              )
                            left_token: <Left_Backtick "`">
                            spids: [2851 2863]
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [(C {(test)} {(-d)} {($ VSub_Name "$i") (/include)})]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cc)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$cc") (" -I") ($ VSub_Name "$i") 
                                                (/include)
                                              )
                                            }
                                          spids: [2880]
                                        )
                                      ]
                                      spids: [2880]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:occ)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$occ") (" -I") ($ VSub_Name "$i") 
                                                (/include)
                                              )
                                            }
                                          spids: [2889]
                                        )
                                      ]
                                      spids: [2889]
                                    )
                                  ]
                                  spids: [-1 2878]
                                )
                              ]
                              spids: [-1 2898]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [(C {(test)} {(-d)} {($ VSub_Name "$i") (/lib)})]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cc)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$cc") (" -L") ($ VSub_Name "$i") (/lib))
                                            }
                                          spids: [2913]
                                        )
                                      ]
                                      spids: [2913]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:occ)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$occ") (" -L") ($ VSub_Name "$i") (/lib))
                                            }
                                          spids: [2922]
                                        )
                                      ]
                                      spids: [2922]
                                    )
                                    (ForEach
                                      iter_name: y
                                      iter_words: [{($ VSub_Name "$libpaths")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(eval)} 
                                              {($ VSub_Name "$y") (Lit_Other "=") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\\"">
                                                ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ($ VSub_Name "$y") (Lit_Other ":") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\$">
                                                ) (i/lib) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (${ VSub_Name y) (_default) 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\\"">
                                                )
                                              }
                                            )
                                            (C {(eval)} {(export)} {($ VSub_Name "$y")})
                                          ]
                                          spids: [2940 2967]
                                        )
                                      spids: [2936 -1]
                                    )
                                  ]
                                  spids: [-1 2911]
                                )
                              ]
                              spids: [-1 2970]
                            )
                          ]
                          spids: [2866 2973]
                        )
                      spids: [2850 -1]
                    )
                  ]
                  spids: [2841 2843 2976 -1]
                )
              ]
              spids: [2834 2838 2979]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ("int i = 1;"))}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {($ VSub_Name "$tmp") (.c)}
                  spids: [2988]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (SimpleCommand
                      words: [{(compile)} {($ VSub_Name "$cc")} {(-c)} {($ VSub_Name "$tmp") (.c)}]
                      redirects: [
                        (Redir
                          op_id: Redir_LessAnd
                          fd: -1
                          arg_word: {($ VSub_Name "$nullin")}
                          spids: [3005]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: -1
                          arg_word: {($ VSub_Name "$nullout")}
                          spids: [3008]
                        )
                      ]
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ ("(;"))}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {($ VSub_Name "$tmp") (.c)}
                          spids: [3020]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (SimpleCommand
                              words: [
                                {(compile)}
                                {($ VSub_Name "$cc")}
                                {(-c)}
                                {($ VSub_Name "$tmp") (.c)}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_LessAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$nullin")}
                                  spids: [3037]
                                )
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$nullout")}
                                  spids: [3040]
                                )
                              ]
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:cctest)
                                  op: Equal
                                  rhs: {(DQ ("should not compile '(;'"))}
                                  spids: [3046]
                                )
                              ]
                              spids: [3046]
                            )
                          ]
                          spids: [-1 3044]
                        )
                      ]
                      spids: [-1 3052]
                    )
                  ]
                  spids: [-1 3012]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:cctest)
                      op: Equal
                      rhs: {(DQ ("should compile 'int i = 1;'"))}
                      spids: [3057]
                    )
                  ]
                  spids: [3057]
                )
              ]
              spids: [3055 3063]
            )
            (Case
              to_match: {($ VSub_Name "$cctest")}
              arms: [
                (case_arm
                  pat_list: [{(DQ )}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:cctest) op:Equal rhs:{(0)} spids:[3077])]
                      spids: [3077]
                    )
                  ]
                  spids: [-1 3075 3081 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {
                          (DQ ($ VSub_Name "$command") (": ") ($ VSub_Name "$cc") 
                            (": not a C compiler: ") ($ VSub_Name "$cctest")
                          )
                        }
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: -1
                          arg_word: {($ VSub_Name "$stderr")}
                          spids: [3097]
                        )
                      ]
                    )
                    (C {(exit)} {(1)})
                  ]
                  spids: [3084 3085 3106 -1]
                )
              ]
              spids: [3066 3070 3109]
            )
          ]
          spids: [2826]
        )
      spids: [2822 2825]
    )
    (FuncDef
      name: checkread
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Name "$cctest")}
              arms: [(case_arm pat_list:[{(DQ )}] action:[(C {(checkcc)})] spids:[-131303134-1])]
              spids: [3121 3125 3137]
            )
            (Case
              to_match: {($ VSub_Name "$posix_read")}
              arms: [
                (case_arm pat_list:[{(-no)}] spids:[314731483150-1])
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:posix_read)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Subshell
                                        child: 
                                          (CommandList
                                            children: [
                                              (Sentence
                                                child: (C {(read)} {(-r)} {(_checkread_line)})
                                                terminator: <Op_Semi ";">
                                              )
                                              (C {(echo)} {($ VSub_Name "$_checkread_line")})
                                            ]
                                          )
                                        redirects: [
                                          (Redir
                                            op_id: Redir_Great
                                            fd: 2
                                            arg_word: {(/dev/null)}
                                            spids: [3171]
                                          )
                                          (HereDoc
                                            op_id: Redir_DLess
                                            fd: -1
                                            body: {(DQ ("a z\n"))}
                                            do_expansion: True
                                            here_end: "!"
                                            was_filled: True
                                            spids: [3174]
                                          )
                                        ]
                                        spids: [3158 3169]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [3157 3178]
                              )
                            }
                          spids: [3156]
                        )
                      ]
                      spids: [3156]
                    )
                  ]
                  spids: [3153 3154 3181 -1]
                )
              ]
              spids: [3140 3144 3184]
            )
            (Case
              to_match: {($ VSub_Name "$posix_read")}
              arms: [
                (case_arm
                  pat_list: [{(DQ ("a z"))}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:posix_read)
                          op: Equal
                          rhs: {(1)}
                          spids: [3199]
                        )
                      ]
                      spids: [3199]
                    )
                  ]
                  spids: [3195 3197 3203 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (C {(copy)} {(${ VSub_Name tmp) (r.c)} 
                      {
                        (DQ ("\n") ("\t\textern int read();\n") ("\t\textern int write();\n") 
                          ("\t\tint main()\n") ("\t\t{\n") ("\t\t\tchar\tc;\n") ("\t\t\tchar\tr;\n") ("\t\t\tint\tk;\n") ("\t\t\tchar\ts[32];\n") 
                          ("\t\t\tk = 0;\n") ("\t\t\twhile (read(0, &c, 1) == 1)\n") ("\t\t\t{\n") ("\t\t\t\tif (k >= 0)\n") ("\t\t\t\t{\n") 
                          ("\t\t\t\t\tif (c == ' ' || c == '") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("t')\n") ("\t\t\t\t\t{\n") 
                          ("\t\t\t\t\t\tif (k < sizeof(s))\n") ("\t\t\t\t\t\t\ts[k++] = c;\n") ("\t\t\t\t\t\tcontinue;\n") ("\t\t\t\t\t}\n") 
                          ("\t\t\t\t\tif (k > 1 && c != '#' && c != '") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("n' && c != '") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\\">
                          ) ("r')\n") ("\t\t\t\t\t\twrite(1, s + 1, k - 1);\n") ("\t\t\t\t\tk = -1;\n") ("\t\t\t\t}\n") 
                          ("\t\t\t\tif (c == '") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("r')\n") ("\t\t\t\t{\n") ("\t\t\t\t\tr = c;\n") 
                          ("\t\t\t\t\tif (read(0, &c, 1) == 1 && c != '") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("n')\n") ("\t\t\t\t\t\twrite(1, &r, 1);\n") 
                          ("\t\t\t\t}\n") ("\t\t\t\twrite(1, &c, 1);\n") ("\t\t\t\tif (c == '") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\\">
                          ) ("n')\n") ("\t\t\t\t\treturn 0;\n") ("\t\t\t}\n") ("\t\t\treturn 1;\n") ("\t\t}")
                        )
                      }
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (SimpleCommand
                              words: [
                                {(compile)}
                                {($ VSub_Name "$cc")}
                                {(-o)}
                                {(${ VSub_Name tmp) (r.exe)}
                                {(${ VSub_Name tmp) (r.c)}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$nullout")}
                                  spids: [3286]
                                )
                              ]
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:posix_read)
                                  op: Equal
                                  rhs: {(${ VSub_Name tmp) (r.exe)}
                                  spids: [3292]
                                )
                              ]
                              spids: [3292]
                            )
                          ]
                          spids: [-1 3290]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [
                            {(echo)}
                            {(DQ ($ VSub_Name "$command") (": cannot compile read -r workaround"))}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: -1
                              arg_word: {($ VSub_Name "$stderr")}
                              spids: [3308]
                            )
                          ]
                        )
                        (C {(exit)} {(1)})
                      ]
                      spids: [3299 3317]
                    )
                  ]
                  spids: [3206 3207 3320 -1]
                )
              ]
              spids: [3187 3191 3323]
            )
          ]
          spids: [3118]
        )
      spids: [3114 3117]
    )
    (FuncDef
      name: execute
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Name "$verbose")}
              arms: [
                (case_arm
                  pat_list: [{(0)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:noteout)
                          op: Equal
                          rhs: {($ VSub_Name "$nullout")}
                          spids: [3345]
                        )
                      ]
                      spids: [3345]
                    )
                  ]
                  spids: [3342 3343 3348 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:noteout)
                          op: Equal
                          rhs: {($ VSub_Name "$stderr")}
                          spids: [3354]
                        )
                      ]
                      spids: [3354]
                    )
                  ]
                  spids: [3351 3352 3357 -1]
                )
              ]
              spids: [3335 3339 3360]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(test)} {(DQ )} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$cross"))})
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(crossexec)} {($ VSub_Name "$cross")} {(DQ ($ VSub_At "$@"))}]
                      redirects: [
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 9
                          arg_word: {($ VSub_Name "$noteout")}
                          spids: [3388]
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_execute_)
                          op: Equal
                          rhs: {($ VSub_QMark "$?")}
                          spids: [3392]
                        )
                      ]
                      spids: [3392]
                    )
                  ]
                  spids: [-1 3378]
                )
                (if_arm
                  cond: [(C {(test)} {(-d)} {(/NextDeveloper)})]
                  action: [
                    (SimpleCommand
                      words: [{(DQ ($ VSub_At "$@"))}]
                      redirects: [
                        (Redir
                          op_id: Redir_LessAnd
                          fd: -1
                          arg_word: {($ VSub_Name "$nullin")}
                          spids: [3411]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: -1
                          arg_word: {($ VSub_Name "$nullout")}
                          spids: [3414]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 9
                          arg_word: {($ VSub_Name "$noteout")}
                          spids: [3417]
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_execute_)
                          op: Equal
                          rhs: {($ VSub_QMark "$?")}
                          spids: [3421]
                        )
                      ]
                      spids: [3421]
                    )
                    (Pipeline
                      children: [
                        (SimpleCommand
                          words: [{(DQ ($ VSub_At "$@"))}]
                          redirects: [
                            (Redir
                              op_id: Redir_LessAnd
                              fd: -1
                              arg_word: {($ VSub_Name "$nullin")}
                              spids: [3429]
                            )
                          ]
                        )
                        (C {(cat)})
                      ]
                      negated: False
                    )
                  ]
                  spids: [3396 3405]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(DQ ($ VSub_At "$@"))}]
                  redirects: [
                    (Redir
                      op_id: Redir_GreatAnd
                      fd: 9
                      arg_word: {($ VSub_Name "$noteout")}
                      spids: [3443]
                    )
                  ]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:_execute_)
                      op: Equal
                      rhs: {($ VSub_QMark "$?")}
                      spids: [3447]
                    )
                  ]
                  spids: [3447]
                )
              ]
              spids: [3437 3451]
            )
            (ControlFlow
              token: <ControlFlow_Return return>
              arg_word: {($ VSub_Name "$_execute_")}
            )
          ]
          spids: [3332]
        )
      spids: [3328 3331]
    )
    (FuncDef
      name: exclude
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Name "$excludes")}
              arms: [
                (case_arm
                  pat_list: [{(SQ )}]
                  action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                  spids: [-1 3477 3483 -1]
                )
              ]
              spids: [3468 3472 3486]
            )
            (ForEach
              iter_name: _exclude_var
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (C {(eval)} 
                      {(Lit_VarLike "_exclude_old=") 
                        (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ($ VSub_Name "$_exclude_var")
                      }
                    )
                    (Case
                      to_match: {($ VSub_Name "$_exclude_old")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (DQ (" -I")) (Lit_Other "*")}]
                          spids: [3510 3515 3516 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [3519 3520 3524 -1]
                        )
                      ]
                      spids: [3503 3507 3527]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_exclude_new)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [3530]
                        )
                      ]
                      spids: [3530]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_exclude_sep)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [3533]
                        )
                      ]
                      spids: [3533]
                    )
                    (ForEach
                      iter_name: _exclude_arg
                      iter_words: [{($ VSub_Name "$_exclude_old")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_exclude_skip)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [3547]
                                )
                              ]
                              spids: [3547]
                            )
                            (ForEach
                              iter_name: _exclude_dir
                              iter_words: [{($ VSub_Name "$excludes")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name "$_exclude_arg")}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(-I) ($ VSub_Name "$_exclude_dir")}
                                            {(-I) (Lit_Other "*") (/) ($ VSub_Name "$_exclude_dir")}
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:_exclude_skip)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [3578]
                                                )
                                              ]
                                              spids: [3578]
                                            )
                                            (Sentence
                                              child: (ControlFlow token:<ControlFlow_Break break>)
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          spids: [3568 3575 3586 -1]
                                        )
                                      ]
                                      spids: [3561 3565 3589]
                                    )
                                  ]
                                  spids: [3559 3592]
                                )
                              spids: [3555 -1]
                            )
                            (Case
                              to_match: {($ VSub_Name "$_exclude_skip")}
                              arms: [
                                (case_arm
                                  pat_list: [{(SQ )}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_exclude_new)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$_exclude_new") 
                                                ($ VSub_Name "$_exclude_sep") ($ VSub_Name "$_exclude_arg")
                                              )
                                            }
                                          spids: [3606]
                                        )
                                      ]
                                      spids: [3606]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_exclude_sep)
                                          op: Equal
                                          rhs: {(DQ (" "))}
                                          spids: [3614]
                                        )
                                      ]
                                      spids: [3614]
                                    )
                                  ]
                                  spids: [-1 3604 3620 -1]
                                )
                              ]
                              spids: [3595 3599 3623]
                            )
                          ]
                          spids: [3545 3626]
                        )
                      spids: [3541 -1]
                    )
                    (C {(eval)} 
                      {($ VSub_Name "$_exclude_var") (Lit_Other "=") 
                        (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (_exclude_new)
                      }
                    )
                    (Case
                      to_match: {($ VSub_Name "$debug")}
                      arms: [
                        (case_arm pat_list:[{(0)}] spids:[364436453647-1])
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {($ VSub_Name "$command") (Lit_Other ":")}
                                {(exclude)}
                                {($ VSub_Name "$_exclude_var") (Lit_Other ":")}
                                {
                                  (DQ ($ VSub_Name "$_exclude_old") (" => ") 
                                    ($ VSub_Name "$_exclude_new")
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$stderr")}
                                  spids: [3669]
                                )
                              ]
                            )
                          ]
                          spids: [3650 3651 3673 -1]
                        )
                      ]
                      spids: [3637 3641 3676]
                    )
                  ]
                  spids: [3494 3679]
                )
              spids: [-1 -1]
            )
          ]
          spids: [3465]
        )
      spids: [3461 3464]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:all) op:Equal rhs:{(0)} spids:[3684])]
      spids: [3684]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:apis) op:Equal rhs:{(SQ )} spids:[3687])]
      spids: [3687]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:binding)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"-dy -dn -Bdynamic -Bstatic -Wl,-ashared -Wl,-aarchive -call_shared -non_shared '' -static"
                )
              )
            }
          spids: [3689]
        )
      ]
      spids: [3689]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:complete) op:Equal rhs:{(0)} spids:[3694])]
      spids: [3694]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:config) op:Equal rhs:{(0)} spids:[3697])]
      spids: [3697]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:defhdr) op:Equal rhs:{(SQ )} spids:[3700])]
      spids: [3700]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:define) op:Equal rhs:{(1)} spids:[3702])]
      spids: [3702]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:explicit) op:Equal rhs:{(0)} spids:[3705])]
      spids: [3705]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:iff) op:Equal rhs:{(SQ )} spids:[3708])]
      spids: [3708]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:usr) op:Equal rhs:{(SQ )} spids:[3710])]
      spids: [3710]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:cross) op:Equal rhs:{(SQ )} spids:[3712])]
      spids: [3712]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:debug) op:Equal rhs:{(0)} spids:[3714])]
      spids: [3714]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:deflib) op:Equal rhs:{(SQ )} spids:[3717])]
      spids: [3717]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:dir) op:Equal rhs:{(FEATURE)} spids:[3719])]
      spids: [3719]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:excludes) op:Equal rhs:{(SQ )} spids:[3722])]
      spids: [3722]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:executable)
          op: Equal
          rhs: {(DQ ("test -x"))}
          spids: [3724]
        )
      ]
      spids: [3724]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exists) op:Equal rhs:{(DQ ("test -e"))} spids:[3729])]
      spids: [3729]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:gothdr) op:Equal rhs:{(SQ )} spids:[3734])]
      spids: [3734]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:gotlib) op:Equal rhs:{(SQ )} spids:[3736])]
      spids: [3736]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:idno) op:Equal rhs:{(SQ )} spids:[3738])]
      spids: [3738]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:idyes) op:Equal rhs:{(SQ )} spids:[3740])]
      spids: [3740]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ifs)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name IFS>
                suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ <"\n"> <"\t ">)})
                spids: [3743 3750]
              )
            }
          spids: [3742]
        )
      ]
      spids: [3742]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:in) op:Equal rhs:{(SQ )} spids:[3752])]
      spids: [3752]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:includes) op:Equal rhs:{(SQ )} spids:[3754])]
      spids: [3754]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:intrinsic) op:Equal rhs:{(SQ )} spids:[3756])]
      spids: [3756]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:libpaths)
          op: Equal
          rhs: {(DQ ("LD_LIBRARY_PATH LD_LIBRARYN32_PATH LD_LIBRARY64_PATH LIBPATH SHLIB_PATH"))}
          spids: [3758]
        )
      ]
      spids: [3758]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LD_LIBRARY_PATH_default)
          op: Equal
          rhs: {(Lit_Other ":") (/lib) (Lit_Other ":") (/usr/lib)}
          spids: [3764]
        )
      ]
      spids: [3764]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LD_LIBRARYN32_PATH_default)
          op: Equal
          rhs: {(Lit_Other ":") (/lib32) (Lit_Other ":") (/usr/lib32)}
          spids: [3771]
        )
      ]
      spids: [3771]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LD_LIBRARY64_PATH_default)
          op: Equal
          rhs: {(Lit_Other ":") (/lib64) (Lit_Other ":") (/usr/lib64)}
          spids: [3778]
        )
      ]
      spids: [3778]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LIBPATH_default)
          op: Equal
          rhs: {(Lit_Other ":") (/lib) (Lit_Other ":") (/usr/lib)}
          spids: [3785]
        )
      ]
      spids: [3785]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SHLIB_PATH_default)
          op: Equal
          rhs: 
            {(Lit_Other ":") (/shlib) (Lit_Other ":") (/usr/shlib) (Lit_Other ":") (/lib) (Lit_Other ":") 
              (/usr/lib)
            }
          spids: [3792]
        )
      ]
      spids: [3792]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:nl) op:Equal rhs:{(DQ ("\n"))} spids:[3802])]
      spids: [3802]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:optimize) op:Equal rhs:{(1)} spids:[3807])]
      spids: [3807]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:occ) op:Equal rhs:{(cc)} spids:[3810])]
      spids: [3810]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:one) op:Equal rhs:{(SQ )} spids:[3813])]
      spids: [3813]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:out) op:Equal rhs:{(SQ )} spids:[3815])]
      spids: [3815]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:posix_read) op:Equal rhs:{(-check)} spids:[3817])]
      spids: [3817]
    )
    (Case
      to_match: 
        {
          (CommandSubPart
            command_list: 
              (CommandList
                children: [
                  (Subshell
                    child: 
                      (AndOr
                        children: [
                          (C {(set)} {(-f)})
                          (AndOr
                            children: [
                              (C {(set)} {(x)} {(Lit_Other "*")})
                              (AndOr
                                children: [
                                  (C {(echo)} {($ VSub_Pound "$#")})
                                  (C {(set)} {(Lit_Other "+") (f)})
                                ]
                                op_id: Op_DAmp
                              )
                            ]
                            op_id: Op_DAmp
                          )
                        ]
                        op_id: Op_DAmp
                      )
                    redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3850])]
                    spids: [3823 3848]
                  )
                ]
              )
            left_token: <Left_Backtick "`">
            spids: [3822 3852]
          )
        }
      arms: [
        (case_arm
          pat_list: [{(2)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:posix_noglob)
                  op: Equal
                  rhs: {(DQ ("set -f"))}
                  spids: [3859]
                )
                (assign_pair
                  lhs: (LhsName name:posix_glob)
                  op: Equal
                  rhs: {(DQ ("set +f"))}
                  spids: [3864]
                )
              ]
              spids: [3859]
            )
          ]
          spids: [3856 3857 3869 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (Case
              to_match: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Subshell
                            child: 
                              (AndOr
                                children: [
                                  (C {(set)} {(-F)})
                                  (AndOr
                                    children: [
                                      (C {(set)} {(x)} {(Lit_Other "*")})
                                      (AndOr
                                        children: [
                                          (C {(echo)} {($ VSub_Pound "$#")})
                                          (C {(set)} {(Lit_Other "+") (F)})
                                        ]
                                        op_id: Op_DAmp
                                      )
                                    ]
                                    op_id: Op_DAmp
                                  )
                                ]
                                op_id: Op_DAmp
                              )
                            redirects: [
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [3904]
                              )
                            ]
                            spids: [3877 3902]
                          )
                        ]
                      )
                    left_token: <Left_Backtick "`">
                    spids: [3876 3906]
                  )
                }
              arms: [
                (case_arm
                  pat_list: [{(2)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:posix_noglob)
                          op: Equal
                          rhs: {(DQ ("set -F"))}
                          spids: [3914]
                        )
                        (assign_pair
                          lhs: (LhsName name:posix_glob)
                          op: Equal
                          rhs: {(DQ ("set +F"))}
                          spids: [3919]
                        )
                      ]
                      spids: [3914]
                    )
                  ]
                  spids: [3911 3912 3924 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:posix_noglob)
                          op: Equal
                          rhs: {(DQ (":"))}
                          spids: [3930]
                        )
                        (assign_pair
                          lhs: (LhsName name:posix_glob)
                          op: Equal
                          rhs: {(DQ (":"))}
                          spids: [3935]
                        )
                      ]
                      spids: [3930]
                    )
                  ]
                  spids: [3927 3928 3940 -1]
                )
              ]
              spids: [3874 3908 3943]
            )
          ]
          spids: [3871 3872 3946 -1]
        )
      ]
      spids: [3820 3854 3948]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:protoflags) op:Equal rhs:{(SQ )} spids:[3950])]
      spids: [3950]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:puthdr) op:Equal rhs:{(SQ )} spids:[3952])]
      spids: [3952]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:putlib) op:Equal rhs:{(SQ )} spids:[3954])]
      spids: [3954]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pragma) op:Equal rhs:{(SQ )} spids:[3956])]
      spids: [3956]
    )
    (Case
      to_match: {($ VSub_Name "$RANDOM")}
      arms: [
        (case_arm
          pat_list: [{($ VSub_Name "$RANDOM")}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:shell) op:Equal rhs:{(bsh)} spids:[3966])]
              spids: [3966]
            )
            (AndOr
              children: [
                (Subshell
                  child: (C {($ VSub_Name "$executable")} {(.)})
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3976])]
                  spids: [3970 3974]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:executable)
                      op: Equal
                      rhs: {(SQ <"test -r">)}
                      spids: [3981]
                    )
                  ]
                  spids: [3981]
                )
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (Subshell
                  child: (C {($ VSub_Name "$exists")} {(.)})
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3993])]
                  spids: [3987 3991]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:exists)
                      op: Equal
                      rhs: {(SQ <"test -r">)}
                      spids: [3998]
                    )
                  ]
                  spids: [3998]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [3964 3965 4004 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (Case
              to_match: {($ VSub_Name "$BASH_VERSION")}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:shell)
                          op: Equal
                          rhs: {(bash)}
                          spids: [4020]
                        )
                      ]
                      spids: [4020]
                    )
                  ]
                  spids: [4016 4018 4023 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:shell)
                          op: Equal
                          rhs: {(ksh)}
                          spids: [4029]
                        )
                      ]
                      spids: [4029]
                    )
                  ]
                  spids: [4026 4027 4032 -1]
                )
              ]
              spids: [4009 4013 4035]
            )
          ]
          spids: [4006 4007 4038 -1]
        )
      ]
      spids: [3958 3962 4040]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:reallystatic) op:Equal rhs:{(SQ )} spids:[4042])]
      spids: [4042]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:reallystatictest) op:Equal rhs:{(SQ )} spids:[4044])]
      spids: [4044]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:regress) op:Equal rhs:{(SQ )} spids:[4046])]
      spids: [4046]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:static) op:Equal rhs:{(.)} spids:[4048])]
      spids: [4048]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:statictest) op:Equal rhs:{(SQ )} spids:[4051])]
      spids: [4051]
    )
    (Case
      to_match: {($ VSub_Name "$COTEMP")}
      arms: [
        (case_arm
          pat_list: [{(DQ )}]
          action: [
            (Case
              to_match: {($ VSub_Name "$HOSTNAME")}
              arms: [
                (case_arm
                  pat_list: [
                    {(DQ )}
                    {(Lit_Other "?")}
                    {(Lit_Other "?") (Lit_Other "?")}
                    {(Lit_Other "?") (Lit_Other "?") (Lit_Other "?")}
                    {(Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?")}
                    {(Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?")}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tmp)
                          op: Equal
                          rhs: {(${ VSub_Name HOSTNAME)}
                          spids: [4094]
                        )
                      ]
                      spids: [4094]
                    )
                  ]
                  spids: [-1 4091 4100 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$shell")}
                      arms: [
                        (case_arm
                          pat_list: [{(bsh)}]
                          action: [
                            (C {(eval)} 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {($ VSub_Name "$HOSTNAME")})
                                            (C {(sed)} {(SQ <"s/\\\\(....\\\\).*/tmp=\\\\1/">)})
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_Backtick "`">
                                  spids: [4118 4130]
                                )
                              }
                            )
                          ]
                          spids: [4113 4114 4132 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [(C {(eval)} {(SQ <"tmp=${HOSTNAME%${HOSTNAME#????}}">)})]
                          spids: [4135 4136 4144 -1]
                        )
                      ]
                      spids: [4106 4110 4147]
                    )
                  ]
                  spids: [4103 4104 4150 -1]
                )
              ]
              spids: [4063 4067 4153]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tmp)
                  op: Equal
                  rhs: {(${ VSub_Name tmp) ($ VSub_Dollar "$$")}
                  spids: [4156]
                )
              ]
              spids: [4156]
            )
          ]
          spids: [-1 4061 4163 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tmp)
                  op: Equal
                  rhs: {(x) (${ VSub_Name COTEMP)}
                  spids: [4168]
                )
              ]
              spids: [4168]
            )
          ]
          spids: [4165 4166 4175 -1]
        )
      ]
      spids: [4053 4057 4177]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:COTEMP) op:Equal rhs:{(${ VSub_Name tmp)} spids:[4179])]
      spids: [4179]
    )
    (C {(export)} {(COTEMP)})
    (Case
      to_match: {($ VSub_Name "$tmp")}
      arms: [
        (case_arm pat_list:[{(./) (Lit_Other "*")}] spids:[419441964198-1])
        (case_arm
          pat_list: [
            {(Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") 
              (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "*")
            }
          ]
          action: [
            (Case
              to_match: {($ VSub_Name "$shell")}
              arms: [
                (case_arm
                  pat_list: [{(bsh)}]
                  action: [
                    (C {(eval)} 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {($ VSub_Name "$tmp")})
                                    (C {(sed)} {(SQ <"s/\\\\(.........\\\\).*/tmp=\\\\1/">)})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_Backtick "`">
                          spids: [4226 4238]
                        )
                      }
                    )
                  ]
                  spids: [4221 4222 4240 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [(C {(eval)} {(SQ <"tmp=${tmp%${tmp#?????????}}">)})]
                  spids: [4243 4244 4252 -1]
                )
              ]
              spids: [4214 4218 4255]
            )
          ]
          spids: [4200 4211 4258 -1]
        )
        (case_arm
          pat_list: [
            {(Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") 
              (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?")
            }
          ]
          spids: [4260 4269 4272 -1]
        )
        (case_arm
          pat_list: [
            {(Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") 
              (Lit_Other "?") (Lit_Other "?") (Lit_Other "?")
            }
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tmp)
                  op: Equal
                  rhs: {(F) ($ VSub_Name "$tmp")}
                  spids: [4285]
                )
              ]
              spids: [4285]
            )
          ]
          spids: [4274 4282 4290 -1]
        )
      ]
      spids: [4188 4192 4292]
    )
    (Case
      to_match: {($ VSub_Name "$tmp")}
      arms: [
        (case_arm pat_list:[{(./) (Lit_Other "*")}] spids:[430043024304-1])
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tmp)
                  op: Equal
                  rhs: {(./) ($ VSub_Name "$tmp")}
                  spids: [4309]
                )
              ]
              spids: [4309]
            )
          ]
          spids: [4306 4307 4313 -1]
        )
      ]
      spids: [4294 4298 4315]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:undef) op:Equal rhs:{(0)} spids:[4317])]
      spids: [4317]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:verbose) op:Equal rhs:{(0)} spids:[4320])]
      spids: [4320]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:vers) op:Equal rhs:{(SQ )} spids:[4323])]
      spids: [4323]
    )
    (Case
      to_match: {($ VSub_Number "$1")}
      arms: [
        (case_arm
          pat_list: [{(-)}]
          action: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:out) op:Equal rhs:{(-)} spids:[4339])]
                  spids: [4339]
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [4336 4337 4345 -1]
        )
      ]
      spids: [4330 4334 4347]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:set) op:Equal rhs:{(SQ )} spids:[4349])]
      spids: [4349]
    )
    (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:[4373])]
                    spids: [4355 4371]
                  )
                ]
              )
            left_token: <Left_Backtick "`">
            spids: [4354 4375]
          )
        }
      arms: [
        (case_arm
          pat_list: [{(0123)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:USAGE)
                  op: Equal
                  rhs: 
                    {(SQ <"\n"> <"[-?\n"> <"@(#)$Id: iffe (AT&T Research) 2012-07-17 $\n"> <"]\n">) 
                      ($ VSub_Name "$USAGE_LICENSE") 
                      (SQ <"\n"> <"[+NAME?iffe - C compilation environment feature probe]\n"> 
                        <"[+DESCRIPTION?"> <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> <" is a command interpreter that probes the C\n"> 
                        <"\tcompilation environment for features. A feature is any file, option\n"> <"\tor symbol that controls or is controlled by the C compiler. "> <Lit_EscapedChar "\\b"> <iffe> 
                        <Lit_EscapedChar "\\b"> <"\n"> <"\ttests features by generating and compiling C programs and observing\n"> 
                        <"\tthe behavior of the C compiler and generated programs.]\n"> <"[+?"> <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> 
                        <" statements are line oriented. Statements may appear in the\n"> <"\toperand list with the "> <Lit_EscapedChar "\\b"> <":"> <Lit_EscapedChar "\\b"> <" operand or "> 
                        <Lit_EscapedChar "\\b"> <newline> <Lit_EscapedChar "\\b"> <" as the line\n"> 
                        <"\tdelimiter. The standard input is read if there are no command\n"> <"\tline statements or if "> <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> 
                        <Lit_EscapedChar "\\b"> <.iffe> <Lit_EscapedChar "\\b"> <" is omitted.]\n"> <"[+?Though similar in concept to "> 
                        <Lit_EscapedChar "\\b"> <autoconf> <Lit_EscapedChar "\\b"> <"(1) and "> <Lit_EscapedChar "\\b"> <config> <Lit_EscapedChar "\\b"> 
                        <"(1), there\n"> <"\tare fundamental differences. The latter tend to generate global\n"> 
                        <"\theaders accessed by all components in a package, whereas "> <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> <" is\n"> 
                        <"\taimed at localized, self contained feature testing.]\n"> <"[+?Output is generated in "> <Lit_EscapedChar "\\b"> <FEATURE/> <Lit_EscapedChar "\\b"> 
                        <Lit_EscapedChar "\\a"> <test> <Lit_EscapedChar "\\a"> <" by default, where "> <Lit_EscapedChar "\\a"> <test> 
                        <Lit_EscapedChar "\\a"> <" is\n"> <"\tthe base name of "> <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> 
                        <Lit_EscapedChar "\\b"> <.iffe> <Lit_EscapedChar "\\b"> <" or the "> <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> <" "> 
                        <Lit_EscapedChar "\\b"> <run> <Lit_EscapedChar "\\b"> <"\n"> 
                        <"\tfile operand. Output is first generated in a temporary file; the\n"> <"\toutput file is updated if it does not exist or if the temporary file\n"> 
                        <"\tis different. If the first operand is "> <Lit_EscapedChar "\\b"> <-> <Lit_EscapedChar "\\b"> <" then the output is written\n"> 
                        <"\tto the standard output and no update checks are done.]\n"> <"[+?Files with suffixes "> <Lit_EscapedChar "\\b"> <.iffe> <Lit_EscapedChar "\\b"> <" and "> 
                        <Lit_EscapedChar "\\b"> <.iff> <Lit_EscapedChar "\\b"> <" are assumed to contain\n"> <"\t"> <Lit_EscapedChar "\\b"> <iffe> 
                        <Lit_EscapedChar "\\b"> <" statements.]\n"> <"[a:all?Define failed test macros "> <Lit_EscapedChar "\\b"> <0> 
                        <Lit_EscapedChar "\\b"> <". By default only successful test macros\n"> <"\tare defined "> <Lit_EscapedChar "\\b"> <1> 
                        <Lit_EscapedChar "\\b"> <".]\n"> <"[c:cc?Sets the C compiler name and flags to be used in the feature\n"> 
                        <"\ttests.]:[C-compiler-name [C-compiler-flags ...]]]\n"> <"[C:config?Generate "> <Lit_EscapedChar "\\b"> <config> <Lit_EscapedChar "\\b"> <"(1) style "> 
                        <Lit_EscapedChar "\\a"> <HAVE_> <Lit_EscapedChar "\\a"> <"* macro names. This implies\n"> <"\t"> <Lit_EscapedChar "\\b"> <--undef> 
                        <Lit_EscapedChar "\\b"> <". Since "> <Lit_EscapedChar "\\b"> <config> <Lit_EscapedChar "\\b"> 
                        <"(1) has inconsistent naming conventions,\n"> <"\tthe "> <Lit_EscapedChar "\\b"> <exp> <Lit_EscapedChar "\\b"> 
                        <" op may be needed to translate from the (consistent)\n"> <"\t"> <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> <" names. Unless otherwise noted a "> 
                        <Lit_EscapedChar "\\b"> <config> <Lit_EscapedChar "\\b"> <" macro name\n"> <"\tis the "> <Lit_EscapedChar "\\b"> <iffe> 
                        <Lit_EscapedChar "\\b"> <" macro name prefixed with "> <Lit_EscapedChar "\\b"> <HAVE> <Lit_EscapedChar "\\b"> 
                        <" and converted to\n"> <"\tupper case. "> <Lit_EscapedChar "\\b"> <--config> <Lit_EscapedChar "\\b"> 
                        <" is set by default if the command arguments\n"> <"\tcontain a "> <Lit_EscapedChar "\\b"> <run> <Lit_EscapedChar "\\b"> 
                        <" op on an input file with the base name "> <Lit_EscapedChar "\\b"> <config> <Lit_EscapedChar "\\b"> <".]\n"> 
                        <"[d:debug?Sets the debug level. Level 0 inhibits most\n"> <"\terror messages, level 1 shows compiler messages, and\n"> <"\tlevel 2 traces internal "> 
                        <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> <" "> <Lit_EscapedChar "\\b"> <sh> <Lit_EscapedChar "\\b"> 
                        <"(1) actions and does\n"> <"\tnot remove core dumps on exit.]#[level]\n"> 
                        <
"[D:define?Successful test macro definitions are emitted. This is the default.]\n"
                        > <"[E:explicit?Disable implicit test output.]\n"> <"[F:features?Sets the feature test header to "> 
                        <Lit_EscapedChar "\\a"> <hdr> <Lit_EscapedChar "\\a"> <".  This header typically\n"> 
                        <"        defines *_SOURCE feature test macros.]:[hdr:=NONE]\n"> <"[i:input?Sets the input file name to "> <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> 
                        <", which\n"> <"\tmust contain "> <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> <" statements.]:[file]\n"> 
                        <"[I:include?Adds "> <Lit_EscapedChar "\\b"> <-I> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <dir> <Lit_EscapedChar "\\a"> 
                        <" to the C compiler flags.]:[dir]\n"> <"[L:library?Adds "> <Lit_EscapedChar "\\b"> <-L> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <dir> 
                        <Lit_EscapedChar "\\a"> <" to the C compiler flags.]:[dir]\n"> <"[n:name-value?Output "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <"="> <Lit_EscapedChar "\\a"> <value> <Lit_EscapedChar "\\a"> <" assignments only.]\n"> <"[N!:optimize?"> 
                        <Lit_EscapedChar "\\b"> <--nooptimize> <Lit_EscapedChar "\\b"> <" disables compiler optimization options.]\n"> 
                        <"[o:output?Sets the output file name to "> <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> <".]:[file]\n"> 
                        <"[O:stdio?Sets the standard io header to "> <Lit_EscapedChar "\\a"> <hdr> <Lit_EscapedChar "\\a"> <".]:[hdr:=stdio.h]\n"> <"[e:package?Sets the "> 
                        <Lit_EscapedChar "\\b"> <proto> <Lit_EscapedChar "\\b"> <"(1) package name to "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <".]:[name]\n"> <"[p:prototyped?Emits "> <Lit_EscapedChar "\\b"> <"#pragma prototyped"> 
                        <Lit_EscapedChar "\\b"> <" at the top of the\n"> <"\toutput file. See "> <Lit_EscapedChar "\\b"> <proto> <Lit_EscapedChar "\\b"> 
                        <"(1).]\n"> <"[P:pragma?Emits "> <Lit_EscapedChar "\\b"> <"#pragma"> <Lit_EscapedChar "\\b"> <" "> 
                        <Lit_EscapedChar "\\a"> <text> <Lit_EscapedChar "\\a"> <" at the top of the output file.]:[text]\n"> 
                        <"[r:regress?Massage output for regression testing.]\n"> <"[s:shell?Sets the internal shell name to "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <". Used for debugging\n"> <"\tBourne shell compatibility (otherwise "> <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> 
                        <" uses "> <Lit_EscapedChar "\\a"> <ksh> <Lit_EscapedChar "\\a"> <" constructs\n"> 
                        <"\tif available). The supported names are "> <Lit_EscapedChar "\\b"> <ksh> <Lit_EscapedChar "\\b"> <", "> <Lit_EscapedChar "\\b"> <bsh> 
                        <Lit_EscapedChar "\\b"> <", "> <Lit_EscapedChar "\\b"> <bash> <Lit_EscapedChar "\\b"> <", and\n"> <"\t"> <Lit_EscapedChar "\\b"> 
                        <osh> <Lit_EscapedChar "\\b"> <". "> <Lit_EscapedChar "\\b"> <osh> <Lit_EscapedChar "\\b"> <" forces the "> 
                        <Lit_EscapedChar "\\b"> <"read -r"> <Lit_EscapedChar "\\b"> <" compatibility read command to\n"> 
                        <"\tbe compiled and used instead of "> <Lit_EscapedChar "\\b"> <"read -r"> <Lit_EscapedChar "\\b"> <". The default is determined\n"> 
                        <"\tby probing the shell at startup.]:[name]\n"> <"[S:static?Sets the C compiler flags that force static linking. If not set\n"> <"\tthen "> 
                        <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> <" probes the compiler to determine the flags. "> <Lit_EscapedChar "\\b"> 
                        <iffe> <Lit_EscapedChar "\\b"> <"\n"> 
                        <"\tmust use static linking (no dlls) because on some systems missing\n"> <"\tlibrary symbols are only detected when referenced at runtime from\n"> 
                        <"\tdynamically linked executables.]:[flags]\n"> <"[u:undef?"> <Lit_EscapedChar "\\b"> <"#undef"> <Lit_EscapedChar "\\b"> 
                        <" failed test macros. By default only successful test macros\n"> <"\tare defined "> <Lit_EscapedChar "\\b"> <1> <Lit_EscapedChar "\\b"> <".]\n"> 
                        <
"[v:verbose?Produce a message line on the standard error for each test as\n"
                        > <"\tit is performed.]\n"> <"[x:cross?Some tests compile an executable ("> <Lit_EscapedChar "\\b"> 
                        <a.out> <Lit_EscapedChar "\\b"> <") and then run it.\n"> 
                        <"\tIf the C compiler is a cross compiler and the executable format is\n"> <"\tincompatible with the execution environment then the generated\n"> 
                        <"\texecutables must be run in a different environment, possibly on\n"> <"\tanother host. "> <Lit_EscapedChar "\\a"> <crosstype> <Lit_EscapedChar "\\a"> 
                        <" is the HOSTTYPE for generated executables\n"> <"\t(the "> <Lit_EscapedChar "\\b"> <package> <Lit_EscapedChar "\\b"> 
                        <"(1) command generates a consistent HOSTTYPE namespace).\n"> <"\tGenerated executables are run via "> <Lit_EscapedChar "\\b"> <crossexec> <Lit_EscapedChar "\\b"> 
                        <"(1) with "> <Lit_EscapedChar "\\a"> <crosstype> <Lit_EscapedChar "\\a"> <"\n"> <"\tas the first argument. "> 
                        <Lit_EscapedChar "\\b"> <crossexec> <Lit_EscapedChar "\\b"> <" supports remote execution for\n"> 
                        <"\tcross-compiled executables. See "> <Lit_EscapedChar "\\b"> <crossexec> <Lit_EscapedChar "\\b"> <"(1) for\n"> <"\tdetails.]:[crosstype]\n"> 
                        <"[X:exclude?Removes "> <Lit_EscapedChar "\\b"> <-I> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <dir> <Lit_EscapedChar "\\a"> 
                        <" and "> <Lit_EscapedChar "\\b"> <-I> <Lit_EscapedChar "\\b"> <"*/"> <Lit_EscapedChar "\\a"> <dir> 
                        <Lit_EscapedChar "\\a"> <" C compiler flags.]:[dir]\n"> <"\n"> <"[ - ] [ file.iffe | statement [ : statement ... ] ]\n"> <"\n"> 
                        <"[+SYNTAX?"> <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> 
                        <" input consists of a sequence of statement lines. Statements\n"> <"\tthat span more than one line contain "> <Lit_EscapedChar "\\a"> <begin> <Lit_EscapedChar "\\a"> 
                        <Lit_EscapedChar "\\b"> <"{"> <Lit_EscapedChar "\\b"> <" as the last\n"> <"\toperand (where "> <Lit_EscapedChar "\\a"> <begin> 
                        <Lit_EscapedChar "\\a"> <" is command specific) and zero\n"> <"\tor more data lines terminated by a line containing\n"> <"\t"> 
                        <Lit_EscapedChar "\\b"> <"}end"> <Lit_EscapedChar "\\b"> <" as the first operand. The statement syntax is:\n"> <"\t["> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" "> <Lit_EscapedChar "\\b"> <"="> <Lit_EscapedChar "\\b"> <"]] ["> 
                        <Lit_EscapedChar "\\b"> <"!"> <Lit_EscapedChar "\\b"> <"]] "> <Lit_EscapedChar "\\a"> <test> <Lit_EscapedChar "\\a"> <"[,"> 
                        <Lit_EscapedChar "\\a"> <test> <Lit_EscapedChar "\\a"> <"...]] ["> <Lit_EscapedChar "\\b"> <-> <Lit_EscapedChar "\\b"> <"]]\n"> 
                        <"\t["> <Lit_EscapedChar "\\a"> <arg> <Lit_EscapedChar "\\a"> <"[,"> <Lit_EscapedChar "\\a"> <arg> 
                        <Lit_EscapedChar "\\a"> <"...]]]] ["> <Lit_EscapedChar "\\a"> <prereq> <Lit_EscapedChar "\\a"> <" ...]]\n"> <"\t["> 
                        <Lit_EscapedChar "\\a"> <begin> <Lit_EscapedChar "\\a"> <"{ ... |"> <Lit_EscapedChar "\\b"> <end> <Lit_EscapedChar "\\b"> 
                        <" ...]] [= ["> <Lit_EscapedChar "\\a"> <default> <Lit_EscapedChar "\\a"> <"]]]].\n"> <"\t"> <Lit_EscapedChar "\\a"> <test> 
                        <Lit_EscapedChar "\\a"> <"s and "> <Lit_EscapedChar "\\a"> <arg> <Lit_EscapedChar "\\a"> 
                        <"s may be combined, separated by commas, to perform\n"> <"\ta set of tests on a set of arguments. "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" "> 
                        <Lit_EscapedChar "\\b"> <"="> <Lit_EscapedChar "\\b"> <" before "> <Lit_EscapedChar "\\a"> <test> <Lit_EscapedChar "\\a"> <"\n"> 
                        <"\toverrides the default test variable and macro name, and "> <Lit_EscapedChar "\\b"> <-> <Lit_EscapedChar "\\b"> <" after\n"> <"\t"> <Lit_EscapedChar "\\a"> <test> 
                        <Lit_EscapedChar "\\a"> <" performs the test but does not define the test variable and\n"> <"\tmacro values. "> 
                        <Lit_EscapedChar "\\b"> <"!"> <Lit_EscapedChar "\\b"> <" before "> <Lit_EscapedChar "\\a"> <test> <Lit_EscapedChar "\\a"> 
                        <" inverts the test sense for "> <Lit_EscapedChar "\\b"> <if> <Lit_EscapedChar "\\b"> <",\n"> <"\t"> <Lit_EscapedChar "\\b"> <elif> 
                        <Lit_EscapedChar "\\b"> <", and "> <Lit_EscapedChar "\\b"> <"yes{"> <Lit_EscapedChar "\\b"> <" and "> <Lit_EscapedChar "\\b"> 
                        <"no{"> <Lit_EscapedChar "\\b"> <" blocks.]\n"> <"[+?"> <Lit_EscapedChar "\\a"> <prereq> <Lit_EscapedChar "\\a"> 
                        <"s are used when applying the features tests and may be\n"> <"\tcombinations of:]{\n"> <"\t\t[+compiler options?"> <Lit_EscapedChar "\\b"> <-D> 
                        <Lit_EscapedChar "\\b"> <"*, "> <Lit_EscapedChar "\\b"> <-L> <Lit_EscapedChar "\\b"> <"*, etc.]\n"> <"\t\t[+library references?"> 
                        <Lit_EscapedChar "\\b"> <-l> <Lit_EscapedChar "\\b"> <"*, *"> <Lit_EscapedChar "\\b"> <.a> <Lit_EscapedChar "\\b"> <", etc. "> 
                        <Lit_EscapedChar "\\b"> <_LIB_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"\n"> 
                        <"\t\t\tis defined to be 1 if "> <Lit_EscapedChar "\\b"> <-l> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" is a library.]\n"> <"\t\t[+header references?*"> <Lit_EscapedChar "\\b"> <.h> <Lit_EscapedChar "\\b"> 
                        <". "> <Lit_EscapedChar "\\a"> <_dir_name> <Lit_EscapedChar "\\a"> <" is defined to be 1\n"> <"\t\t\tif "> 
                        <Lit_EscapedChar "\\a"> <dir/name> <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <.h> <Lit_EscapedChar "\\b"> 
                        <" is a header, or if "> <Lit_EscapedChar "\\a"> <dir> <Lit_EscapedChar "\\a"> <" is\n"> <"\t\t\tomitted, "> 
                        <Lit_EscapedChar "\\b"> <_hdr_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <" is defined to be 1 if\n"> <"\t\t\t"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <.h> 
                        <Lit_EscapedChar "\\b"> <" is a header.]\n"> <"\t\t[+-?Prereq grouping mark; prereqs before the first "> 
                        <Lit_EscapedChar "\\b"> <-> <Lit_EscapedChar "\\b"> <" are\n"> <"\t\t\tpassed to all feature tests. Subsequent groups\n"> 
                        <"\t\t\tare attempted in left-to-right order until the first\n"> <"\t\t\tsuccessful group is found.]\n"> <"\t}\n"> <"[+?"> <Lit_EscapedChar "\\a"> <begin> 
                        <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <"{"> <Lit_EscapedChar "\\b"> <" ... "> <Lit_EscapedChar "\\b"> <"}end"> 
                        <Lit_EscapedChar "\\b"> <" delimit multiline code blocks that override\n"> <"\tor augment the default code provided by "> 
                        <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> <". User supplied code\n"> 
                        <"\tblocks should be compatible with the K&R, ANSI, and C++ C language\n"> <"\tdialects for maximal portability. Test code may call the function\n"> <"\t"> 
                        <Lit_EscapedChar "\\b"> <"NOTE(\"...\")"> <Lit_EscapedChar "\\b"> <" to emit short text in "> <Lit_EscapedChar "\\b"> <--verbose> 
                        <Lit_EscapedChar "\\b"> <" output; only one\n"> <"\t"> <Lit_EscapedChar "\\b"> <"NOTE()"> <Lit_EscapedChar "\\b"> 
                        <" should be called per test for readability. In addition to\n"> <"\tall macro definitions generated by previous tests, all generated\n"> 
                        <
"\tcode contains the following at the top to hide dialect differences:]{\n"
                        > <"\t\t[+ ?#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)]\n"> 
                        <"\t\t[+ ?#define _STD_ 1]\n"> <"\t\t[+ ?#define _ARG_(x) x]\n"> <"\t\t[+ ?#define _VOID_ void]\n"> <"\t\t[+ ?#else]\n"> 
                        <"\t\t[+ ?#define _STD_ 0]\n"> <"\t\t[+ ?#define _ARG_(x) ()]\n"> <"\t\t[+ ?#define _VOID_ char]\n"> <"\t\t[+ ?#endif]\n"> 
                        <"\t\t[+ ?#if defined(__cplusplus)]\n"> <"\t\t[+ ?#define _BEGIN_EXTERNS_ extern \"C\" {]\n"> <"\t\t[+ ?#define _END_EXTERNS_ }]\n"> 
                        <"\t\t[+ ?#else]\n"> <"\t\t[+ ?#define _BEGIN_EXTERNS_]\n"> <"\t\t[+ ?#define _END_EXTERNS_]\n"> <"\t\t[+ ?#endif]\n"> 
                        <"\t\t[+ ?#define _NIL_(x) ((x)0)]\n"> <"\t\t[+ ?#include <stdio.h>]\n"> <"\t}\n"> <"[+?= "> <Lit_EscapedChar "\\a"> <default> 
                        <Lit_EscapedChar "\\a"> <" may be specified for the "> <Lit_EscapedChar "\\b"> <key> <Lit_EscapedChar "\\b"> <", "> 
                        <Lit_EscapedChar "\\b"> <lib> <Lit_EscapedChar "\\b"> <", "> <Lit_EscapedChar "\\b"> <mac> <Lit_EscapedChar "\\b"> <", "> 
                        <Lit_EscapedChar "\\b"> <mth> <Lit_EscapedChar "\\b"> <"\n"> <"\tand "> <Lit_EscapedChar "\\b"> <typ> <Lit_EscapedChar "\\b"> 
                        <" tests. If the test fails for "> <Lit_EscapedChar "\\a"> <arg> <Lit_EscapedChar "\\a"> <" then\n"> <"\t"> <Lit_EscapedChar "\\b"> 
                        <"#define"> <Lit_EscapedChar "\\b"> <" "> <Lit_EscapedChar "\\a"> <arg> <Lit_EscapedChar "\\a"> <" "> 
                        <Lit_EscapedChar "\\a"> <default> <Lit_EscapedChar "\\a"> <" is emitted. "> <Lit_EscapedChar "\\b"> <key> <Lit_EscapedChar "\\b"> 
                        <" accepts multiple\n"> <"\t"> <Lit_EscapedChar "\\b"> <"= "> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <default> 
                        <Lit_EscapedChar "\\a"> <" values; the first valid one is used.]\n"> 
                        <
"[+?Each test statement generates a portion of a C language header that contains\n"
                        > <"\tmacro defintions, comments, and other text corresponding to the feature\n"> <"\ttests. "> 
                        <Lit_EscapedChar "\\b"> <"#ifndef _def_"> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <Lit_EscapedChar "\\b"> <_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <directory> <Lit_EscapedChar "\\a"> <" ...\n"> <"\t"> 
                        <Lit_EscapedChar "\\b"> <"#endif"> <Lit_EscapedChar "\\b"> <" guards the generated header from multiple "> 
                        <Lit_EscapedChar "\\b"> <"#include"> <Lit_EscapedChar "\\b"> <"s,\n"> <"\twhere "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" is determined by either the "> <Lit_EscapedChar "\\b"> <run> <Lit_EscapedChar "\\b"> 
                        <" statement input file\n"> <"\tname if any, or the first "> <Lit_EscapedChar "\\a"> <test> <Lit_EscapedChar "\\a"> 
                        <" in the first statement, and "> <Lit_EscapedChar "\\a"> <directory> <Lit_EscapedChar "\\a"> <"\n"> 
                        <"\tis the basename component of either the "> <Lit_EscapedChar "\\b"> <run> <Lit_EscapedChar "\\b"> <" statement file, if any,\n"> 
                        <
"\tor the current working directory. The output file name is determined\n"
                        > <"\tin this order:]{\n"> <"\t\t[+-?If the first command line operand is "> <Lit_EscapedChar "\\b"> <-> 
                        <Lit_EscapedChar "\\b"> <" then the output\n"> <"\t\t\tis written to the standard output.]\n"> <"\t\t[+--output="> 
                        <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> <"?Output is "> <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> 
                        <".]\n"> <"\t\t[+set out "> <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> <"?Output is "> 
                        <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> <".]\n"> <"\t\t[+[run]] ["> <Lit_EscapedChar "\\a"> <directory> 
                        <Lit_EscapedChar "\\a"> <"/]]"> <Lit_EscapedChar "\\a"> <base> <Lit_EscapedChar "\\a"> <"["> <Lit_EscapedChar "\\a"> <.suffix> 
                        <Lit_EscapedChar "\\a"> <"]]?Output is\n"> <"\t\t\t"> <Lit_EscapedChar "\\b"> <FEATURE/> <Lit_EscapedChar "\\b"> 
                        <Lit_EscapedChar "\\a"> <base> <Lit_EscapedChar "\\a"> <".]\n"> <"\t}\n"> <"[+?Generated "> <Lit_EscapedChar "\\b"> <iffe> 
                        <Lit_EscapedChar "\\b"> <" headers are often referenced in C source as:\n"> <"\t"> <Lit_EscapedChar "\\b"> 
                        <"#include \"FEATURE/"> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> <"\". The "> 
                        <Lit_EscapedChar "\\b"> <nmake> <Lit_EscapedChar "\\b"> <"(1) base rules contain\n"> <"\tmetarules for generating "> 
                        <Lit_EscapedChar "\\b"> <FEATURE/> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> <" from\n"> 
                        <"\t"> <Lit_EscapedChar "\\b"> <features/> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <file> 
                        <Lit_EscapedChar "\\a"> <"["> <Lit_EscapedChar "\\a"> <suffix> <Lit_EscapedChar "\\a"> <"]], where "> <Lit_EscapedChar "\\a"> 
                        <suffix> <Lit_EscapedChar "\\a"> <" may be omitted,\n"> <"\t"> <Lit_EscapedChar "\\b"> <.c> <Lit_EscapedChar "\\b"> 
                        <", or "> <Lit_EscapedChar "\\b"> <.sh> <Lit_EscapedChar "\\b"> <" (see the "> <Lit_EscapedChar "\\b"> <run> 
                        <Lit_EscapedChar "\\b"> <" test below). Because\n"> <"\t"> <Lit_EscapedChar "\\b"> <"#include"> <Lit_EscapedChar "\\b"> 
                        <" prerequisites are automatically detected, "> <Lit_EscapedChar "\\b"> <nmake> <Lit_EscapedChar "\\b"> <"(1)\n"> <"\tensures that all prerequisite "> 
                        <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> <" headers are generated before\n"> 
                        <"\tcompilation. Note that the directories are deliberately named\n"> <"\t"> <Lit_EscapedChar "\\b"> <FEATURE> <Lit_EscapedChar "\\b"> <" and "> <Lit_EscapedChar "\\b"> 
                        <features> <Lit_EscapedChar "\\b"> <" to keep case-ignorant file systems\n"> <"\thappy.]\n"> 
                        <"[+?The feature tests are:]{\n"> <"\t[+# "> <Lit_EscapedChar "\\a"> <comment> <Lit_EscapedChar "\\a"> <"?Comment line - ignored.]\n"> 
                        <"\t[+api "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" "> <Lit_EscapedChar "\\a"> <YYYYMMDD> 
                        <Lit_EscapedChar "\\a"> <" "> <Lit_EscapedChar "\\a"> <"symbol ..."> <Lit_EscapedChar "\\a"> <"?Emit api compatibility tests\n"> 
                        <"\t\tfor "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" and "> <Lit_EscapedChar "\\b"> <"#define"> 
                        <Lit_EscapedChar "\\b"> <" "> <Lit_EscapedChar "\\a"> <symbol> <Lit_EscapedChar "\\a"> <" "> <Lit_EscapedChar "\\a"> <symbol> 
                        <Lit_EscapedChar "\\a"> <_> <Lit_EscapedChar "\\a"> <YYYYMMDD> <Lit_EscapedChar "\\a"> <"\n"> <"\t\twhen "> <Lit_EscapedChar "\\a"> 
                        <NAME> <Lit_EscapedChar "\\a"> <"_API is >= "> <Lit_EscapedChar "\\a"> <YYYYMMDD> <Lit_EscapedChar "\\a"> <" ("> 
                        <Lit_EscapedChar "\\a"> <NAME> <Lit_EscapedChar "\\a"> <" is "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"\n"> 
                        <"\t\tconverted to upper case). If "> <Lit_EscapedChar "\\a"> <NAME> <Lit_EscapedChar "\\a"> <"_API is not defined\n"> <"\t\tthen "> 
                        <Lit_EscapedChar "\\a"> <symbol> <Lit_EscapedChar "\\a"> <" maps to the newest "> <Lit_EscapedChar "\\a"> <YYYYMMDD> 
                        <Lit_EscapedChar "\\a"> <" for "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <".]\n"> <"\t[+define "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" [ ("> <Lit_EscapedChar "\\a"> <"arg,..."> <Lit_EscapedChar "\\a"> 
                        <") ]] [ "> <Lit_EscapedChar "\\a"> <value> <Lit_EscapedChar "\\a"> <" ]]?Emit a macro\n"> <"\t\t"> 
                        <Lit_EscapedChar "\\b"> <"#define"> <Lit_EscapedChar "\\b"> <" for "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <" if it is not already defined. The\n"> <"\t\tdefinition is passed to subsequent tests.]\n"> <"\t[+extern "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" "> <Lit_EscapedChar "\\a"> <type> <Lit_EscapedChar "\\a"> <" [ ("> <Lit_EscapedChar "\\a"> <"arg,..."> 
                        <Lit_EscapedChar "\\a"> <") | ["> <Lit_EscapedChar "\\a"> <dimension> <Lit_EscapedChar "\\a"> <"]] ]]?Emit\n"> <"\t\tan "> 
                        <Lit_EscapedChar "\\b"> <extern> <Lit_EscapedChar "\\b"> <" prototype for "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" if one is not already\n"> <"\t\tdefined. The prototype is passed to subsequent tests.]\n"> 
                        <"\t[+header "> <Lit_EscapedChar "\\a"> <header> <Lit_EscapedChar "\\a"> <"?Emit "> <Lit_EscapedChar "\\b"> <"#include <"> 
                        <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <header> <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <">"> 
                        <Lit_EscapedChar "\\b"> <" if "> <Lit_EscapedChar "\\a"> <header> <Lit_EscapedChar "\\a"> <"\n"> <"\t\texists. The "> 
                        <Lit_EscapedChar "\\b"> <"#include"> <Lit_EscapedChar "\\b"> <" is passed to subsequent tests.]\n"> <"\t[+print "> 
                        <Lit_EscapedChar "\\a"> <text> <Lit_EscapedChar "\\a"> <"?Copy "> <Lit_EscapedChar "\\a"> <text> <Lit_EscapedChar "\\a"> 
                        <" to the output file. "> <Lit_EscapedChar "\\a"> <text> <Lit_EscapedChar "\\a"> <" is passed\n"> <"\t\tto subsequent tests.]\n"> 
                        <"\t[+reference "> <Lit_EscapedChar "\\a"> <header> <Lit_EscapedChar "\\a"> <"?If "> <Lit_EscapedChar "\\a"> <header> 
                        <Lit_EscapedChar "\\a"> <" exists then add "> <Lit_EscapedChar "\\b"> <"#include"> <Lit_EscapedChar "\\b"> <"\n"> <"\t\t"> 
                        <Lit_EscapedChar "\\a"> <header> <Lit_EscapedChar "\\a"> <" to subsequent tests.]\n"> <"\t[+ver "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" "> <Lit_EscapedChar "\\a"> <YYYYMMDD> <Lit_EscapedChar "\\a"> <"?"> <Lit_EscapedChar "\\b"> <"#define"> 
                        <Lit_EscapedChar "\\b"> <" "> <Lit_EscapedChar "\\a"> <NAME> <Lit_EscapedChar "\\a"> <"_VERSION "> <Lit_EscapedChar "\\a"> 
                        <YYYYMMDD> <Lit_EscapedChar "\\a"> <"\n"> <"\t\t("> <Lit_EscapedChar "\\a"> <NAME> <Lit_EscapedChar "\\a"> <" is "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" converted to upper case).]\n"> <"\t[+cmd "> <Lit_EscapedChar "\\a"> 
                        <name> <Lit_EscapedChar "\\a"> <"?Defines "> <Lit_EscapedChar "\\b"> <_cmd_> <Lit_EscapedChar "\\b"> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" if "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <" is an executable\n"> <"\t\tin one of the standard system directories ("> <Lit_EscapedChar "\\b"> <"/bin, /etc,\n"> 
                        <"\t\t/usr/bin, /usr/etc, /usr/ucb"> <Lit_EscapedChar "\\b"> <").\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <_> <Lit_EscapedChar "\\b"> 
                        <Lit_EscapedChar "\\a"> <directory> <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <_> <Lit_EscapedChar "\\b"> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" is defined for "> <Lit_EscapedChar "\\a"> <directory> 
                        <Lit_EscapedChar "\\a"> <"\n"> <"\t\tin which "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" is found (with "> 
                        <Lit_EscapedChar "\\b"> </> <Lit_EscapedChar "\\b"> <" translated to "> <Lit_EscapedChar "\\b"> <_> <Lit_EscapedChar "\\b"> 
                        <").]\n"> <"\t[+dat "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"?Defines "> <Lit_EscapedChar "\\b"> 
                        <_dat_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" if "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" is a data symbol\n"> <"\t\tin the default libraries.]\n"> <"\t[+def "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"?Equivalent to "> <Lit_EscapedChar "\\b"> 
                        <"cmd,dat,hdr,key,lib,mth,sys,typ"> <Lit_EscapedChar "\\b"> <"\n"> <"\t\t"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <".]\n"> 
                        <"\t[+dfn "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"?If "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" is a macro in the candidate headers then\n"> <"\t\ta "> <Lit_EscapedChar "\\b"> <"#define"> 
                        <Lit_EscapedChar "\\b"> <" "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" "> <Lit_EscapedChar "\\a"> <value> 
                        <Lit_EscapedChar "\\a"> <" statment is output for the\n"> <"\t\t"> <Lit_EscapedChar "\\a"> <value> <Lit_EscapedChar "\\a"> 
                        <" defined in the headers. The definition is "> <Lit_EscapedChar "\\b"> <"#ifndef"> <Lit_EscapedChar "\\b"> <"\n"> <"\t\tguarded.]\n"> <"\t[+exp "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" "> <Lit_EscapedChar "\\a"> <expression> <Lit_EscapedChar "\\a"> <"?If "> 
                        <Lit_EscapedChar "\\a"> <expression> <Lit_EscapedChar "\\a"> <" is a "> <Lit_EscapedChar "\\\""> <...> <Lit_EscapedChar "\\\""> 
                        <" string\n"> <"\t\tthen "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <" is defined to be the string, else if the\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <expr> <Lit_EscapedChar "\\b"> <"(1) evaluation of "> 
                        <Lit_EscapedChar "\\a"> <expression> <Lit_EscapedChar "\\a"> <" is not 0 then "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <"\n"> <"\t\tis defined to be 1, otherwise "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <" is defined to be 0.\n"> <"\t\tIdentifiers in "> <Lit_EscapedChar "\\a"> <expression> <Lit_EscapedChar "\\a"> 
                        <" may be previously defined names\n"> <"\t\tfrom other "> <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> 
                        <" tests; undefined names evaluate to 0.\n"> <"\t\tIf "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <" was defined in a previous successful test then\n"> <"\t\tthe current and subsequent "> <Lit_EscapedChar "\\b"> <exp> <Lit_EscapedChar "\\b"> <" test on "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" are\n"> <"\t\tskipped. If "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" is "> <Lit_EscapedChar "\\b"> <-> <Lit_EscapedChar "\\b"> <" then the "> <Lit_EscapedChar "\\a"> 
                        <expression> <Lit_EscapedChar "\\a"> <" is\n"> <"\t\tsimply evaluated.]\n"> <"\t[+hdr "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <"?Defines "> <Lit_EscapedChar "\\b"> <_hdr_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" if the header\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <"<"> <Lit_EscapedChar "\\b"> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <".h>"> <Lit_EscapedChar "\\b"> <" exists. The "> 
                        <Lit_EscapedChar "\\b"> <--config> <Lit_EscapedChar "\\b"> <" macro name is\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <HAVE_> 
                        <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <NAME> <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <_H> 
                        <Lit_EscapedChar "\\b"> <".]\n"> <"\t[+if "> <Lit_EscapedChar "\\a"> <statement> <Lit_EscapedChar "\\a"> <" ... | "> 
                        <Lit_EscapedChar "\\b"> <elif> <Lit_EscapedChar "\\b"> <" "> <Lit_EscapedChar "\\a"> <statement> <Lit_EscapedChar "\\a"> 
                        <" ... | "> <Lit_EscapedChar "\\b"> <else> <Lit_EscapedChar "\\b"> <" | "> <Lit_EscapedChar "\\b"> <endif> 
                        <Lit_EscapedChar "\\b"> <"?\n"> <"\t\tNested if-else test control.]\n"> <"\t[+iff "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <"?The generated header "> <Lit_EscapedChar "\\b"> <"#ifndef-#endif"> <Lit_EscapedChar "\\b"> 
                        <" macro guard is\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <_H> <Lit_EscapedChar "\\b"> <".]\n"> <"\t[+inc "> <Lit_EscapedChar "\\a"> <file> 
                        <Lit_EscapedChar "\\a"> <" [ re ]]?Read #define macro names from "> <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> <"\n"> 
                        <"\t\tand arrange for those names to evaluate to 1 in "> <Lit_EscapedChar "\\b"> <exp> <Lit_EscapedChar "\\b"> <"\n"> <"\t\texpressions. If "> 
                        <Lit_EscapedChar "\\a"> <re> <Lit_EscapedChar "\\a"> <" is specified then macros not matching\n"> <"\t\t"> 
                        <Lit_EscapedChar "\\a"> <re> <Lit_EscapedChar "\\a"> <" are ignored.]\n"> <"\t[+key "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <"?Defines "> <Lit_EscapedChar "\\b"> <_key_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" if "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" is a reserved\n"> 
                        <"\t\tword (keyword).]\n"> <"\t[+lcl "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"?Generates a "> 
                        <Lit_EscapedChar "\\b"> <"#include"> <Lit_EscapedChar "\\b"> <" statement for the native version\n"> <"\t\tof the header "> 
                        <Lit_EscapedChar "\\b"> <"<"> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <Lit_EscapedChar "\\b"> <".h>"> <Lit_EscapedChar "\\b"> <" if it exists. Defines\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <_lcl_> 
                        <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" on success. The "> <Lit_EscapedChar "\\b"> 
                        <--config> <Lit_EscapedChar "\\b"> <" macro name is\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <HAVE_> 
                        <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <NAME> <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <_H> 
                        <Lit_EscapedChar "\\b"> <". The default "> <Lit_EscapedChar "\\a"> <re> <Lit_EscapedChar "\\a"> <" is "> <Lit_EscapedChar "\\b"> 
                        <"^HAVE_"> <Lit_EscapedChar "\\b"> <"\n"> <"\t\tfor "> <Lit_EscapedChar "\\b"> <--config> <Lit_EscapedChar "\\b"> 
                        <" and "> <Lit_EscapedChar "\\b"> <"^_"> <Lit_EscapedChar "\\b"> <" otherwise.]\n"> <"\t[+lib "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"?Defines "> <Lit_EscapedChar "\\b"> <_lib_> <Lit_EscapedChar "\\b"> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" if "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <" is an external\n"> <"\t\tsymbol in the default libraries.]\n"> <"\t[+mac "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <"?Defines "> <Lit_EscapedChar "\\b"> <_mac_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" if "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" is a macro.]\n"> <"\t[+mem "> 
                        <Lit_EscapedChar "\\a"> <struct.member> <Lit_EscapedChar "\\a"> <"?Defines "> <Lit_EscapedChar "\\b"> <_mem_> 
                        <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <member> <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <_> 
                        <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <struct> <Lit_EscapedChar "\\a"> <"\n"> <"\t\tif "> <Lit_EscapedChar "\\a"> 
                        <member> <Lit_EscapedChar "\\a"> <" is a member of the structure "> <Lit_EscapedChar "\\a"> <struct> 
                        <Lit_EscapedChar "\\a"> <".]\n"> <"\t[+mth "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"?Defines "> 
                        <Lit_EscapedChar "\\b"> <_mth_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" if "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" is an external\n"> <"\t\tsymbol in the math library.]\n"> <"\t[+nop "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"?If this is the first test then "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" may be used\n"> <"\t\tto name the output file and/or the output header guard macro.\n"> 
                        <"\t\tOtherwise this test is ignored.]\n"> <"\t[+npt "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"?Defines "> <Lit_EscapedChar "\\b"> 
                        <_npt_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" if the "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" symbol\n"> <"\t\trequires a prototype. The "> <Lit_EscapedChar "\\b"> 
                        <--config> <Lit_EscapedChar "\\b"> <" macro name is\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <HAVE_> 
                        <Lit_EscapedChar "\\a"> <NAME> <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <_DECL> <Lit_EscapedChar "\\b"> 
                        <" with the opposite sense.]\n"> <"\t[+num "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"?Defines "> <Lit_EscapedChar "\\b"> 
                        <_num_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" if "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" is a numeric\n"> <"\t\tconstant "> <Lit_EscapedChar "\\a"> <enum> 
                        <Lit_EscapedChar "\\a"> <" or "> <Lit_EscapedChar "\\a"> <macro> <Lit_EscapedChar "\\a"> <".]\n"> <"\t[+nxt "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"?Defines a string macro "> <Lit_EscapedChar "\\b"> <_nxt_> 
                        <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" suitable for\n"> <"\t\ta "> 
                        <Lit_EscapedChar "\\b"> <"#include"> <Lit_EscapedChar "\\b"> <" statement to include the next (on the include\n"> 
                        <"\t\tpath) or native version of the header "> <Lit_EscapedChar "\\b"> <"<"> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <".h>"> <Lit_EscapedChar "\\b"> <"\n"> <"\t\tif it exists. Also defines the "> 
                        <Lit_EscapedChar "\\\""> <...> <Lit_EscapedChar "\\\""> <" form\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <_nxt_> <Lit_EscapedChar "\\b"> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <_str> <Lit_EscapedChar "\\b"> <". The "> 
                        <Lit_EscapedChar "\\b"> <--config> <Lit_EscapedChar "\\b"> <" macro name is\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <HAVE_> 
                        <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <NAME> <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <_NEXT> 
                        <Lit_EscapedChar "\\b"> <".]\n"> <"\t[+one "> <Lit_EscapedChar "\\a"> <header> <Lit_EscapedChar "\\a"> <" ...?Generates a "> 
                        <Lit_EscapedChar "\\b"> <"#include"> <Lit_EscapedChar "\\b"> <" statement for the first\n"> <"\t\theader found in the "> 
                        <Lit_EscapedChar "\\a"> <header> <Lit_EscapedChar "\\a"> <" list.]\n"> <"\t[+opt "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <"?Defines "> <Lit_EscapedChar "\\b"> <_opt_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" if "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" is a space-separated\n"> 
                        <"\t\ttoken in the global environment variable "> <Lit_EscapedChar "\\b"> <PACKAGE_OPTIONS> <Lit_EscapedChar "\\b"> <".]\n"> <"\t[+pth "> 
                        <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> <" [ "> <Lit_EscapedChar "\\a"> <dir> <Lit_EscapedChar "\\a"> <" ... | { "> 
                        <Lit_EscapedChar "\\a"> <g1> <Lit_EscapedChar "\\a"> <" - ... - "> <Lit_EscapedChar "\\a"> <gn> <Lit_EscapedChar "\\a"> <" } | < "> 
                        <Lit_EscapedChar "\\a"> <pkg> <Lit_EscapedChar "\\a"> <" ["> <Lit_EscapedChar "\\a"> <ver> <Lit_EscapedChar "\\a"> 
                        <" ...]] > ]]?Defines\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <_pth_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <file> 
                        <Lit_EscapedChar "\\a"> <", with embedded "> <Lit_EscapedChar "\\b"> </> <Lit_EscapedChar "\\b"> <" chars translated to\n"> 
                        <"\t\t"> <Lit_EscapedChar "\\b"> <_> <Lit_EscapedChar "\\b"> <", to the path of the first instance of "> 
                        <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> <" in the\n"> <"\t\t"> <Lit_EscapedChar "\\a"> <dir> <Lit_EscapedChar "\\a"> 
                        <" directories. "> <Lit_EscapedChar "\\b"> <"{"> <Lit_EscapedChar "\\b"> <" ... "> <Lit_EscapedChar "\\b"> <"}"> 
                        <Lit_EscapedChar "\\b"> <" forms a directory list\n"> <"\t\tfrom the cross-product of "> <Lit_EscapedChar "\\b"> <-> 
                        <Lit_EscapedChar "\\b"> <" separated directory groups\n"> <"\t\t"> <Lit_EscapedChar "\\a"> <g1> <Lit_EscapedChar "\\a"> <" ... "> 
                        <Lit_EscapedChar "\\a"> <gn> <Lit_EscapedChar "\\a"> <". < ... > forms a directory list for the\n"> <"\t\tpackage "> 
                        <Lit_EscapedChar "\\a"> <pkg> <Lit_EscapedChar "\\a"> <" with optional versions. If no operands are\n"> 
                        <"\t\tspecified then the default PATH directories are used. The\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <--config> <Lit_EscapedChar "\\b"> <" macro name is "> 
                        <Lit_EscapedChar "\\a"> <NAME> <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <_PATH> <Lit_EscapedChar "\\b"> <".]\n"> 
                        <"\t[+run "> <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> <"?Runs the tests in "> <Lit_EscapedChar "\\a"> 
                        <file> <Lit_EscapedChar "\\a"> <" based on the "> <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> <"\n"> 
                        <"\t\tsuffix:]{\n"> <"\t\t[+.c?"> <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> 
                        <" is compiled and executed and the output is copied\n"> <"\t\t\tto the "> <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> 
                        <" output file. Macros and headers supplied\n"> <"\t\t\tto "> <Lit_EscapedChar "\\b"> <"begin{"> <Lit_EscapedChar "\\b"> <" ... "> <Lit_EscapedChar "\\b"> 
                        <"}end"> <Lit_EscapedChar "\\b"> <" are also supplied to\n"> <"\t\t\t"> <Lit_EscapedChar "\\a"> <file> 
                        <Lit_EscapedChar "\\a"> <".]\n"> <"\t\t[+.sh?"> <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> 
                        <" is executed as a shell script and the output is\n"> <"\t\t\tcopied to the "> <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> <" output file.]\n"> 
                        <"\t\t[+.iffe "> <Lit_EscapedChar "\\b"> <"or no suffix?"> <Lit_EscapedChar "\\a"> <file> <Lit_EscapedChar "\\a"> 
                        <" contains "> <Lit_EscapedChar "\\b"> <iffe> <Lit_EscapedChar "\\b"> <"\n"> <"\t\t\tstatements.]\n"> <"\t}\n"> 
                        <"\t[+set "> <Lit_EscapedChar "\\a"> <"option value"> <Lit_EscapedChar "\\a"> 
                        <"?Sets option values. The options are described\n"> <"\t\tabove.]\n"> <"\t[+siz "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"?Defines "> 
                        <Lit_EscapedChar "\\b"> <_siz_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" to be "> 
                        <Lit_EscapedChar "\\b"> <sizeof> <Lit_EscapedChar "\\b"> <"("> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <") if\n"> 
                        <"\t\t"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" is a type in any of "> <Lit_EscapedChar "\\b"> 
                        <"<sys/types.h>, <times.h>,\n"> <"\t\t<stddef.h>, <stdlib.h>"> <Lit_EscapedChar "\\b"> <". Any "> <Lit_EscapedChar "\\b"> <.> 
                        <Lit_EscapedChar "\\b"> <" characters in "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" are\n"> 
                        <"\t\ttranslated to space before testing and are translated to "> <Lit_EscapedChar "\\b"> <_> <Lit_EscapedChar "\\b"> <"\n"> <"\t\tin the output macro name.]\n"> 
                        <"\t[+sym "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"?Defines "> <Lit_EscapedChar "\\b"> <_ary_> 
                        <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" if "> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" is an array,\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <_fun_> <Lit_EscapedChar "\\b"> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" if "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <" is a function pointer,\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <_ptr_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" if "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" is a pointer, or\n"> <"\t\t"> 
                        <Lit_EscapedChar "\\b"> <_reg_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" if "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" is a scalar. In most cases\n"> <"\t\t"> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" is part of a macro expansion.]\n"> <"\t[+sys "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <"?Defines "> <Lit_EscapedChar "\\b"> <_sys_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> 
                        <Lit_EscapedChar "\\a"> <" if the header\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <"<sys/"> <Lit_EscapedChar "\\b"> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <".h>"> <Lit_EscapedChar "\\b"> <" exists. The "> 
                        <Lit_EscapedChar "\\b"> <--config> <Lit_EscapedChar "\\b"> <" macro name is\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <HAVE_SYS_> 
                        <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <NAME> <Lit_EscapedChar "\\a"> <Lit_EscapedChar "\\b"> <_H> 
                        <Lit_EscapedChar "\\b"> <".]\n"> <"\t[+tst "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <"?A user defined test on name. A source block must be\n"> <"\t\tsupplied. Defines "> <Lit_EscapedChar "\\b"> <_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> 
                        <name> <Lit_EscapedChar "\\a"> <" on success. "> <Lit_EscapedChar "\\b"> <"tst - ..."> <Lit_EscapedChar "\\b"> 
                        <" is\n"> <"\t\ttreated as "> <Lit_EscapedChar "\\b"> <"tst - - ..."> <Lit_EscapedChar "\\b"> <".]\n"> <"\t[+typ "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"?Defines "> <Lit_EscapedChar "\\b"> <_typ_> <Lit_EscapedChar "\\b"> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" if "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <" is a type in any\n"> <"\t\tof "> <Lit_EscapedChar "\\b"> <"<sys/types.h>, <times.h>, <stddef.h>, <stdlib.h>"> 
                        <Lit_EscapedChar "\\b"> <". Any\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <.> <Lit_EscapedChar "\\b"> <" characters in "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" are translated to space before\n"> 
                        <"\t\ttesting and are translated to "> <Lit_EscapedChar "\\b"> <_> <Lit_EscapedChar "\\b"> <" in the output macro name.]\n"> <"\t[+val "> 
                        <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <"?The output of "> <Lit_EscapedChar "\\b"> <echo> <Lit_EscapedChar "\\b"> 
                        <" "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" is written to the\n"> <"\t\toutput file.]\n"> 
                        <"\t[+var "> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> 
                        <"?A user defined test on name. A source block must be\n"> <"\t\tsupplied. Sets the "> <Lit_EscapedChar "\\b"> <exp> <Lit_EscapedChar "\\b"> <" variable "> 
                        <Lit_EscapedChar "\\b"> <_> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <name> <Lit_EscapedChar "\\a"> <" on success\n"> 
                        <"\t\tbut does not define a macro.]\n"> <"\t[+("> <Lit_EscapedChar "\\a"> <expression> <Lit_EscapedChar "\\a"> <")?Equivalent to "> 
                        <Lit_EscapedChar "\\b"> <"exp -"> <Lit_EscapedChar "\\b"> <" "> <Lit_EscapedChar "\\a"> <expression> <Lit_EscapedChar "\\a"> 
                        <".]\n"> <"}\n"> <"[+?Code block names may be prefixed by "> <Lit_EscapedChar "\\b"> <no> <Lit_EscapedChar "\\b"> 
                        <" to invert the test sense. The\n"> <"\tblock names are:]{\n"> <"\t[+cat?The block is copied to the output file.]\n"> 
                        <"\t[+compile?The block is compiled ("> <Lit_EscapedChar "\\b"> <"cc -c"> <Lit_EscapedChar "\\b"> <").]\n"> 
                        <"\t[+cross?The block is executed as a shell script using "> <Lit_EscapedChar "\\b"> <crossexec> <Lit_EscapedChar "\\b"> <"(1)\n"> <"\t\tif "> <Lit_EscapedChar "\\b"> 
                        <--cross> <Lit_EscapedChar "\\b"> <" is on, or on the local host otherwise, and the\n"> 
                        <"\t\toutput is copied to the output file. Test macros are not\n"> <"\t\texported to the script.]\n"> <"\t[+execute?The block is compiled, linked, and executed. "> 
                        <Lit_EscapedChar "\\b"> <0> <Lit_EscapedChar "\\b"> <" exit\n"> <"\t\tstatus means success.]\n"> 
                        <"\t[+fail?If the test fails then the block text is evaluated by\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <sh> <Lit_EscapedChar "\\b"> <"(1).]\n"> 
                        <"\t[+link?The block is compiled and linked ("> <Lit_EscapedChar "\\b"> <"cc -o"> <Lit_EscapedChar "\\b"> <").]\n"> 
                        <"\t[+macro?The block is preprocessed ("> <Lit_EscapedChar "\\b"> <"cc -E"> <Lit_EscapedChar "\\b"> <") and lines containing\n"> 
                        <"\t\ttext bracketed by "> <Lit_EscapedChar "\\b"> <"<<\""> <Lit_EscapedChar "\\b"> <" ... "> <Lit_EscapedChar "\\b"> <"\">>"> 
                        <Lit_EscapedChar "\\b"> <" ("> <Lit_EscapedChar "\\a"> <"less-than less-than\n"> 
                        <"\t\tdouble-quote ... double-quote greater-than greater-than"> <Lit_EscapedChar "\\a"> <")\n"> <"\t\tare copied to the output file with the brackets omitted.]\n"> 
                        <"\t[+no?If the test fails then the block text is copied to the\n"> <"\t\toutput file. Deprecated: use { "> <Lit_EscapedChar "\\b"> <if> <Lit_EscapedChar "\\b"> <" "> 
                        <Lit_EscapedChar "\\b"> <elif> <Lit_EscapedChar "\\b"> <" "> <Lit_EscapedChar "\\b"> <else> <Lit_EscapedChar "\\b"> <"\n"> <"\t\t"> 
                        <Lit_EscapedChar "\\b"> <endif> <Lit_EscapedChar "\\b"> <" } with unnamed "> <Lit_EscapedChar "\\b"> <"{"> <Lit_EscapedChar "\\b"> 
                        <" ... "> <Lit_EscapedChar "\\b"> <"}"> <Lit_EscapedChar "\\b"> <" blocks.]\n"> 
                        <"\t[+note?If the test succeeds then the block is copied to the output\n"> <"\t\tas a "> <Lit_EscapedChar "\\b"> <"/*"> <Lit_EscapedChar "\\b"> <" ... "> <Lit_EscapedChar "\\b"> 
                        <"*/"> <Lit_EscapedChar "\\b"> <" comment.]\n"> 
                        <
"\t[+output?The block is compiled, linked, and executed, and the output\n"
                        > <"\t\tis copied to the output file.]\n"> 
                        <"\t[+pass?If the test succeeds then the block text is evaluated by\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <sh> <Lit_EscapedChar "\\b"> <"(1).]\n"> 
                        <"\t[+preprocess?The block is preprocessed ("> <Lit_EscapedChar "\\b"> <"cc -E"> <Lit_EscapedChar "\\b"> <").]\n"> 
                        <"\t[+run?The block is executed as a shell script and the output is\n"> <"\t\tcopied to the output file. Succesful test macros are also\n"> 
                        <"\t\tdefined as shell variables with value "> <Lit_EscapedChar "\\b"> <1> <Lit_EscapedChar "\\b"> <" and are available\n"> 
                        <"\t\twithin the block. Likewise, failed test macros are defined\n"> <"\t\tas shell variables with value "> <Lit_EscapedChar "\\b"> <0> <Lit_EscapedChar "\\b"> <".]\n"> 
                        <"\t[+status?The block is compiled, linked, and executed, and the exit\n"> <"\t\tstatus is the test outcome, 0 for "> <Lit_EscapedChar "\\a"> <failure> <Lit_EscapedChar "\\a"> 
                        <", the value\n"> <"\t\totherwise.]\n"> <"\t[+yes?If the test succeeds then the block text is copied to the output\n"> 
                        <"\t\tfile. "> <Lit_EscapedChar "\\b"> <"yes{"> <Lit_EscapedChar "\\b"> <" ... "> <Lit_EscapedChar "\\b"> <"}end"> 
                        <Lit_EscapedChar "\\b"> <" is equivalent to the unnamed block\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <"{"> <Lit_EscapedChar "\\b"> 
                        <" ... "> <Lit_EscapedChar "\\b"> <"}"> <Lit_EscapedChar "\\b"> <".  Deprecated: use { "> <Lit_EscapedChar "\\b"> 
                        <if> <Lit_EscapedChar "\\b"> <" "> <Lit_EscapedChar "\\b"> <elif> <Lit_EscapedChar "\\b"> <" "> 
                        <Lit_EscapedChar "\\b"> <else> <Lit_EscapedChar "\\b"> <"\n"> <"\t\t"> <Lit_EscapedChar "\\b"> <endif> <Lit_EscapedChar "\\b"> 
                        <" } with unnamed "> <Lit_EscapedChar "\\b"> <"{"> <Lit_EscapedChar "\\b"> <" ... "> <Lit_EscapedChar "\\b"> <"}"> 
                        <Lit_EscapedChar "\\b"> <" blocks.]\n"> <"}\n"> <"[+SEE ALSO?"> <Lit_EscapedChar "\\b"> <autoconf> <Lit_EscapedChar "\\b"> 
                        <"(1), "> <Lit_EscapedChar "\\b"> <config> <Lit_EscapedChar "\\b"> <"(1), "> <Lit_EscapedChar "\\b"> <getconf> 
                        <Lit_EscapedChar "\\b"> <"(1), "> <Lit_EscapedChar "\\b"> <crossexec> <Lit_EscapedChar "\\b"> <"(1),\n"> <"\t"> 
                        <Lit_EscapedChar "\\b"> <nmake> <Lit_EscapedChar "\\b"> <"(1), "> <Lit_EscapedChar "\\b"> <package> <Lit_EscapedChar "\\b"> 
                        <"(1), "> <Lit_EscapedChar "\\b"> <proto> <Lit_EscapedChar "\\b"> <"(1), "> <Lit_EscapedChar "\\b"> <sh> 
                        <Lit_EscapedChar "\\b"> <"(1)]\n">
                      )
                    }
                  spids: [4382]
                )
              ]
              spids: [4382]
            )
            (While
              cond: [
                (C {(getopts)} {(-a)} {(DQ ($ VSub_Name "$command"))} {(DQ ($ VSub_Name "$USAGE"))} 
                  {(OPT)}
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$OPT")}
                      arms: [
                        (case_arm
                          pat_list: [{(a)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$set") (" set all :"))}
                                  spids: [6757]
                                )
                              ]
                              spids: [6757]
                            )
                          ]
                          spids: [6754 6755 6763 -1]
                        )
                        (case_arm
                          pat_list: [{(c)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set cc ") ($ VSub_Name "$OPTARG") 
                                        (" :")
                                      )
                                    }
                                  spids: [6769]
                                )
                              ]
                              spids: [6769]
                            )
                          ]
                          spids: [6766 6767 6777 -1]
                        )
                        (case_arm
                          pat_list: [{(C)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$set") (" set config :"))}
                                  spids: [6783]
                                )
                              ]
                              spids: [6783]
                            )
                          ]
                          spids: [6780 6781 6789 -1]
                        )
                        (case_arm
                          pat_list: [{(d)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set debug ") ($ VSub_Name "$OPTARG") 
                                        (" :")
                                      )
                                    }
                                  spids: [6795]
                                )
                              ]
                              spids: [6795]
                            )
                          ]
                          spids: [6792 6793 6803 -1]
                        )
                        (case_arm
                          pat_list: [{(D)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$set") (" set define :"))}
                                  spids: [6809]
                                )
                              ]
                              spids: [6809]
                            )
                          ]
                          spids: [6806 6807 6815 -1]
                        )
                        (case_arm
                          pat_list: [{(E)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$set") (" set explicit :"))}
                                  spids: [6821]
                                )
                              ]
                              spids: [6821]
                            )
                          ]
                          spids: [6818 6819 6827 -1]
                        )
                        (case_arm
                          pat_list: [{(F)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set features ") 
                                        ($ VSub_Name "$OPTARG") (" :")
                                      )
                                    }
                                  spids: [6833]
                                )
                              ]
                              spids: [6833]
                            )
                          ]
                          spids: [6830 6831 6841 -1]
                        )
                        (case_arm
                          pat_list: [{(i)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set input ") ($ VSub_Name "$OPTARG") 
                                        (" :")
                                      )
                                    }
                                  spids: [6847]
                                )
                              ]
                              spids: [6847]
                            )
                          ]
                          spids: [6844 6845 6855 -1]
                        )
                        (case_arm
                          pat_list: [{(I)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set include ") 
                                        ($ VSub_Name "$OPTARG") (" :")
                                      )
                                    }
                                  spids: [6861]
                                )
                              ]
                              spids: [6861]
                            )
                          ]
                          spids: [6858 6859 6869 -1]
                        )
                        (case_arm
                          pat_list: [{(L)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set library ") 
                                        ($ VSub_Name "$OPTARG") (" :")
                                      )
                                    }
                                  spids: [6875]
                                )
                              ]
                              spids: [6875]
                            )
                          ]
                          spids: [6872 6873 6883 -1]
                        )
                        (case_arm
                          pat_list: [{(n)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set namval ") ($ VSub_Name "$OPTARG") 
                                        (" :")
                                      )
                                    }
                                  spids: [6889]
                                )
                              ]
                              spids: [6889]
                            )
                          ]
                          spids: [6886 6887 6897 -1]
                        )
                        (case_arm
                          pat_list: [{(N)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set nooptimize ") 
                                        ($ VSub_Name "$OPTARG") (" :")
                                      )
                                    }
                                  spids: [6903]
                                )
                              ]
                              spids: [6903]
                            )
                          ]
                          spids: [6900 6901 6911 -1]
                        )
                        (case_arm
                          pat_list: [{(o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set output ") ($ VSub_Name "$OPTARG") 
                                        (" :")
                                      )
                                    }
                                  spids: [6917]
                                )
                              ]
                              spids: [6917]
                            )
                          ]
                          spids: [6914 6915 6925 -1]
                        )
                        (case_arm
                          pat_list: [{(e)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set package ") 
                                        ($ VSub_Name "$OPTARG") (" :")
                                      )
                                    }
                                  spids: [6931]
                                )
                              ]
                              spids: [6931]
                            )
                          ]
                          spids: [6928 6929 6939 -1]
                        )
                        (case_arm
                          pat_list: [{(p)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$set") (" set prototyped :"))}
                                  spids: [6945]
                                )
                              ]
                              spids: [6945]
                            )
                          ]
                          spids: [6942 6943 6951 -1]
                        )
                        (case_arm
                          pat_list: [{(P)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set pragma ") ($ VSub_Name "$OPTARG") 
                                        (" :")
                                      )
                                    }
                                  spids: [6957]
                                )
                              ]
                              spids: [6957]
                            )
                          ]
                          spids: [6954 6955 6965 -1]
                        )
                        (case_arm
                          pat_list: [{(r)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$set") (" set regress :"))}
                                  spids: [6971]
                                )
                              ]
                              spids: [6971]
                            )
                          ]
                          spids: [6968 6969 6977 -1]
                        )
                        (case_arm
                          pat_list: [{(s)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set shell ") ($ VSub_Name "$OPTARG") 
                                        (" :")
                                      )
                                    }
                                  spids: [6983]
                                )
                              ]
                              spids: [6983]
                            )
                          ]
                          spids: [6980 6981 6991 -1]
                        )
                        (case_arm
                          pat_list: [{(S)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set static ") ($ VSub_Name "$OPTARG") 
                                        (" :")
                                      )
                                    }
                                  spids: [6997]
                                )
                              ]
                              spids: [6997]
                            )
                          ]
                          spids: [6994 6995 7005 -1]
                        )
                        (case_arm
                          pat_list: [{(O)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set stdio ") ($ VSub_Name "$OPTARG") 
                                        (" :")
                                      )
                                    }
                                  spids: [7011]
                                )
                              ]
                              spids: [7011]
                            )
                          ]
                          spids: [7008 7009 7019 -1]
                        )
                        (case_arm
                          pat_list: [{(u)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$set") (" set undef :"))}
                                  spids: [7025]
                                )
                              ]
                              spids: [7025]
                            )
                          ]
                          spids: [7022 7023 7031 -1]
                        )
                        (case_arm
                          pat_list: [{(v)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$set") (" set verbose :"))}
                                  spids: [7037]
                                )
                              ]
                              spids: [7037]
                            )
                          ]
                          spids: [7034 7035 7043 -1]
                        )
                        (case_arm
                          pat_list: [{(x)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set cross ") ($ VSub_Name "$OPTARG") 
                                        (" :")
                                      )
                                    }
                                  spids: [7049]
                                )
                              ]
                              spids: [7049]
                            )
                          ]
                          spids: [7046 7047 7057 -1]
                        )
                        (case_arm
                          pat_list: [{(X)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:set)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$set") (" set exclude ") 
                                        ($ VSub_Name "$OPTARG") (" :")
                                      )
                                    }
                                  spids: [7063]
                                )
                              ]
                              spids: [7063]
                            )
                          ]
                          spids: [7060 7061 7071 -1]
                        )
                      ]
                      spids: [6747 6751 7074]
                    )
                  ]
                  spids: [6745 7077]
                )
            )
            (C {(shift)} 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [(C {(expr)} {($ VSub_Name "$OPTIND")} {(-)} {(1)})]
                    )
                  left_token: <Left_Backtick "`">
                  spids: [7082 7090]
                )
              }
            )
          ]
          spids: [4379 4380 7093 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (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: [7112 7113 7117 -1]
                        )
                      ]
                      spids: [7105 7109 7120]
                    )
                    (Case
                      to_match: {($ VSub_Number "$1")}
                      arms: [
                        (case_arm
                          pat_list: [{(-)}]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [7130 7131 7136 -1]
                        )
                        (case_arm
                          pat_list: [{(--)}]
                          action: [(C {(shift)}) (ControlFlow token:<ControlFlow_Break break>)]
                          spids: [7139 7140 7148 -1]
                        )
                        (case_arm
                          pat_list: [{(--a)} {(--al)} {(--all)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: {(a)}
                                  spids: [7159]
                                )
                              ]
                              spids: [7159]
                            )
                          ]
                          spids: [7151 7156 7163 -1]
                        )
                        (case_arm
                          pat_list: [{(--cc) (Lit_Other "=") (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {(c) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(SQ <"s,[^=]*=,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7173 7186]
                                      )
                                    }
                                  spids: [7171]
                                )
                              ]
                              spids: [7171]
                            )
                          ]
                          spids: [7166 7169 7189 -1]
                        )
                        (case_arm
                          pat_list: [{(--co)} {(--con)} {(--conf)} {(--confi)} {(--config)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: {(C)}
                                  spids: [7204]
                                )
                              ]
                              spids: [7204]
                            )
                          ]
                          spids: [7192 7201 7208 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--cr) (Lit_Other "=") (Lit_Other "*")}
                            {(--cro) (Lit_Other "=") (Lit_Other "*")}
                            {(--cros) (Lit_Other "=") (Lit_Other "*")}
                            {(--cross) (Lit_Other "=") (Lit_Other "*")}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {(x) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(-e)} {(SQ <"s,[^=]*=,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7231 7246]
                                      )
                                    }
                                  spids: [7229]
                                )
                              ]
                              spids: [7229]
                            )
                          ]
                          spids: [7211 7226 7249 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--d) (Lit_Other "=") (Lit_Other "*")}
                            {(--de) (Lit_Other "=") (Lit_Other "*")}
                            {(--deb) (Lit_Other "=") (Lit_Other "*")}
                            {(--debu) (Lit_Other "=") (Lit_Other "*")}
                            {(--debug) (Lit_Other "=") (Lit_Other "*")}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {(d) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(SQ <"s,[^=]*=,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7276 7289]
                                      )
                                    }
                                  spids: [7274]
                                )
                              ]
                              spids: [7274]
                            )
                          ]
                          spids: [7252 7271 7292 -1]
                        )
                        (case_arm
                          pat_list: [{(--def)} {(--defi)} {(--defin)} {(--define)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: {(D)}
                                  spids: [7305]
                                )
                              ]
                              spids: [7305]
                            )
                          ]
                          spids: [7295 7302 7309 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--e) (Lit_Other "=") (Lit_Other "*")}
                            {(--ex) (Lit_Other "=") (Lit_Other "*")}
                            {(--exc) (Lit_Other "=") (Lit_Other "*")}
                            {(--excl) (Lit_Other "=") (Lit_Other "*")}
                            {(--exclu) (Lit_Other "=") (Lit_Other "*")}
                            {(--exclud) (Lit_Other "=") (Lit_Other "*")}
                            {(--exclude) (Lit_Other "=") (Lit_Other "*")}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {(X) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(SQ <"s,[^=]*=,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7344 7357]
                                      )
                                    }
                                  spids: [7342]
                                )
                              ]
                              spids: [7342]
                            )
                          ]
                          spids: [7312 7339 7360 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--e)}
                            {(--ex)}
                            {(--exp)}
                            {(--expl)}
                            {(--expli)}
                            {(--explic)}
                            {(--explici)}
                            {(--explicit)}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: {(E)}
                                  spids: [7381]
                                )
                              ]
                              spids: [7381]
                            )
                          ]
                          spids: [7363 7378 7385 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--f) (Lit_Other "=") (Lit_Other "*")}
                            {(--fe) (Lit_Other "=") (Lit_Other "*")}
                            {(--fea) (Lit_Other "=") (Lit_Other "*")}
                            {(--feat) (Lit_Other "=") (Lit_Other "*")}
                            {(--featu) (Lit_Other "=") (Lit_Other "*")}
                            {(--featur) (Lit_Other "=") (Lit_Other "*")}
                            {(--feature) (Lit_Other "=") (Lit_Other "*")}
                            {(--features) (Lit_Other "=") (Lit_Other "*")}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {(F) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(SQ <"s,[^=]*=,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7424 7437]
                                      )
                                    }
                                  spids: [7422]
                                )
                              ]
                              spids: [7422]
                            )
                          ]
                          spids: [7388 7419 7440 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--inp) (Lit_Other "=") (Lit_Other "*")}
                            {(--inpu) (Lit_Other "=") (Lit_Other "*")}
                            {(--input) (Lit_Other "=") (Lit_Other "*")}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {(i) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(SQ <"s,[^=]*=,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7459 7472]
                                      )
                                    }
                                  spids: [7457]
                                )
                              ]
                              spids: [7457]
                            )
                          ]
                          spids: [7443 7454 7475 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--inc) (Lit_Other "=") (Lit_Other "*")}
                            {(--incl) (Lit_Other "=") (Lit_Other "*")}
                            {(--inclu) (Lit_Other "=") (Lit_Other "*")}
                            {(--includ) (Lit_Other "=") (Lit_Other "*")}
                            {(--include) (Lit_Other "=") (Lit_Other "*")}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {(I) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(SQ <"s,[^=]*=,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7502 7515]
                                      )
                                    }
                                  spids: [7500]
                                )
                              ]
                              spids: [7500]
                            )
                          ]
                          spids: [7478 7497 7518 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--l) (Lit_Other "=") (Lit_Other "*")}
                            {(--li) (Lit_Other "=") (Lit_Other "*")}
                            {(--lib) (Lit_Other "=") (Lit_Other "*")}
                            {(--libr) (Lit_Other "=") (Lit_Other "*")}
                            {(--libra) (Lit_Other "=") (Lit_Other "*")}
                            {(--librar) (Lit_Other "=") (Lit_Other "*")}
                            {(--library) (Lit_Other "=") (Lit_Other "*")}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {(L) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(SQ <"s,[^=]*=,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7553 7566]
                                      )
                                    }
                                  spids: [7551]
                                )
                              ]
                              spids: [7551]
                            )
                          ]
                          spids: [7521 7548 7569 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--n)}
                            {(--na)}
                            {(--nam)}
                            {(--name)}
                            {(--name-v)}
                            {(--name-va)}
                            {(--name-val)}
                            {(--name-valu)}
                            {(--name-value)}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: {(n)}
                                  spids: [7592]
                                )
                              ]
                              spids: [7592]
                            )
                          ]
                          spids: [7572 7589 7596 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--o) (Lit_Other "=") (Lit_Other "*")}
                            {(--ou) (Lit_Other "=") (Lit_Other "*")}
                            {(--out) (Lit_Other "=") (Lit_Other "*")}
                            {(--outp) (Lit_Other "=") (Lit_Other "*")}
                            {(--outpu) (Lit_Other "=") (Lit_Other "*")}
                            {(--output) (Lit_Other "=") (Lit_Other "*")}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {(o) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(SQ <"s,[^=]*=,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7627 7640]
                                      )
                                    }
                                  spids: [7625]
                                )
                              ]
                              spids: [7625]
                            )
                          ]
                          spids: [7599 7622 7643 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--pa) (Lit_Other "=") (Lit_Other "*")}
                            {(--pac) (Lit_Other "=") (Lit_Other "*")}
                            {(--pack) (Lit_Other "=") (Lit_Other "*")}
                            {(--packa) (Lit_Other "=") (Lit_Other "*")}
                            {(--packag) (Lit_Other "=") (Lit_Other "*")}
                            {(--package) (Lit_Other "=") (Lit_Other "*")}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {(e) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(SQ <"s,[^=]*=,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7674 7687]
                                      )
                                    }
                                  spids: [7672]
                                )
                              ]
                              spids: [7672]
                            )
                          ]
                          spids: [7646 7669 7690 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--pro)}
                            {(--prot)}
                            {(--proto)}
                            {(--protot)}
                            {(--prototy)}
                            {(--prototyp)}
                            {(--prototype)}
                            {(--prototyped)}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: {(p)}
                                  spids: [7711]
                                )
                              ]
                              spids: [7711]
                            )
                          ]
                          spids: [7693 7708 7715 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--pra) (Lit_Other "=") (Lit_Other "*")}
                            {(--prag) (Lit_Other "=") (Lit_Other "*")}
                            {(--pragma) (Lit_Other "=") (Lit_Other "*")}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {(P) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(SQ <"s,[^=]*=,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7734 7747]
                                      )
                                    }
                                  spids: [7732]
                                )
                              ]
                              spids: [7732]
                            )
                          ]
                          spids: [7718 7729 7750 -1]
                        )
                        (case_arm
                          pat_list: [{(--r)} {(--re)} {(--reg)} {(--regre)} {(--regres)} {(--regress)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: {(r)}
                                  spids: [7767]
                                )
                              ]
                              spids: [7767]
                            )
                          ]
                          spids: [7753 7764 7771 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--sh) (Lit_Other "=") (Lit_Other "*")}
                            {(--she) (Lit_Other "=") (Lit_Other "*")}
                            {(--shel) (Lit_Other "=") (Lit_Other "*")}
                            {(--shell) (Lit_Other "=") (Lit_Other "*")}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {(s) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(SQ <"s,[^=]*=,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7794 7807]
                                      )
                                    }
                                  spids: [7792]
                                )
                              ]
                              spids: [7792]
                            )
                          ]
                          spids: [7774 7789 7810 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--sta) (Lit_Other "=") (Lit_Other "*")}
                            {(--stat) (Lit_Other "=") (Lit_Other "*")}
                            {(--stati) (Lit_Other "=") (Lit_Other "*")}
                            {(--static) (Lit_Other "=") (Lit_Other "*")}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {(S) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(SQ <"s,[^=]*=,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7833 7846]
                                      )
                                    }
                                  spids: [7831]
                                )
                              ]
                              spids: [7831]
                            )
                          ]
                          spids: [7813 7828 7849 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--std) (Lit_Other "=") (Lit_Other "*")}
                            {(--stdi) (Lit_Other "=") (Lit_Other "*")}
                            {(--stdio) (Lit_Other "=") (Lit_Other "*")}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {(O) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(SQ <"s,[^=]*=,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7868 7881]
                                      )
                                    }
                                  spids: [7866]
                                )
                              ]
                              spids: [7866]
                            )
                          ]
                          spids: [7852 7863 7884 -1]
                        )
                        (case_arm
                          pat_list: [{(--u)} {(--un)} {(--und)} {(--unde)} {(--undef)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: {(u)}
                                  spids: [7899]
                                )
                              ]
                              spids: [7899]
                            )
                          ]
                          spids: [7887 7896 7903 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(--v)}
                            {(--ve)}
                            {(--ver)}
                            {(--verb)}
                            {(--verbo)}
                            {(--verbos)}
                            {(--verbose)}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: {(v)}
                                  spids: [7922]
                                )
                              ]
                              spids: [7922]
                            )
                          ]
                          spids: [7906 7919 7926 -1]
                        )
                        (case_arm
                          pat_list: [{(--) (Lit_Other "*")}]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {($ VSub_Name "$command") (Lit_Other ":")}
                                {($ VSub_Number "$1") (Lit_Other ":")}
                                {(unknown)}
                                {(option)}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {(2)}
                                  spids: [7945]
                                )
                              ]
                            )
                            (C {(exit)} {(2)})
                          ]
                          spids: [7929 7931 7954 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:REM)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(X) ($ VSub_Number "$1")})
                                                  (C {(sed)} {(SQ <"s,X-,,">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7962 7975]
                                      )
                                    }
                                  spids: [7961]
                                )
                              ]
                              spids: [7961]
                            )
                          ]
                          spids: [7957 7959 7978 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [7981 7982 7987 -1]
                        )
                      ]
                      spids: [7123 7127 7990]
                    )
                    (C {(shift)})
                    (While
                      cond: [(C {(Lit_Other ":")})]
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name "$REM")}
                              arms: [
                                (case_arm
                                  pat_list: [{(SQ )}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [-1 8012 8016 -1]
                                )
                              ]
                              spids: [8003 8007 8019]
                            )
                            (C {(eval)} 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} {($ VSub_Name "$REM")})
                                            (C {(sed)} 
                                              {
                                                (DQ ("s,") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\(">
                                                  ) (.) (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\(">
                                                  ) (".*") (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) (",OPT='") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\1">
                                                  ) ("' REM='") (EscapedLiteralPart token:<Lit_EscapedChar "\\2">) ("',")
                                                )
                                              }
                                            )
                                          ]
                                          negated: False
                                        )
                                      ]
                                    )
                                  left_token: <Left_Backtick "`">
                                  spids: [8024 8047]
                                )
                              }
                            )
                            (Case
                              to_match: {($ VSub_Name "$OPT")}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "[") (cdFiILoOePsSxX) (Lit_Other "]")}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$REM")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(SQ )}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Pound "$#")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(0)}]
                                                  action: [
                                                    (SimpleCommand
                                                      words: [
                                                        {(echo)}
                                                        {($ VSub_Name "$command") (Lit_Other ":")}
                                                        {(-) ($ VSub_Name "$OPT") (Lit_Other ":")}
                                                        {(option)}
                                                        {(argument)}
                                                        {(expected)}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_GreatAnd
                                                          fd: -1
                                                          arg_word: {(2)}
                                                          spids: [8099]
                                                        )
                                                      ]
                                                    )
                                                    (C {(exit)} {(1)})
                                                  ]
                                                  spids: [8081 8082 8108 -1]
                                                )
                                              ]
                                              spids: [8074 8078 8111]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:OPTARG)
                                                  op: Equal
                                                  rhs: {($ VSub_Number "$1")}
                                                  spids: [8114]
                                                )
                                              ]
                                              spids: [8114]
                                            )
                                            (C {(shift)})
                                          ]
                                          spids: [-1 8072 8121 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:OPTARG)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$REM")}
                                                  spids: [8127]
                                                )
                                              ]
                                              spids: [8127]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:REM)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [8131]
                                                )
                                              ]
                                              spids: [8131]
                                            )
                                          ]
                                          spids: [8124 8125 8136 -1]
                                        )
                                      ]
                                      spids: [8063 8067 8139]
                                    )
                                  ]
                                  spids: [8057 8060 -1 8142]
                                )
                              ]
                              spids: [8050 8054 8142]
                            )
                            (Case
                              to_match: {($ VSub_Name "$OPT")}
                              arms: [
                                (case_arm
                                  pat_list: [{(a)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$set") (" set all :"))}
                                          spids: [8155]
                                        )
                                      ]
                                      spids: [8155]
                                    )
                                  ]
                                  spids: [8152 8153 8161 -1]
                                )
                                (case_arm
                                  pat_list: [{(c)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set cc ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8167]
                                        )
                                      ]
                                      spids: [8167]
                                    )
                                  ]
                                  spids: [8164 8165 8175 -1]
                                )
                                (case_arm
                                  pat_list: [{(C)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$set") (" set config :"))}
                                          spids: [8181]
                                        )
                                      ]
                                      spids: [8181]
                                    )
                                  ]
                                  spids: [8178 8179 8187 -1]
                                )
                                (case_arm
                                  pat_list: [{(d)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set debug ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8193]
                                        )
                                      ]
                                      spids: [8193]
                                    )
                                  ]
                                  spids: [8190 8191 8201 -1]
                                )
                                (case_arm
                                  pat_list: [{(D)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$set") (" set define :"))}
                                          spids: [8207]
                                        )
                                      ]
                                      spids: [8207]
                                    )
                                  ]
                                  spids: [8204 8205 8213 -1]
                                )
                                (case_arm
                                  pat_list: [{(E)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$set") (" set explicit :"))}
                                          spids: [8219]
                                        )
                                      ]
                                      spids: [8219]
                                    )
                                  ]
                                  spids: [8216 8217 8225 -1]
                                )
                                (case_arm
                                  pat_list: [{(F)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set features ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8231]
                                        )
                                      ]
                                      spids: [8231]
                                    )
                                  ]
                                  spids: [8228 8229 8239 -1]
                                )
                                (case_arm
                                  pat_list: [{(i)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set input ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8245]
                                        )
                                      ]
                                      spids: [8245]
                                    )
                                  ]
                                  spids: [8242 8243 8253 -1]
                                )
                                (case_arm
                                  pat_list: [{(I)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set include ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8259]
                                        )
                                      ]
                                      spids: [8259]
                                    )
                                  ]
                                  spids: [8256 8257 8267 -1]
                                )
                                (case_arm
                                  pat_list: [{(L)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set library ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8273]
                                        )
                                      ]
                                      spids: [8273]
                                    )
                                  ]
                                  spids: [8270 8271 8281 -1]
                                )
                                (case_arm
                                  pat_list: [{(n)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set namval ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8287]
                                        )
                                      ]
                                      spids: [8287]
                                    )
                                  ]
                                  spids: [8284 8285 8295 -1]
                                )
                                (case_arm
                                  pat_list: [{(N)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set nooptimize ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8301]
                                        )
                                      ]
                                      spids: [8301]
                                    )
                                  ]
                                  spids: [8298 8299 8309 -1]
                                )
                                (case_arm
                                  pat_list: [{(o)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set output ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8315]
                                        )
                                      ]
                                      spids: [8315]
                                    )
                                  ]
                                  spids: [8312 8313 8323 -1]
                                )
                                (case_arm
                                  pat_list: [{(e)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set package ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8329]
                                        )
                                      ]
                                      spids: [8329]
                                    )
                                  ]
                                  spids: [8326 8327 8337 -1]
                                )
                                (case_arm
                                  pat_list: [{(p)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$set") (" set prototyped :"))}
                                          spids: [8343]
                                        )
                                      ]
                                      spids: [8343]
                                    )
                                  ]
                                  spids: [8340 8341 8349 -1]
                                )
                                (case_arm
                                  pat_list: [{(P)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set pragma ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8355]
                                        )
                                      ]
                                      spids: [8355]
                                    )
                                  ]
                                  spids: [8352 8353 8363 -1]
                                )
                                (case_arm
                                  pat_list: [{(r)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$set") (" set regress :"))}
                                          spids: [8369]
                                        )
                                      ]
                                      spids: [8369]
                                    )
                                  ]
                                  spids: [8366 8367 8375 -1]
                                )
                                (case_arm
                                  pat_list: [{(s)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set shell ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8381]
                                        )
                                      ]
                                      spids: [8381]
                                    )
                                  ]
                                  spids: [8378 8379 8389 -1]
                                )
                                (case_arm
                                  pat_list: [{(S)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set static ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8395]
                                        )
                                      ]
                                      spids: [8395]
                                    )
                                  ]
                                  spids: [8392 8393 8403 -1]
                                )
                                (case_arm
                                  pat_list: [{(O)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set stdio ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8409]
                                        )
                                      ]
                                      spids: [8409]
                                    )
                                  ]
                                  spids: [8406 8407 8417 -1]
                                )
                                (case_arm
                                  pat_list: [{(u)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$set") (" set undef :"))}
                                          spids: [8423]
                                        )
                                      ]
                                      spids: [8423]
                                    )
                                  ]
                                  spids: [8420 8421 8429 -1]
                                )
                                (case_arm
                                  pat_list: [{(v)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$set") (" set verbose :"))}
                                          spids: [8435]
                                        )
                                      ]
                                      spids: [8435]
                                    )
                                  ]
                                  spids: [8432 8433 8441 -1]
                                )
                                (case_arm
                                  pat_list: [{(x)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set cross ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8447]
                                        )
                                      ]
                                      spids: [8447]
                                    )
                                  ]
                                  spids: [8444 8445 8455 -1]
                                )
                                (case_arm
                                  pat_list: [{(X)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:set)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$set") (" set exclude ") 
                                                ($ VSub_Name "$OPTARG") (" :")
                                              )
                                            }
                                          spids: [8461]
                                        )
                                      ]
                                      spids: [8461]
                                    )
                                  ]
                                  spids: [8458 8459 8469 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ("Usage: ") ($ VSub_Name "$command") 
                                            (
" [-aCDEnpruv] [-c C-compiler-name [C-compiler-flags ...]] [-d level]\n"
                                            ) ("\t    [-F features-header] [-i file] [-o file] [-O stdio-header] [-e name] [-P text]\n") 
                                            (
"\t    [-s shell-path] [-S[flags]] [-x cross-exec-prefix] [-I dir] [-L dir] [-X dir] [ - ]\n"
                                            ) ("\t    [ file.iffe | statement [ : statement ... ] ]")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: -1
                                          arg_word: {(2)}
                                          spids: [8486]
                                        )
                                      ]
                                    )
                                    (C {(exit)} {(2)})
                                  ]
                                  spids: [8472 8473 8495 -1]
                                )
                              ]
                              spids: [8145 8149 8498]
                            )
                          ]
                          spids: [8001 8501]
                        )
                    )
                  ]
                  spids: [7103 8504]
                )
            )
          ]
          spids: [7095 7096 8507 -1]
        )
      ]
      spids: [4352 4377 8509]
    )
    (Case
      to_match: {($ VSub_Number "$1")}
      arms: [
        (case_arm
          pat_list: [{(-)}]
          action: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:out) op:Equal rhs:{(-)} spids:[8520])]
                  spids: [8520]
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [8517 8518 8526 -1]
        )
      ]
      spids: [8511 8515 8528]
    )
    (Case
      to_match: {($ VSub_Pound "$#")}
      arms: [
        (case_arm
          pat_list: [{(0)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:in) op:Equal rhs:{(-)} spids:[8539])]
              spids: [8539]
            )
          ]
          spids: [8536 8537 8542 -1]
        )
      ]
      spids: [8530 8534 8544]
    )
    (C {(set)} {(--)} {($ VSub_Name "$set")} {(DQ ($ VSub_At "$@"))})
    (Case
      to_match: {(DQ (" ") ($ VSub_Star "$*") (" "))}
      arms: [
        (case_arm
          pat_list: [
            {(Lit_Other "*") (SQ <" set config ">) (Lit_Other "*")}
            {(Lit_Other "*") (SQ <" run config.">) (Lit_Other "*")}
            {(Lit_Other "*") (SQ <" run ">) (Lit_Other "*") (SQ <" config.">) (Lit_Other "*")}
            {(Lit_Other "*") (SQ <" run ">) (Lit_Other "*") (SQ </config.>) (Lit_Other "*")}
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:config) op:Equal rhs:{(1)} spids:[8600])]
              spids: [8600]
            )
          ]
          spids: [8566 8597 8604 -1]
        )
      ]
      spids: [8556 8564 8606]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair lhs:(LhsName name:stdout) op:Equal rhs:{(5)} spids:[8631])
        (assign_pair lhs:(LhsName name:stderr) op:Equal rhs:{(6)} spids:[8634])
        (assign_pair lhs:(LhsName name:nullin) op:Equal rhs:{(7)} spids:[8637])
        (assign_pair lhs:(LhsName name:nullout) op:Equal rhs:{(8)} spids:[8640])
      ]
      spids: [8631]
    )
    (C {(eval)} 
      {
        (DQ ("exec ") ($ VSub_Name "$nullin") ("</dev/null ") ($ VSub_Name "$nullout") (">/dev/null ") 
          ($ VSub_Name "$stdout") (">&1 ") ($ VSub_Name "$stderr") (">&2")
        )
      }
    )
    (Case
      to_match: {(DQ (" ") ($ VSub_Star "$*") (" "))}
      arms: [
        (case_arm
          pat_list: [
            {(Lit_Other "*") (DQ (" set debug ")) (Lit_Other "[") (3456789) (Lit_Other "]") 
              (Lit_Other "*")
            }
          ]
          spids: [8667 8675 8678 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [(C {(eval)} {(DQ ("exec 2>&") ($ VSub_Name "$nullout"))})]
          spids: [8680 8681 8691 -1]
        )
      ]
      spids: [8657 8665 8693]
    )
    (Case
      to_match: 
        {
          (CommandSubPart
            command_list: 
              (CommandList
                children: [
                  (SimpleCommand
                    words: [{(print)} {(-n)} {(aha)}]
                    redirects: [
                      (Redir
                        op_id: Redir_Less
                        fd: -1
                        arg_word: {(/dev/null)}
                        spids: [8709]
                      )
                      (Redir
                        op_id: Redir_Great
                        fd: 2
                        arg_word: {(/dev/null)}
                        spids: [8712]
                      )
                    ]
                  )
                ]
              )
            left_token: <Left_Backtick "`">
            spids: [8702 8714]
          )
        }
      arms: [
        (case_arm
          pat_list: [{(aha)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:show)
                  op: Equal
                  rhs: {(SQ <"print -n">)}
                  spids: [8721]
                )
                (assign_pair
                  lhs: (LhsName name:SHOW)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [8726]
                )
              ]
              spids: [8721]
            )
          ]
          spids: [8718 8719 8730 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (Case
              to_match: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (SimpleCommand
                            words: [{(echo)} {(-n)} {(aha)}]
                            redirects: [
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [8744]
                              )
                            ]
                          )
                        ]
                      )
                    left_token: <Left_Backtick "`">
                    spids: [8737 8746]
                  )
                }
              arms: [
                (case_arm
                  pat_list: [{(-n) (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:show)
                          op: Equal
                          rhs: {(echo)}
                          spids: [8755]
                        )
                        (assign_pair
                          lhs: (LhsName name:SHOW)
                          op: Equal
                          rhs: {(SQ <"\\c">)}
                          spids: [8758]
                        )
                      ]
                      spids: [8755]
                    )
                  ]
                  spids: [8751 8753 8763 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:show)
                          op: Equal
                          rhs: {(SQ <"echo -n">)}
                          spids: [8769]
                        )
                        (assign_pair
                          lhs: (LhsName name:SHOW)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [8774]
                        )
                      ]
                      spids: [8769]
                    )
                  ]
                  spids: [8766 8767 8778 -1]
                )
              ]
              spids: [8735 8748 8781]
            )
          ]
          spids: [8732 8733 8784 -1]
        )
      ]
      spids: [8700 8716 8786]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[8796])]
      spids: [8796]
    )
    (Case
      to_match: {($ VSub_Name "$debug")}
      arms: [
        (case_arm
          pat_list: [{(2)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:core) op:Equal rhs:{(SQ )} spids:[8808])]
              spids: [8808]
            )
          ]
          spids: [8805 8806 8811 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Subshell
                      child: (C {(ulimit)} {(-c)} {(0)})
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [8826]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [8829]
                        )
                      ]
                      spids: [8818 8824]
                    )
                  ]
                  action: [
                    (C {(ulimit)} {(-c)} {(0)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:core) op:Equal rhs:{(SQ )} spids:[8842])]
                      spids: [8842]
                    )
                  ]
                  spids: [-1 8833]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:core)
                      op: Equal
                      rhs: {(DQ ("core core.??*"))}
                      spids: [8847]
                    )
                  ]
                  spids: [8847]
                )
              ]
              spids: [8845 8853]
            )
          ]
          spids: [8813 8814 8856 -1]
        )
      ]
      spids: [8799 8803 8858]
    )
    (C {(trap)} {(DQ ("rm -f ") ($ VSub_Name "$core") (" ") ($ VSub_Name "$tmp") ("*"))} {(0)})
    (If
      arms: [
        (if_arm
          cond: [
            (Subshell
              child: 
                (SimpleCommand
                  words: [{(Lit_Other ":")}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: -1
                      arg_word: {($ VSub_Name "$tmp") (.c)}
                      spids: [8876]
                    )
                  ]
                )
              redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[8881])]
              spids: [8874 8879]
            )
          ]
          action: [(C {(rm)} {(-f)} {($ VSub_Name "$tmp") (.c)})]
          spids: [-1 8884]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(echo)} {(DQ ($ VSub_Name "$command") (": cannot create tmp files in current dir"))}]
          redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[8902])]
        )
        (C {(exit)} {(1)})
      ]
      spids: [8893 8910]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(2)} spids:[8912])]
      spids: [8912]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:std)
          op: Equal
          rhs: 
            {
              (SQ <"#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)\n"> 
                <"#define _STD_\t\t1\n"> <"#define _ARG_(x)\tx\n"> <"#define _VOID_\t\tvoid\n"> <"#else\n"> <"#define _STD_\t\t0\n"> 
                <"#define _ARG_(x)\t()\n"> <"#define _VOID_\t\tchar\n"> <"#endif\n"> <"#if defined(__cplusplus)\n"> 
                <"#define _BEGIN_EXTERNS_\textern \"C\" {\n"> <"#define _END_EXTERNS_\t}\n"> <"#else\n"> <"#define _BEGIN_EXTERNS_\n"> <"#define _END_EXTERNS_\n"> 
                <"#endif\n"> <"#define _NIL_(x)\t((x)0)">
              )
            }
          spids: [8920]
        )
      ]
      spids: [8920]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:tst) op:Equal rhs:{(SQ )} spids:[8941])]
      spids: [8941]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ext)
          op: Equal
          rhs: {(DQ ("#include <stdio.h>"))}
          spids: [8943]
        )
      ]
      spids: [8943]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:noext)
          op: Equal
          rhs: 
            {(SQ <"*[<\"][Ss][Tt][Dd][Ii][Oo].[Hh][\">]*|*<ast.h>*|*<sfio.h>*|*/[*]<NOSTDIO>[*]/*">)}
          spids: [8948]
        )
      ]
      spids: [8948]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:argx) op:Equal rhs:{(0)} spids:[8958])]
      spids: [8958]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:cur) op:Equal rhs:{(.)} spids:[8961])]
      spids: [8961]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:can) op:Equal rhs:{(SQ )} spids:[8964])]
      spids: [8964]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:cansep) op:Equal rhs:{(SQ )} spids:[8966])]
      spids: [8966]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:cctest) op:Equal rhs:{(SQ )} spids:[8968])]
      spids: [8968]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:file) op:Equal rhs:{(SQ )} spids:[8970])]
      spids: [8970]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:hdrtest) op:Equal rhs:{(SQ )} spids:[8972])]
      spids: [8972]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ifelse) op:Equal rhs:{(NONE)} spids:[8974])]
      spids: [8974]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ifstack) op:Equal rhs:{(SQ )} spids:[8977])]
      spids: [8977]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ini) op:Equal rhs:{(SQ )} spids:[8979])]
      spids: [8979]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:init) op:Equal rhs:{(1)} spids:[8981])]
      spids: [8981]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:line) op:Equal rhs:{(0)} spids:[8984])]
      spids: [8984]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:nan) op:Equal rhs:{(SQ )} spids:[8987])]
      spids: [8987]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:prototyped) op:Equal rhs:{(SQ )} spids:[8989])]
      spids: [8989]
    )
    (While
      cond: [(C {(Lit_Other ":")})]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {($ VSub_Name "$in")}
              arms: [
                (case_arm
                  pat_list: [{(DQ )}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$argx") (Lit_Other ":") ($ VSub_Star "$*")}
                      arms: [
                        (case_arm
                          pat_list: [{(1) (Lit_Other ":") ($ VSub_Name "$argv")}]
                          spids: [9017 9020 9021 -1]
                        )
                        (case_arm
                          pat_list: [{(1) (Lit_Other ":") (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:argx)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [9029]
                                )
                              ]
                              spids: [9029]
                            )
                            (C {(set)} {(x)} {($ VSub_Name "$argv")})
                            (C {(shift)})
                          ]
                          spids: [9024 9027 9043 -1]
                        )
                      ]
                      spids: [9008 9014 9046]
                    )
                  ]
                  spids: [-1 9006 9049 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$ini")}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ )}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [(C {(read)} {(lin)})]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$shell")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(ksh)}]
                                          action: [
                                            (C {(let)} 
                                              {(Lit_VarLike "line=") (line) (Lit_Other "+") (1)}
                                            )
                                          ]
                                          spids: [9082 9083 9092 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:line)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (C {(expr)} {($ VSub_Name "$line")} 
                                                                {(Lit_Other "+")} {(1)}
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [9099 9107]
                                                      )
                                                    }
                                                  spids: [9098]
                                                )
                                              ]
                                              spids: [9098]
                                            )
                                          ]
                                          spids: [9095 9096 9109 -1]
                                        )
                                      ]
                                      spids: [9075 9079 9112]
                                    )
                                    (C {($ VSub_Name "$posix_noglob")})
                                    (C {(set)} {(x)} {($ VSub_Name "$lin")})
                                    (C {($ VSub_Name "$posix_glob")})
                                    (Case
                                      to_match: {($ VSub_Pound "$#")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(1)}]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [9135 9136 9140 -1]
                                        )
                                      ]
                                      spids: [9128 9132 9143]
                                    )
                                  ]
                                  spids: [-1 9073]
                                )
                              ]
                              else_action: [(C {(set)} {(x)})]
                              spids: [9146 9153]
                            )
                          ]
                          spids: [-1 9064 9156 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (C {($ VSub_Name "$posix_noglob")})
                            (C {(set)} {(x)} {($ VSub_Name "$ini")})
                            (C {($ VSub_Name "$posix_glob")})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ini)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [9175]
                                )
                              ]
                              spids: [9175]
                            )
                          ]
                          spids: [9159 9160 9178 -1]
                        )
                      ]
                      spids: [9055 9059 9181]
                    )
                    (C {(shift)})
                    (Case
                      to_match: {($ VSub_Name "$init")}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Number "$1")}
                              arms: [
                                (case_arm
                                  pat_list: [{(iff)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:init)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [9207]
                                        )
                                      ]
                                      spids: [9207]
                                    )
                                  ]
                                  spids: [9204 9205 9211 -1]
                                )
                                (case_arm
                                  pat_list: [{(print)} {(ref)} {(set)}]
                                  spids: [9214 9219 9222 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:init)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [9228]
                                        )
                                      ]
                                      spids: [9228]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ini)
                                          op: Equal
                                          rhs: {($ VSub_Star "$*")}
                                          spids: [9232]
                                        )
                                      ]
                                      spids: [9232]
                                    )
                                    (C {(set)} {(ini)})
                                  ]
                                  spids: [9225 9226 9241 -1]
                                )
                              ]
                              spids: [9197 9201 9244]
                            )
                          ]
                          spids: [9194 9195 -1 9247]
                        )
                      ]
                      spids: [9187 9191 9247]
                    )
                  ]
                  spids: [9052 9053 9250 -1]
                )
              ]
              spids: [8997 9001 9253]
            )
            (Case
              to_match: {($ VSub_Pound "$#")}
              arms: [
                (case_arm
                  pat_list: [{(0)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$ifstack")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {
                                  (DQ ($ VSub_Name "$command") (": ") ($ VSub_Name "$file") 
                                    ($ VSub_Name "$line") (": missing endif")
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$stderr")}
                                  spids: [9287]
                                )
                              ]
                            )
                            (C {(exit)} {(1)})
                          ]
                          spids: [9273 9275 9296 -1]
                        )
                      ]
                      spids: [9266 9270 9299]
                    )
                    (C {(set)} {(set)} {(out)} {(Lit_Other "+")})
                  ]
                  spids: [9263 9264 9311 -1]
                )
              ]
              spids: [9256 9260 9314]
            )
            (While
              cond: [(C {(Lit_Other ":")})]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Number "$1")}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ (if))}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ifstack)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$ifelse") (":") ($ VSub_Name "$ifstack"))}
                                  spids: [9342]
                                )
                              ]
                              spids: [9342]
                            )
                            (Case
                              to_match: {($ VSub_Name "$ifelse")}
                              arms: [
                                (case_arm
                                  pat_list: [{(KEEP)} {(NONE)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ifelse)
                                          op: Equal
                                          rhs: {(TEST)}
                                          spids: [9363]
                                        )
                                      ]
                                      spids: [9363]
                                    )
                                  ]
                                  spids: [9357 9360 9367 -1]
                                )
                                (case_arm
                                  pat_list: [{(TEST)}]
                                  spids: [9370 9371 9373 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ifelse)
                                          op: Equal
                                          rhs: {(DONE)}
                                          spids: [9379]
                                        )
                                      ]
                                      spids: [9379]
                                    )
                                  ]
                                  spids: [9376 9377 9383 -1]
                                )
                              ]
                              spids: [9350 9354 9386]
                            )
                            (C {(shift)})
                            (Case
                              to_match: {($ VSub_Name "$explicit")}
                              arms: [
                                (case_arm
                                  pat_list: [{(1)}]
                                  action: [
                                    (Sentence
                                      child: (C {(set)} {(SQ )} {(-)} {(DQ ($ VSub_At "$@"))})
                                      terminator: <Op_Semi ";">
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [9399 9400 9416 -1]
                                )
                              ]
                              spids: [9392 9396 9419]
                            )
                          ]
                          spids: [9338 9340 9422 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ (elif))}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$ifelse")}
                              arms: [
                                (case_arm
                                  pat_list: [{(SKIP)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ifelse)
                                          op: Equal
                                          rhs: {(TEST)}
                                          spids: [9440]
                                        )
                                      ]
                                      spids: [9440]
                                    )
                                  ]
                                  spids: [9437 9438 9444 -1]
                                )
                                (case_arm
                                  pat_list: [{(TEST)}]
                                  spids: [9447 9448 9450 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ifelse)
                                          op: Equal
                                          rhs: {(DONE)}
                                          spids: [9456]
                                        )
                                      ]
                                      spids: [9456]
                                    )
                                  ]
                                  spids: [9453 9454 9460 -1]
                                )
                                (case_arm
                                  pat_list: [{(NONE)}]
                                  action: [
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ($ VSub_Name "$command") (": ") ($ VSub_Name "$file") 
                                            ($ VSub_Name "$line") (": ") ($ VSub_Number "$1") (": no matching if")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: -1
                                          arg_word: {($ VSub_Name "$stderr")}
                                          spids: [9478]
                                        )
                                      ]
                                    )
                                    (C {(exit)} {(1)})
                                  ]
                                  spids: [9463 9464 9487 -1]
                                )
                              ]
                              spids: [9430 9434 9490]
                            )
                            (C {(shift)})
                            (Case
                              to_match: {($ VSub_Name "$explicit")}
                              arms: [
                                (case_arm
                                  pat_list: [{(1)}]
                                  action: [
                                    (Sentence
                                      child: (C {(set)} {(SQ )} {(-)} {(DQ ($ VSub_At "$@"))})
                                      terminator: <Op_Semi ";">
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [9503 9504 9520 -1]
                                )
                              ]
                              spids: [9496 9500 9523]
                            )
                          ]
                          spids: [9426 9428 9526 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ (else))}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$ifelse")}
                              arms: [
                                (case_arm
                                  pat_list: [{(KEEP)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ifelse)
                                          op: Equal
                                          rhs: {(DONE)}
                                          spids: [9544]
                                        )
                                      ]
                                      spids: [9544]
                                    )
                                  ]
                                  spids: [9541 9542 9548 -1]
                                )
                                (case_arm
                                  pat_list: [{(SKIP)} {(TEST)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ifelse)
                                          op: Equal
                                          rhs: {(KEEP)}
                                          spids: [9557]
                                        )
                                      ]
                                      spids: [9557]
                                    )
                                  ]
                                  spids: [9551 9554 9561 -1]
                                )
                                (case_arm
                                  pat_list: [{(NONE)}]
                                  action: [
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ($ VSub_Name "$command") (": ") ($ VSub_Name "$file") 
                                            ($ VSub_Name "$line") (": ") ($ VSub_Number "$1") (": no matching if")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: -1
                                          arg_word: {($ VSub_Name "$stderr")}
                                          spids: [9579]
                                        )
                                      ]
                                    )
                                    (C {(exit)} {(1)})
                                  ]
                                  spids: [9564 9565 9588 -1]
                                )
                              ]
                              spids: [9534 9538 9591]
                            )
                            (C {(shift)})
                          ]
                          spids: [9530 9532 9597 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ (endif))}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$ifelse")}
                              arms: [
                                (case_arm
                                  pat_list: [{(NONE)}]
                                  action: [
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ($ VSub_Name "$command") (": ") ($ VSub_Name "$file") 
                                            ($ VSub_Name "$line") (": ") ($ VSub_Number "$1") (": no matching if")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: -1
                                          arg_word: {($ VSub_Name "$stderr")}
                                          spids: [9626]
                                        )
                                      ]
                                    )
                                    (C {(exit)} {(1)})
                                  ]
                                  spids: [9611 9612 9635 -1]
                                )
                              ]
                              spids: [9604 9608 9638]
                            )
                            (Case
                              to_match: {($ VSub_Name "$shell")}
                              arms: [
                                (case_arm
                                  pat_list: [{(ksh)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ifelse)
                                          op: Equal
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name ifstack>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_DPercent
                                                    arg_word: {(":*")}
                                                  )
                                                spids: [9652 9656]
                                              )
                                            }
                                          spids: [9651]
                                        )
                                      ]
                                      spids: [9651]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ifstack)
                                          op: Equal
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name ifstack>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: {("*:")}
                                                  )
                                                spids: [9660 9664]
                                              )
                                            }
                                          spids: [9659]
                                        )
                                      ]
                                      spids: [9659]
                                    )
                                  ]
                                  spids: [9648 9649 9667 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(echo)} {($ VSub_Name "$ifstack")})
                                                    (C {(sed)} 
                                                      {
                                                        (SQ 
                                                          <
"s,\\([^:]*\\):\\(.*\\),ifelse=\\1 ifstack=\\2,"
                                                          >
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  negated: False
                                                )
                                              ]
                                            )
                                          left_token: <Left_Backtick "`">
                                          spids: [9675 9687]
                                        )
                                      }
                                    )
                                  ]
                                  spids: [9670 9671 9690 -1]
                                )
                              ]
                              spids: [9641 9645 9693]
                            )
                            (C {(shift)})
                          ]
                          spids: [9601 9603 9699 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [9702 9703 9708 -1]
                        )
                      ]
                      spids: [9330 9334 9711]
                    )
                  ]
                  spids: [9328 9714]
                )
            )
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(DQ ("(")) (Lit_Other "*")}]
                  action: [(C {(set)} {(exp)} {(-)} {(DQ ($ VSub_At "$@"))})]
                  spids: [9731 9734 9746 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (.iffe)} {(Lit_Other "*") (.iff)}]
                  action: [(C {(set)} {(run)} {(DQ ($ VSub_At "$@"))})]
                  spids: [9749 9754 9764 -1]
                )
              ]
              spids: [9723 9727 9767]
            )
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other ":")}]
                  action: [(C {(shift)}) (ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [9777 9778 9786 -1]
                )
                (case_arm
                  pat_list: [{(run)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$shell")}
                      arms: [
                        (case_arm
                          pat_list: [{(bsh)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Number "$2")}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (/) (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:x)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(echo)} {($ VSub_Number "$2")})
                                                          (C {(sed)} {(SQ <"s,.*[\\\\\\\\/],,">)})
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [9815 9827]
                                              )
                                            }
                                          spids: [9814]
                                        )
                                      ]
                                      spids: [9814]
                                    )
                                  ]
                                  spids: [9809 9812 9829 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:x)
                                          op: Equal
                                          rhs: {($ VSub_Number "$2")}
                                          spids: [9835]
                                        )
                                      ]
                                      spids: [9835]
                                    )
                                  ]
                                  spids: [9832 9833 9838 -1]
                                )
                              ]
                              spids: [9802 9806 9841]
                            )
                          ]
                          spids: [9799 9800 9844 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [(C {(eval)} {(SQ <"x=${2##*[\\\\/]}">)})]
                          spids: [9847 9848 9857 -1]
                        )
                      ]
                      spids: [9792 9796 9860]
                    )
                    (Case
                      to_match: {($ VSub_Name "$x")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.iffe)} {(Lit_Other "*") (.iff)}]
                          action: [(C {(set)} {(set)} {(KW_In in)} {($ VSub_Number "$2")})]
                          spids: [9870 9875 9886 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.) (Lit_Other "*")}]
                          spids: [9889 9892 9894 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [(C {(set)} {(set)} {(KW_In in)} {($ VSub_Number "$2")})]
                          spids: [9897 9898 9908 -1]
                        )
                      ]
                      spids: [9863 9867 9911]
                    )
                  ]
                  spids: [9789 9790 9914 -1]
                )
              ]
              spids: [9770 9774 9917]
            )
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(DQ )} {(DQ ("#")) (Lit_Other "*")}]
                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [-1 9940 9944 -1]
                )
                (case_arm
                  pat_list: [{(inc)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$ifelse")}
                      arms: [
                        (case_arm
                          pat_list: [{(DONE)} {(SKIP)}]
                          action: [
                            (Sentence
                              child: (C {(set)} {(SQ )})
                              terminator: <Op_Semi ";">
                            )
                            (Sentence
                              child: (C {(shift)})
                              terminator: <Op_Semi ";">
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [9957 9960 9973 -1]
                        )
                      ]
                      spids: [9950 9954 9976]
                    )
                    (C {(shift)})
                    (Case
                      to_match: {($ VSub_Pound "$#")}
                      arms: [
                        (case_arm
                          pat_list: [{(0)}]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {
                                  (DQ ($ VSub_Name "$command") (": ") ($ VSub_Name "$file") 
                                    ($ VSub_Name "$line") (": path expected")
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$stderr")}
                                  spids: [10002]
                                )
                              ]
                            )
                            (C {(exit)} {(1)})
                          ]
                          spids: [9989 9990 10011 -1]
                        )
                      ]
                      spids: [9982 9986 10014]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:p)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [10017]
                        )
                      ]
                      spids: [10017]
                    )
                    (C {(shift)})
                    (If
                      arms: [
                        (if_arm
                          cond: [(C {(test)} {(KW_Bang "!")} {(-f)} {($ VSub_Name "$p")})]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {
                                  (DQ ($ VSub_Name "$command") (": ") ($ VSub_Name "$file") 
                                    ($ VSub_Name "$line") (": ") ($ VSub_Name "$p") (": file not found")
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$stderr")}
                                  spids: [10049]
                                )
                              ]
                            )
                            (C {(exit)} {(1)})
                          ]
                          spids: [-1 10035]
                        )
                      ]
                      spids: [-1 10058]
                    )
                    (Case
                      to_match: {($ VSub_Pound "$#")}
                      arms: [
                        (case_arm
                          pat_list: [{(0)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$config")}
                              arms: [
                                (case_arm
                                  pat_list: [{(1)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:e)
                                          op: Equal
                                          rhs: {(DQ ("^HAVE_"))}
                                          spids: [10081]
                                        )
                                      ]
                                      spids: [10081]
                                    )
                                  ]
                                  spids: [10078 10079 10086 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:e)
                                          op: Equal
                                          rhs: {(DQ ("^_"))}
                                          spids: [10092]
                                        )
                                      ]
                                      spids: [10092]
                                    )
                                  ]
                                  spids: [10089 10090 10097 -1]
                                )
                              ]
                              spids: [10071 10075 10100]
                            )
                          ]
                          spids: [10068 10069 10103 -1]
                        )
                        (case_arm
                          pat_list: [{(1)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:e)
                                  op: Equal
                                  rhs: {($ VSub_Number "$1")}
                                  spids: [10109]
                                )
                              ]
                              spids: [10109]
                            )
                          ]
                          spids: [10106 10107 10113 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (C {(shift)})
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {
                                  (DQ ($ VSub_Name "$command") (": ") ($ VSub_Name "$file") 
                                    ($ VSub_Name "$line") (": warning: ") ($ VSub_Star "$*") (": operands ignored")
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$stderr")}
                                  spids: [10134]
                                )
                              ]
                            )
                          ]
                          spids: [10116 10117 10138 -1]
                        )
                      ]
                      spids: [10061 10065 10141]
                    )
                    (C {(eval)} 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(sed)} {(-e)} {(SQ <"/^#define[ \t]/!d">)} {(-e)} 
                                      {(SQ <"s/#define[ \t]//">)} {(-e)} {(SQ <"s/[ \t(].*//">)} 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name e>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_ColonPlus
                                              arg_word: {(DQ (-e/) ($ VSub_Name "$e") ("/!d"))}
                                            )
                                          spids: [10167 10175]
                                        )
                                      } {(-e)} {(SQ <"s/.*/&=1/">)} {($ VSub_Name "$p")}
                                    )
                                    (SimpleCommand
                                      words: [{(sort)} {(-u)}]
                                      more_env: [(env_pair name:LC_ALL val:{(C)} spids:[10187])]
                                    )
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_Backtick "`">
                          spids: [10146 10193]
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Continue continue>)
                  ]
                  spids: [9947 9948 10199 -1]
                )
                (case_arm
                  pat_list: [{(set)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$ifelse")}
                      arms: [
                        (case_arm
                          pat_list: [{(DONE)} {(SKIP)}]
                          action: [
                            (Sentence
                              child: (C {(set)} {(SQ )})
                              terminator: <Op_Semi ";">
                            )
                            (Sentence
                              child: (C {(shift)})
                              terminator: <Op_Semi ";">
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10212 10215 10228 -1]
                        )
                      ]
                      spids: [10205 10209 10231]
                    )
                    (C {(shift)})
                    (Case
                      to_match: {($ VSub_Number "$1")}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ )} {(DQ ("#")) (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:op)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [10252]
                                )
                              ]
                              spids: [10252]
                            )
                          ]
                          spids: [-1 10251 10255 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [10261]
                                )
                              ]
                              spids: [10261]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:op)
                                  op: Equal
                                  rhs: {($ VSub_Number "$1")}
                                  spids: [10264]
                                )
                              ]
                              spids: [10264]
                            )
                            (Case
                              to_match: {($ VSub_Name "$op")}
                              arms: [
                                (case_arm
                                  pat_list: [{(--) (Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$shell")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(bsh)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {(echo)} {(X) ($ VSub_Name "$op")})
                                                                  (C {(sed)} {(SQ <s/X--//>)})
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [10290 10303]
                                                      )
                                                    }
                                                  spids: [10289]
                                                )
                                              ]
                                              spids: [10289]
                                            )
                                          ]
                                          spids: [10286 10287 10305 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (BracedVarSub
                                                        token: <VSub_Name op>
                                                        suffix_op: 
                                                          (StringUnary
                                                            op_id: VOp1_Pound
                                                            arg_word: {(--)}
                                                          )
                                                        spids: [10312 10316]
                                                      )
                                                    }
                                                  spids: [10311]
                                                )
                                              ]
                                              spids: [10311]
                                            )
                                          ]
                                          spids: [10308 10309 10318 -1]
                                        )
                                      ]
                                      spids: [10279 10283 10321]
                                    )
                                  ]
                                  spids: [10275 10277 10324 -1]
                                )
                                (case_arm
                                  pat_list: [{(-) (Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$op")}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(-) (Lit_Other "?") (Lit_Other "?") (Lit_Other "*")}
                                          ]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$shell")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(bsh)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:arg)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(echo)} 
                                                                            {(X) ($ VSub_Name "$op")}
                                                                          )
                                                                          (C {(sed)} {(SQ <s/X-.//>)})
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick "`">
                                                                spids: [10355 10368]
                                                              )
                                                            }
                                                          spids: [10354]
                                                        )
                                                      ]
                                                      spids: [10354]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:op)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(echo)} 
                                                                            {(X) ($ VSub_Name "$op")}
                                                                          )
                                                                          (C {(sed)} 
                                                                            {
                                                                              (SQ 
                                                                                <
"s/X\\\\(-.\\\\).*/\\\\1/"
                                                                                >
                                                                              )
                                                                            }
                                                                          )
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick "`">
                                                                spids: [10372 10385]
                                                              )
                                                            }
                                                          spids: [10371]
                                                        )
                                                      ]
                                                      spids: [10371]
                                                    )
                                                  ]
                                                  spids: [10351 10352 10388 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:arg)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (BracedVarSub
                                                                token: <VSub_Name op>
                                                                suffix_op: 
                                                                  (StringUnary
                                                                    op_id: VOp1_Pound
                                                                    arg_word: {("-?")}
                                                                  )
                                                                spids: [10395 10399]
                                                              )
                                                            }
                                                          spids: [10394]
                                                        )
                                                      ]
                                                      spids: [10394]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:op)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (BracedVarSub
                                                                token: <VSub_Name op>
                                                                suffix_op: 
                                                                  (StringUnary
                                                                    op_id: VOp1_Percent
                                                                    arg_word: {($ VSub_Name "$arg")}
                                                                  )
                                                                spids: [10403 10407]
                                                              )
                                                            }
                                                          spids: [10402]
                                                        )
                                                      ]
                                                      spids: [10402]
                                                    )
                                                  ]
                                                  spids: [10391 10392 10410 -1]
                                                )
                                              ]
                                              spids: [10344 10348 10413]
                                            )
                                          ]
                                          spids: [10338 10342 10416 -1]
                                        )
                                      ]
                                      spids: [10331 10335 10419]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$op")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(a)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(all)}
                                                  spids: [10432]
                                                )
                                              ]
                                              spids: [10432]
                                            )
                                          ]
                                          spids: [10429 10430 10435 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(c)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(cc)}
                                                  spids: [10441]
                                                )
                                              ]
                                              spids: [10441]
                                            )
                                          ]
                                          spids: [10438 10439 10444 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(C)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(config)}
                                                  spids: [10450]
                                                )
                                              ]
                                              spids: [10450]
                                            )
                                          ]
                                          spids: [10447 10448 10453 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(d)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(debug)}
                                                  spids: [10459]
                                                )
                                              ]
                                              spids: [10459]
                                            )
                                          ]
                                          spids: [10456 10457 10462 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(D)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(define)}
                                                  spids: [10468]
                                                )
                                              ]
                                              spids: [10468]
                                            )
                                          ]
                                          spids: [10465 10466 10471 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(E)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(explicit)}
                                                  spids: [10477]
                                                )
                                              ]
                                              spids: [10477]
                                            )
                                          ]
                                          spids: [10474 10475 10480 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(F)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(features)}
                                                  spids: [10486]
                                                )
                                              ]
                                              spids: [10486]
                                            )
                                          ]
                                          spids: [10483 10484 10489 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(i)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(input)}
                                                  spids: [10495]
                                                )
                                              ]
                                              spids: [10495]
                                            )
                                          ]
                                          spids: [10492 10493 10498 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(I)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(include)}
                                                  spids: [10504]
                                                )
                                              ]
                                              spids: [10504]
                                            )
                                          ]
                                          spids: [10501 10502 10507 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(L)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(library)}
                                                  spids: [10513]
                                                )
                                              ]
                                              spids: [10513]
                                            )
                                          ]
                                          spids: [10510 10511 10516 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(n)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(namval)}
                                                  spids: [10522]
                                                )
                                              ]
                                              spids: [10522]
                                            )
                                          ]
                                          spids: [10519 10520 10525 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(N)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(nooptimize)}
                                                  spids: [10531]
                                                )
                                              ]
                                              spids: [10531]
                                            )
                                          ]
                                          spids: [10528 10529 10534 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(o)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(output)}
                                                  spids: [10540]
                                                )
                                              ]
                                              spids: [10540]
                                            )
                                          ]
                                          spids: [10537 10538 10543 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(e)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(package)}
                                                  spids: [10549]
                                                )
                                              ]
                                              spids: [10549]
                                            )
                                          ]
                                          spids: [10546 10547 10552 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(p)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(prototyped)}
                                                  spids: [10558]
                                                )
                                              ]
                                              spids: [10558]
                                            )
                                          ]
                                          spids: [10555 10556 10561 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(P)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(pragma)}
                                                  spids: [10567]
                                                )
                                              ]
                                              spids: [10567]
                                            )
                                          ]
                                          spids: [10564 10565 10570 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(r)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(regress)}
                                                  spids: [10576]
                                                )
                                              ]
                                              spids: [10576]
                                            )
                                          ]
                                          spids: [10573 10574 10579 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(s)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(shell)}
                                                  spids: [10585]
                                                )
                                              ]
                                              spids: [10585]
                                            )
                                          ]
                                          spids: [10582 10583 10588 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(S)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(static)}
                                                  spids: [10594]
                                                )
                                              ]
                                              spids: [10594]
                                            )
                                          ]
                                          spids: [10591 10592 10597 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(O)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(stdio)}
                                                  spids: [10603]
                                                )
                                              ]
                                              spids: [10603]
                                            )
                                          ]
                                          spids: [10600 10601 10606 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(u)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(undef)}
                                                  spids: [10612]
                                                )
                                              ]
                                              spids: [10612]
                                            )
                                          ]
                                          spids: [10609 10610 10615 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(v)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(verbose)}
                                                  spids: [10621]
                                                )
                                              ]
                                              spids: [10621]
                                            )
                                          ]
                                          spids: [10618 10619 10624 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(x)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(cross)}
                                                  spids: [10630]
                                                )
                                              ]
                                              spids: [10630]
                                            )
                                          ]
                                          spids: [10627 10628 10633 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(X)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:op)
                                                  op: Equal
                                                  rhs: {(exclude)}
                                                  spids: [10639]
                                                )
                                              ]
                                              spids: [10639]
                                            )
                                          ]
                                          spids: [10636 10637 10642 -1]
                                        )
                                      ]
                                      spids: [10422 10426 10645]
                                    )
                                  ]
                                  spids: [10327 10329 10648 -1]
                                )
                              ]
                              spids: [10268 10272 10651]
                            )
                            (C {(shift)})
                            (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: [10671 10672 10676 -1]
                                        )
                                      ]
                                      spids: [10664 10668 10679]
                                    )
                                    (Case
                                      to_match: {($ VSub_Number "$1")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other "*") (DQ (" ")) (Lit_Other "*")}]
                                          action: [
                                            (C {(shift)})
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [10689 10694 10702 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(DQ )} {(DQ ("#")) (Lit_Other "*")}]
                                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                                          spids: [-1 10712 10716 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ":")}]
                                          action: [
                                            (C {(shift)})
                                            (ControlFlow
                                              token: <ControlFlow_Break break>
                                            )
                                          ]
                                          spids: [10719 10720 10728 -1]
                                        )
                                      ]
                                      spids: [10682 10686 10731]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$arg")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(DQ )}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:arg)
                                                  op: Equal
                                                  rhs: {($ VSub_Number "$1")}
                                                  spids: [10745]
                                                )
                                              ]
                                              spids: [10745]
                                            )
                                          ]
                                          spids: [-1 10743 10748 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:arg)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$arg") (" ") 
                                                        ($ VSub_Number "$1")
                                                      )
                                                    }
                                                  spids: [10754]
                                                )
                                              ]
                                              spids: [10754]
                                            )
                                          ]
                                          spids: [10751 10752 10761 -1]
                                        )
                                      ]
                                      spids: [10734 10738 10764]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [10662 10770]
                                )
                            )
                          ]
                          spids: [10258 10259 10773 -1]
                        )
                      ]
                      spids: [10237 10241 10776]
                    )
                    (Case
                      to_match: {($ VSub_Name "$op")}
                      arms: [
                        (case_arm
                          pat_list: [{(all)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:all)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [10789]
                                )
                              ]
                              spids: [10789]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10786 10787 10796 -1]
                        )
                        (case_arm
                          pat_list: [{(cc)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:occ)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [10802]
                                )
                              ]
                              spids: [10802]
                            )
                            (ForEach
                              iter_name: x
                              iter_words: [{($ VSub_Name "$arg")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name "$occ")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(DQ )}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$x")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") (Lit_Other "=") (Lit_Other "*")}
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$shell")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(bsh)}]
                                                          action: [
                                                            (C {(eval)} {($ VSub_Name "$x")})
                                                            (C {(export)} 
                                                              {
                                                                (CommandSubPart
                                                                  command_list: 
                                                                    (CommandList
                                                                      children: [
                                                                        (Pipeline
                                                                          children: [
                                                                            (C {(echo)} 
                                                                              {($ VSub_Name "$x")}
                                                                            )
                                                                            (C {(sed)} 
                                                                              {(SQ <"s/=.*//">)}
                                                                            )
                                                                          ]
                                                                          negated: False
                                                                        )
                                                                      ]
                                                                    )
                                                                  left_token: <Left_Backtick "`">
                                                                  spids: [10856 10868]
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [10846 10847 10871 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [(C {(export)} {($ VSub_Name "$x")})]
                                                          spids: [10874 10875 10882 -1]
                                                        )
                                                      ]
                                                      spids: [10839 10843 10885]
                                                    )
                                                  ]
                                                  spids: [10834 10837 10888 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(-O) (Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$optimize")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(1)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:occ)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$x")}
                                                                  spids: [10905]
                                                                )
                                                              ]
                                                              spids: [10905]
                                                            )
                                                          ]
                                                          spids: [10902 10903 10908 -1]
                                                        )
                                                      ]
                                                      spids: [10895 10899 10911]
                                                    )
                                                  ]
                                                  spids: [10891 10893 10914 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:occ)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$x")}
                                                          spids: [10920]
                                                        )
                                                      ]
                                                      spids: [10920]
                                                    )
                                                  ]
                                                  spids: [10917 10918 10924 -1]
                                                )
                                              ]
                                              spids: [10827 10831 10927]
                                            )
                                          ]
                                          spids: [-1 10825 10930 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:occ)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$occ") (" ") ($ VSub_Name "$x"))
                                                    }
                                                  spids: [10936]
                                                )
                                              ]
                                              spids: [10936]
                                            )
                                          ]
                                          spids: [10933 10934 10944 -1]
                                        )
                                      ]
                                      spids: [10816 10820 10947]
                                    )
                                  ]
                                  spids: [10814 10950]
                                )
                              spids: [10810 -1]
                            )
                            (C {(exclude)} {(occ)})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10799 10800 10961 -1]
                        )
                        (case_arm
                          pat_list: [{(config)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:config)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [10967]
                                )
                              ]
                              spids: [10967]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10964 10965 10974 -1]
                        )
                        (case_arm
                          pat_list: [{(cross)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$arg")}
                              arms: [
                                (case_arm
                                  pat_list: [{(DQ )} {(-)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cross)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [10993]
                                        )
                                      ]
                                      spids: [10993]
                                    )
                                  ]
                                  spids: [-1 10991 10995 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cross)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$arg"))}
                                          spids: [11001]
                                        )
                                        (assign_pair
                                          lhs: (LhsName name:libpaths)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11006]
                                        )
                                      ]
                                      spids: [11001]
                                    )
                                  ]
                                  spids: [10998 10999 11008 -1]
                                )
                              ]
                              spids: [10980 10984 11011]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10977 10978 11017 -1]
                        )
                        (case_arm
                          pat_list: [{(debug)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:debug)
                                  op: Equal
                                  rhs: {($ VSub_Name "$arg")}
                                  spids: [11023]
                                )
                              ]
                              spids: [11023]
                            )
                            (Case
                              to_match: {($ VSub_Name "$arg")}
                              arms: [
                                (case_arm
                                  pat_list: [{(0)}]
                                  action: [
                                    (SimpleCommand
                                      words: [{(exec)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 2
                                          arg_word: {($ VSub_Name "$nullout")}
                                          spids: [11039]
                                        )
                                      ]
                                    )
                                    (C {(set)} {(-)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:show)
                                          op: Equal
                                          rhs: {(echo)}
                                          spids: [11048]
                                        )
                                      ]
                                      spids: [11048]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:SHOW)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11052]
                                        )
                                      ]
                                      spids: [11052]
                                    )
                                  ]
                                  spids: [11034 11035 11055 -1]
                                )
                                (case_arm
                                  pat_list: [{(DQ )} {(1)}]
                                  action: [
                                    (SimpleCommand
                                      words: [{(exec)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 2
                                          arg_word: {($ VSub_Name "$stderr")}
                                          spids: [11066]
                                        )
                                      ]
                                    )
                                    (C {(set)} {(-)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:show)
                                          op: Equal
                                          rhs: {(echo)}
                                          spids: [11075]
                                        )
                                      ]
                                      spids: [11075]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:SHOW)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11079]
                                        )
                                      ]
                                      spids: [11079]
                                    )
                                  ]
                                  spids: [-1 11062 11082 -1]
                                )
                                (case_arm
                                  pat_list: [{(2)} {(3)}]
                                  action: [
                                    (SimpleCommand
                                      words: [{(exec)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 2
                                          arg_word: {($ VSub_Name "$stderr")}
                                          spids: [11092]
                                        )
                                      ]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$shell")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(ksh)}]
                                          action: [
                                            (C {(eval)} {(SQ <"PS4=\"${PS4%+*([ \t])}+\\$LINENO+ \"">)})
                                          ]
                                          spids: [11103 11104 -1 11113]
                                        )
                                      ]
                                      spids: [11096 11100 11113]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:show)
                                          op: Equal
                                          rhs: {(echo)}
                                          spids: [11116]
                                        )
                                      ]
                                      spids: [11116]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:SHOW)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11120]
                                        )
                                      ]
                                      spids: [11120]
                                    )
                                    (C {(set)} {(-x)})
                                  ]
                                  spids: [11085 11088 11128 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ($ VSub_Name "$command") (": ") ($ VSub_Name "$arg") 
                                            (": debug levels are 0, 1, 2, 3")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: -1
                                          arg_word: {($ VSub_Name "$stderr")}
                                          spids: [11143]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [11131 11132 11147 -1]
                                )
                              ]
                              spids: [11027 11031 11150]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11020 11021 11156 -1]
                        )
                        (case_arm
                          pat_list: [{(define)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:define)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [11162]
                                )
                              ]
                              spids: [11162]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11159 11160 11169 -1]
                        )
                        (case_arm
                          pat_list: [{(exclude)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$arg")}
                              arms: [
                                (case_arm
                                  pat_list: [{(DQ )} {(-)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:excludes)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11187]
                                        )
                                      ]
                                      spids: [11187]
                                    )
                                  ]
                                  spids: [-1 11185 11189 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:excludes)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$excludes") (" ") ($ VSub_Name "$arg"))
                                            }
                                          spids: [11195]
                                        )
                                      ]
                                      spids: [11195]
                                    )
                                  ]
                                  spids: [11192 11193 11202 -1]
                                )
                              ]
                              spids: [11174 11178 11205]
                            )
                            (C {(exclude)} {(includes)} {(occ)})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11172 11173 11218 -1]
                        )
                        (case_arm
                          pat_list: [{(explicit)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:explicit)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [11225]
                                )
                              ]
                              spids: [11225]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11221 11222 11232 -1]
                        )
                        (case_arm
                          pat_list: [{(features)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$arg")}
                              arms: [
                                (case_arm
                                  pat_list: [{(SQ )}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tst)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11248]
                                        )
                                      ]
                                      spids: [11248]
                                    )
                                  ]
                                  spids: [-1 11246 11250 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tst)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ("#include ") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\\"">
                                                ) ($ VSub_Name "$arg") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                              )
                                            }
                                          spids: [11256]
                                        )
                                      ]
                                      spids: [11256]
                                    )
                                  ]
                                  spids: [11253 11254 11264 -1]
                                )
                              ]
                              spids: [11237 11241 11267]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11235 11236 11273 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ (in))} {(input)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$arg")}
                              arms: [
                                (case_arm
                                  pat_list: [{(DQ )}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:in)
                                          op: Equal
                                          rhs: {(-)}
                                          spids: [11295]
                                        )
                                      ]
                                      spids: [11295]
                                    )
                                  ]
                                  spids: [-1 11293 11299 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:in)
                                          op: Equal
                                          rhs: {($ VSub_Name "$arg")}
                                          spids: [11305]
                                        )
                                      ]
                                      spids: [11305]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (C {(test)} {(KW_Bang "!")} {(-r)} {($ VSub_Name "$in")})
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(echo)}
                                                {
                                                  (DQ ($ VSub_Name "$command") (": ") 
                                                    ($ VSub_Name "$in") (": not found")
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: -1
                                                  arg_word: {($ VSub_Name "$stderr")}
                                                  spids: [11331]
                                                )
                                              ]
                                            )
                                            (C {(exit)} {(1)})
                                          ]
                                          spids: [-1 11320]
                                        )
                                      ]
                                      spids: [-1 11340]
                                    )
                                    (SimpleCommand
                                      words: [{(exec)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Less
                                          fd: -1
                                          arg_word: {($ VSub_Name "$in")}
                                          spids: [11345]
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:file)
                                          op: Equal
                                          rhs: {($ VSub_Name "$in") (Lit_Other ":")}
                                          spids: [11350]
                                        )
                                      ]
                                      spids: [11350]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$out")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(DQ )}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$in")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") (Lit_Other "[") (.) 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar "\\\\">
                                                      ) (/) (Lit_Other "]") (Lit_Other "*")
                                                    }
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$shell")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(bsh)}]
                                                          action: [
                                                            (C {(eval)} 
                                                              {
                                                                (CommandSubPart
                                                                  command_list: 
                                                                    (CommandList
                                                                      children: [
                                                                        (Pipeline
                                                                          children: [
                                                                            (C {(echo)} 
                                                                              {($ VSub_Name "$in")}
                                                                            )
                                                                            (C {(sed)} {(-e)} 
                                                                              {
                                                                                (SQ 
                                                                                  <
"s,.*[\\\\\\\\/],,"
                                                                                  >
                                                                                )
                                                                              } {(-e)} {(SQ <"s/\\\\.[^.]*//">)} {(-e)} {(SQ <"s/^/out=/">)}
                                                                            )
                                                                          ]
                                                                          negated: False
                                                                        )
                                                                      ]
                                                                    )
                                                                  left_token: <Left_Backtick "`">
                                                                  spids: [11395 11421]
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [11390 11391 11424 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(eval)} {(SQ <"out=${in##*[\\\\/]}">)})
                                                            (C {(eval)} {(SQ <"out=${out%.*}">)})
                                                          ]
                                                          spids: [11427 11428 11444 -1]
                                                        )
                                                      ]
                                                      spids: [11383 11387 11447]
                                                    )
                                                  ]
                                                  spids: [11373 11380 11450 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:out)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$in")}
                                                          spids: [11456]
                                                        )
                                                      ]
                                                      spids: [11456]
                                                    )
                                                  ]
                                                  spids: [11453 11454 11460 -1]
                                                )
                                              ]
                                              spids: [11366 11370 11463]
                                            )
                                          ]
                                          spids: [-1 11364 11466 -1]
                                        )
                                      ]
                                      spids: [11355 11359 11469]
                                    )
                                  ]
                                  spids: [11302 11303 11472 -1]
                                )
                              ]
                              spids: [11284 11288 11475]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11277 11281 11481 -1]
                        )
                        (case_arm
                          pat_list: [{(include)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$arg")}
                              arms: [
                                (case_arm
                                  pat_list: [{(DQ )} {(-)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:includes)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11499]
                                        )
                                      ]
                                      spids: [11499]
                                    )
                                  ]
                                  spids: [-1 11497 11501 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:includes)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$includes") (" -I") 
                                                ($ VSub_Name "$arg")
                                              )
                                            }
                                          spids: [11507]
                                        )
                                      ]
                                      spids: [11507]
                                    )
                                  ]
                                  spids: [11504 11505 11514 -1]
                                )
                              ]
                              spids: [11486 11490 11517]
                            )
                            (C {(exclude)} {(includes)})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11484 11485 11528 -1]
                        )
                        (case_arm
                          pat_list: [{(library)}]
                          action: [
                            (ForEach
                              iter_name: y
                              iter_words: [{($ VSub_Name "$libpaths")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(eval)} 
                                      {($ VSub_Name "$y") (Lit_Other "=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ($ VSub_Name "$y") (Lit_Other ":") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\$">
                                        ) (arg) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (${ VSub_Name y) (_default) 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        )
                                      }
                                    )
                                    (C {(eval)} {(export)} {($ VSub_Name "$y")})
                                  ]
                                  spids: [11542 11569]
                                )
                              spids: [11538 -1]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11531 11532 11575 -1]
                        )
                        (case_arm
                          pat_list: [{(namval)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:define)
                                  op: Equal
                                  rhs: {(n)}
                                  spids: [11581]
                                )
                              ]
                              spids: [11581]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11578 11579 11588 -1]
                        )
                        (case_arm
                          pat_list: [{(nodebug)}]
                          action: [
                            (SimpleCommand
                              words: [{(exec)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 2
                                  arg_word: {($ VSub_Name "$nullout")}
                                  spids: [11595]
                                )
                              ]
                            )
                            (C {(set)} {(-)})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11591 11592 11607 -1]
                        )
                        (case_arm
                          pat_list: [{(nodefine)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:define)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [11614]
                                )
                              ]
                              spids: [11614]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11610 11611 11621 -1]
                        )
                        (case_arm
                          pat_list: [{(nooptimize)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:optimize)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [11628]
                                )
                              ]
                              spids: [11628]
                            )
                            (Case
                              to_match: {($ VSub_Name "$occ")}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (DQ (" -O")) (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:occ)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(echo)} {($ VSub_Name "$occ")})
                                                          (C {(sed)} {(SQ <"s/ -O[^ ]*//g">)})
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [11646 11658]
                                              )
                                            }
                                          spids: [11645]
                                        )
                                      ]
                                      spids: [11645]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cc)
                                          op: Equal
                                          rhs: {($ VSub_Name "$occ")}
                                          spids: [11661]
                                        )
                                      ]
                                      spids: [11661]
                                    )
                                  ]
                                  spids: [11639 11644 11665 -1]
                                )
                              ]
                              spids: [11632 11636 11668]
                            )
                          ]
                          spids: [11624 11625 11671 -1]
                        )
                        (case_arm
                          pat_list: [{(optimize)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:optimize)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [11678]
                                )
                              ]
                              spids: [11678]
                            )
                          ]
                          spids: [11674 11675 11682 -1]
                        )
                        (case_arm
                          pat_list: [{(out)} {(output)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:out)
                                  op: Equal
                                  rhs: {($ VSub_Name "$arg")}
                                  spids: [11691]
                                )
                              ]
                              spids: [11691]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:defhdr)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [11695]
                                )
                              ]
                              spids: [11695]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:usr)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [11698]
                                )
                              ]
                              spids: [11698]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deflib)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [11701]
                                )
                              ]
                              spids: [11701]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:one)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [11704]
                                )
                              ]
                              spids: [11704]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:puthdr)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [11707]
                                )
                              ]
                              spids: [11707]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:putlib)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [11710]
                                )
                              ]
                              spids: [11710]
                            )
                            (Case
                              to_match: {($ VSub_Name "$op")}
                              arms: [
                                (case_arm
                                  pat_list: [{(output)}]
                                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                  spids: [11720 11721 11725 -1]
                                )
                              ]
                              spids: [11713 11717 11728]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:def)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [11731]
                                )
                              ]
                              spids: [11731]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:test)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [11734]
                                )
                              ]
                              spids: [11734]
                            )
                          ]
                          spids: [11685 11688 11737 -1]
                        )
                        (case_arm
                          pat_list: [{(package)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:protoflags)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$protoflags") (" -e ") ($ VSub_Name "$arg"))}
                                  spids: [11742]
                                )
                              ]
                              spids: [11742]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11740 11741 11753 -1]
                        )
                        (case_arm
                          pat_list: [{(prototyped)} {(noprototyped)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pragma)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$pragma") (" ") ($ VSub_Name "$op"))}
                                  spids: [11762]
                                )
                              ]
                              spids: [11762]
                            )
                            (Case
                              to_match: {($ VSub_Name "$op")}
                              arms: [
                                (case_arm
                                  pat_list: [{(prototyped)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prototyped)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [11780]
                                        )
                                      ]
                                      spids: [11780]
                                    )
                                  ]
                                  spids: [11777 11778 11783 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prototyped)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11789]
                                        )
                                      ]
                                      spids: [11789]
                                    )
                                  ]
                                  spids: [11786 11787 11791 -1]
                                )
                              ]
                              spids: [11770 11774 11794]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11756 11759 11800 -1]
                        )
                        (case_arm
                          pat_list: [{(pragma)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pragma)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$pragma") (" ") ($ VSub_Name "$arg"))}
                                  spids: [11806]
                                )
                              ]
                              spids: [11806]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11803 11804 11817 -1]
                        )
                        (case_arm
                          pat_list: [{(regress)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:regress)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [11822]
                                )
                              ]
                              spids: [11822]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:version)
                                  op: Equal
                                  rhs: {(1995-03-19)}
                                  spids: [11826]
                                )
                              ]
                              spids: [11826]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11820 11821 11833 -1]
                        )
                        (case_arm
                          pat_list: [{(shell)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$arg")}
                              arms: [
                                (case_arm
                                  pat_list: [{(osh)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:posix_read)
                                          op: Equal
                                          rhs: {(-no)}
                                          spids: [11849]
                                        )
                                      ]
                                      spids: [11849]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:shell)
                                          op: Equal
                                          rhs: {(bsh)}
                                          spids: [11853]
                                        )
                                      ]
                                      spids: [11853]
                                    )
                                  ]
                                  spids: [11846 11847 11857 -1]
                                )
                              ]
                              spids: [11839 11843 11860]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shell)
                                  op: Equal
                                  rhs: {($ VSub_Name "$arg")}
                                  spids: [11863]
                                )
                              ]
                              spids: [11863]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11836 11837 11870 -1]
                        )
                        (case_arm
                          pat_list: [{(static)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:static)
                                  op: Equal
                                  rhs: {($ VSub_Name "$arg")}
                                  spids: [11876]
                                )
                              ]
                              spids: [11876]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11873 11874 11883 -1]
                        )
                        (case_arm
                          pat_list: [{(stdio)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$arg")}
                              arms: [
                                (case_arm
                                  pat_list: [{(SQ )}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ext)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11900]
                                        )
                                      ]
                                      spids: [11900]
                                    )
                                  ]
                                  spids: [-1 11898 11903 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ext)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11909]
                                        )
                                      ]
                                      spids: [11909]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:sep)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11912]
                                        )
                                      ]
                                      spids: [11912]
                                    )
                                    (ForEach
                                      iter_name: i
                                      iter_words: [{($ VSub_Name "$arg")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name "$i")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-)}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$ext")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(SQ )}]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [-1 11945 11949 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                            )
                                                          ]
                                                          spids: [11952 11953 11957 -1]
                                                        )
                                                      ]
                                                      spids: [11936 11940 11960]
                                                    )
                                                  ]
                                                  spids: [11933 11934 11963 -1]
                                                )
                                              ]
                                              spids: [11926 11930 11966]
                                            )
                                            (SimpleCommand
                                              words: [
                                                {(echo)}
                                                {
                                                  (DQ ("#include ") 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar "\\\"">
                                                    ) ($ VSub_Name "$i") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {(t.c)}
                                                  spids: [11978]
                                                )
                                              ]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (SimpleCommand
                                                      words: [{($ VSub_Name "$cc")} {(-E)} {(t.c)}]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {(/dev/null)}
                                                          spids: [11991]
                                                        )
                                                        (Redir
                                                          op_id: Redir_GreatAnd
                                                          fd: 2
                                                          arg_word: {(1)}
                                                          spids: [11995]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:ext)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$ext") 
                                                                ($ VSub_Name "$sep") ("#include ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$arg") 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar "\\\"">
                                                                )
                                                              )
                                                            }
                                                          spids: [12001]
                                                        )
                                                      ]
                                                      spids: [12001]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:sep)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$nl")}
                                                          spids: [12012]
                                                        )
                                                      ]
                                                      spids: [12012]
                                                    )
                                                  ]
                                                  spids: [-1 11999]
                                                )
                                              ]
                                              spids: [-1 12016]
                                            )
                                          ]
                                          spids: [11924 12019]
                                        )
                                      spids: [11920 -1]
                                    )
                                  ]
                                  spids: [11906 11907 12022 -1]
                                )
                              ]
                              spids: [11889 11893 12025]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [11886 11887 12031 -1]
                        )
                        (case_arm
                          pat_list: [{(undef)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:undef)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [12037]
                                )
                              ]
                              spids: [12037]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [12034 12035 12044 -1]
                        )
                        (case_arm
                          pat_list: [{(verbose)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:verbose)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [12049]
                                )
                              ]
                              spids: [12049]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [12047 12048 12056 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {
                                  (DQ ($ VSub_Name "$command") (": ") ($ VSub_Name "$op") 
                                    (": unknown option")
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$stderr")}
                                  spids: [12071]
                                )
                              ]
                            )
                            (C {(exit)} {(1)})
                          ]
                          spids: [12059 12060 12080 -1]
                        )
                      ]
                      spids: [10779 10783 12083]
                    )
                  ]
                  spids: [10202 10203 12086 -1]
                )
                (case_arm
                  pat_list: [
                    {(api)}
                    {(define)}
                    {(extern)}
                    {(header)}
                    {(include)}
                    {(print)}
                    {(reference)}
                    {(ver)}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:op)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [12107]
                        )
                      ]
                      spids: [12107]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:arg) op:Equal rhs:{(SQ )} spids:[12114])]
                      spids: [12114]
                    )
                  ]
                  spids: [12089 12104 12117 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Case
                      to_match: {($ VSub_Number "$2")}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ <"=">)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:def)
                                  op: Equal
                                  rhs: {($ VSub_Number "$1")}
                                  spids: [12135]
                                )
                              ]
                              spids: [12135]
                            )
                            (C {(shift)})
                            (C {(shift)})
                          ]
                          spids: [12131 12133 12145 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Case
                              to_match: {($ VSub_Number "$1")}
                              arms: [
                                (case_arm
                                  pat_list: [{(SQ <->)} {(SQ <"?">)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:def)
                                          op: Equal
                                          rhs: {(-)}
                                          spids: [12166]
                                        )
                                      ]
                                      spids: [12166]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [12159 12165 12173 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:def)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [12179]
                                        )
                                      ]
                                      spids: [12179]
                                    )
                                  ]
                                  spids: [12176 12177 12182 -1]
                                )
                              ]
                              spids: [12151 12155 12185]
                            )
                          ]
                          spids: [12148 12149 12188 -1]
                        )
                      ]
                      spids: [12123 12127 12191]
                    )
                    (Case
                      to_match: {($ VSub_Number "$1")}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ <"!">)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:not)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [12206]
                                )
                              ]
                              spids: [12206]
                            )
                            (C {(shift)})
                          ]
                          spids: [12202 12204 12213 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:not)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [12219]
                                )
                              ]
                              spids: [12219]
                            )
                          ]
                          spids: [12216 12217 12222 -1]
                        )
                      ]
                      spids: [12194 12198 12225]
                    )
                    (Case
                      to_match: {($ VSub_Number "$1")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (SQ <"{">)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:op)
                                  op: Equal
                                  rhs: {(-)}
                                  spids: [12241]
                                )
                              ]
                              spids: [12241]
                            )
                          ]
                          spids: [12235 12239 12245 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(SQ <"(">) (Lit_Other "*")}
                            {(SQ <"\"">) (Lit_Other "*") (SQ <"\"">)}
                            {(SQ <"<">) (Lit_Other "*") (SQ <">">)}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:op)
                                  op: Equal
                                  rhs: {(exp)}
                                  spids: [12271]
                                )
                              ]
                              spids: [12271]
                            )
                            (Case
                              to_match: {($ VSub_Name "$def")}
                              arms: [
                                (case_arm
                                  pat_list: [{(SQ )}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:def)
                                          op: Equal
                                          rhs: {(-)}
                                          spids: [12286]
                                        )
                                      ]
                                      spids: [12286]
                                    )
                                  ]
                                  spids: [-1 12284 12289 -1]
                                )
                              ]
                              spids: [12275 12279 12292]
                            )
                          ]
                          spids: [12249 12268 12295 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:op)
                                  op: Equal
                                  rhs: {($ VSub_Number "$1")}
                                  spids: [12301]
                                )
                              ]
                              spids: [12301]
                            )
                            (C {(shift)})
                          ]
                          spids: [12298 12299 12308 -1]
                        )
                      ]
                      spids: [12228 12232 12311]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:arg) op:Equal rhs:{(SQ )} spids:[12314])]
                      spids: [12314]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cc)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$occ") (" ") ($ VSub_Name "$includes"))}
                          spids: [12317]
                        )
                      ]
                      spids: [12317]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:group)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [12325]
                        )
                      ]
                      spids: [12325]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:groups)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [12328]
                        )
                      ]
                      spids: [12328]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:fail)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [12331]
                        )
                      ]
                      spids: [12331]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:hdr) op:Equal rhs:{(SQ )} spids:[12334])]
                      spids: [12334]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:lib) op:Equal rhs:{(SQ )} spids:[12337])]
                      spids: [12337]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:mac) op:Equal rhs:{(SQ )} spids:[12340])]
                      spids: [12340]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:no) op:Equal rhs:{(SQ )} spids:[12343])]
                      spids: [12343]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:note)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [12346]
                        )
                      ]
                      spids: [12346]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:opt) op:Equal rhs:{(SQ )} spids:[12349])]
                      spids: [12349]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pass)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [12352]
                        )
                      ]
                      spids: [12352]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:pth) op:Equal rhs:{(SQ )} spids:[12355])]
                      spids: [12355]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:run) op:Equal rhs:{(SQ )} spids:[12358])]
                      spids: [12358]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:set) op:Equal rhs:{(SQ )} spids:[12361])]
                      spids: [12361]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:src) op:Equal rhs:{(SQ )} spids:[12364])]
                      spids: [12364]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:test)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [12367]
                        )
                      ]
                      spids: [12367]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:yes) op:Equal rhs:{(SQ )} spids:[12370])]
                      spids: [12370]
                    )
                    (Case
                      to_match: {($ VSub_Pound "$#")}
                      arms: [
                        (case_arm pat_list:[{(0)}] spids:[123801238112383-1])
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Case
                              to_match: {($ VSub_Number "$1")}
                              arms: [
                                (case_arm
                                  pat_list: [{(DQ ("#")) (Lit_Other "*")}]
                                  action: [(C {(set)} {(x)}) (C {(shift)})]
                                  spids: [12397 12400 12410 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$op")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(ref)}]
                                          spids: [12423 12424 12426 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Number "$1")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(SQ <->)}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {($ VSub_Name "$op") (Lit_Other ":") 
                                                          ($ VSub_Number "$2")
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(tst) (Lit_Other ":") (Lit_Other "*")}
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:arg)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Number "$1")}
                                                                  spids: [12458]
                                                                )
                                                              ]
                                                              spids: [12458]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Number "$2")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(-)}]
                                                                  action: [(C {(shift)})]
                                                                  spids: [12469 12470 12474 -1]
                                                                )
                                                              ]
                                                              spids: [12462 12466 12477]
                                                            )
                                                          ]
                                                          spids: [12453 12456 12480 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") (Lit_Other ":") (-) 
                                                              (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:arg)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Number "$1")}
                                                                  spids: [12489]
                                                                )
                                                              ]
                                                              spids: [12489]
                                                            )
                                                            (C {(shift)})
                                                          ]
                                                          spids: [12483 12487 12496 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:def)
                                                                  op: Equal
                                                                  rhs: {(-)}
                                                                  spids: [12502]
                                                                )
                                                              ]
                                                              spids: [12502]
                                                            )
                                                            (C {(shift)})
                                                            (Case
                                                              to_match: {($ VSub_Number "$1")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(SQ <"(">) (Lit_Other "*")}
                                                                    {(Lit_Other "*") (SQ <"{">)}
                                                                    {(SQ <"\"">) (Lit_Other "*") 
                                                                      (SQ <"\"">)
                                                                    }
                                                                    {(SQ <"<">) (Lit_Other "*") 
                                                                      (SQ <">">)
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:arg)
                                                                          op: Equal
                                                                          rhs: {(-)}
                                                                          spids: [12544]
                                                                        )
                                                                      ]
                                                                      spids: [12544]
                                                                    )
                                                                  ]
                                                                  spids: [12517 12541 12548 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:arg)
                                                                          op: Equal
                                                                          rhs: {($ VSub_Number "$1")}
                                                                          spids: [12554]
                                                                        )
                                                                      ]
                                                                      spids: [12554]
                                                                    )
                                                                    (Case
                                                                      to_match: {($ VSub_Pound "$#")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [{(0)}]
                                                                          spids: [12565 12566 12568 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [(C {(shift)})]
                                                                          spids: [12571 12572 12576 -1]
                                                                        )
                                                                      ]
                                                                      spids: [12558 12562 12579]
                                                                    )
                                                                  ]
                                                                  spids: [12551 12552 12582 -1]
                                                                )
                                                              ]
                                                              spids: [12509 12513 12585]
                                                            )
                                                          ]
                                                          spids: [12499 12500 12588 -1]
                                                        )
                                                      ]
                                                      spids: [12444 12450 12591]
                                                    )
                                                  ]
                                                  spids: [12440 12442 12594 -1]
                                                )
                                                (case_arm
                                                  pat_list: [
                                                    {(-) (Lit_Other "*")}
                                                    {(Lit_Other "+") (Lit_Other "*")}
                                                    {(SQ <"(">) (Lit_Other "*")}
                                                    {(Lit_Other "*") (SQ <"{">)}
                                                    {(SQ <"\"">) (Lit_Other "*") (SQ <"\"">)}
                                                    {(SQ <"<">) (Lit_Other "*") (SQ <">">)}
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:arg)
                                                          op: Equal
                                                          rhs: {(-)}
                                                          spids: [12631]
                                                        )
                                                      ]
                                                      spids: [12631]
                                                    )
                                                  ]
                                                  spids: [12597 12628 12635 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:arg)
                                                          op: Equal
                                                          rhs: {($ VSub_Number "$1")}
                                                          spids: [12641]
                                                        )
                                                      ]
                                                      spids: [12641]
                                                    )
                                                    (C {(shift)})
                                                  ]
                                                  spids: [12638 12639 12648 -1]
                                                )
                                              ]
                                              spids: [12432 12436 12651]
                                            )
                                          ]
                                          spids: [12429 12430 12654 -1]
                                        )
                                      ]
                                      spids: [12416 12420 12657]
                                    )
                                  ]
                                  spids: [12413 12414 12660 -1]
                                )
                              ]
                              spids: [12389 12393 12663]
                            )
                            (Case
                              to_match: {($ VSub_Number "$1")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(SQ <"(">) (Lit_Other "*")}
                                    {(SQ <"\"">) (Lit_Other "*") (SQ <"\"">)}
                                    {(SQ <"<">) (Lit_Other "*") (SQ <">">)}
                                  ]
                                  action: [
                                    (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: [12710 12711 12715 -1]
                                                )
                                              ]
                                              spids: [12703 12707 12718]
                                            )
                                            (Case
                                              to_match: {($ VSub_Number "$1")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") (Lit_Other "[") (.) 
                                                      (Lit_LBrace "{") (Lit_RBrace "}") (Lit_Other "]") (Lit_Other "*")
                                                    }
                                                  ]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [12728 12735 12738 -1]
                                                )
                                              ]
                                              spids: [12721 12725 12741]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$test")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(SQ )}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:test)
                                                          op: Equal
                                                          rhs: {($ VSub_Number "$1")}
                                                          spids: [12755]
                                                        )
                                                      ]
                                                      spids: [12755]
                                                    )
                                                  ]
                                                  spids: [-1 12753 12758 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:test)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$test") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [12764]
                                                        )
                                                      ]
                                                      spids: [12764]
                                                    )
                                                  ]
                                                  spids: [12761 12762 12771 -1]
                                                )
                                              ]
                                              spids: [12744 12748 12774]
                                            )
                                            (C {(shift)})
                                          ]
                                          spids: [12701 12780]
                                        )
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$arg")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(SQ )}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:arg)
                                                  op: Equal
                                                  rhs: {(-)}
                                                  spids: [12794]
                                                )
                                              ]
                                              spids: [12794]
                                            )
                                          ]
                                          spids: [-1 12792 12797 -1]
                                        )
                                      ]
                                      spids: [12783 12787 12800]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$op")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(exp)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$def")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(SQ )} {(SQ <->)}]
                                                  spids: [-1 12826 12828 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:arg)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$def")}
                                                          spids: [12834]
                                                        )
                                                      ]
                                                      spids: [12834]
                                                    )
                                                  ]
                                                  spids: [12831 12832 12837 -1]
                                                )
                                              ]
                                              spids: [12813 12817 12840]
                                            )
                                          ]
                                          spids: [12810 12811 12843 -1]
                                        )
                                      ]
                                      spids: [12803 12807 12846]
                                    )
                                  ]
                                  spids: [12674 12693 12849 -1]
                                )
                              ]
                              spids: [12666 12670 12852]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sline)
                                  op: Equal
                                  rhs: {($ VSub_Name "$line")}
                                  spids: [12855]
                                )
                              ]
                              spids: [12855]
                            )
                            (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: [12873 12874 12878 -1]
                                        )
                                      ]
                                      spids: [12866 12870 12881]
                                    )
                                    (Case
                                      to_match: {($ VSub_Number "$1")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(DQ )}]
                                          spids: [-1 12893 12895 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(DQ ("#")) (Lit_Other "*")}]
                                          action: [(C {(set)} {(x)})]
                                          spids: [12899 12902 12909 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(DQ ("="))}]
                                          action: [
                                            (C {(shift)})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:set)
                                                  op: Equal
                                                  rhs: {($ VSub_Star "$*")}
                                                  spids: [12920]
                                                )
                                              ]
                                              spids: [12920]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$set")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(DQ )}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:set)
                                                          op: Equal
                                                          rhs: {(DQ (" "))}
                                                          spids: [12935]
                                                        )
                                                      ]
                                                      spids: [12935]
                                                    )
                                                  ]
                                                  spids: [-1 12933 12940 -1]
                                                )
                                              ]
                                              spids: [12924 12928 12943]
                                            )
                                            (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: [12960 12961 12965 -1]
                                                        )
                                                      ]
                                                      spids: [12953 12957 12968]
                                                    )
                                                    (C {(shift)})
                                                  ]
                                                  spids: [12951 12974]
                                                )
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Break break>
                                            )
                                          ]
                                          spids: [12913 12915 12980 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "[") (abcdefghijklmnopqrstuvwxyz) 
                                              (Lit_Other "]") (Lit_Other "*") (SQ <"{">)
                                            }
                                            {(SQ <"{">)}
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:v)
                                                  op: Equal
                                                  rhs: {($ VSub_Number "$1")}
                                                  spids: [12997]
                                                )
                                              ]
                                              spids: [12997]
                                            )
                                            (C {(shift)})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:x)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [13004]
                                                )
                                              ]
                                              spids: [13004]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$v")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(DQ ("note{"))}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:sep)
                                                          op: Equal
                                                          rhs: {(DQ (" "))}
                                                          spids: [13020]
                                                        )
                                                      ]
                                                      spids: [13020]
                                                    )
                                                  ]
                                                  spids: [13015 13017 13025 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:sep)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$nl")}
                                                          spids: [13031]
                                                        )
                                                      ]
                                                      spids: [13031]
                                                    )
                                                  ]
                                                  spids: [13028 13029 13034 -1]
                                                )
                                              ]
                                              spids: [13007 13011 13037]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$v")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(SQ <"{">)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:e)
                                                          op: Equal
                                                          rhs: {(SQ <"}">)}
                                                          spids: [13052]
                                                        )
                                                      ]
                                                      spids: [13052]
                                                    )
                                                  ]
                                                  spids: [13048 13050 13057 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:e)
                                                          op: Equal
                                                          rhs: {(SQ <"}end">)}
                                                          spids: [13063]
                                                        )
                                                      ]
                                                      spids: [13063]
                                                    )
                                                  ]
                                                  spids: [13060 13061 13068 -1]
                                                )
                                              ]
                                              spids: [13040 13044 13071]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:n)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [13074]
                                                )
                                              ]
                                              spids: [13074]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:SEP)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [13078]
                                                )
                                              ]
                                              spids: [13078]
                                            )
                                            (While
                                              cond: [(C {(Lit_Other ":")})]
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Pound "$#")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$posix_read")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(-) (Lit_Other "*")}]
                                                                  action: [(C {(checkread)})]
                                                                  spids: [13105 13107 13111 -1]
                                                                )
                                                              ]
                                                              spids: [13098 13102 13114]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name "$in")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(DQ )}]
                                                                  action: [
                                                                    (SimpleCommand
                                                                      words: [
                                                                        {(echo)}
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name "$command") (": ") ($ VSub_Name "$file") ($ VSub_Name "$line") (": missing }end")
                                                                          )
                                                                        }
                                                                      ]
                                                                      redirects: [
                                                                        (Redir
                                                                          op_id: Redir_GreatAnd
                                                                          fd: -1
                                                                          arg_word: 
                                                                            {
                                                                              ($ VSub_Name "$stderr")
                                                                            }
                                                                          spids: [13138]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (C {(exit)} {(1)})
                                                                  ]
                                                                  spids: [-1 13126 13147 -1]
                                                                )
                                                              ]
                                                              spids: [13117 13121 13150]
                                                            )
                                                            (While
                                                              cond: [(C {(Lit_Other ":")})]
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (Case
                                                                      to_match: 
                                                                        {
                                                                          ($ VSub_Name "$posix_read")
                                                                        }
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [{(1)}]
                                                                          action: [
                                                                            (Case
                                                                              to_match: 
                                                                                {
                                                                                  ($ VSub_Name 
"$shell"
                                                                                  )
                                                                                }
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [{(ksh)}]
                                                                                  action: [
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {(read)}
                                                                                        {(-r)}
                                                                                        {(lin)}
                                                                                      ]
                                                                                      more_env: [
                                                                                        (env_pair
                                                                                          name: IFS
                                                                                          val: {(SQ )}
                                                                                          spids: [
13180
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
eof
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              ($ 
VSub_QMark "$?"
                                                                                              )
                                                                                            }
                                                                                          spids: [
13189
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [13189]
                                                                                    )
                                                                                    (While
                                                                                      cond: [
                                                                                        (C 
                                                                                          {
                                                                                            (
Lit_Other ":"
                                                                                            )
                                                                                          }
                                                                                        )
                                                                                      ]
                                                                                      body: 
                                                                                        (DoGroup
                                                                                          children: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
lin
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (DQ 
                                                                                                        (BracedVarSub
                                                                                                          token: 
                                                                                                            <
VSub_Name lin
                                                                                                            >
                                                                                                          suffix_op: 
                                                                                                            (StringUnary
                                                                                                              op_id: 
VOp1_Pound
                                                                                                              arg_word: 
                                                                                                                {
                                                                                                                  (
"[' \t']"
                                                                                                                  )
                                                                                                                }
                                                                                                            )
                                                                                                          spids: [
13202
13206
                                                                                                          ]
                                                                                                        )
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
13200
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
13200
                                                                                              ]
                                                                                            )
                                                                                            (Case
                                                                                              to_match: 
                                                                                                {
                                                                                                  ($ 
VSub_Name "$lin"
                                                                                                  )
                                                                                                }
                                                                                              arms: [
                                                                                                (case_arm
                                                                                                  pat_list: [
                                                                                                    {
                                                                                                      (
Lit_Other "["
                                                                                                      ) (SQ <" \t">) (Lit_Other "]") (Lit_Other "*") (SQ <"#">) (Lit_Other "*")
                                                                                                    }
                                                                                                  ]
                                                                                                  spids: [
13217
13227
13228
-1
                                                                                                  ]
                                                                                                )
                                                                                                (case_arm
                                                                                                  pat_list: [
                                                                                                    {
                                                                                                      (
Lit_Other "*"
                                                                                                      )
                                                                                                    }
                                                                                                  ]
                                                                                                  action: [
                                                                                                    (ControlFlow
                                                                                                      token: 
                                                                                                        <
ControlFlow_Break break
                                                                                                        >
                                                                                                    )
                                                                                                  ]
                                                                                                  spids: [
13231
13232
13236
-1
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
13210
13214
13239
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
13198
13242
                                                                                          ]
                                                                                        )
                                                                                    )
                                                                                  ]
                                                                                  spids: [
13177
13178
13245
-1
                                                                                  ]
                                                                                )
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      )
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
IFS
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(SQ )}
                                                                                          spids: [
13251
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [13251]
                                                                                    )
                                                                                    (C {(read)} {(-r)} 
                                                                                      {(lin)}
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
eof
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              ($ 
VSub_QMark "$?"
                                                                                              )
                                                                                            }
                                                                                          spids: [
13261
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [13261]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
IFS
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              ($ 
VSub_Name "$ifs"
                                                                                              )
                                                                                            }
                                                                                          spids: [
13265
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [13265]
                                                                                    )
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$lin"
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "["
                                                                                              ) (SQ <" \t">) (Lit_Other "]") (Lit_Other "*")
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
lin
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (CommandSubPart
                                                                                                        command_list: 
                                                                                                          (CommandList
                                                                                                            children: [
                                                                                                              (SimpleCommand
                                                                                                                words: [
                                                                                                                  {
                                                                                                                    (
sed
                                                                                                                    )
                                                                                                                  }
                                                                                                                  {
                                                                                                                    (
-e
                                                                                                                    )
                                                                                                                  }
                                                                                                                  {
                                                                                                                    (SQ 
                                                                                                                      <
"s,^[ \t],,"
                                                                                                                      >
                                                                                                                    )
                                                                                                                  }
                                                                                                                  {
                                                                                                                    (
-e
                                                                                                                    )
                                                                                                                  }
                                                                                                                  {
                                                                                                                    (SQ 
                                                                                                                      <
"s,^[ \t]*#,#,"
                                                                                                                      >
                                                                                                                    )
                                                                                                                  }
                                                                                                                ]
                                                                                                                redirects: [
                                                                                                                  (HereDoc
                                                                                                                    op_id: 
Redir_DLess
                                                                                                                    fd: 
-1
                                                                                                                    body: 
                                                                                                                      {
                                                                                                                        (DQ 
                                                                                                                          ($ 
VSub_Name "$lin"
                                                                                                                          ) ("\n")
                                                                                                                        )
                                                                                                                      }
                                                                                                                    do_expansion: 
True
                                                                                                                    here_end: 
"!"
                                                                                                                    was_filled: 
True
                                                                                                                    spids: [
13300
                                                                                                                    ]
                                                                                                                  )
                                                                                                                ]
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick "`"
                                                                                                          >
                                                                                                        spids: [
13285
13305
                                                                                                        ]
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
13284
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
13284
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
13276
13282
13308
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
13269
13273
13311
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
13248
13249
13314
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
13170
13174
13317
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [13167 13168 13320 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: lin
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (CommandSubPart
                                                                                        command_list: 
                                                                                          (CommandList
                                                                                            children: [
                                                                                              (C 
                                                                                                {
                                                                                                  ($ 
VSub_Name "$posix_read"
                                                                                                  )
                                                                                                }
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
13327
13329
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [13326]
                                                                                )
                                                                              ]
                                                                              spids: [13326]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: eof
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_QMark 
"$?"
                                                                                      )
                                                                                    }
                                                                                  spids: [13332]
                                                                                )
                                                                              ]
                                                                              spids: [13332]
                                                                            )
                                                                          ]
                                                                          spids: [13323 13324 13336 -1]
                                                                        )
                                                                      ]
                                                                      spids: [13160 13164 13339]
                                                                    )
                                                                    (Case
                                                                      to_match: {($ VSub_Name "$eof")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [{(0)}]
                                                                          action: [
                                                                            (Case
                                                                              to_match: 
                                                                                {
                                                                                  ($ VSub_Name 
"$shell"
                                                                                  )
                                                                                }
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [{(ksh)}]
                                                                                  action: [
                                                                                    (C {(let)} 
                                                                                      {
                                                                                        (
Lit_VarLike "line="
                                                                                        ) (line) (Lit_Other "+") (1)
                                                                                      }
                                                                                    )
                                                                                  ]
                                                                                  spids: [
13359
13360
13369
-1
                                                                                  ]
                                                                                )
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      )
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
line
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (CommandSubPart
                                                                                                command_list: 
                                                                                                  (CommandList
                                                                                                    children: [
                                                                                                      (C 
                                                                                                        {
                                                                                                          (
expr
                                                                                                          )
                                                                                                        } {($ VSub_Name "$line")} {(Lit_Other "+")} {(1)}
                                                                                                      )
                                                                                                    ]
                                                                                                  )
                                                                                                left_token: 
                                                                                                  <
Left_Backtick "`"
                                                                                                  >
                                                                                                spids: [
13376
13384
                                                                                                ]
                                                                                              )
                                                                                            }
                                                                                          spids: [
13375
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [13375]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
13372
13373
13386
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
13352
13356
13389
                                                                              ]
                                                                            )
                                                                            (C 
                                                                              {
                                                                                ($ VSub_Name 
"$posix_noglob"
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(set)} {(x)} 
                                                                              {($ VSub_Name "$lin")}
                                                                            )
                                                                            (C 
                                                                              {
                                                                                ($ VSub_Name 
"$posix_glob"
                                                                                )
                                                                              }
                                                                            )
                                                                            (Case
                                                                              to_match: 
                                                                                {
                                                                                  ($ VSub_Number "$2")
                                                                                }
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      ($ VSub_Name 
"$v"
                                                                                      )
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$shell"
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {(ksh)}
                                                                                          ]
                                                                                          action: [
                                                                                            (C {(let)} 
                                                                                              {
                                                                                                (
Lit_VarLike "n="
                                                                                                ) (n) (Lit_Other "+") (1)
                                                                                              }
                                                                                            )
                                                                                          ]
                                                                                          spids: [
13422
13423
13432
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
n
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (CommandSubPart
                                                                                                        command_list: 
                                                                                                          (CommandList
                                                                                                            children: [
                                                                                                              (C 
                                                                                                                {
                                                                                                                  (
expr
                                                                                                                  )
                                                                                                                } {($ VSub_Name "$n")} {(Lit_Other "+")} {(1)}
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick "`"
                                                                                                          >
                                                                                                        spids: [
13439
13447
                                                                                                        ]
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
13438
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
13438
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
13435
13436
13449
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
13415
13419
13452
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
13412
13413
13455
-1
                                                                                  ]
                                                                                )
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      ($ VSub_Name 
"$e"
                                                                                      )
                                                                                    }
                                                                                    {
                                                                                      ($ VSub_Name 
"$e"
                                                                                      ) (SQ <";">)
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$n"
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {(1)}
                                                                                          ]
                                                                                          action: [
                                                                                            (C 
                                                                                              {
                                                                                                (
shift
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Break break
                                                                                                >
                                                                                              arg_word: 
                                                                                                {
                                                                                                  (
2
                                                                                                  )
                                                                                                }
                                                                                            )
                                                                                          ]
                                                                                          spids: [
13474
13475
13485
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
13467
13471
13488
                                                                                      ]
                                                                                    )
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$shell"
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {(ksh)}
                                                                                          ]
                                                                                          action: [
                                                                                            (C {(let)} 
                                                                                              {
                                                                                                (
Lit_VarLike "n="
                                                                                                ) (n-1)
                                                                                              }
                                                                                            )
                                                                                          ]
                                                                                          spids: [
13498
13499
13506
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
n
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (CommandSubPart
                                                                                                        command_list: 
                                                                                                          (CommandList
                                                                                                            children: [
                                                                                                              (C 
                                                                                                                {
                                                                                                                  (
expr
                                                                                                                  )
                                                                                                                } {($ VSub_Name "$n")} {(-)} {(1)}
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick "`"
                                                                                                          >
                                                                                                        spids: [
13513
13521
                                                                                                        ]
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
13512
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
13512
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
13509
13510
13523
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
13491
13495
13526
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
13458
13464
13529
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
13405
13409
13532
                                                                              ]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: x
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$x"
                                                                                        ) ($ VSub_Name "$SEP") ($ VSub_Name "$lin")
                                                                                      )
                                                                                    }
                                                                                  spids: [13535]
                                                                                )
                                                                              ]
                                                                              spids: [13535]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: SEP
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$sep"
                                                                                      )
                                                                                    }
                                                                                  spids: [13543]
                                                                                )
                                                                              ]
                                                                              spids: [13543]
                                                                            )
                                                                          ]
                                                                          spids: [13349 13350 13547 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {(echo)}
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
"$command"
                                                                                    ) (": ") ($ VSub_Name "$file") ($ VSub_Name "$line") (": missing ") ($ VSub_Name "$e")
                                                                                  )
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: 
Redir_GreatAnd
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$stderr"
                                                                                      )
                                                                                    }
                                                                                  spids: [13564]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (C {(exit)} {(1)})
                                                                          ]
                                                                          spids: [13550 13551 13573 -1]
                                                                        )
                                                                      ]
                                                                      spids: [13342 13346 13576]
                                                                    )
                                                                  ]
                                                                  spids: [13158 13579]
                                                                )
                                                            )
                                                          ]
                                                          spids: [13095 13096 13582 -1]
                                                        )
                                                      ]
                                                      spids: [13088 13092 13585]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Number "$1")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{($ VSub_Name "$v")}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$shell")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(ksh)}]
                                                                  action: [
                                                                    (C {(let)} 
                                                                      {(Lit_VarLike "n=") (n) 
                                                                        (Lit_Other "+") (1)
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [13605 13606 13615 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:n)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (C {(expr)} 
                                                                                        {
                                                                                          ($ 
VSub_Name "$n"
                                                                                          )
                                                                                        } {(Lit_Other "+")} {(1)}
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [13622 13630]
                                                                              )
                                                                            }
                                                                          spids: [13621]
                                                                        )
                                                                      ]
                                                                      spids: [13621]
                                                                    )
                                                                  ]
                                                                  spids: [13618 13619 13632 -1]
                                                                )
                                                              ]
                                                              spids: [13598 13602 13635]
                                                            )
                                                          ]
                                                          spids: [13595 13596 13638 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [
                                                            {($ VSub_Name "$e")}
                                                            {($ VSub_Name "$e") (SQ <";">)}
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$n")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(1)}]
                                                                  action: [
                                                                    (ControlFlow
                                                                      token: 
                                                                        <ControlFlow_Break break>
                                                                    )
                                                                  ]
                                                                  spids: [13657 13658 13662 -1]
                                                                )
                                                              ]
                                                              spids: [13650 13654 13665]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name "$shell")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(ksh)}]
                                                                  action: [
                                                                    (C {(let)} 
                                                                      {(Lit_VarLike "n=") (n-1)}
                                                                    )
                                                                  ]
                                                                  spids: [13675 13676 13683 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:n)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (C {(expr)} 
                                                                                        {
                                                                                          ($ 
VSub_Name "$n"
                                                                                          )
                                                                                        } {(-)} {(1)}
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [13690 13698]
                                                                              )
                                                                            }
                                                                          spids: [13689]
                                                                        )
                                                                      ]
                                                                      spids: [13689]
                                                                    )
                                                                  ]
                                                                  spids: [13686 13687 13700 -1]
                                                                )
                                                              ]
                                                              spids: [13668 13672 13703]
                                                            )
                                                          ]
                                                          spids: [13641 13647 13706 -1]
                                                        )
                                                      ]
                                                      spids: [13588 13592 13709]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:x)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$x") 
                                                                ($ VSub_Name "$SEP") ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [13712]
                                                        )
                                                      ]
                                                      spids: [13712]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:SEP)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$sep")}
                                                          spids: [13720]
                                                        )
                                                      ]
                                                      spids: [13720]
                                                    )
                                                    (C {(shift)})
                                                  ]
                                                  spids: [13086 13727]
                                                )
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$v")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(SQ <"note{">)}]
                                                  spids: [13738 13740 13741 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:x)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$x") 
                                                                ($ VSub_Name "$nl")
                                                              )
                                                            }
                                                          spids: [13747]
                                                        )
                                                      ]
                                                      spids: [13747]
                                                    )
                                                  ]
                                                  spids: [13744 13745 -1 13757]
                                                )
                                              ]
                                              spids: [13730 13734 13757]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$v")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(SQ <"fail{">)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:fail)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$x")}
                                                          spids: [13772]
                                                        )
                                                      ]
                                                      spids: [13772]
                                                    )
                                                  ]
                                                  spids: [13768 13770 13775 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(SQ <"nofail{">)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:pass)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$x")}
                                                          spids: [13783]
                                                        )
                                                        (assign_pair
                                                          lhs: (LhsName name:v)
                                                          op: Equal
                                                          rhs: {(SQ <"pass{">)}
                                                          spids: [13786]
                                                        )
                                                      ]
                                                      spids: [13783]
                                                    )
                                                  ]
                                                  spids: [13779 13781 13791 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(SQ <"nopass{">)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:fail)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$x")}
                                                          spids: [13799]
                                                        )
                                                        (assign_pair
                                                          lhs: (LhsName name:v)
                                                          op: Equal
                                                          rhs: {(SQ <"fail{">)}
                                                          spids: [13802]
                                                        )
                                                      ]
                                                      spids: [13799]
                                                    )
                                                  ]
                                                  spids: [13795 13797 13807 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(SQ <"no{">)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:no)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$x")}
                                                          spids: [13815]
                                                        )
                                                      ]
                                                      spids: [13815]
                                                    )
                                                  ]
                                                  spids: [13811 13813 13818 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(SQ <"note{">)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:note)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$x")}
                                                          spids: [13826]
                                                        )
                                                      ]
                                                      spids: [13826]
                                                    )
                                                  ]
                                                  spids: [13822 13824 13829 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(SQ <"pass{">)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:pass)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$x")}
                                                          spids: [13837]
                                                        )
                                                      ]
                                                      spids: [13837]
                                                    )
                                                  ]
                                                  spids: [13833 13835 13840 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(SQ <"test{">)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:test)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$x")}
                                                          spids: [13848]
                                                        )
                                                      ]
                                                      spids: [13848]
                                                    )
                                                  ]
                                                  spids: [13844 13846 13851 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(SQ <"yes{">)} {(SQ <"{">)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:yes)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$x")}
                                                          spids: [13863]
                                                        )
                                                      ]
                                                      spids: [13863]
                                                    )
                                                  ]
                                                  spids: [13855 13861 13866 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:src)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$x")}
                                                          spids: [13872]
                                                        )
                                                        (assign_pair
                                                          lhs: (LhsName name:run)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$v")}
                                                          spids: [13875]
                                                        )
                                                      ]
                                                      spids: [13872]
                                                    )
                                                  ]
                                                  spids: [13869 13870 13878 -1]
                                                )
                                              ]
                                              spids: [13760 13764 13881]
                                            )
                                          ]
                                          spids: [12983 12994 13884 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ":")}]
                                          action: [
                                            (C {(shift)})
                                            (ControlFlow
                                              token: <ControlFlow_Break break>
                                            )
                                          ]
                                          spids: [13887 13888 13896 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (Lit_Other "[") 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\\"">
                                              ) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\)">
                                              ) (EscapedLiteralPart token:<Lit_EscapedChar "\\{">) (EscapedLiteralPart token:<Lit_EscapedChar "\\}">) 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\ ">
                                              ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\t">) (Lit_Other "]") (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$op")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(pth)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:pth)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$pth") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [13924]
                                                        )
                                                      ]
                                                      spids: [13924]
                                                    )
                                                  ]
                                                  spids: [13921 13922 13932 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$test")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(SQ )}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:test)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Number "$1")}
                                                                  spids: [13949]
                                                                )
                                                              ]
                                                              spids: [13949]
                                                            )
                                                          ]
                                                          spids: [-1 13947 13952 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:test)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$test") (" ") 
                                                                        ($ VSub_Number "$1")
                                                                      )
                                                                    }
                                                                  spids: [13958]
                                                                )
                                                              ]
                                                              spids: [13958]
                                                            )
                                                          ]
                                                          spids: [13955 13956 13965 -1]
                                                        )
                                                      ]
                                                      spids: [13938 13942 13968]
                                                    )
                                                  ]
                                                  spids: [13935 13936 13971 -1]
                                                )
                                              ]
                                              spids: [13914 13918 13974]
                                            )
                                          ]
                                          spids: [13899 13911 13977 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(-)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:group)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$group") ($ VSub_Number "$1")}
                                                  spids: [13983]
                                                )
                                              ]
                                              spids: [13983]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$group")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:com_hdr)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$hdr")}
                                                          spids: [13998]
                                                        )
                                                      ]
                                                      spids: [13998]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:com_lib)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$lib")}
                                                          spids: [14002]
                                                        )
                                                      ]
                                                      spids: [14002]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:com_mac)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$mac")}
                                                          spids: [14006]
                                                        )
                                                      ]
                                                      spids: [14006]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:com_opt)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$opt")}
                                                          spids: [14010]
                                                        )
                                                      ]
                                                      spids: [14010]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:com_pth)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$pth")}
                                                          spids: [14014]
                                                        )
                                                      ]
                                                      spids: [14014]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:com_test)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$test")}
                                                          spids: [14018]
                                                        )
                                                      ]
                                                      spids: [14018]
                                                    )
                                                  ]
                                                  spids: [13995 13996 14022 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:groups)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$groups") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [14028]
                                                        )
                                                      ]
                                                      spids: [14028]
                                                    )
                                                  ]
                                                  spids: [14025 14026 14036 -1]
                                                )
                                              ]
                                              spids: [13988 13992 14039]
                                            )
                                          ]
                                          spids: [13980 13981 14042 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(-l) (Lit_Other "*")}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$group")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(--) (Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:groups)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$groups") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [14060]
                                                        )
                                                      ]
                                                      spids: [14060]
                                                    )
                                                  ]
                                                  spids: [14056 14058 14067 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$lib") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [14073]
                                                        )
                                                      ]
                                                      spids: [14073]
                                                    )
                                                  ]
                                                  spids: [14070 14071 14080 -1]
                                                )
                                              ]
                                              spids: [14049 14053 14083]
                                            )
                                          ]
                                          spids: [14045 14047 14086 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "+") (l) (Lit_Other "*")}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$shell")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(bsh)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:x)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(echo)} 
                                                                            {(X) 
                                                                              ($ VSub_Number "$1")
                                                                            }
                                                                          )
                                                                          (C {(sed)} {(SQ <"s/X+/-/">)})
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick "`">
                                                                spids: [14105 14118]
                                                              )
                                                            }
                                                          spids: [14104]
                                                        )
                                                      ]
                                                      spids: [14104]
                                                    )
                                                  ]
                                                  spids: [14101 14102 14120 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [(C {(eval)} {(SQ <"x=-${1#+}">)})]
                                                  spids: [14123 14124 14132 -1]
                                                )
                                              ]
                                              spids: [14094 14098 14135]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$group")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(--) (Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:groups)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$groups") (" ") 
                                                                ($ VSub_Name "$x")
                                                              )
                                                            }
                                                          spids: [14149]
                                                        )
                                                      ]
                                                      spids: [14149]
                                                    )
                                                  ]
                                                  spids: [14145 14147 14156 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$lib") (" ") 
                                                                ($ VSub_Name "$x")
                                                              )
                                                            }
                                                          spids: [14162]
                                                        )
                                                      ]
                                                      spids: [14162]
                                                    )
                                                  ]
                                                  spids: [14159 14160 14169 -1]
                                                )
                                              ]
                                              spids: [14138 14142 14172]
                                            )
                                          ]
                                          spids: [14089 14092 14175 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(-) (Lit_Other "*")}
                                            {(Lit_Other "+") (Lit_Other "*")}
                                          ]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$op")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(ref)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:cc)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$cc") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [14195]
                                                        )
                                                      ]
                                                      spids: [14195]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:occ)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$occ") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [14203]
                                                        )
                                                      ]
                                                      spids: [14203]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Number "$1")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(-L) (Lit_Other "*")}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$shell")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(ksh)}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:x)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (BracedVarSub
                                                                                token: 
                                                                                  <VSub_Number 1>
                                                                                suffix_op: 
                                                                                  (StringUnary
                                                                                    op_id: 
VOp1_Pound
                                                                                    arg_word: {(-L)}
                                                                                  )
                                                                                spids: [14233 14237]
                                                                              )
                                                                            }
                                                                          spids: [14232]
                                                                        )
                                                                      ]
                                                                      spids: [14232]
                                                                    )
                                                                  ]
                                                                  spids: [14229 14230 14239 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:x)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (Pipeline
                                                                                        children: [
                                                                                          (C {(echo)} 
                                                                                            {(x) 
                                                                                              ($ 
VSub_Number "$1"
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                          (C {(sed)} 
                                                                                            {
                                                                                              (SQ 
                                                                                                <
"s,^x-L,,"
                                                                                                >
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                        ]
                                                                                        negated: 
False
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [14246 14259]
                                                                              )
                                                                            }
                                                                          spids: [14245]
                                                                        )
                                                                      ]
                                                                      spids: [14245]
                                                                    )
                                                                  ]
                                                                  spids: [14242 14243 14261 -1]
                                                                )
                                                              ]
                                                              spids: [14222 14226 14264]
                                                            )
                                                            (ForEach
                                                              iter_name: y
                                                              iter_words: [{($ VSub_Name "$libpaths")}]
                                                              do_arg_iter: False
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (C {(eval)} 
                                                                      {($ VSub_Name "$y") 
                                                                        (Lit_Other "=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                                                                        ($ VSub_Name "$y") (Lit_Other ":") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (x) 
                                                                        (EscapedLiteralPart
                                                                          token: 
                                                                            <Lit_EscapedChar "\\$">
                                                                        ) (${ VSub_Name y) (_default) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                                      }
                                                                    )
                                                                    (C {(eval)} {(export)} 
                                                                      {($ VSub_Name "$y")}
                                                                    )
                                                                  ]
                                                                  spids: [14276 14303]
                                                                )
                                                              spids: [14272 -1]
                                                            )
                                                          ]
                                                          spids: [14218 14220 14306 -1]
                                                        )
                                                      ]
                                                      spids: [14211 14215 14309]
                                                    )
                                                  ]
                                                  spids: [14192 14193 14312 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$group")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(--) (Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:groups)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$groups") 
                                                                        (" ") ($ VSub_Number "$1")
                                                                      )
                                                                    }
                                                                  spids: [14329]
                                                                )
                                                              ]
                                                              spids: [14329]
                                                            )
                                                          ]
                                                          spids: [14325 14327 14337 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$op")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(run)}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:opt)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name "$opt") (" ") ($ VSub_Number "$1")
                                                                              )
                                                                            }
                                                                          spids: [14353]
                                                                        )
                                                                      ]
                                                                      spids: [14353]
                                                                    )
                                                                  ]
                                                                  spids: [14350 14351 14361 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Case
                                                                      to_match: {($ VSub_Number "$1")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(-D) (Lit_Other "*")}
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: mac
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$mac"
                                                                                        ) (" ") ($ VSub_Number "$1")
                                                                                      )
                                                                                    }
                                                                                  spids: [14378]
                                                                                )
                                                                              ]
                                                                              spids: [14378]
                                                                            )
                                                                          ]
                                                                          spids: [14374 14376 14385 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: cc
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$cc"
                                                                                        ) (" ") ($ VSub_Number "$1")
                                                                                      )
                                                                                    }
                                                                                  spids: [14391]
                                                                                )
                                                                              ]
                                                                              spids: [14391]
                                                                            )
                                                                          ]
                                                                          spids: [14388 14389 14398 -1]
                                                                        )
                                                                      ]
                                                                      spids: [14367 14371 14401]
                                                                    )
                                                                  ]
                                                                  spids: [14364 14365 14404 -1]
                                                                )
                                                              ]
                                                              spids: [14343 14347 14407]
                                                            )
                                                          ]
                                                          spids: [14340 14341 14410 -1]
                                                        )
                                                      ]
                                                      spids: [14318 14322 14413]
                                                    )
                                                  ]
                                                  spids: [14315 14316 14416 -1]
                                                )
                                              ]
                                              spids: [14185 14189 14419]
                                            )
                                          ]
                                          spids: [14178 14183 14422 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (.) (Lit_Other "[") (aAxX) (Lit_Other "]")}
                                            {(Lit_Other "*") (.) (Lit_Other "[") (dD) (Lit_Other "]") 
                                              (Lit_Other "[") (lL) (Lit_Other "]") (Lit_Other "[") (lL) (Lit_Other "]")
                                            }
                                            {(Lit_Other "*") (.) (Lit_Other "[") (lL) (Lit_Other "]") 
                                              (Lit_Other "[") (iI) (Lit_Other "]") (Lit_Other "[") (bB) (Lit_Other "]")
                                            }
                                          ]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$group")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(--) (Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:groups)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$groups") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [14468]
                                                        )
                                                      ]
                                                      spids: [14468]
                                                    )
                                                  ]
                                                  spids: [14464 14466 14475 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$lib") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [14481]
                                                        )
                                                      ]
                                                      spids: [14481]
                                                    )
                                                  ]
                                                  spids: [14478 14479 14488 -1]
                                                )
                                              ]
                                              spids: [14457 14461 14491]
                                            )
                                          ]
                                          spids: [14425 14454 14494 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (Lit_Other "[") (.) 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\\\">
                                              ) (/) (Lit_Other "]") (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$group")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(--) (Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:groups)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$groups") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [14518]
                                                        )
                                                      ]
                                                      spids: [14518]
                                                    )
                                                  ]
                                                  spids: [14514 14516 14526 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$op")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(pth)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:pth)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$pth") (" ") 
                                                                        ($ VSub_Number "$1")
                                                                      )
                                                                    }
                                                                  spids: [14542]
                                                                )
                                                              ]
                                                              spids: [14542]
                                                            )
                                                          ]
                                                          spids: [14539 14540 14549 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:hdr)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$hdr") (" ") 
                                                                        ($ VSub_Number "$1")
                                                                      )
                                                                    }
                                                                  spids: [14555]
                                                                )
                                                              ]
                                                              spids: [14555]
                                                            )
                                                          ]
                                                          spids: [14552 14553 14562 -1]
                                                        )
                                                      ]
                                                      spids: [14532 14536 14565]
                                                    )
                                                  ]
                                                  spids: [14529 14530 14568 -1]
                                                )
                                              ]
                                              spids: [14507 14511 14571]
                                            )
                                          ]
                                          spids: [14497 14504 14574 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$group")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(--) (Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:groups)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$groups") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [14591]
                                                        )
                                                      ]
                                                      spids: [14591]
                                                    )
                                                  ]
                                                  spids: [14587 14589 14599 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$op")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(pth)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:pth)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$pth") (" ") 
                                                                        ($ VSub_Number "$1")
                                                                      )
                                                                    }
                                                                  spids: [14615]
                                                                )
                                                              ]
                                                              spids: [14615]
                                                            )
                                                          ]
                                                          spids: [14612 14613 14623 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$test")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(SQ )}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:test)
                                                                          op: Equal
                                                                          rhs: {($ VSub_Number "$1")}
                                                                          spids: [14640]
                                                                        )
                                                                      ]
                                                                      spids: [14640]
                                                                    )
                                                                  ]
                                                                  spids: [-1 14638 14643 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:test)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name "$test") (" ") ($ VSub_Number "$1")
                                                                              )
                                                                            }
                                                                          spids: [14649]
                                                                        )
                                                                      ]
                                                                      spids: [14649]
                                                                    )
                                                                  ]
                                                                  spids: [14646 14647 14656 -1]
                                                                )
                                                              ]
                                                              spids: [14629 14633 14659]
                                                            )
                                                          ]
                                                          spids: [14626 14627 14662 -1]
                                                        )
                                                      ]
                                                      spids: [14605 14609 14665]
                                                    )
                                                  ]
                                                  spids: [14602 14603 14668 -1]
                                                )
                                              ]
                                              spids: [14580 14584 14671]
                                            )
                                          ]
                                          spids: [14577 14578 14674 -1]
                                        )
                                      ]
                                      spids: [12884 12888 14677]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [12864 14683]
                                )
                            )
                            (Case
                              to_match: {($ VSub_Name "$group")}
                              arms: [
                                (case_arm
                                  pat_list: [{(-)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:group)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [14696]
                                        )
                                      ]
                                      spids: [14696]
                                    )
                                  ]
                                  spids: [14693 14694 14698 -1]
                                )
                              ]
                              spids: [14686 14690 14701]
                            )
                          ]
                          spids: [12386 12387 14704 -1]
                        )
                      ]
                      spids: [12373 12377 14707]
                    )
                  ]
                  spids: [12120 12121 14710 -1]
                )
              ]
              spids: [9926 9930 14713]
            )
            (Case
              to_match: {($ VSub_Name "$ifelse")}
              arms: [
                (case_arm
                  pat_list: [{(DONE)} {(SKIP)}]
                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [14723 14726 14730 -1]
                )
              ]
              spids: [14716 14720 14733]
            )
            (Case
              to_match: {($ VSub_Name "$cc")}
              arms: [
                (case_arm
                  pat_list: [{(DQ )}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cc)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$occ") (" ") ($ VSub_Name "$includes"))}
                          spids: [14753]
                        )
                      ]
                      spids: [14753]
                    )
                  ]
                  spids: [-1 14751 14760 -1]
                )
              ]
              spids: [14742 14746 14763]
            )
            (Case
              to_match: {($ VSub_Name "$cctest")}
              arms: [(case_arm pat_list:[{(DQ )}] action:[(C {(checkcc)})] spids:[-11477514779-1])]
              spids: [14766 14770 14782]
            )
            (Case
              to_match: {($ VSub_Name "$arg")}
              arms: [
                (case_arm
                  pat_list: [{(SQ )}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$op")}
                      arms: [
                        (case_arm
                          pat_list: [{(api)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(-)}
                                  spids: [14812]
                                )
                              ]
                              spids: [14812]
                            )
                            (Case
                              to_match: {($ VSub_Number "$1") (Lit_Other ":") ($ VSub_Number "$2")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "[") 
                                      (abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ) (Lit_Other "]") (Lit_Other "*") (Lit_Other ":") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) 
                                      (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) 
                                      (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) 
                                      (Lit_Other "]")
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:a)
                                          op: Equal
                                          rhs: {($ VSub_Number "$1")}
                                          spids: [14857]
                                        )
                                      ]
                                      spids: [14857]
                                    )
                                    (C {(shift)})
                                    (Case
                                      to_match: {(DQ (" ") ($ VSub_Name "$apis") (" "))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$a") (" ")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [14875 14882 14885 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:apis)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$apis") (" ") 
                                                        ($ VSub_Name "$a")
                                                      )
                                                    }
                                                  spids: [14891]
                                                )
                                              ]
                                              spids: [14891]
                                            )
                                            (C {(eval)} {(api_sym_) (${ VSub_Name a) (Lit_Other "=")} 
                                              {(api_ver_) (${ VSub_Name a) (Lit_Other "=")}
                                            )
                                          ]
                                          spids: [14888 14889 14914 -1]
                                        )
                                      ]
                                      spids: [14864 14872 14917]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rel)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [14920]
                                        )
                                      ]
                                      spids: [14920]
                                    )
                                    (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: [14937 14938 14942 -1]
                                                )
                                              ]
                                              spids: [14930 14934 14945]
                                            )
                                            (Case
                                              to_match: {($ VSub_Number "$1")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "[") (0-9) (Lit_Other "]") 
                                                      (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") 
                                                      (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") 
                                                      (Lit_Other "[") (0-9) (Lit_Other "]")
                                                    }
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rel)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$rel") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [14982]
                                                        )
                                                      ]
                                                      spids: [14982]
                                                    )
                                                  ]
                                                  spids: [14955 14979 14990 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [14993 14994 14999 -1]
                                                )
                                              ]
                                              spids: [14948 14952 15002]
                                            )
                                            (C {(shift)})
                                          ]
                                          spids: [14928 15008]
                                        )
                                    )
                                    (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: [15025 15026 15030 -1]
                                                )
                                              ]
                                              spids: [15018 15022 15033]
                                            )
                                            (Case
                                              to_match: {($ VSub_Number "$1")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(Lit_Other ":")}]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [15043 15044 15048 -1]
                                                )
                                              ]
                                              spids: [15036 15040 15051]
                                            )
                                            (C {(eval)} 
                                              {(Lit_VarLike "syms=") (SQ <"$">) (api_sym_) 
                                                (${ VSub_Name a)
                                              }
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$syms")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(SQ )}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:sep)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [15077]
                                                        )
                                                      ]
                                                      spids: [15077]
                                                    )
                                                  ]
                                                  spids: [-1 15075 15081 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:sep)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$nl")}
                                                          spids: [15087]
                                                        )
                                                      ]
                                                      spids: [15087]
                                                    )
                                                  ]
                                                  spids: [15084 15085 15090 -1]
                                                )
                                              ]
                                              spids: [15066 15070 15093]
                                            )
                                            (ForEach
                                              iter_name: r
                                              iter_words: [{($ VSub_Name "$rel")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:syms)
                                                          op: Equal
                                                          rhs: 
                                                            {($ VSub_Name "$syms") 
                                                              ($ VSub_Name "$sep") (${ VSub_Number 1) (Lit_Other ":") (${ VSub_Name r)
                                                            }
                                                          spids: [15107]
                                                        )
                                                      ]
                                                      spids: [15107]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:sep)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$nl")}
                                                          spids: [15119]
                                                        )
                                                      ]
                                                      spids: [15119]
                                                    )
                                                  ]
                                                  spids: [15105 15123]
                                                )
                                              spids: [15101 -1]
                                            )
                                            (C {(eval)} 
                                              {(api_sym_) (${ VSub_Name a) (Lit_Other "=") (SQ <"$">) 
                                                (syms)
                                              }
                                            )
                                            (C {(shift)})
                                          ]
                                          spids: [15016 15142]
                                        )
                                    )
                                  ]
                                  spids: [14825 14854 15145 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ($ VSub_Name "$command") (": ") ($ VSub_Name "$op") 
                                            (": expected: name YYYYMMDD symbol ...")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: -1
                                          arg_word: {($ VSub_Name "$stderr")}
                                          spids: [15160]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [15148 15149 15164 -1]
                                )
                              ]
                              spids: [14816 14822 15167]
                            )
                            (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: [15184 15185 15189 -1]
                                        )
                                      ]
                                      spids: [15177 15181 15192]
                                    )
                                    (Case
                                      to_match: {($ VSub_Number "$1")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other ":")}]
                                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                                          spids: [15202 15203 15207 -1]
                                        )
                                      ]
                                      spids: [15195 15199 15210]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [15175 15216]
                                )
                            )
                          ]
                          spids: [14809 14810 15219 -1]
                        )
                        (case_arm
                          pat_list: [{(iff)} {(ini)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(-)}
                                  spids: [15226]
                                )
                              ]
                              spids: [15226]
                            )
                          ]
                          spids: [15222 15225 15230 -1]
                        )
                        (case_arm
                          pat_list: [{(comment)}]
                          action: [
                            (C {(copy)} {(-)} {(DQ ("/* ") ($ VSub_Star "$*") (" */"))})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15233 15234 15249 -1]
                        )
                        (case_arm
                          pat_list: [{(define)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:x)
                                  op: Equal
                                  rhs: {($ VSub_Number "$1")}
                                  spids: [15255]
                                )
                              ]
                              spids: [15255]
                            )
                            (C {(shift)})
                            (Case
                              to_match: {($ VSub_Number "$1")}
                              arms: [
                                (case_arm
                                  pat_list: [{(SQ <"(">) (Lit_Other "*") (SQ <")">)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: {($ VSub_Number "$1")}
                                          spids: [15279]
                                        )
                                      ]
                                      spids: [15279]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [15270 15276 15286 -1]
                                )
                              ]
                              spids: [15262 15266 15289]
                            )
                            (Case
                              to_match: {($ VSub_Name "$in")}
                              arms: [
                                (case_arm
                                  pat_list: [{(DQ )}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:v)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [15303]
                                        )
                                      ]
                                      spids: [15303]
                                    )
                                    (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: [15320 15321 15325 -1]
                                                )
                                              ]
                                              spids: [15313 15317 15328]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:t)
                                                  op: Equal
                                                  rhs: {($ VSub_Number "$1")}
                                                  spids: [15331]
                                                )
                                              ]
                                              spids: [15331]
                                            )
                                            (C {(shift)})
                                            (Case
                                              to_match: {($ VSub_Name "$t")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(DQ (":"))}]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [15346 15348 15352 -1]
                                                )
                                              ]
                                              spids: [15338 15342 15355]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:v)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$v") (" ") ($ VSub_Name "$t"))
                                                    }
                                                  spids: [15358]
                                                )
                                              ]
                                              spids: [15358]
                                            )
                                          ]
                                          spids: [15311 15366]
                                        )
                                    )
                                  ]
                                  spids: [-1 15301 15369 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:v)
                                          op: Equal
                                          rhs: {($ VSub_Star "$*")}
                                          spids: [15375]
                                        )
                                      ]
                                      spids: [15375]
                                    )
                                  ]
                                  spids: [15372 15373 15379 -1]
                                )
                              ]
                              spids: [15292 15296 15382]
                            )
                            (C {(is)} {(mac)} {($ VSub_Name "$x")})
                            (C {(copy)} {($ VSub_Name "$tmp") (.c)} 
                              {
                                (DQ ($ VSub_Name "$std") ("\n") ($ VSub_Name "$usr") ("\n") ("#ifndef ") 
                                  ($ VSub_Name "$x") ("\n") ("(\n") ("#endif\n") ("int x;\n")
                                )
                              }
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (SimpleCommand
                                      words: [
                                        {(compile)}
                                        {($ VSub_Name "$cc")}
                                        {(-c)}
                                        {($ VSub_Name "$tmp") (.c)}
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_LessAnd
                                          fd: -1
                                          arg_word: {($ VSub_Name "$nullin")}
                                          spids: [15422]
                                        )
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: -1
                                          arg_word: {($ VSub_Name "$nullout")}
                                          spids: [15425]
                                        )
                                      ]
                                    )
                                  ]
                                  action: [(C {(success)} {(-)})]
                                  spids: [-1 15429]
                                )
                              ]
                              else_action: [
                                (C {(failure)} {(-)})
                                (C {(copy)} {(-)} 
                                  {
                                    (DQ ("#define ") ($ VSub_Name "$x") ($ VSub_Name "$arg") ("\t") 
                                      ($ VSub_Name "$v")
                                    )
                                  }
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:usr)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name "$usr") (${ VSub_Name nl) ("#define ") 
                                            ($ VSub_Name "$x") ($ VSub_Name "$arg") ("  ") ($ VSub_Name "$v")
                                          )
                                        }
                                      spids: [15456]
                                    )
                                  ]
                                  spids: [15456]
                                )
                              ]
                              spids: [15436 15470]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15252 15253 15476 -1]
                        )
                        (case_arm
                          pat_list: [{(extern)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:x)
                                  op: Equal
                                  rhs: {($ VSub_Number "$1")}
                                  spids: [15482]
                                )
                              ]
                              spids: [15482]
                            )
                            (C {(shift)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:t)
                                  op: Equal
                                  rhs: {($ VSub_Number "$1")}
                                  spids: [15489]
                                )
                              ]
                              spids: [15489]
                            )
                            (C {(shift)})
                            (C {(is)} {(npt)} {($ VSub_Name "$x")})
                            (C {(copy)} {($ VSub_Name "$tmp") (.c)} 
                              {
                                (DQ ("\n") ($ VSub_Name "$std") ("\n") ("#include <sys/types.h>\n") 
                                  ($ VSub_Name "$usr") ("\n") ("_BEGIN_EXTERNS_\n") ("struct _iffe_struct { int _iffe_member; };\n") 
                                  ("extern struct _iffe_struct* ") ($ VSub_Name "$x") (" _ARG_((struct _iffe_struct*));\n") ("_END_EXTERNS_\n")
                                )
                              }
                            )
                            (Case
                              to_match: {(DQ (" ") ($ VSub_Name "$cc") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (DQ (" -O ")) (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:xx)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(echo)} {($ VSub_Name "$cc")})
                                                          (C {(sed)} {(SQ <"s/ -O / /g">)})
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [15547 15559]
                                              )
                                            }
                                          spids: [15546]
                                        )
                                      ]
                                      spids: [15546]
                                    )
                                  ]
                                  spids: [15539 15544 15561 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:xx)
                                          op: Equal
                                          rhs: {($ VSub_Name "$cc")}
                                          spids: [15567]
                                        )
                                      ]
                                      spids: [15567]
                                    )
                                  ]
                                  spids: [15564 15565 15570 -1]
                                )
                              ]
                              spids: [15528 15536 15573]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (SimpleCommand
                                      words: [
                                        {(compile)}
                                        {($ VSub_Name "$xx")}
                                        {(-c)}
                                        {($ VSub_Name "$tmp") (.c)}
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_LessAnd
                                          fd: -1
                                          arg_word: {($ VSub_Name "$nullin")}
                                          spids: [15587]
                                        )
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: -1
                                          arg_word: {($ VSub_Name "$nullout")}
                                          spids: [15590]
                                        )
                                      ]
                                    )
                                  ]
                                  action: [
                                    (C {(success)} {(-)})
                                    (While
                                      cond: [(C {(Lit_Other ":")})]
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Number "$1")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(SQ )}
                                                    {(SQ <"(">) (Lit_Other "*")}
                                                    {(SQ <"[">) (Lit_Other "*")}
                                                  ]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [-1 15627 15633 -1]
                                                )
                                              ]
                                              spids: [15608 15612 15636]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:t)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$t") (" ") ($ VSub_Number "$1"))
                                                    }
                                                  spids: [15639]
                                                )
                                              ]
                                              spids: [15639]
                                            )
                                            (C {(shift)})
                                          ]
                                          spids: [15606 15650]
                                        )
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$in")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(DQ )}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:v)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [15664]
                                                )
                                              ]
                                              spids: [15664]
                                            )
                                            (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: [15681 15682 15686 -1]
                                                        )
                                                      ]
                                                      spids: [15674 15678 15689]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:t)
                                                          op: Equal
                                                          rhs: {($ VSub_Number "$1")}
                                                          spids: [15692]
                                                        )
                                                      ]
                                                      spids: [15692]
                                                    )
                                                    (C {(shift)})
                                                    (Case
                                                      to_match: {($ VSub_Name "$t")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(DQ (":"))}]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                            )
                                                          ]
                                                          spids: [15707 15709 15713 -1]
                                                        )
                                                      ]
                                                      spids: [15699 15703 15716]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:v)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$v") (" ") 
                                                                ($ VSub_Name "$t")
                                                              )
                                                            }
                                                          spids: [15719]
                                                        )
                                                      ]
                                                      spids: [15719]
                                                    )
                                                  ]
                                                  spids: [15672 15727]
                                                )
                                            )
                                          ]
                                          spids: [-1 15662 15730 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:v)
                                                  op: Equal
                                                  rhs: {($ VSub_Star "$*")}
                                                  spids: [15736]
                                                )
                                              ]
                                              spids: [15736]
                                            )
                                          ]
                                          spids: [15733 15734 15740 -1]
                                        )
                                      ]
                                      spids: [15653 15657 15743]
                                    )
                                    (C {(copy)} {(-)} 
                                      {
                                        (DQ ("extern ") ($ VSub_Name "$t") ("\t") ($ VSub_Name "$x") 
                                          ($ VSub_Name "$v") (";")
                                        )
                                      }
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$prototyped")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(SQ )}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:usr)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$usr") (${ VSub_Name nl) 
                                                        ("extern ") ($ VSub_Name "$t") (" ") ($ VSub_Name "$x") ($ VSub_Name "$v") (";")
                                                      )
                                                    }
                                                  spids: [15787]
                                                )
                                              ]
                                              spids: [15787]
                                            )
                                          ]
                                          spids: [-1 15785 15801 -1]
                                        )
                                      ]
                                      spids: [15776 15780 15804]
                                    )
                                  ]
                                  spids: [-1 15594]
                                )
                              ]
                              else_action: [
                                (C {(failure)} {(-)})
                                (Case
                                  to_match: {($ VSub_Name "$in")}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(DQ )}]
                                      action: [
                                        (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: [15839 15840 15844 -1]
                                                    )
                                                  ]
                                                  spids: [15832 15836 15847]
                                                )
                                                (Case
                                                  to_match: {($ VSub_Number "$1")}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [{(DQ (":"))}]
                                                      action: [
                                                        (ControlFlow
                                                          token: <ControlFlow_Break break>
                                                        )
                                                      ]
                                                      spids: [15858 15860 15864 -1]
                                                    )
                                                  ]
                                                  spids: [15850 15854 15867]
                                                )
                                              ]
                                              spids: [15830 15870]
                                            )
                                        )
                                      ]
                                      spids: [-1 15823 15873 -1]
                                    )
                                  ]
                                  spids: [15814 15818 15876]
                                )
                              ]
                              spids: [15807 15879]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15479 15480 15885 -1]
                        )
                        (case_arm
                          pat_list: [{(header)} {(include)} {(reference)}]
                          action: [
                            (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: [15910 15911 15915 -1]
                                        )
                                      ]
                                      spids: [15903 15907 15918]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:x)
                                          op: Equal
                                          rhs: {($ VSub_Number "$1")}
                                          spids: [15921]
                                        )
                                      ]
                                      spids: [15921]
                                    )
                                    (C {(shift)})
                                    (Case
                                      to_match: {($ VSub_Name "$x")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(DQ (":"))}]
                                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                                          spids: [15936 15938 15942 -1]
                                        )
                                      ]
                                      spids: [15928 15932 15945]
                                    )
                                    (Case
                                      to_match: {(DQ (" ") ($ VSub_Name "$gothdr") (" "))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (" - ") ($ VSub_Name "$x") (" ")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [15959 15966 15969 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (" + ") ($ VSub_Name "$x") (" ")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$usr")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") (DQ ("# include <")) 
                                                      ($ VSub_Name "$x") (DQ (">")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [15989 15998 16001 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$op")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(reference)}]
                                                          spids: [16014 16015 16018 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(copy)} {(-)} 
                                                              {
                                                                (DQ ("#include <") ($ VSub_Name "$x") 
                                                                  (">")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [16021 16022 16035 -1]
                                                        )
                                                      ]
                                                      spids: [16007 16011 16038]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:usr)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$usr") 
                                                                (${ VSub_Name nl) ("#include <") ($ VSub_Name "$x") (">")
                                                              )
                                                            }
                                                          spids: [16041]
                                                        )
                                                      ]
                                                      spids: [16041]
                                                    )
                                                  ]
                                                  spids: [16004 16005 16053 -1]
                                                )
                                              ]
                                              spids: [15982 15986 16056]
                                            )
                                          ]
                                          spids: [15972 15979 16059 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(copy)} {($ VSub_Name "$tmp") (.c)} 
                                              {
                                                (DQ ($ VSub_Name "$std") ("\n") ($ VSub_Name "$usr") 
                                                  ("\n") ("#include <") ($ VSub_Name "$x") (">\n") ("int x;\n")
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [(C {(is_hdr)} {(-)} {($ VSub_Name "$x")})]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:gothdr)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$gothdr") (" + ") 
                                                                ($ VSub_Name "$x")
                                                              )
                                                            }
                                                          spids: [16093]
                                                        )
                                                      ]
                                                      spids: [16093]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$op")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(reference)}]
                                                          spids: [16108 16109 16112 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(copy)} {(-)} 
                                                              {
                                                                (DQ ("#include <") ($ VSub_Name "$x") 
                                                                  (">")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [16115 16116 16129 -1]
                                                        )
                                                      ]
                                                      spids: [16101 16105 16132]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:usr)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$usr") 
                                                                (${ VSub_Name nl) ("#include <") ($ VSub_Name "$x") (">")
                                                              )
                                                            }
                                                          spids: [16135]
                                                        )
                                                      ]
                                                      spids: [16135]
                                                    )
                                                  ]
                                                  spids: [-1 16091]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:gothdr)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$gothdr") (" - ") 
                                                            ($ VSub_Name "$x")
                                                          )
                                                        }
                                                      spids: [16149]
                                                    )
                                                  ]
                                                  spids: [16149]
                                                )
                                              ]
                                              spids: [16147 16157]
                                            )
                                          ]
                                          spids: [16062 16063 16160 -1]
                                        )
                                      ]
                                      spids: [15948 15956 16163]
                                    )
                                  ]
                                  spids: [15901 16166]
                                )
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15888 15893 16172 -1]
                        )
                        (case_arm
                          pat_list: [{(print)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$in")}
                              arms: [
                                (case_arm
                                  pat_list: [{(DQ )}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:v)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [16189]
                                        )
                                      ]
                                      spids: [16189]
                                    )
                                    (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: [16206 16207 16211 -1]
                                                )
                                              ]
                                              spids: [16199 16203 16214]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:t)
                                                  op: Equal
                                                  rhs: {($ VSub_Number "$1")}
                                                  spids: [16217]
                                                )
                                              ]
                                              spids: [16217]
                                            )
                                            (C {(shift)})
                                            (Case
                                              to_match: {($ VSub_Name "$t")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(DQ (":"))}]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [16232 16234 16238 -1]
                                                )
                                              ]
                                              spids: [16224 16228 16241]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:v)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$v") (" ") ($ VSub_Name "$t"))
                                                    }
                                                  spids: [16244]
                                                )
                                              ]
                                              spids: [16244]
                                            )
                                          ]
                                          spids: [16197 16252]
                                        )
                                    )
                                  ]
                                  spids: [-1 16187 16255 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:v)
                                          op: Equal
                                          rhs: {($ VSub_Star "$*")}
                                          spids: [16261]
                                        )
                                      ]
                                      spids: [16261]
                                    )
                                  ]
                                  spids: [16258 16259 16265 -1]
                                )
                              ]
                              spids: [16178 16182 16268]
                            )
                            (C {(copy)} {(-)} {(DQ ($ VSub_Star "$*"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:usr)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$usr") (${ VSub_Name nl) ($ VSub_Name "$v"))}
                                  spids: [16280]
                                )
                              ]
                              spids: [16280]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [16175 16176 16293 -1]
                        )
                        (case_arm
                          pat_list: [{(ver)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(-)}
                                  spids: [16299]
                                )
                              ]
                              spids: [16299]
                            )
                            (Case
                              to_match: {($ VSub_Number "$1") (Lit_Other ":") ($ VSub_Number "$2")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "[") 
                                      (abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ) (Lit_Other "]") (Lit_Other "*") (Lit_Other ":") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) 
                                      (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) 
                                      (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) 
                                      (Lit_Other "]")
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:vers)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$vers") ($ VSub_Name "$nl") 
                                                ($ VSub_Number "$1")
                                              )
                                            }
                                          spids: [16344]
                                        )
                                      ]
                                      spids: [16344]
                                    )
                                    (C {(eval)} 
                                      {(ver_) ($ VSub_Number "$1") (Lit_Other "=") 
                                        ($ VSub_Number "$2")
                                      }
                                    )
                                  ]
                                  spids: [16312 16341 16360 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ($ VSub_Name "$command") (": ") ($ VSub_Name "$op") 
                                            (": expected: name YYYYMMDD")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: -1
                                          arg_word: {($ VSub_Name "$stderr")}
                                          spids: [16375]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16363 16364 16379 -1]
                                )
                              ]
                              spids: [16303 16309 16382]
                            )
                            (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: [16399 16400 16404 -1]
                                        )
                                      ]
                                      spids: [16392 16396 16407]
                                    )
                                    (Case
                                      to_match: {($ VSub_Number "$1")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other ":")}]
                                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                                          spids: [16417 16418 16422 -1]
                                        )
                                      ]
                                      spids: [16410 16414 16425]
                                    )
                                    (C {(shift)})
                                  ]
                                  spids: [16390 16431]
                                )
                            )
                          ]
                          spids: [16296 16297 16434 -1]
                        )
                      ]
                      spids: [14802 14806 16437]
                    )
                  ]
                  spids: [-1 14800 16440 -1]
                )
              ]
              spids: [14791 14795 16443]
            )
            (Case
              to_match: {($ VSub_Name "$ext")}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other "*") (DQ ("<stdio.h>")) (Lit_Other "*")}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$ext")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (DQ ("#define NOTE(")) (Lit_Other "*")}]
                          spids: [16475 16480 16483 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ext)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$ext") ("\n") ("#define NOTE(s)\tdo{write(9,") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (",1);write(9,s,strlen(s));write(9,") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (" ...") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (",4);}while(0)")
                                      )
                                    }
                                  spids: [16489]
                                )
                              ]
                              spids: [16489]
                            )
                          ]
                          spids: [16486 16487 16505 -1]
                        )
                      ]
                      spids: [16468 16472 16508]
                    )
                  ]
                  spids: [16459 16464 16511 -1]
                )
              ]
              spids: [16452 16456 16514]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:argx) op:Equal rhs:{(1)} spids:[16523])]
              spids: [16523]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:argv)
                  op: Equal
                  rhs: {($ VSub_Star "$*")}
                  spids: [16527]
                )
              ]
              spids: [16527]
            )
            (While
              cond: [(C {(Lit_Other ":")})]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cc)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$cc") (" ") ($ VSub_Name "$mac"))}
                          spids: [16550]
                        )
                      ]
                      spids: [16550]
                    )
                    (Case
                      to_match: {($ VSub_Name "$hdrtest")}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ )}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:hdrtest)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [16575]
                                )
                              ]
                              spids: [16575]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:allinc)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [16579]
                                )
                              ]
                              spids: [16579]
                            )
                            (ForEach
                              iter_name: x
                              iter_words: [{(types)}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name "$config")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(0)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:c)
                                                  op: Equal
                                                  rhs: {(_sys_) (${ VSub_Name x)}
                                                  spids: [16603]
                                                )
                                              ]
                                              spids: [16603]
                                            )
                                          ]
                                          spids: [16600 16601 16610 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(1)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$shell")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(ksh)}]
                                                  action: [
                                                    (C {(typeset)} {(-u)} 
                                                      {(Lit_VarLike "u=") ($ VSub_Name "$x")}
                                                    )
                                                  ]
                                                  spids: [16623 16624 16633 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:u)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(echo)} 
                                                                            {($ VSub_Name "$x")}
                                                                          )
                                                                          (C {(tr)} 
                                                                            {
                                                                              (
abcdefghijklmnopqrstuvwxyz
                                                                              )
                                                                            } {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)}
                                                                          )
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick "`">
                                                                spids: [16640 16652]
                                                              )
                                                            }
                                                          spids: [16639]
                                                        )
                                                      ]
                                                      spids: [16639]
                                                    )
                                                  ]
                                                  spids: [16636 16637 16654 -1]
                                                )
                                              ]
                                              spids: [16616 16620 16657]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:c)
                                                  op: Equal
                                                  rhs: {(HAVE_SYS_) (${ VSub_Name u) (_H)}
                                                  spids: [16660]
                                                )
                                              ]
                                              spids: [16660]
                                            )
                                          ]
                                          spids: [16613 16614 16668 -1]
                                        )
                                      ]
                                      spids: [16593 16597 16671]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:x)
                                          op: Equal
                                          rhs: {(sys/) ($ VSub_Name "$x") (.h)}
                                          spids: [16674]
                                        )
                                      ]
                                      spids: [16674]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ (${ VSub_Name allinc) ("#include <") ($ VSub_Name "$x") 
                                            (">")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {($ VSub_Name "$tmp") (.c)}
                                          spids: [16691]
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [(C {(is_hdr)} {($ VSub_Name "$x")})]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:gothdr)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$gothdr") (" + ") 
                                                        ($ VSub_Name "$x")
                                                      )
                                                    }
                                                  spids: [16706]
                                                )
                                              ]
                                              spids: [16706]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$explicit")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(0)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:can)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$can") 
                                                                ($ VSub_Name "$cansep") ("#define ") ($ VSub_Name "$c") ("\t1\t/* #include <") ($ VSub_Name "$x") ("> ok */")
                                                              )
                                                            }
                                                          spids: [16724]
                                                        )
                                                      ]
                                                      spids: [16724]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:nan)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$nan") 
                                                                ($ VSub_Name "$cansep") ($ VSub_Name "$c") ("=1")
                                                              )
                                                            }
                                                          spids: [16736]
                                                        )
                                                      ]
                                                      spids: [16736]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:cansep)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$nl")}
                                                          spids: [16745]
                                                        )
                                                      ]
                                                      spids: [16745]
                                                    )
                                                  ]
                                                  spids: [16721 16722 16749 -1]
                                                )
                                              ]
                                              spids: [16714 16718 16752]
                                            )
                                            (C {(eval)} {($ VSub_Name "$c") (Lit_Other "=") (1)})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:allinc)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ (${ VSub_Name allinc) ("#include <") 
                                                        ($ VSub_Name "$x") (">") ($ VSub_Name "$nl")
                                                      )
                                                    }
                                                  spids: [16762]
                                                )
                                              ]
                                              spids: [16762]
                                            )
                                          ]
                                          spids: [-1 16704]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:gothdr)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$gothdr") (" - ") 
                                                    ($ VSub_Name "$x")
                                                  )
                                                }
                                              spids: [16776]
                                            )
                                          ]
                                          spids: [16776]
                                        )
                                        (Case
                                          to_match: 
                                            {($ VSub_Name "$explicit") ($ VSub_Name "$all") 
                                              ($ VSub_Name "$config") ($ VSub_Name "$undef")
                                            }
                                          arms: [
                                            (case_arm
                                              pat_list: [
                                                {(0) (Lit_Other "?") (1) (Lit_Other "?")}
                                                {(0) (Lit_Other "?") (Lit_Other "?") (1)}
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:can)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$can") 
                                                            ($ VSub_Name "$cansep") ("#undef\t") ($ VSub_Name "$c") ("\t\t/* #include <") ($ VSub_Name "$x") ("> not ok */")
                                                          )
                                                        }
                                                      spids: [16806]
                                                    )
                                                  ]
                                                  spids: [16806]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:nan)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$nan") 
                                                            ($ VSub_Name "$cansep") ($ VSub_Name "$c") ("=")
                                                          )
                                                        }
                                                      spids: [16818]
                                                    )
                                                  ]
                                                  spids: [16818]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:cansep)
                                                      op: Equal
                                                      rhs: {($ VSub_Name "$nl")}
                                                      spids: [16827]
                                                    )
                                                  ]
                                                  spids: [16827]
                                                )
                                              ]
                                              spids: [16794 16803 16831 -1]
                                            )
                                            (case_arm
                                              pat_list: [{(01) (Lit_Other "?") (Lit_Other "?")}]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:can)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$can") 
                                                            ($ VSub_Name "$cansep") ("#define ") ($ VSub_Name "$c") ("\t0\t/* #include <") ($ VSub_Name "$x") ("> not ok */")
                                                          )
                                                        }
                                                      spids: [16839]
                                                    )
                                                  ]
                                                  spids: [16839]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:nan)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$nan") 
                                                            ($ VSub_Name "$cansep") ($ VSub_Name "$c") ("=0")
                                                          )
                                                        }
                                                      spids: [16851]
                                                    )
                                                  ]
                                                  spids: [16851]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:cansep)
                                                      op: Equal
                                                      rhs: {($ VSub_Name "$nl")}
                                                      spids: [16860]
                                                    )
                                                  ]
                                                  spids: [16860]
                                                )
                                              ]
                                              spids: [16834 16837 16864 -1]
                                            )
                                          ]
                                          spids: [16784 16791 16867]
                                        )
                                      ]
                                      spids: [16774 16870]
                                    )
                                  ]
                                  spids: [16591 16873]
                                )
                              spids: [16587 -1]
                            )
                          ]
                          spids: [-1 16573 16876 -1]
                        )
                      ]
                      spids: [16564 16568 16879]
                    )
                    (Case
                      to_match: {($ VSub_Name "$op")}
                      arms: [
                        (case_arm
                          pat_list: [{(npt)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:hdr)
                                  op: Equal
                                  rhs: {(DQ ("sys/types.h stdlib.h unistd.h ") ($ VSub_Name "$hdr"))}
                                  spids: [16898]
                                )
                              ]
                              spids: [16898]
                            )
                          ]
                          spids: [16895 16896 16905 -1]
                        )
                        (case_arm
                          pat_list: [{(siz)} {(typ)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:hdr)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (
"sys/types.h time.h sys/time.h sys/times.h stddef.h stdlib.h "
                                        ) ($ VSub_Name "$hdr")
                                      )
                                    }
                                  spids: [16912]
                                )
                              ]
                              spids: [16912]
                            )
                          ]
                          spids: [16908 16911 16919 -1]
                        )
                      ]
                      spids: [16888 16892 16922]
                    )
                    (Case
                      to_match: {($ VSub_Name "$hdr")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:z)
                                  op: Equal
                                  rhs: {($ VSub_Name "$hdr")}
                                  spids: [16942]
                                )
                              ]
                              spids: [16942]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:hdr)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [16946]
                                )
                              ]
                              spids: [16946]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dis)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [16949]
                                )
                              ]
                              spids: [16949]
                            )
                            (ForEach
                              iter_name: x
                              iter_words: [{($ VSub_Name "$z")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name "$x")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other "*") (.h)}]
                                          action: [
                                            (Case
                                              to_match: {(DQ (" ") ($ VSub_Name "$gothdr") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" - ") ($ VSub_Name "$x") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [16986 16993 16999 -1]
                                                )
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" + ") ($ VSub_Name "$x") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [17002 17009 17012 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$shell")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(bsh)}]
                                                          action: [
                                                            (C {(eval)} 
                                                              {
                                                                (CommandSubPart
                                                                  command_list: 
                                                                    (CommandList
                                                                      children: [
                                                                        (Pipeline
                                                                          children: [
                                                                            (C {(echo)} 
                                                                              {($ VSub_Name "$x")}
                                                                            )
                                                                            (C {(sed)} {(-e)} 
                                                                              {
                                                                                (SQ 
                                                                                  <
"s,^\\\\([^\\\\\\\\/]*\\\\).*[\\\\\\\\/]\\\\([^\\\\\\\\/]*\\\\)\\$,\\\\1_\\\\2,"
                                                                                  >
                                                                                )
                                                                              } {(-e)} {(SQ <"s/\\\\..*//">)} {(-e)} {(SQ <"s/^/c=/">)}
                                                                            )
                                                                          ]
                                                                          negated: False
                                                                        )
                                                                      ]
                                                                    )
                                                                  left_token: <Left_Backtick "`">
                                                                  spids: [17030 17056]
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [17025 17026 17059 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(eval)} {(SQ <"c=${x##*[\\\\/]}">)})
                                                            (C {(eval)} {(SQ <"c=${c%%.*}">)})
                                                            (Case
                                                              to_match: {($ VSub_Name "$x")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (/) 
                                                                      (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (C {(eval)} 
                                                                      {
                                                                        (SQ <"c=${x%%[\\\\/]*}_${c}">)
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [17086 17089 17097 -1]
                                                                )
                                                              ]
                                                              spids: [17079 17083 17100]
                                                            )
                                                          ]
                                                          spids: [17062 17063 17103 -1]
                                                        )
                                                      ]
                                                      spids: [17018 17022 17106]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$explicit")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:dis)
                                                                  op: Equal
                                                                  rhs: {(0)}
                                                                  spids: [17119]
                                                                )
                                                              ]
                                                              spids: [17119]
                                                            )
                                                          ]
                                                          spids: [17116 17117 17123 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$x")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (/) 
                                                                      (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:dis)
                                                                          op: Equal
                                                                          rhs: {($ VSub_Name "$c")}
                                                                          spids: [17141]
                                                                        )
                                                                      ]
                                                                      spids: [17141]
                                                                    )
                                                                  ]
                                                                  spids: [17136 17139 17144 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:dis)
                                                                          op: Equal
                                                                          rhs: {(hdr)}
                                                                          spids: [17150]
                                                                        )
                                                                      ]
                                                                      spids: [17150]
                                                                    )
                                                                  ]
                                                                  spids: [17147 17148 17153 -1]
                                                                )
                                                              ]
                                                              spids: [17129 17133 17156]
                                                            )
                                                            (Case
                                                              to_match: {(${ VSub_Name dis) (_)}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(${ VSub_Name op) (_) 
                                                                      (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:dis)
                                                                          op: Equal
                                                                          rhs: {(0)}
                                                                          spids: [17175]
                                                                        )
                                                                      ]
                                                                      spids: [17175]
                                                                    )
                                                                  ]
                                                                  spids: [17169 17174 17178 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:dis)
                                                                          op: Equal
                                                                          rhs: {(1)}
                                                                          spids: [17184]
                                                                        )
                                                                      ]
                                                                      spids: [17184]
                                                                    )
                                                                  ]
                                                                  spids: [17181 17182 17187 -1]
                                                                )
                                                              ]
                                                              spids: [17159 17166 17190]
                                                            )
                                                          ]
                                                          spids: [17126 17127 17193 -1]
                                                        )
                                                      ]
                                                      spids: [17109 17113 17196]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$config")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$x")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (/) 
                                                                      (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:c)
                                                                          op: Equal
                                                                          rhs: {(_) (${ VSub_Name c)}
                                                                          spids: [17221]
                                                                        )
                                                                      ]
                                                                      spids: [17221]
                                                                    )
                                                                  ]
                                                                  spids: [17216 17219 17227 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:c)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {(_hdr_) 
                                                                              (${ VSub_Name c)
                                                                            }
                                                                          spids: [17233]
                                                                        )
                                                                      ]
                                                                      spids: [17233]
                                                                    )
                                                                  ]
                                                                  spids: [17230 17231 17239 -1]
                                                                )
                                                              ]
                                                              spids: [17209 17213 17242]
                                                            )
                                                          ]
                                                          spids: [17206 17207 17245 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(1)}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$shell")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(ksh)}]
                                                                  action: [
                                                                    (C {(typeset)} {(-u)} 
                                                                      {(Lit_VarLike "u=") 
                                                                        ($ VSub_Name "$c")
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [17258 17259 17268 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:u)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (Pipeline
                                                                                        children: [
                                                                                          (C {(echo)} 
                                                                                            {
                                                                                              ($ 
VSub_Name "$c"
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                          (C {(tr)} 
                                                                                            {
                                                                                              (
abcdefghijklmnopqrstuvwxyz
                                                                                              )
                                                                                            } {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)}
                                                                                          )
                                                                                        ]
                                                                                        negated: 
False
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [17275 17287]
                                                                              )
                                                                            }
                                                                          spids: [17274]
                                                                        )
                                                                      ]
                                                                      spids: [17274]
                                                                    )
                                                                  ]
                                                                  spids: [17271 17272 17289 -1]
                                                                )
                                                              ]
                                                              spids: [17251 17255 17292]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:c)
                                                                  op: Equal
                                                                  rhs: {(HAVE_) (${ VSub_Name u) (_H)}
                                                                  spids: [17295]
                                                                )
                                                              ]
                                                              spids: [17295]
                                                            )
                                                          ]
                                                          spids: [17248 17249 17303 -1]
                                                        )
                                                      ]
                                                      spids: [17199 17203 17306]
                                                    )
                                                    (SimpleCommand
                                                      words: [
                                                        {(echo)}
                                                        {
                                                          (DQ (${ VSub_Name allinc) ("#include <") 
                                                            ($ VSub_Name "$x") (">")
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$tmp") (.c)}
                                                          spids: [17320]
                                                        )
                                                      ]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [(C {(is_hdr)} {($ VSub_Name "$x")})]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:gothdr)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$gothdr") 
                                                                        (" + ") ($ VSub_Name "$x")
                                                                      )
                                                                    }
                                                                  spids: [17335]
                                                                )
                                                              ]
                                                              spids: [17335]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name "$dis")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(0)}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:can)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name "$can") ($ VSub_Name "$cansep") ("#define ") ($ VSub_Name "$c") ("\t1\t/* #include <") ($ VSub_Name "$x") 
                                                                                ("> ok */")
                                                                              )
                                                                            }
                                                                          spids: [17353]
                                                                        )
                                                                      ]
                                                                      spids: [17353]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:nan)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name "$nan") ($ VSub_Name "$cansep") ($ VSub_Name "$c") ("=1")
                                                                              )
                                                                            }
                                                                          spids: [17365]
                                                                        )
                                                                      ]
                                                                      spids: [17365]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:cansep)
                                                                          op: Equal
                                                                          rhs: {($ VSub_Name "$nl")}
                                                                          spids: [17374]
                                                                        )
                                                                      ]
                                                                      spids: [17374]
                                                                    )
                                                                  ]
                                                                  spids: [17350 17351 17378 -1]
                                                                )
                                                              ]
                                                              spids: [17343 17347 17381]
                                                            )
                                                            (C {(eval)} 
                                                              {($ VSub_Name "$c") (Lit_Other "=") (1)}
                                                            )
                                                          ]
                                                          spids: [-1 17333]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:gothdr)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name "$gothdr") (" - ") 
                                                                    ($ VSub_Name "$x")
                                                                  )
                                                                }
                                                              spids: [17393]
                                                            )
                                                          ]
                                                          spids: [17393]
                                                        )
                                                        (Case
                                                          to_match: 
                                                            {($ VSub_Name "$dis") 
                                                              ($ VSub_Name "$all") ($ VSub_Name "$config") ($ VSub_Name "$undef")
                                                            }
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [
                                                                {(0) (Lit_Other "?") (1) 
                                                                  (Lit_Other "?")
                                                                }
                                                                {(0) (Lit_Other "?") (Lit_Other "?") 
                                                                  (1)
                                                                }
                                                              ]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:can)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ ($ VSub_Name "$can") 
                                                                            ($ VSub_Name "$cansep") ("#undef\t") ($ VSub_Name "$c") ("\t\t/* #include <") ($ VSub_Name "$x") ("> not ok */")
                                                                          )
                                                                        }
                                                                      spids: [17423]
                                                                    )
                                                                  ]
                                                                  spids: [17423]
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:nan)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ ($ VSub_Name "$nan") 
                                                                            ($ VSub_Name "$cansep") ($ VSub_Name "$c") ("=")
                                                                          )
                                                                        }
                                                                      spids: [17435]
                                                                    )
                                                                  ]
                                                                  spids: [17435]
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:cansep)
                                                                      op: Equal
                                                                      rhs: {($ VSub_Name "$nl")}
                                                                      spids: [17444]
                                                                    )
                                                                  ]
                                                                  spids: [17444]
                                                                )
                                                              ]
                                                              spids: [17411 17420 17448 -1]
                                                            )
                                                            (case_arm
                                                              pat_list: [
                                                                {(01) (Lit_Other "?") (Lit_Other "?")}
                                                              ]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:can)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ ($ VSub_Name "$can") 
                                                                            ($ VSub_Name "$cansep") ("#define ") ($ VSub_Name "$c") ("\t0\t/* #include <") ($ VSub_Name "$x") ("> not ok */")
                                                                          )
                                                                        }
                                                                      spids: [17456]
                                                                    )
                                                                  ]
                                                                  spids: [17456]
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:nan)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ ($ VSub_Name "$nan") 
                                                                            ($ VSub_Name "$cansep") ($ VSub_Name "$c") ("=0")
                                                                          )
                                                                        }
                                                                      spids: [17468]
                                                                    )
                                                                  ]
                                                                  spids: [17468]
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:cansep)
                                                                      op: Equal
                                                                      rhs: {($ VSub_Name "$nl")}
                                                                      spids: [17477]
                                                                    )
                                                                  ]
                                                                  spids: [17477]
                                                                )
                                                              ]
                                                              spids: [17451 17454 17481 -1]
                                                            )
                                                          ]
                                                          spids: [17401 17408 17484]
                                                        )
                                                        (ControlFlow
                                                          token: <ControlFlow_Continue continue>
                                                        )
                                                      ]
                                                      spids: [17391 17490]
                                                    )
                                                  ]
                                                  spids: [17015 17016 17493 -1]
                                                )
                                              ]
                                              spids: [16975 16983 17496]
                                            )
                                          ]
                                          spids: [16971 16973 17499 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-r)} {($ VSub_Name "$x")})
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [17502 17503 17516 -1]
                                        )
                                      ]
                                      spids: [16964 16968 17519]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:hdr)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$hdr") (" ") ($ VSub_Name "$x"))}
                                          spids: [17522]
                                        )
                                      ]
                                      spids: [17522]
                                    )
                                  ]
                                  spids: [16962 17530]
                                )
                              spids: [16958 -1]
                            )
                          ]
                          spids: [16938 16940 17533 -1]
                        )
                      ]
                      spids: [16931 16935 17536]
                    )
                    (Case
                      to_match: {($ VSub_Name "$lib")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:z)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [17556]
                                )
                              ]
                              spids: [17556]
                            )
                            (ForEach
                              iter_name: p
                              iter_words: [{($ VSub_Name "$lib")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:z)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$p") (" ") ($ VSub_Name "$z"))}
                                          spids: [17570]
                                        )
                                      ]
                                      spids: [17570]
                                    )
                                  ]
                                  spids: [17568 17578]
                                )
                              spids: [17564 -1]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [17581]
                                )
                              ]
                              spids: [17581]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:p)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [17584]
                                )
                              ]
                              spids: [17584]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:hit)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [17587]
                                )
                              ]
                              spids: [17587]
                            )
                            (SimpleCommand
                              words: [{(echo)} {(DQ ("int main(){return(0);}"))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: -1
                                  arg_word: {($ VSub_Name "$tmp") (.c)}
                                  spids: [17597]
                                )
                              ]
                            )
                            (ForEach
                              iter_name: x
                              iter_words: [{($ VSub_Name "$z")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:p)
                                          op: Equal
                                          rhs: {($ VSub_Name "$x")}
                                          spids: [17614]
                                        )
                                      ]
                                      spids: [17614]
                                    )
                                    (Case
                                      to_match: {(DQ (" ") ($ VSub_Name "$gotlib") (" "))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ ("- ") ($ VSub_Name "$p") (" ")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (C {(failure)} {(Lit_Other "+")})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:p)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [17644]
                                                )
                                              ]
                                              spids: [17644]
                                            )
                                          ]
                                          spids: [17629 17636 17647 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ ("+ ") ($ VSub_Name "$p") (" ")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (C {(success)} {(Lit_Other "+")})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$p") (" ") ($ VSub_Name "$lib"))
                                                    }
                                                  spids: [17665]
                                                )
                                              ]
                                              spids: [17665]
                                            )
                                          ]
                                          spids: [17650 17657 17673 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(rm)} {(-f)} {($ VSub_Name "$tmp") (.exe)})
                                            (C {(is)} {(LIB)} {($ VSub_Name "$p")})
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (SimpleCommand
                                                      words: [
                                                        {(compile)}
                                                        {($ VSub_Name "$cc")}
                                                        {(-o)}
                                                        {($ VSub_Name "$tmp") (.exe)}
                                                        {($ VSub_Name "$tmp") (.c)}
                                                        {($ VSub_Name "$p")}
                                                        {($ VSub_Name "$lib")}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_LessAnd
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$nullin")}
                                                          spids: [17712]
                                                        )
                                                        (Redir
                                                          op_id: Redir_GreatAnd
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$nullout")}
                                                          spids: [17715]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(success)})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:gotlib)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$gotlib") (" + ") 
                                                                ($ VSub_Name "$p")
                                                              )
                                                            }
                                                          spids: [17724]
                                                        )
                                                      ]
                                                      spids: [17724]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$p") (" ") 
                                                                ($ VSub_Name "$lib")
                                                              )
                                                            }
                                                          spids: [17732]
                                                        )
                                                      ]
                                                      spids: [17732]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:e)
                                                          op: Equal
                                                          rhs: {(0)}
                                                          spids: [17740]
                                                        )
                                                      ]
                                                      spids: [17740]
                                                    )
                                                  ]
                                                  spids: [-1 17719]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:a)
                                                      op: Equal
                                                      rhs: {(SQ )}
                                                      spids: [17746]
                                                    )
                                                  ]
                                                  spids: [17746]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:e)
                                                      op: Equal
                                                      rhs: {(1)}
                                                      spids: [17749]
                                                    )
                                                  ]
                                                  spids: [17749]
                                                )
                                                (ForEach
                                                  iter_name: l
                                                  iter_words: [{($ VSub_Name "$z")}]
                                                  do_arg_iter: False
                                                  body: 
                                                    (DoGroup
                                                      children: [
                                                        (Case
                                                          to_match: {($ VSub_Name "$l")}
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [{(-)}]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:a)
                                                                      op: Equal
                                                                      rhs: {(SQ )}
                                                                      spids: [17774]
                                                                    )
                                                                  ]
                                                                  spids: [17774]
                                                                )
                                                                (ControlFlow
                                                                  token: 
                                                                    <ControlFlow_Continue continue>
                                                                )
                                                              ]
                                                              spids: [17771 17772 17780 -1]
                                                            )
                                                            (case_arm
                                                              pat_list: [{($ VSub_Name "$p")}]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:a)
                                                                      op: Equal
                                                                      rhs: {($ VSub_Name "$p")}
                                                                      spids: [17786]
                                                                    )
                                                                  ]
                                                                  spids: [17786]
                                                                )
                                                                (ControlFlow
                                                                  token: 
                                                                    <ControlFlow_Continue continue>
                                                                )
                                                              ]
                                                              spids: [17783 17784 17793 -1]
                                                            )
                                                            (case_arm
                                                              pat_list: [{(Lit_Other "*")}]
                                                              action: [
                                                                (Case
                                                                  to_match: {($ VSub_Name "$gotlib")}
                                                                  arms: [
                                                                    (case_arm
                                                                      pat_list: [
                                                                        {(Lit_Other "*") 
                                                                          (DQ (" ") ($ VSub_Name "$l") 
                                                                            (" ")
                                                                          ) (Lit_Other "*")
                                                                        }
                                                                      ]
                                                                      action: [
                                                                        (ControlFlow
                                                                          token: 
                                                                            <ControlFlow_Continue 
continue
                                                                            >
                                                                        )
                                                                      ]
                                                                      spids: [17806 17813 17817 -1]
                                                                    )
                                                                  ]
                                                                  spids: [17799 17803 17820]
                                                                )
                                                              ]
                                                              spids: [17796 17797 17823 -1]
                                                            )
                                                          ]
                                                          spids: [17764 17768 17826]
                                                        )
                                                        (Case
                                                          to_match: {($ VSub_Name "$a")}
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [{($ VSub_Name "$p")}]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:a)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ ($ VSub_Name "$a") (" ") 
                                                                            ($ VSub_Name "$l")
                                                                          )
                                                                        }
                                                                      spids: [17839]
                                                                    )
                                                                  ]
                                                                  spids: [17839]
                                                                )
                                                                (If
                                                                  arms: [
                                                                    (if_arm
                                                                      cond: [
                                                                        (SimpleCommand
                                                                          words: [
                                                                            {(compile)}
                                                                            {($ VSub_Name "$cc")}
                                                                            {(-o)}
                                                                            {($ VSub_Name "$tmp") 
                                                                              (.exe)
                                                                            }
                                                                            {($ VSub_Name "$tmp") 
                                                                              (.c)
                                                                            }
                                                                            {($ VSub_Name "$a")}
                                                                          ]
                                                                          redirects: [
                                                                            (Redir
                                                                              op_id: Redir_LessAnd
                                                                              fd: -1
                                                                              arg_word: 
                                                                                {
                                                                                  ($ VSub_Name 
"$nullin"
                                                                                  )
                                                                                }
                                                                              spids: [17863]
                                                                            )
                                                                            (Redir
                                                                              op_id: Redir_GreatAnd
                                                                              fd: -1
                                                                              arg_word: 
                                                                                {
                                                                                  ($ VSub_Name 
"$nullout"
                                                                                  )
                                                                                }
                                                                              spids: [17866]
                                                                            )
                                                                          ]
                                                                        )
                                                                      ]
                                                                      action: [
                                                                        (C {(success)})
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: gotlib
                                                                                )
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
"$gotlib"
                                                                                    ) (" + ") ($ VSub_Name "$p")
                                                                                  )
                                                                                }
                                                                              spids: [17875]
                                                                            )
                                                                          ]
                                                                          spids: [17875]
                                                                        )
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: (LhsName name:lib)
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name "$p") (" ") ($ VSub_Name "$lib")
                                                                                  )
                                                                                }
                                                                              spids: [17883]
                                                                            )
                                                                          ]
                                                                          spids: [17883]
                                                                        )
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: (LhsName name:e)
                                                                              op: Equal
                                                                              rhs: {(0)}
                                                                              spids: [17891]
                                                                            )
                                                                          ]
                                                                          spids: [17891]
                                                                        )
                                                                        (ControlFlow
                                                                          token: 
                                                                            <ControlFlow_Break 
break
                                                                            >
                                                                        )
                                                                      ]
                                                                      spids: [-1 17870]
                                                                    )
                                                                  ]
                                                                  spids: [-1 17898]
                                                                )
                                                              ]
                                                              spids: [17836 17837 17901 -1]
                                                            )
                                                          ]
                                                          spids: [17829 17833 17904]
                                                        )
                                                      ]
                                                      spids: [17762 17907]
                                                    )
                                                  spids: [17758 -1]
                                                )
                                                (Case
                                                  to_match: {($ VSub_Name "$e")}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [{(1)}]
                                                      action: [
                                                        (C {(failure)})
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:gotlib)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name "$gotlib") (" - ") 
                                                                    ($ VSub_Name "$p")
                                                                  )
                                                                }
                                                              spids: [17923]
                                                            )
                                                          ]
                                                          spids: [17923]
                                                        )
                                                      ]
                                                      spids: [17917 17918 17931 -1]
                                                    )
                                                  ]
                                                  spids: [17910 17914 17934]
                                                )
                                              ]
                                              spids: [17744 17937]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:y)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [17940]
                                                )
                                              ]
                                              spids: [17940]
                                            )
                                            (ForEach
                                              iter_name: x
                                              iter_words: [{($ VSub_Name "$p")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$shell")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(bsh)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:c)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (Pipeline
                                                                                children: [
                                                                                  (C {(echo)} 
                                                                                    {(X) 
                                                                                      ($ VSub_Name 
"$x"
                                                                                      )
                                                                                    }
                                                                                  )
                                                                                  (C {(sed)} 
                                                                                    {
                                                                                      (SQ <"s,X-l,,">)
                                                                                    }
                                                                                  )
                                                                                ]
                                                                                negated: False
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick "`">
                                                                        spids: [17965 17978]
                                                                      )
                                                                    }
                                                                  spids: [17964]
                                                                )
                                                              ]
                                                              spids: [17964]
                                                            )
                                                          ]
                                                          spids: [17961 17962 17980 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [(C {(eval)} {(SQ <"c=${x#-l}">)})]
                                                          spids: [17983 17984 17992 -1]
                                                        )
                                                      ]
                                                      spids: [17954 17958 17995]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$c")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") (Lit_Other "[") 
                                                              (KW_Bang "!") (abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_) (Lit_Other "]") (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:c)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (Pipeline
                                                                                children: [
                                                                                  (C {(echo)} {(SQ )} 
                                                                                    {
                                                                                      ($ VSub_Name 
"$c"
                                                                                      )
                                                                                    }
                                                                                  )
                                                                                  (C {(sed)} {(-e)} 
                                                                                    {
                                                                                      (SQ 
                                                                                        <
"s,.*[\\\\\\\\/],,"
                                                                                        >
                                                                                      )
                                                                                    } {(-e)} {(SQ <"s,\\.[^.]*$,,">)} {(-e)} 
                                                                                    {
                                                                                      (SQ 
                                                                                        <
"s,[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_],_,g"
                                                                                        >
                                                                                      )
                                                                                    } {(-e)} {(SQ <"/^lib./s,^lib,,">)}
                                                                                  )
                                                                                ]
                                                                                negated: False
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick "`">
                                                                        spids: [18015 18050]
                                                                      )
                                                                    }
                                                                  spids: [18014]
                                                                )
                                                              ]
                                                              spids: [18014]
                                                            )
                                                          ]
                                                          spids: [18005 18011 18053 -1]
                                                        )
                                                      ]
                                                      spids: [17998 18002 18056]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$config")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {($ VSub_Name "$e") 
                                                                  ($ VSub_Name "$p")
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(0) (Lit_Other "*") (SQ <" ">) 
                                                                      (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {
                                                                          (DQ (" ") 
                                                                            ($ VSub_Name "$gotlib") (" ")
                                                                          )
                                                                        }
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "*") 
                                                                              (Lit_Other "[") (-) (Lit_Other "+") (Lit_Other "]") (DQ (" ") ($ VSub_Name "$x") (" ")) (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          spids: [18096 18107 18110 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: can
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$can"
                                                                                        ) ($ VSub_Name "$cansep") ("#define _LIB_") ($ VSub_Name "$c") ("\t1\t/* ") ($ VSub_Name "$x") 
                                                                                        (
" is a library */"
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [18116]
                                                                                )
                                                                              ]
                                                                              spids: [18116]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: nan
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$nan"
                                                                                        ) (${ VSub_Name cansep) (_LIB_) ($ VSub_Name "$c") ("=1")
                                                                                      )
                                                                                    }
                                                                                  spids: [18128]
                                                                                )
                                                                              ]
                                                                              spids: [18128]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: cansep
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$nl"
                                                                                      )
                                                                                    }
                                                                                  spids: [18140]
                                                                                )
                                                                              ]
                                                                              spids: [18140]
                                                                            )
                                                                            (C {(eval)} 
                                                                              {(_LIB_) 
                                                                                ($ VSub_Name "$c") (Lit_Other "=") (1)
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [18113 18114 18152 -1]
                                                                        )
                                                                      ]
                                                                      spids: [18085 18093 18155]
                                                                    )
                                                                  ]
                                                                  spids: [18077 18083 18158 -1]
                                                                )
                                                              ]
                                                              spids: [18069 18074 18161]
                                                            )
                                                          ]
                                                          spids: [18066 18067 18164 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(1)}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$shell")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(ksh)}]
                                                                  action: [
                                                                    (C {(typeset)} {(-u)} 
                                                                      {(Lit_VarLike "u=") 
                                                                        ($ VSub_Name "$c")
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [18177 18178 18187 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:u)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (Pipeline
                                                                                        children: [
                                                                                          (C {(echo)} 
                                                                                            {
                                                                                              ($ 
VSub_Name "$c"
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                          (C {(tr)} 
                                                                                            {
                                                                                              (
abcdefghijklmnopqrstuvwxyz
                                                                                              )
                                                                                            } {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)}
                                                                                          )
                                                                                        ]
                                                                                        negated: 
False
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [18194 18206]
                                                                              )
                                                                            }
                                                                          spids: [18193]
                                                                        )
                                                                      ]
                                                                      spids: [18193]
                                                                    )
                                                                  ]
                                                                  spids: [18190 18191 18208 -1]
                                                                )
                                                              ]
                                                              spids: [18170 18174 18211]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:c)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$u")}
                                                                  spids: [18214]
                                                                )
                                                              ]
                                                              spids: [18214]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name "$e")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(0) (Lit_Other "*") (SQ <" ">) 
                                                                      (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {
                                                                          (DQ (" ") 
                                                                            ($ VSub_Name "$gotlib") (" ")
                                                                          )
                                                                        }
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "*") 
                                                                              (Lit_Other "[") (-) (Lit_Other "+") (Lit_Other "]") (DQ (" ") ($ VSub_Name "$x") (" ")) (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          spids: [18244 18255 18258 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: can
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$can"
                                                                                        ) ($ VSub_Name "$cansep") ("#define HAVE_") (${ VSub_Name c) ("_LIB\t1\t/* ") ($ VSub_Name "$x") 
                                                                                        (
" is a library */"
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [18264]
                                                                                )
                                                                              ]
                                                                              spids: [18264]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: nan
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$nan"
                                                                                        ) (${ VSub_Name cansep) (HAVE_) (${ VSub_Name c) ("_LIB=1")
                                                                                      )
                                                                                    }
                                                                                  spids: [18278]
                                                                                )
                                                                              ]
                                                                              spids: [18278]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: cansep
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$nl"
                                                                                      )
                                                                                    }
                                                                                  spids: [18292]
                                                                                )
                                                                              ]
                                                                              spids: [18292]
                                                                            )
                                                                            (C {(eval)} 
                                                                              {(HAVE_) 
                                                                                (${ VSub_Name c) (Lit_VarLike "_LIB=") (1)
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [18261 18262 18306 -1]
                                                                        )
                                                                      ]
                                                                      spids: [18233 18241 18309]
                                                                    )
                                                                  ]
                                                                  spids: [18225 18231 18312 -1]
                                                                )
                                                              ]
                                                              spids: [18218 18222 18315]
                                                            )
                                                          ]
                                                          spids: [18167 18168 18318 -1]
                                                        )
                                                      ]
                                                      spids: [18059 18063 18321]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:y)
                                                          op: Equal
                                                          rhs: 
                                                            {(${ VSub_Name y) (_) ($ VSub_Name "$c")}
                                                          spids: [18324]
                                                        )
                                                      ]
                                                      spids: [18324]
                                                    )
                                                  ]
                                                  spids: [17952 18332]
                                                )
                                              spids: [17948 -1]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$config")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(0)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:c)
                                                          op: Equal
                                                          rhs: {(_LIB) (${ VSub_Name y)}
                                                          spids: [18345]
                                                        )
                                                      ]
                                                      spids: [18345]
                                                    )
                                                  ]
                                                  spids: [18342 18343 18351 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(1)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:c)
                                                          op: Equal
                                                          rhs: {(HAVE) (${ VSub_Name y) (_LIB)}
                                                          spids: [18357]
                                                        )
                                                      ]
                                                      spids: [18357]
                                                    )
                                                  ]
                                                  spids: [18354 18355 18364 -1]
                                                )
                                              ]
                                              spids: [18335 18339 18367]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$p")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") (SQ <" ">) (Lit_Other "*")}
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:q)
                                                          op: Equal
                                                          rhs: {(DQ ("a library group"))}
                                                          spids: [18384]
                                                        )
                                                      ]
                                                      spids: [18384]
                                                    )
                                                  ]
                                                  spids: [18377 18382 18389 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:q)
                                                          op: Equal
                                                          rhs: {(DQ ("a library"))}
                                                          spids: [18395]
                                                        )
                                                      ]
                                                      spids: [18395]
                                                    )
                                                  ]
                                                  spids: [18392 18393 18400 -1]
                                                )
                                              ]
                                              spids: [18370 18374 18403]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$e")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(0)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:can)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$can") 
                                                                ($ VSub_Name "$cansep") ("#define ") ($ VSub_Name "$c") ("\t1\t/* ") ($ VSub_Name "$p") (" is ") ($ VSub_Name "$q") (" */")
                                                              )
                                                            }
                                                          spids: [18416]
                                                        )
                                                      ]
                                                      spids: [18416]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:nan)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$nan") 
                                                                ($ VSub_Name "$cansep") ($ VSub_Name "$c") ("=1")
                                                              )
                                                            }
                                                          spids: [18430]
                                                        )
                                                      ]
                                                      spids: [18430]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:cansep)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$nl")}
                                                          spids: [18439]
                                                        )
                                                      ]
                                                      spids: [18439]
                                                    )
                                                    (C {(eval)} 
                                                      {($ VSub_Name "$c") (Lit_Other "=") (1)}
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$hit")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(1)}]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                            )
                                                          ]
                                                          spids: [18457 18458 18462 -1]
                                                        )
                                                      ]
                                                      spids: [18450 18454 18465]
                                                    )
                                                  ]
                                                  spids: [18413 18414 18468 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(1)}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {($ VSub_Name "$all") 
                                                          ($ VSub_Name "$config") ($ VSub_Name "$undef")
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "?") (1) (Lit_Other "?")}
                                                            {(Lit_Other "?") (Lit_Other "?") (1)}
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:can)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$can") 
                                                                        ($ VSub_Name "$cansep") ("#undef\t") ($ VSub_Name "$c") ("\t\t/* ") ($ VSub_Name "$p") (" is not ") ($ VSub_Name "$q") (" */")
                                                                      )
                                                                    }
                                                                  spids: [18491]
                                                                )
                                                              ]
                                                              spids: [18491]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:nan)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$nan") 
                                                                        ($ VSub_Name "$cansep") ($ VSub_Name "$c") ("=")
                                                                      )
                                                                    }
                                                                  spids: [18505]
                                                                )
                                                              ]
                                                              spids: [18505]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:cansep)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$nl")}
                                                                  spids: [18514]
                                                                )
                                                              ]
                                                              spids: [18514]
                                                            )
                                                          ]
                                                          spids: [18483 18490 18518 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [
                                                            {(1) (Lit_Other "?") (Lit_Other "?")}
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:can)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$can") 
                                                                        ($ VSub_Name "$cansep") ("#define ") ($ VSub_Name "$c") ("\t0\t/* ") ($ VSub_Name "$p") (" is not ") ($ VSub_Name "$q") (" */")
                                                                      )
                                                                    }
                                                                  spids: [18526]
                                                                )
                                                              ]
                                                              spids: [18526]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:nan)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$nan") 
                                                                        ($ VSub_Name "$cansep") ($ VSub_Name "$c") ("=0")
                                                                      )
                                                                    }
                                                                  spids: [18540]
                                                                )
                                                              ]
                                                              spids: [18540]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:cansep)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$nl")}
                                                                  spids: [18549]
                                                                )
                                                              ]
                                                              spids: [18549]
                                                            )
                                                          ]
                                                          spids: [18521 18524 18553 -1]
                                                        )
                                                      ]
                                                      spids: [18474 18480 18556]
                                                    )
                                                    (C {(eval)} 
                                                      {($ VSub_Name "$c") (Lit_Other "=") (0)}
                                                    )
                                                  ]
                                                  spids: [18471 18472 18566 -1]
                                                )
                                              ]
                                              spids: [18406 18410 18569]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:p)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [18572]
                                                )
                                              ]
                                              spids: [18572]
                                            )
                                          ]
                                          spids: [17676 17677 18575 -1]
                                        )
                                      ]
                                      spids: [17618 17626 18578]
                                    )
                                  ]
                                  spids: [17612 18581]
                                )
                              spids: [17608 -1]
                            )
                          ]
                          spids: [17552 17554 18584 -1]
                        )
                      ]
                      spids: [17545 17549 18587]
                    )
                    (Case
                      to_match: {($ VSub_Name "$op")}
                      arms: [
                        (case_arm
                          pat_list: [{(ref)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deflib)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$deflib") (" ") ($ VSub_Name "$lib"))}
                                  spids: [18606]
                                )
                              ]
                              spids: [18606]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:defhdr)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$defhdr") (" ") ($ VSub_Name "$hdr"))}
                                  spids: [18614]
                                )
                              ]
                              spids: [18614]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [18603 18604 18625 -1]
                        )
                      ]
                      spids: [18596 18600 18628]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(DQ (" ,"))}
                          spids: [18631]
                        )
                      ]
                      spids: [18631]
                    )
                    (Case
                      to_match: {($ VSub_Name "$shell")}
                      arms: [
                        (case_arm
                          pat_list: [{(bash)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:op)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [(C {(echo)} {($ VSub_Name "$op")})]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [18648 18652]
                                      )
                                    }
                                  spids: [18647]
                                )
                              ]
                              spids: [18647]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [(C {(echo)} {($ VSub_Name "$arg")})]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [18656 18660]
                                      )
                                    }
                                  spids: [18655]
                                )
                              ]
                              spids: [18655]
                            )
                          ]
                          spids: [18644 18645 18663 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (C {(eval)} 
                              {(Lit_VarLike "op=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) ($ VSub_Name "$op") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                              }
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "arg=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) ($ VSub_Name "$arg") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                              }
                            )
                          ]
                          spids: [18666 18667 18685 -1]
                        )
                      ]
                      spids: [18637 18641 18688]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name "$ifs")}
                          spids: [18691]
                        )
                      ]
                      spids: [18691]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:x) op:Equal rhs:{(SQ )} spids:[18701])]
                      spids: [18701]
                    )
                    (ForEach
                      iter_name: o
                      iter_words: [{($ VSub_Name "$op")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name "$o")}
                              arms: [
                                (case_arm
                                  pat_list: [{(def)} {(default)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:x)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$x") 
                                                (" cmd dat hdr key lib mth sys typ")
                                              )
                                            }
                                          spids: [18727]
                                        )
                                      ]
                                      spids: [18727]
                                    )
                                  ]
                                  spids: [18722 18725 18733 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:x)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$x") (" ") ($ VSub_Name "$o"))}
                                          spids: [18739]
                                        )
                                      ]
                                      spids: [18739]
                                    )
                                  ]
                                  spids: [18736 18737 18746 -1]
                                )
                              ]
                              spids: [18715 18719 18749]
                            )
                          ]
                          spids: [18713 18752]
                        )
                      spids: [18709 -1]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:result)
                          op: Equal
                          rhs: {(UNKNOWN)}
                          spids: [18761]
                        )
                      ]
                      spids: [18761]
                    )
                    (ForEach
                      iter_name: o
                      iter_words: [{($ VSub_Name "$x")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (ForEach
                              iter_name: a
                              iter_words: [{($ VSub_Name "$arg")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:c)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [18787]
                                        )
                                      ]
                                      spids: [18787]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$a")}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (Lit_Other "[") (.) 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\\\">
                                              ) (/) (Lit_Other "]") (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$o")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(hdr)} {(lcl)} {(nxt)} {(pth)} {(sys)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:x)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$a")}
                                                          spids: [18826]
                                                        )
                                                      ]
                                                      spids: [18826]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$x")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") (.lcl)}
                                                            {(Lit_Other "*") (.nxt)}
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$o")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(sys)}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:x)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {(sys/) 
                                                                              ($ VSub_Name "$x")
                                                                            }
                                                                          spids: [18855]
                                                                        )
                                                                      ]
                                                                      spids: [18855]
                                                                    )
                                                                  ]
                                                                  spids: [18852 18853 18859 -1]
                                                                )
                                                              ]
                                                              spids: [18845 18849 18862]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name "$shell")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(bsh)}]
                                                                  action: [
                                                                    (C {(eval)} 
                                                                      {
                                                                        (CommandSubPart
                                                                          command_list: 
                                                                            (CommandList
                                                                              children: [
                                                                                (Pipeline
                                                                                  children: [
                                                                                    (C {(echo)} 
                                                                                      {
                                                                                        ($ VSub_Name 
"$x"
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                    (C {(sed)} 
                                                                                      {
                                                                                        (SQ 
                                                                                          <
"s,\\\\(.*\\\\)\\.\\\\([^.]*\\\\),x=\\\\1 o=\\\\2,"
                                                                                          >
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                  ]
                                                                                  negated: False
                                                                                )
                                                                              ]
                                                                            )
                                                                          left_token: 
                                                                            <Left_Backtick "`">
                                                                          spids: [18877 18889]
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [18872 18873 18892 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:o)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (BracedVarSub
                                                                                token: <VSub_Name x>
                                                                                suffix_op: 
                                                                                  (StringUnary
                                                                                    op_id: 
VOp1_DPound
                                                                                    arg_word: {("*.")}
                                                                                  )
                                                                                spids: [18899 18903]
                                                                              )
                                                                            }
                                                                          spids: [18898]
                                                                        )
                                                                      ]
                                                                      spids: [18898]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:x)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (BracedVarSub
                                                                                token: <VSub_Name x>
                                                                                suffix_op: 
                                                                                  (StringUnary
                                                                                    op_id: 
VOp1_Percent
                                                                                    arg_word: 
                                                                                      {(.) 
                                                                                        (${ 
VSub_Name o
                                                                                        )
                                                                                      }
                                                                                  )
                                                                                spids: [18907 18914]
                                                                              )
                                                                            }
                                                                          spids: [18906]
                                                                        )
                                                                      ]
                                                                      spids: [18906]
                                                                    )
                                                                  ]
                                                                  spids: [18895 18896 18917 -1]
                                                                )
                                                              ]
                                                              spids: [18865 18869 18920]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:v)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$x")}
                                                                  spids: [18923]
                                                                )
                                                              ]
                                                              spids: [18923]
                                                            )
                                                          ]
                                                          spids: [18837 18842 18927 -1]
                                                        )
                                                      ]
                                                      spids: [18830 18834 18930]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$x")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") (Lit_Other "[") 
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar "\\\\">
                                                              ) (/) (Lit_Other "]") (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$shell")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(bsh)}]
                                                                  action: [
                                                                    (C {(eval)} 
                                                                      {
                                                                        (CommandSubPart
                                                                          command_list: 
                                                                            (CommandList
                                                                              children: [
                                                                                (Pipeline
                                                                                  children: [
                                                                                    (C {(echo)} 
                                                                                      {
                                                                                        ($ VSub_Name 
"$x"
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                    (C {(sed)} 
                                                                                      {
                                                                                        (SQ 
                                                                                          <
"s,\\\\(.*\\\\)[\\\\\\\\//]\\\\(.*\\\\),p=\\\\1 v=\\\\2,"
                                                                                          >
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                  ]
                                                                                  negated: False
                                                                                )
                                                                              ]
                                                                            )
                                                                          left_token: 
                                                                            <Left_Backtick "`">
                                                                          spids: [18959 18971]
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [18954 18955 18974 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (C {(eval)} {(SQ <"p=${x%/*}">)})
                                                                    (C {(eval)} {(SQ <"v=${x##*/}">)})
                                                                  ]
                                                                  spids: [18977 18978 18994 -1]
                                                                )
                                                              ]
                                                              spids: [18947 18951 18997]
                                                            )
                                                          ]
                                                          spids: [18940 18946 19000 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") (.) (Lit_Other "*")}
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$shell")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(bsh)}]
                                                                  action: [
                                                                    (C {(eval)} 
                                                                      {
                                                                        (CommandSubPart
                                                                          command_list: 
                                                                            (CommandList
                                                                              children: [
                                                                                (Pipeline
                                                                                  children: [
                                                                                    (C {(echo)} 
                                                                                      {
                                                                                        ($ VSub_Name 
"$x"
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                    (C {(sed)} 
                                                                                      {
                                                                                        (SQ 
                                                                                          <
"s,\\\\(.*\\\\)\\\\.\\\\(.*\\\\),p=\\\\1 v=\\\\2,"
                                                                                          >
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                  ]
                                                                                  negated: False
                                                                                )
                                                                              ]
                                                                            )
                                                                          left_token: 
                                                                            <Left_Backtick "`">
                                                                          spids: [19020 19032]
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [19015 19016 19035 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (C {(eval)} {(SQ <"p=${x%.*}">)})
                                                                    (C {(eval)} {(SQ <"v=${x##*.}">)})
                                                                  ]
                                                                  spids: [19038 19039 19055 -1]
                                                                )
                                                              ]
                                                              spids: [19008 19012 19058]
                                                            )
                                                          ]
                                                          spids: [19003 19006 19061 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:p)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [19067]
                                                                )
                                                              ]
                                                              spids: [19067]
                                                            )
                                                          ]
                                                          spids: [19064 19065 19070 -1]
                                                        )
                                                      ]
                                                      spids: [18933 18937 19073]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$o")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(lcl)} {(nxt)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:c)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {($ VSub_Name "$v") (.) 
                                                                      ($ VSub_Name "$o")
                                                                    }
                                                                  spids: [19088]
                                                                )
                                                              ]
                                                              spids: [19088]
                                                            )
                                                          ]
                                                          spids: [19083 19086 19093 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:c)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$v")}
                                                                  spids: [19099]
                                                                )
                                                              ]
                                                              spids: [19099]
                                                            )
                                                          ]
                                                          spids: [19096 19097 19102 -1]
                                                        )
                                                      ]
                                                      spids: [19076 19080 19105]
                                                    )
                                                  ]
                                                  spids: [18814 18823 19108 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$shell")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(bsh)}]
                                                          action: [
                                                            (C {(eval)} 
                                                              {
                                                                (CommandSubPart
                                                                  command_list: 
                                                                    (CommandList
                                                                      children: [
                                                                        (Pipeline
                                                                          children: [
                                                                            (C {(echo)} 
                                                                              {($ VSub_Name "$a")}
                                                                            )
                                                                            (C {(sed)} {(-e)} 
                                                                              {
                                                                                (SQ 
                                                                                  <
"s,.*[\\\\\\\\/],,"
                                                                                  >
                                                                                )
                                                                              } {(-e)} {(SQ <"s/\\\\(.*\\\\)\\\\.\\\\(.*\\\\)/p=\\\\1 v=\\\\2/">)}
                                                                            )
                                                                          ]
                                                                          negated: False
                                                                        )
                                                                      ]
                                                                    )
                                                                  left_token: <Left_Backtick "`">
                                                                  spids: [19126 19146]
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [19121 19122 19149 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(eval)} {(SQ <"p=${a%.*}">)})
                                                            (C {(eval)} {(SQ <"p=${p##*[\\\\/]}">)})
                                                            (C {(eval)} {(SQ <"v=${a##*.}">)})
                                                            (C {(eval)} {(SQ <"v=${v##*[\\\\/]}">)})
                                                          ]
                                                          spids: [19152 19153 19183 -1]
                                                        )
                                                      ]
                                                      spids: [19114 19118 19186]
                                                    )
                                                  ]
                                                  spids: [19111 19112 19189 -1]
                                                )
                                              ]
                                              spids: [18807 18811 19192]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$p")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(SQ )}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:f)
                                                          op: Equal
                                                          rhs: {(${ VSub_Name v)}
                                                          spids: [19206]
                                                        )
                                                      ]
                                                      spids: [19206]
                                                    )
                                                  ]
                                                  spids: [-1 19204 19211 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:f)
                                                          op: Equal
                                                          rhs: {(${ VSub_Name p) (/) (${ VSub_Name v)}
                                                          spids: [19217]
                                                        )
                                                      ]
                                                      spids: [19217]
                                                    )
                                                  ]
                                                  spids: [19214 19215 19226 -1]
                                                )
                                              ]
                                              spids: [19195 19199 19229]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$o")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(run)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:v)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$p")}
                                                          spids: [19242]
                                                        )
                                                      ]
                                                      spids: [19242]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:p)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [19246]
                                                        )
                                                      ]
                                                      spids: [19246]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:m)
                                                          op: Equal
                                                          rhs: {(_) (${ VSub_Name v)}
                                                          spids: [19249]
                                                        )
                                                      ]
                                                      spids: [19249]
                                                    )
                                                  ]
                                                  spids: [19239 19240 19256 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(mem)}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$p")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") (.) (Lit_Other "*")}
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$shell")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(bsh)}]
                                                                  action: [
                                                                    (C {(eval)} 
                                                                      {
                                                                        (CommandSubPart
                                                                          command_list: 
                                                                            (CommandList
                                                                              children: [
                                                                                (Pipeline
                                                                                  children: [
                                                                                    (C {(echo)} 
                                                                                      {
                                                                                        ($ VSub_Name 
"$p"
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                    (C {(sed)} 
                                                                                      {
                                                                                        (SQ 
                                                                                          <
"s/\\\\([^.]*\\\\)\\\\.\\\\(.*\\\\)/p=\\\\1 m=\\\\2/"
                                                                                          >
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                  ]
                                                                                  negated: False
                                                                                )
                                                                              ]
                                                                            )
                                                                          left_token: 
                                                                            <Left_Backtick "`">
                                                                          spids: [19286 19298]
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [19281 19282 19301 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (C {(eval)} {(SQ <"m=${p#*.}">)})
                                                                    (C {(eval)} {(SQ <"p=${p%%.*}">)})
                                                                  ]
                                                                  spids: [19304 19305 19321 -1]
                                                                )
                                                              ]
                                                              spids: [19274 19278 19324]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:v)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(${ VSub_Name m) (.) 
                                                                      (${ VSub_Name v)
                                                                    }
                                                                  spids: [19327]
                                                                )
                                                              ]
                                                              spids: [19327]
                                                            )
                                                          ]
                                                          spids: [19269 19272 -1 19337]
                                                        )
                                                      ]
                                                      spids: [19262 19266 19337]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$config")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:m)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(_) (${ VSub_Name v) (_) 
                                                                      (${ VSub_Name p)
                                                                    }
                                                                  spids: [19350]
                                                                )
                                                              ]
                                                              spids: [19350]
                                                            )
                                                          ]
                                                          spids: [19347 19348 19360 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(1)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:m)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(_) (${ VSub_Name v) (_in_) 
                                                                      (${ VSub_Name p)
                                                                    }
                                                                  spids: [19366]
                                                                )
                                                              ]
                                                              spids: [19366]
                                                            )
                                                          ]
                                                          spids: [19363 19364 19376 -1]
                                                        )
                                                      ]
                                                      spids: [19340 19344 19379]
                                                    )
                                                  ]
                                                  spids: [19259 19260 19382 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$p")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(SQ )}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:m)
                                                                  op: Equal
                                                                  rhs: {(_) (${ VSub_Name v)}
                                                                  spids: [19399]
                                                                )
                                                              ]
                                                              spids: [19399]
                                                            )
                                                          ]
                                                          spids: [-1 19397 19405 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:m)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(_) (${ VSub_Name p) (_) 
                                                                      (${ VSub_Name v)
                                                                    }
                                                                  spids: [19411]
                                                                )
                                                              ]
                                                              spids: [19411]
                                                            )
                                                          ]
                                                          spids: [19408 19409 19421 -1]
                                                        )
                                                      ]
                                                      spids: [19388 19392 19424]
                                                    )
                                                  ]
                                                  spids: [19385 19386 19427 -1]
                                                )
                                              ]
                                              spids: [19232 19236 19430]
                                            )
                                          ]
                                          spids: [18797 18804 19433 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:p)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [19439]
                                                )
                                              ]
                                              spids: [19439]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:v)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$a")}
                                                  spids: [19442]
                                                )
                                              ]
                                              spids: [19442]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:f)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$a")}
                                                  spids: [19446]
                                                )
                                              ]
                                              spids: [19446]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:m)
                                                  op: Equal
                                                  rhs: {(_) (${ VSub_Name v)}
                                                  spids: [19450]
                                                )
                                              ]
                                              spids: [19450]
                                            )
                                          ]
                                          spids: [19436 19437 19457 -1]
                                        )
                                      ]
                                      spids: [18790 18794 19460]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$c")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(SQ )}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:c)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$v")}
                                                  spids: [19474]
                                                )
                                              ]
                                              spids: [19474]
                                            )
                                          ]
                                          spids: [-1 19472 19477 -1]
                                        )
                                      ]
                                      spids: [19463 19467 19480]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:M)
                                          op: Equal
                                          rhs: {($ VSub_Name "$m")}
                                          spids: [19483]
                                        )
                                      ]
                                      spids: [19483]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$o")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(out)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$a")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:a)
                                                          op: Equal
                                                          rhs: {(-)}
                                                          spids: [19507]
                                                        )
                                                      ]
                                                      spids: [19507]
                                                    )
                                                  ]
                                                  spids: [19504 19505 19511 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:test)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$a") (" ") 
                                                                ($ VSub_Name "$test")
                                                              )
                                                            }
                                                          spids: [19518]
                                                        )
                                                      ]
                                                      spids: [19518]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:a)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [19526]
                                                        )
                                                      ]
                                                      spids: [19526]
                                                    )
                                                  ]
                                                  spids: [19514 19516 19529 -1]
                                                )
                                              ]
                                              spids: [19497 19501 19532]
                                            )
                                          ]
                                          spids: [19494 19495 19535 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Case
                                              to_match: {(DQ (" ") ($ VSub_Name "$idyes") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$m") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:i)
                                                          op: Equal
                                                          rhs: {(1)}
                                                          spids: [19562]
                                                        )
                                                      ]
                                                      spids: [19562]
                                                    )
                                                  ]
                                                  spids: [19552 19559 19566 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ (" ") ($ VSub_Name "$idno") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$m") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:i)
                                                                  op: Equal
                                                                  rhs: {(0)}
                                                                  spids: [19593]
                                                                )
                                                              ]
                                                              spids: [19593]
                                                            )
                                                          ]
                                                          spids: [19583 19590 19597 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$m")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (SQ <"*">)}
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:m)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (Pipeline
                                                                                        children: [
                                                                                          (C {(echo)} 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name "$m"
                                                                                                )
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                          (C {(sed)} 
                                                                                            {
                                                                                              (SQ 
                                                                                                <
"s,\\*,_ptr,g"
                                                                                                >
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                        ]
                                                                                        negated: 
False
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [19617 19631]
                                                                              )
                                                                            }
                                                                          spids: [19616]
                                                                        )
                                                                      ]
                                                                      spids: [19616]
                                                                    )
                                                                  ]
                                                                  spids: [19610 19614 19633 -1]
                                                                )
                                                              ]
                                                              spids: [19603 19607 19636]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name "$m")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (Lit_Other "[") 
                                                                      (-) (Lit_Other "+") (/) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (Lit_Other "]") (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:i)
                                                                          op: Equal
                                                                          rhs: {(0)}
                                                                          spids: [19657]
                                                                        )
                                                                      ]
                                                                      spids: [19657]
                                                                    )
                                                                  ]
                                                                  spids: [19646 19654 19661 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (Lit_Other "[") 
                                                                      (KW_Bang "!") (abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_) (Lit_Other "]") (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (C {(is)} {(id)} 
                                                                      {($ VSub_Name "$m")}
                                                                    )
                                                                    (C {(copy)} 
                                                                      {($ VSub_Name "$tmp") (.c)} {(DQ ("int ") ($ VSub_Name "$m") (" = 0;"))}
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (C {(compile)} 
                                                                              {($ VSub_Name "$cc")} {(-c)} {($ VSub_Name "$tmp") (.c)}
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (C {(success)} {(-)})
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: idyes
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$idyes"
                                                                                        ) (" ") ($ VSub_Name "$m")
                                                                                      )
                                                                                    }
                                                                                  spids: [19711]
                                                                                )
                                                                              ]
                                                                              spids: [19711]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: i
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(1)}
                                                                                  spids: [19719]
                                                                                )
                                                                              ]
                                                                              spids: [19719]
                                                                            )
                                                                          ]
                                                                          spids: [-1 19704]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (C {(failure)} {(-)})
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: idno
                                                                                )
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
"$idno"
                                                                                    ) (" ") ($ VSub_Name "$m")
                                                                                  )
                                                                                }
                                                                              spids: [19730]
                                                                            )
                                                                          ]
                                                                          spids: [19730]
                                                                        )
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: (LhsName name:i)
                                                                              op: Equal
                                                                              rhs: {(0)}
                                                                              spids: [19738]
                                                                            )
                                                                          ]
                                                                          spids: [19738]
                                                                        )
                                                                      ]
                                                                      spids: [19723 19742]
                                                                    )
                                                                  ]
                                                                  spids: [19664 19670 19745 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:i)
                                                                          op: Equal
                                                                          rhs: {(1)}
                                                                          spids: [19751]
                                                                        )
                                                                      ]
                                                                      spids: [19751]
                                                                    )
                                                                  ]
                                                                  spids: [19748 19749 19755 -1]
                                                                )
                                                              ]
                                                              spids: [19639 19643 19758]
                                                            )
                                                          ]
                                                          spids: [19600 19601 19761 -1]
                                                        )
                                                      ]
                                                      spids: [19572 19580 19764]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$i")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$o")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(dat)}
                                                                    {(dfn)}
                                                                    {(key)}
                                                                    {(lib)}
                                                                    {(mac)}
                                                                    {(mth)}
                                                                    {(nos)}
                                                                    {(npt)}
                                                                    {(siz)}
                                                                    {(sym)}
                                                                    {(typ)}
                                                                    {(val)}
                                                                  ]
                                                                  action: [
                                                                    (ControlFlow
                                                                      token: 
                                                                        <ControlFlow_Continue 
continue
                                                                        >
                                                                    )
                                                                  ]
                                                                  spids: [19784 19807 19813 -1]
                                                                )
                                                              ]
                                                              spids: [19777 19781 19816]
                                                            )
                                                          ]
                                                          spids: [19774 19775 19819 -1]
                                                        )
                                                      ]
                                                      spids: [19767 19771 19822]
                                                    )
                                                  ]
                                                  spids: [19569 19570 19825 -1]
                                                )
                                              ]
                                              spids: [19541 19549 19828]
                                            )
                                          ]
                                          spids: [19538 19539 19831 -1]
                                        )
                                      ]
                                      spids: [19487 19491 19834]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$m")}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (Lit_Other "[") (KW_Bang "!") 
                                              (
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
                                              ) (Lit_Other "]") (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:m)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {(echo)} 
                                                                    {(DQ (X) ($ VSub_Name "$m"))}
                                                                  )
                                                                  (C {(sed)} {(-e)} {(SQ <"s,^.,,">)} 
                                                                    {(-e)} {(SQ <"s,[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_],_,g">)}
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [19854 19877]
                                                      )
                                                    }
                                                  spids: [19853]
                                                )
                                              ]
                                              spids: [19853]
                                            )
                                          ]
                                          spids: [19844 19850 19880 -1]
                                        )
                                      ]
                                      spids: [19837 19841 19883]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$out")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{($ VSub_Name "$cur")}]
                                          spids: [19899 19900 19902 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$cur")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{($ VSub_Name "$a")} {($ VSub_Name "$c")}]
                                                  spids: [19915 19918 19920 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$cur")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(.)}]
                                                          spids: [19933 19934 19936 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$vers")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "?") (Lit_Other "*")}
                                                                  ]
                                                                  action: [
                                                                    (C {(echo)})
                                                                    (ForEach
                                                                      iter_name: api
                                                                      iter_words: [
                                                                        {($ VSub_Name "$vers")}
                                                                      ]
                                                                      do_arg_iter: False
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: API
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (CommandSubPart
                                                                                        command_list: 
                                                                                          (CommandList
                                                                                            children: [
                                                                                              (Pipeline
                                                                                                children: [
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
echo
                                                                                                      )
                                                                                                    } {($ VSub_Name "$api")}
                                                                                                  )
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
tr
                                                                                                      )
                                                                                                    } {(abcdefghijklmnopqrstuvwxyz)} {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)}
                                                                                                  )
                                                                                                ]
                                                                                                negated: 
False
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
19968
19980
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [19967]
                                                                                )
                                                                              ]
                                                                              spids: [19967]
                                                                            )
                                                                            (C {(eval)} 
                                                                              {(Lit_VarLike "ver=") 
                                                                                (SQ <"${">) (ver_) (${ VSub_Name api) (SQ <"}">)
                                                                              }
                                                                            )
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ ("#define ") 
                                                                                  (${ VSub_Name API) ("_VERSION\t") (${ VSub_Name ver)
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [19965 20012]
                                                                        )
                                                                      spids: [19961 -1]
                                                                    )
                                                                  ]
                                                                  spids: [19949 19951 -1 20015]
                                                                )
                                                              ]
                                                              spids: [19942 19946 20015]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name "$apis")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "?") (Lit_Other "*")}
                                                                  ]
                                                                  action: [
                                                                    (ForEach
                                                                      iter_name: api
                                                                      iter_words: [
                                                                        {($ VSub_Name "$apis")}
                                                                      ]
                                                                      do_arg_iter: False
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: API
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (CommandSubPart
                                                                                        command_list: 
                                                                                          (CommandList
                                                                                            children: [
                                                                                              (Pipeline
                                                                                                children: [
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
echo
                                                                                                      )
                                                                                                    } {($ VSub_Name "$api")}
                                                                                                  )
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
tr
                                                                                                      )
                                                                                                    } {(abcdefghijklmnopqrstuvwxyz)} {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)}
                                                                                                  )
                                                                                                ]
                                                                                                negated: 
False
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
20041
20053
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [20040]
                                                                                )
                                                                              ]
                                                                              spids: [20040]
                                                                            )
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ ("#define ") 
                                                                                  (${ VSub_Name API) ("API(rel)\t( _BLD_") (${ VSub_Name api) (" || !_API_") (${ VSub_Name api) (" || _API_") 
                                                                                  (${ VSub_Name api) (" >= rel )")
                                                                                )
                                                                              }
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: map
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(SQ )}
                                                                                  spids: [20079]
                                                                                )
                                                                              ]
                                                                              spids: [20079]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: sep
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(SQ )}
                                                                                  spids: [20082]
                                                                                )
                                                                              ]
                                                                              spids: [20082]
                                                                            )
                                                                            (C {(eval)} 
                                                                              {
                                                                                (Lit_VarLike 
"syms="
                                                                                ) (SQ <"\"${">) (api_sym_) (${ VSub_Name api) (SQ <"}\"">)
                                                                              }
                                                                            )
                                                                            (C {(set)} {(x)} {(x)} 
                                                                              {
                                                                                (CommandSubPart
                                                                                  command_list: 
                                                                                    (CommandList
                                                                                      children: [
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              } {(DQ ($ VSub_Name "$syms"))}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
sort
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (
-t
                                                                                                  ) (Lit_Other ":")
                                                                                                }
                                                                                                {
                                                                                                  (
-u
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (
-k
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (
1
                                                                                                  ) (Lit_Comma ",") (1)
                                                                                                }
                                                                                                {
                                                                                                  (
-k
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (
2
                                                                                                  ) (Lit_Comma ",") (2nr)
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
20138
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C {(sed)} 
                                                                                              {
                                                                                                (SQ 
                                                                                                  <
"s/:/ /"
                                                                                                  >
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  left_token: 
                                                                                    <Left_Backtick 
"`"
                                                                                    >
                                                                                  spids: [20110 20148]
                                                                                )
                                                                              }
                                                                            )
                                                                            (Case
                                                                              to_match: 
                                                                                {
                                                                                  ($ VSub_Pound "$#")
                                                                                }
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [{(2)}]
                                                                                  action: [
                                                                                    (C {(set)} {(x)} 
                                                                                      {(x)} 
                                                                                      {
                                                                                        (CommandSubPart
                                                                                          command_list: 
                                                                                            (CommandList
                                                                                              children: [
                                                                                                (Pipeline
                                                                                                  children: [
                                                                                                    (C 
                                                                                                      {
                                                                                                        (
echo
                                                                                                        )
                                                                                                      } {(DQ ($ VSub_Name "$syms"))}
                                                                                                    )
                                                                                                    (SimpleCommand
                                                                                                      words: [
                                                                                                        {
                                                                                                          (
sort
                                                                                                          )
                                                                                                        }
                                                                                                        {
                                                                                                          (
-t
                                                                                                          ) (Lit_Other ":")
                                                                                                        }
                                                                                                        {
                                                                                                          (
-u
                                                                                                          )
                                                                                                        }
                                                                                                        {
                                                                                                          (
Lit_Other "+"
                                                                                                          ) (0)
                                                                                                        }
                                                                                                        {
                                                                                                          (
-1
                                                                                                          )
                                                                                                        }
                                                                                                        {
                                                                                                          (
Lit_Other "+"
                                                                                                          ) (1)
                                                                                                        }
                                                                                                        {
                                                                                                          (
-2nr
                                                                                                          )
                                                                                                        }
                                                                                                      ]
                                                                                                      redirects: [
                                                                                                        (Redir
                                                                                                          op_id: 
Redir_Great
                                                                                                          fd: 
2
                                                                                                          arg_word: 
                                                                                                            {
                                                                                                              (
/dev/null
                                                                                                              )
                                                                                                            }
                                                                                                          spids: [
20197
                                                                                                          ]
                                                                                                        )
                                                                                                      ]
                                                                                                    )
                                                                                                    (C 
                                                                                                      {
                                                                                                        (
sed
                                                                                                        )
                                                                                                      } {(SQ <"s/:/ /">)}
                                                                                                    )
                                                                                                  ]
                                                                                                  negated: 
False
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          left_token: 
                                                                                            <
Left_Backtick "`"
                                                                                            >
                                                                                          spids: [
20171
20207
                                                                                          ]
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                  ]
                                                                                  spids: [
20158
20159
20210
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
20151
20155
20213
                                                                              ]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: sym
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(SQ )}
                                                                                  spids: [20216]
                                                                                )
                                                                              ]
                                                                              spids: [20216]
                                                                            )
                                                                            (While
                                                                              cond: [
                                                                                (C {(Lit_Other ":")})
                                                                              ]
                                                                              body: 
                                                                                (DoGroup
                                                                                  children: [
                                                                                    (C {(shift)} {(2)})
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          ($ 
VSub_Pound "$#"
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "["
                                                                                              ) (01) (Lit_Other "]")
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Break break
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          spids: [
20238
20241
20245
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
20231
20235
20248
                                                                                      ]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
prv
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              ($ 
VSub_Name "$sym"
                                                                                              )
                                                                                            }
                                                                                          spids: [
20251
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [20251]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
sym
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              ($ 
VSub_Number "$1"
                                                                                              )
                                                                                            }
                                                                                          spids: [
20255
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [20255]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
rel
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              ($ 
VSub_Number "$2"
                                                                                              )
                                                                                            }
                                                                                          spids: [
20259
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [20259]
                                                                                    )
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$prv"
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              ($ 
VSub_Name "$sym"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              } {(DQ ("#elif _API_") (${ VSub_Name api) (" >= ") ($ VSub_Name "$rel"))}
                                                                                            )
                                                                                          ]
                                                                                          spids: [
20270
20271
20285
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Case
                                                                                              to_match: 
                                                                                                {
                                                                                                  ($ 
VSub_Name "$prv"
                                                                                                  )
                                                                                                }
                                                                                              arms: [
                                                                                                (case_arm
                                                                                                  pat_list: [{(SQ )}]
                                                                                                  action: [
                                                                                                    (C 
                                                                                                      {
                                                                                                        (
echo
                                                                                                        )
                                                                                                      }
                                                                                                    )
                                                                                                    (C 
                                                                                                      {
                                                                                                        (
echo
                                                                                                        )
                                                                                                      } {(DQ ("#if !defined(_API_") (${ VSub_Name api) (") && defined(_API_DEFAULT)"))}
                                                                                                    )
                                                                                                    (C 
                                                                                                      {
                                                                                                        (
echo
                                                                                                        )
                                                                                                      } {(DQ ("#define _API_") (${ VSub_Name api) ("\t_API_DEFAULT"))}
                                                                                                    )
                                                                                                    (C 
                                                                                                      {
                                                                                                        (
echo
                                                                                                        )
                                                                                                      } {(DQ ("#endif"))}
                                                                                                    )
                                                                                                  ]
                                                                                                  spids: [
-1
20300
20334
-1
                                                                                                  ]
                                                                                                )
                                                                                                (case_arm
                                                                                                  pat_list: [
                                                                                                    {
                                                                                                      (
Lit_Other "*"
                                                                                                      )
                                                                                                    }
                                                                                                  ]
                                                                                                  action: [
                                                                                                    (C 
                                                                                                      {
                                                                                                        (
echo
                                                                                                        )
                                                                                                      } {(DQ ("#endif"))}
                                                                                                    )
                                                                                                  ]
                                                                                                  spids: [
20337
20338
20347
-1
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
20291
20295
20350
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              } {(DQ ("#if ") (${ VSub_Name API) ("API(") ($ VSub_Name "$rel") (")"))}
                                                                                            )
                                                                                          ]
                                                                                          spids: [
20288
20289
20369
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
20263
20267
20372
                                                                                      ]
                                                                                    )
                                                                                    (C {(echo)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          (
"#undef\t"
                                                                                          ) (${ VSub_Name sym)
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                    (C {(echo)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          (
"#define "
                                                                                          ) (${ VSub_Name sym) ("\t") (${ VSub_Name sym) (_) (${ VSub_Name rel)
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
map
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              ($ 
VSub_Name "$map"
                                                                                              ) ($ VSub_Name "$sep") (${ VSub_Name sym) (_) (${ VSub_Name rel)
                                                                                            }
                                                                                          spids: [
20403
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [20403]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
sep
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (SQ 
                                                                                                <
" "
                                                                                                >
                                                                                              )
                                                                                            }
                                                                                          spids: [
20415
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [20415]
                                                                                    )
                                                                                  ]
                                                                                  spids: [20224 20421]
                                                                                )
                                                                            )
                                                                            (C {(echo)} 
                                                                              {(DQ ("#endif"))}
                                                                            )
                                                                            (C {(echo)})
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ ("#define _API_") 
                                                                                  (${ VSub_Name api) ("_MAP\t") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$map") 
                                                                                  (EscapedLiteralPart
                                                                                    token: 
                                                                                      <
Lit_EscapedChar "\\\""
                                                                                      >
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [20038 20448]
                                                                        )
                                                                      spids: [20034 -1]
                                                                    )
                                                                    (C {(echo)})
                                                                  ]
                                                                  spids: [20025 20027 20454 -1]
                                                                )
                                                              ]
                                                              spids: [20018 20022 20457]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name "$iff")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "?") (Lit_Other "*")}
                                                                  ]
                                                                  action: [
                                                                    (C {(echo)} {(DQ ("#endif"))})
                                                                  ]
                                                                  spids: [20467 20469 20477 -1]
                                                                )
                                                              ]
                                                              spids: [20460 20464 20480]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name "$cur")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(-)}]
                                                                  spids: [20490 20491 20493 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (SimpleCommand
                                                                      words: [{(exec)}]
                                                                      redirects: [
                                                                        (Redir
                                                                          op_id: Redir_Great
                                                                          fd: -1
                                                                          arg_word: {(/dev/null)}
                                                                          spids: [20501]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (Case
                                                                      to_match: {($ VSub_Name "$cur")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "*") 
                                                                              (Lit_Other "[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (/) (Lit_Other "]") (Lit_Other "*")
                                                                            }
                                                                            {(Lit_Other "*") (.h)}
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: x
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$cur"
                                                                                      )
                                                                                    }
                                                                                  spids: [20523]
                                                                                )
                                                                              ]
                                                                              spids: [20523]
                                                                            )
                                                                          ]
                                                                          spids: [20512 20521 20526 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: x
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$dir"
                                                                                      ) (/) ($ VSub_Name "$cur")
                                                                                    }
                                                                                  spids: [20532]
                                                                                )
                                                                              ]
                                                                              spids: [20532]
                                                                            )
                                                                          ]
                                                                          spids: [20529 20530 20537 -1]
                                                                        )
                                                                      ]
                                                                      spids: [20505 20509 20540]
                                                                    )
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name "$define")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [{(n)}]
                                                                          action: [
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {(sed)}
                                                                                {(SQ <"/^#/d">)}
                                                                                {
                                                                                  ($ VSub_Name "$tmp") (.h)
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$tmp"
                                                                                      ) (.c)
                                                                                    }
                                                                                  spids: [20562]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {(sed)}
                                                                                {(SQ <"/^#/d">)}
                                                                                {($ VSub_Name "$x")}
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$tmp"
                                                                                      ) (.t)
                                                                                    }
                                                                                  spids: [20576]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [20550 20551 20582 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Subshell
                                                                              child: 
                                                                                (C {(proto)} {(-r)} 
                                                                                  {
                                                                                    ($ VSub_Name 
"$protoflags"
                                                                                    )
                                                                                  } {($ VSub_Name "$tmp") (.h)}
                                                                                )
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {(/dev/null)}
                                                                                  spids: [20599]
                                                                                )
                                                                                (Redir
                                                                                  op_id: 
Redir_GreatAnd
                                                                                  fd: 2
                                                                                  arg_word: {(1)}
                                                                                  spids: [20602]
                                                                                )
                                                                              ]
                                                                              spids: [20588 20597]
                                                                            )
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {(sed)}
                                                                                {
                                                                                  (SQ 
                                                                                    <
"s,/\\*[^/]*\\*/, ,g"
                                                                                    >
                                                                                  )
                                                                                }
                                                                                {
                                                                                  ($ VSub_Name "$tmp") (.h)
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$tmp"
                                                                                      ) (.c)
                                                                                    }
                                                                                  spids: [20615]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {(sed)}
                                                                                {
                                                                                  (SQ 
                                                                                    <
"s,/\\*[^/]*\\*/, ,g"
                                                                                    >
                                                                                  )
                                                                                }
                                                                                {($ VSub_Name "$x")}
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$tmp"
                                                                                      ) (.t)
                                                                                    }
                                                                                  spids: [20629]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [20585 20586 20635 -1]
                                                                        )
                                                                      ]
                                                                      spids: [20543 20547 20638]
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (C {(cmp)} {(-s)} 
                                                                              {($ VSub_Name "$tmp") 
                                                                                (.c)
                                                                              } {($ VSub_Name "$tmp") (.t)}
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (C {(rm)} {(-f)} 
                                                                              {($ VSub_Name "$tmp") 
                                                                                (.h)
                                                                              }
                                                                            )
                                                                            (Case
                                                                              to_match: 
                                                                                {
                                                                                  ($ VSub_Name 
"$verbose"
                                                                                  )
                                                                                }
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [{(1)}]
                                                                                  action: [
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {(echo)}
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name "$command"
                                                                                            ) (": ") ($ VSub_Name "$x") (": unchanged")
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_GreatAnd
                                                                                          fd: -1
                                                                                          arg_word: 
                                                                                            {
                                                                                              ($ 
VSub_Name "$stderr"
                                                                                              )
                                                                                            }
                                                                                          spids: [
20683
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
20671
20672
20686
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
20664
20668
20689
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [-1 20654]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (Case
                                                                          to_match: 
                                                                            {($ VSub_Name "$x")}
                                                                          arms: [
                                                                            (case_arm
                                                                              pat_list: [
                                                                                {(${ VSub_Name dir) 
                                                                                  (Lit_Other "[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (/) (Lit_Other "]") ($ VSub_Name "$cur")
                                                                                }
                                                                              ]
                                                                              action: [
                                                                                (AndOr
                                                                                  children: [
                                                                                    (C {(test)} {(-d)} 
                                                                                      {
                                                                                        ($ VSub_Name 
"$dir"
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                    (AndOr
                                                                                      children: [
                                                                                        (C {(mkdir)} 
                                                                                          {
                                                                                            ($ 
VSub_Name "$dir"
                                                                                            )
                                                                                          }
                                                                                        )
                                                                                        (C {(exit)} 
                                                                                          {(1)}
                                                                                        )
                                                                                      ]
                                                                                      op_id: 
Op_DPipe
                                                                                    )
                                                                                  ]
                                                                                  op_id: Op_DPipe
                                                                                )
                                                                              ]
                                                                              spids: [
20701
20709
20729
-1
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [20694 20698 20732]
                                                                        )
                                                                        (C {(mv)} 
                                                                          {($ VSub_Name "$tmp") (.h)} {($ VSub_Name "$x")}
                                                                        )
                                                                      ]
                                                                      spids: [20692 20743]
                                                                    )
                                                                  ]
                                                                  spids: [20496 20497 20746 -1]
                                                                )
                                                              ]
                                                              spids: [20483 20487 20749]
                                                            )
                                                          ]
                                                          spids: [19939 19940 20752 -1]
                                                        )
                                                      ]
                                                      spids: [19926 19930 20755]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$out")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "+")}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$status")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(1)}]
                                                                  spids: [20775 20776 20778 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:status)
                                                                          op: Equal
                                                                          rhs: {(0)}
                                                                          spids: [20784]
                                                                        )
                                                                      ]
                                                                      spids: [20784]
                                                                    )
                                                                  ]
                                                                  spids: [20781 20782 20787 -1]
                                                                )
                                                              ]
                                                              spids: [20768 20772 20790]
                                                            )
                                                            (C {(exit)} {($ VSub_Name "$status")})
                                                          ]
                                                          spids: [20765 20766 20798 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(-)}]
                                                          action: [
                                                            (C {(eval)} 
                                                              {
                                                                (DQ ("exec >&") 
                                                                  ($ VSub_Name "$stdout")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [20801 20802 20812 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (SimpleCommand
                                                              words: [{(exec)}]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {($ VSub_Name "$tmp") (.h)}
                                                                  spids: [20820]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          spids: [20815 20816 20825 -1]
                                                        )
                                                      ]
                                                      spids: [20758 20762 20828]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$out")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(DQ )}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$a")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (Lit_Other "[") 
                                                                      (EscapedLiteralPart
                                                                        token: 
                                                                          <Lit_EscapedChar "\\\\">
                                                                      ) (/) (Lit_Other "]") (Lit_Other "*")
                                                                    }
                                                                    {(Lit_Other "?") (Lit_Other "?") 
                                                                      (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") 
                                                                      (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "?") (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:cur)
                                                                          op: Equal
                                                                          rhs: {($ VSub_Name "$c")}
                                                                          spids: [20874]
                                                                        )
                                                                      ]
                                                                      spids: [20874]
                                                                    )
                                                                  ]
                                                                  spids: [20849 20872 20877 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:cur)
                                                                          op: Equal
                                                                          rhs: {($ VSub_Name "$a")}
                                                                          spids: [20883]
                                                                        )
                                                                      ]
                                                                      spids: [20883]
                                                                    )
                                                                  ]
                                                                  spids: [20880 20881 20886 -1]
                                                                )
                                                              ]
                                                              spids: [20842 20846 20889]
                                                            )
                                                          ]
                                                          spids: [-1 20840 20892 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:cur)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$out")}
                                                                  spids: [20898]
                                                                )
                                                              ]
                                                              spids: [20898]
                                                            )
                                                          ]
                                                          spids: [20895 20896 20902 -1]
                                                        )
                                                      ]
                                                      spids: [20831 20835 20905]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$in")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(DQ )} {(-)} {(Lit_Other "+")}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$o")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(run)}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:x)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ (" from ") 
                                                                                ($ VSub_Name "$a")
                                                                              )
                                                                            }
                                                                          spids: [20933]
                                                                        )
                                                                      ]
                                                                      spids: [20933]
                                                                    )
                                                                  ]
                                                                  spids: [20930 20931 20939 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:x)
                                                                          op: Equal
                                                                          rhs: {(SQ )}
                                                                          spids: [20945]
                                                                        )
                                                                      ]
                                                                      spids: [20945]
                                                                    )
                                                                  ]
                                                                  spids: [20942 20943 20947 -1]
                                                                )
                                                              ]
                                                              spids: [20923 20927 20950]
                                                            )
                                                          ]
                                                          spids: [-1 20921 20953 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:x)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ (" from ") 
                                                                        ($ VSub_Name "$in")
                                                                      )
                                                                    }
                                                                  spids: [20959]
                                                                )
                                                              ]
                                                              spids: [20959]
                                                            )
                                                          ]
                                                          spids: [20956 20957 20966 -1]
                                                        )
                                                      ]
                                                      spids: [20908 20912 20969]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$define")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(n)}]
                                                          spids: [20985 20986 20988 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "?")}]
                                                          action: [
                                                            (C {(echo)} 
                                                              {
                                                                (DQ ("/* : : generated") 
                                                                  ($ VSub_Name "$x") (" by ") ($ VSub_Name "$command") (" version ") ($ VSub_Name "$version") (" : : */")
                                                                )
                                                              }
                                                            )
                                                            (ForEach
                                                              iter_name: x
                                                              iter_words: [{($ VSub_Name "$pragma")}]
                                                              do_arg_iter: False
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#pragma ") 
                                                                          ($ VSub_Name "$x")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [21016 21026]
                                                                )
                                                              spids: [21012 -1]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name "$out")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(DQ )}
                                                                    {(-)}
                                                                    {(Lit_Other "+")}
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:x)
                                                                          op: Equal
                                                                          rhs: {($ VSub_Name "$m")}
                                                                          spids: [21044]
                                                                        )
                                                                      ]
                                                                      spids: [21044]
                                                                    )
                                                                  ]
                                                                  spids: [-1 21042 21048 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (.) 
                                                                      (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name "$shell")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [{(bsh)}]
                                                                          action: [
                                                                            (C {(eval)} 
                                                                              {
                                                                                (CommandSubPart
                                                                                  command_list: 
                                                                                    (CommandList
                                                                                      children: [
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              } {($ VSub_Name "$in")}
                                                                                            )
                                                                                            (C {(sed)} 
                                                                                              {(-e)} {(SQ <"s,\\\\.,_,g">)} {(-e)} {(SQ <"s/^/x=/">)}
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  left_token: 
                                                                                    <Left_Backtick 
"`"
                                                                                    >
                                                                                  spids: [21068 21088]
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [21063 21064 21091 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: i
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$out"
                                                                                      )
                                                                                    }
                                                                                  spids: [21097]
                                                                                )
                                                                              ]
                                                                              spids: [21097]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: x
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(_)}
                                                                                  spids: [21101]
                                                                                )
                                                                              ]
                                                                              spids: [21101]
                                                                            )
                                                                            (While
                                                                              cond: [
                                                                                (C {(Lit_Other ":")})
                                                                              ]
                                                                              body: 
                                                                                (DoGroup
                                                                                  children: [
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$i"
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              ) (.) (Lit_Other "*")
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (C 
                                                                                              {
                                                                                                (
eval
                                                                                                )
                                                                                              } {(SQ <"x=$x${i%%.*}_">)}
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
eval
                                                                                                )
                                                                                              } {(SQ <"i=${i#*.}">)}
                                                                                            )
                                                                                          ]
                                                                                          spids: [
21119
21122
21138
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
x
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      ($ 
VSub_Name "$x"
                                                                                                      ) ($ VSub_Name "$i")
                                                                                                    }
                                                                                                  spids: [
21144
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
21144
                                                                                              ]
                                                                                            )
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Break break
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          spids: [
21141
21142
21152
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
21112
21116
21155
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [21110 21158]
                                                                                )
                                                                            )
                                                                          ]
                                                                          spids: [21094 21095 21161 -1]
                                                                        )
                                                                      ]
                                                                      spids: [21056 21060 21164]
                                                                    )
                                                                  ]
                                                                  spids: [21051 21054 21167 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:x)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {(_) 
                                                                              ($ VSub_Name "$out")
                                                                            }
                                                                          spids: [21173]
                                                                        )
                                                                      ]
                                                                      spids: [21173]
                                                                    )
                                                                  ]
                                                                  spids: [21170 21171 21178 -1]
                                                                )
                                                              ]
                                                              spids: [21029 21033 21181]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name "$o")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(iff)}]
                                                                  action: [
                                                                    (Case
                                                                      to_match: {($ VSub_Name "$M")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(DQ )}
                                                                            {(Lit_Other "*") (-) 
                                                                              (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          spids: [-1 21207 21209 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: iff
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (${ VSub_Name m) (_H)
                                                                                    }
                                                                                  spids: [21215]
                                                                                )
                                                                              ]
                                                                              spids: [21215]
                                                                            )
                                                                          ]
                                                                          spids: [21212 21213 21221 -1]
                                                                        )
                                                                      ]
                                                                      spids: [21194 21198 21224]
                                                                    )
                                                                  ]
                                                                  spids: [21191 21192 21227 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name "$regress")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [{(SQ )}]
                                                                          action: [
                                                                            (Case
                                                                              to_match: 
                                                                                {($ VSub_Name "$x")}
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      ) (-) (Lit_Other "*")
                                                                                    }
                                                                                  ]
                                                                                  spids: [
21251
21254
21256
-1
                                                                                  ]
                                                                                )
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      )
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
x
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (CommandSubPart
                                                                                                command_list: 
                                                                                                  (CommandList
                                                                                                    children: [
                                                                                                      (Pipeline
                                                                                                        children: [
                                                                                                          (C 
                                                                                                            {
                                                                                                              (
pwd
                                                                                                              )
                                                                                                            }
                                                                                                          )
                                                                                                          (C 
                                                                                                            {
                                                                                                              (
sed
                                                                                                              )
                                                                                                            } {(-e)} {(SQ <"s,.*[\\\\\\\\/],,">)} {(-e)} {(SQ <"s,\\\\..*,,">)} {(-e)} {(SQ <"s,^lib,,">)} {(-e)} 
                                                                                                            {
                                                                                                              (SQ 
                                                                                                                <
"s,^,"
                                                                                                                >
                                                                                                              ) (${ VSub_Name x) (_) (SQ <",">)
                                                                                                            } {(-e)} {(SQ <"s,[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_],_,g">)}
                                                                                                          )
                                                                                                        ]
                                                                                                        negated: 
False
                                                                                                      )
                                                                                                    ]
                                                                                                  )
                                                                                                left_token: 
                                                                                                  <
Left_Backtick "`"
                                                                                                  >
                                                                                                spids: [
21263
21306
                                                                                                ]
                                                                                              )
                                                                                            }
                                                                                          spids: [
21262
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [21262]
                                                                                    )
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$x"
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              ) (Lit_Other "[") (KW_Bang "!") (_) (Lit_Other "]") (Lit_Other "*")
                                                                                            }
                                                                                          ]
                                                                                          spids: [
21320
21326
21328
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
x
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (
_
                                                                                                      ) ($ VSub_Dollar "$$")
                                                                                                    }
                                                                                                  spids: [
21334
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
21334
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
21331
21332
21338
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
21313
21317
21341
                                                                                      ]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
iff
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {(_def) 
                                                                                              (${ 
VSub_Name x
                                                                                              )
                                                                                            }
                                                                                          spids: [
21344
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [21344]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
21259
21260
21351
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
21244
21248
21354
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [-1 21242 21357 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Case
                                                                              to_match: 
                                                                                {($ VSub_Name "$x")}
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      ) (-) (Lit_Other "*")
                                                                                    }
                                                                                  ]
                                                                                  spids: [
21370
21373
21375
-1
                                                                                  ]
                                                                                )
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      )
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
iff
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (
_REGRESS
                                                                                              )
                                                                                            }
                                                                                          spids: [
21381
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [21381]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
21378
21379
21385
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
21363
21367
21388
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [21360 21361 21391 -1]
                                                                        )
                                                                      ]
                                                                      spids: [21233 21237 21394]
                                                                    )
                                                                  ]
                                                                  spids: [21230 21231 21397 -1]
                                                                )
                                                              ]
                                                              spids: [21184 21188 21400]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name "$iff")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "?") (Lit_Other "*")}
                                                                  ]
                                                                  action: [
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#ifndef ") 
                                                                          ($ VSub_Name "$iff")
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#define ") 
                                                                          ($ VSub_Name "$iff") ("\t1")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [21410 21412 21431 -1]
                                                                )
                                                              ]
                                                              spids: [21403 21407 21434]
                                                            )
                                                          ]
                                                          spids: [20991 20992 21437 -1]
                                                        )
                                                      ]
                                                      spids: [20978 20982 21440]
                                                    )
                                                  ]
                                                  spids: [19923 19924 21443 -1]
                                                )
                                              ]
                                              spids: [19908 19912 21446]
                                            )
                                          ]
                                          spids: [19905 19906 21449 -1]
                                        )
                                      ]
                                      spids: [19892 19896 21452]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$can")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$define")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(1)}]
                                                  action: [(C {(echo)} {(DQ ($ VSub_Name "$can"))})]
                                                  spids: [21473 21474 21482 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(n)}]
                                                  action: [(C {(echo)} {(DQ ($ VSub_Name "$nan"))})]
                                                  spids: [21485 21486 21494 -1]
                                                )
                                              ]
                                              spids: [21466 21470 21497]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:can)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [21500]
                                                )
                                              ]
                                              spids: [21500]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:nan)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [21503]
                                                )
                                              ]
                                              spids: [21503]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cansep)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [21506]
                                                )
                                              ]
                                              spids: [21506]
                                            )
                                          ]
                                          spids: [21462 21464 21509 -1]
                                        )
                                      ]
                                      spids: [21455 21459 21512]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:pre)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21521]
                                        )
                                      ]
                                      spids: [21521]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:inc)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21524]
                                        )
                                      ]
                                      spids: [21524]
                                    )
                                    (ForEach
                                      iter_name: x
                                      iter_words: [
                                        {($ VSub_Name "$defhdr")}
                                        {(-)}
                                        {($ VSub_Name "$hdr")}
                                      ]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name "$x")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-)}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$pre")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [21559 21561 21565 -1]
                                                        )
                                                      ]
                                                      spids: [21552 21556 21568]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$v")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") (.) (Lit_Other "*")}
                                                          ]
                                                          action: [
                                                            (ForEach
                                                              iter_name: x
                                                              iter_words: [
                                                                {
                                                                  (CommandSubPart
                                                                    command_list: 
                                                                      (CommandList
                                                                        children: [
                                                                          (Pipeline
                                                                            children: [
                                                                              (C {(echo)} 
                                                                                {($ VSub_Name "$v")}
                                                                              )
                                                                              (C {(sed)} 
                                                                                {
                                                                                  (SQ <"s,\\\\., ,g">)
                                                                                }
                                                                              )
                                                                            ]
                                                                            negated: False
                                                                          )
                                                                        ]
                                                                      )
                                                                    left_token: <Left_Backtick "`">
                                                                    spids: [21589 21601]
                                                                  )
                                                                }
                                                              ]
                                                              do_arg_iter: False
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:pre)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name "$pre") ("\n") ("#undef\t") ($ VSub_Name "$x")
                                                                              )
                                                                            }
                                                                          spids: [21606]
                                                                        )
                                                                      ]
                                                                      spids: [21606]
                                                                    )
                                                                  ]
                                                                  spids: [21604 21615]
                                                                )
                                                              spids: [21588 -1]
                                                            )
                                                          ]
                                                          spids: [21578 21581 21618 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$o")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(siz)} {(typ)}]
                                                                  action: [
                                                                    (Case
                                                                      to_match: {($ VSub_Name "$v")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(char)}
                                                                            {(short)}
                                                                            {(int)}
                                                                            {(long)}
                                                                          ]
                                                                          spids: [21642 21649 21652 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: pre
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        (
"#undef\t"
                                                                                        ) ($ VSub_Name "$v")
                                                                                      )
                                                                                    }
                                                                                  spids: [21658]
                                                                                )
                                                                              ]
                                                                              spids: [21658]
                                                                            )
                                                                          ]
                                                                          spids: [21655 21656 21665 -1]
                                                                        )
                                                                      ]
                                                                      spids: [21635 21639 21668]
                                                                    )
                                                                  ]
                                                                  spids: [21631 21634 21671 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:pre)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ ("#undef\t") 
                                                                                ($ VSub_Name "$v")
                                                                              )
                                                                            }
                                                                          spids: [21677]
                                                                        )
                                                                      ]
                                                                      spids: [21677]
                                                                    )
                                                                  ]
                                                                  spids: [21674 21675 21684 -1]
                                                                )
                                                              ]
                                                              spids: [21624 21628 21687]
                                                            )
                                                          ]
                                                          spids: [21621 21622 21690 -1]
                                                        )
                                                      ]
                                                      spids: [21571 21575 21693]
                                                    )
                                                  ]
                                                  spids: [21549 21550 21696 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*") (.h)}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$shell")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(bsh)}]
                                                          action: [
                                                            (C {(eval)} 
                                                              {
                                                                (CommandSubPart
                                                                  command_list: 
                                                                    (CommandList
                                                                      children: [
                                                                        (Pipeline
                                                                          children: [
                                                                            (C {(echo)} 
                                                                              {($ VSub_Name "$x")}
                                                                            )
                                                                            (C {(sed)} {(-e)} 
                                                                              {
                                                                                (SQ 
                                                                                  <
"s,^\\\\([^\\\\\\\\/]*\\\\).*[\\\\\\\\/]\\\\([^\\\\\\\\/]*\\\\)\\$,\\\\1_\\\\2,"
                                                                                  >
                                                                                )
                                                                              } {(-e)} {(SQ <"s/\\\\..*//">)} {(-e)} {(SQ <"s/^/c=/">)}
                                                                            )
                                                                          ]
                                                                          negated: False
                                                                        )
                                                                      ]
                                                                    )
                                                                  left_token: <Left_Backtick "`">
                                                                  spids: [21715 21741]
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [21710 21711 21744 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(eval)} {(SQ <"c=${x##*[\\\\/]}">)})
                                                            (C {(eval)} {(SQ <"c=${c%%.*}">)})
                                                            (Case
                                                              to_match: {($ VSub_Name "$x")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (/) 
                                                                      (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (C {(eval)} 
                                                                      {
                                                                        (SQ <"c=${x%%[\\\\/]*}_${c}">)
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [21771 21774 21782 -1]
                                                                )
                                                              ]
                                                              spids: [21764 21768 21785]
                                                            )
                                                          ]
                                                          spids: [21747 21748 21788 -1]
                                                        )
                                                      ]
                                                      spids: [21703 21707 21791]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$config")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$x")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (/) 
                                                                      (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:c)
                                                                          op: Equal
                                                                          rhs: {(_) (${ VSub_Name c)}
                                                                          spids: [21816]
                                                                        )
                                                                      ]
                                                                      spids: [21816]
                                                                    )
                                                                  ]
                                                                  spids: [21811 21814 21822 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:c)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {(_hdr_) 
                                                                              (${ VSub_Name c)
                                                                            }
                                                                          spids: [21828]
                                                                        )
                                                                      ]
                                                                      spids: [21828]
                                                                    )
                                                                  ]
                                                                  spids: [21825 21826 21834 -1]
                                                                )
                                                              ]
                                                              spids: [21804 21808 21837]
                                                            )
                                                          ]
                                                          spids: [21801 21802 21840 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(1)}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$shell")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(ksh)}]
                                                                  action: [
                                                                    (C {(typeset)} {(-u)} 
                                                                      {(Lit_VarLike "u=") 
                                                                        ($ VSub_Name "$c")
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [21853 21854 21863 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:u)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (Pipeline
                                                                                        children: [
                                                                                          (C {(echo)} 
                                                                                            {
                                                                                              ($ 
VSub_Name "$c"
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                          (C {(tr)} 
                                                                                            {
                                                                                              (
abcdefghijklmnopqrstuvwxyz
                                                                                              )
                                                                                            } {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)}
                                                                                          )
                                                                                        ]
                                                                                        negated: 
False
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [21870 21882]
                                                                              )
                                                                            }
                                                                          spids: [21869]
                                                                        )
                                                                      ]
                                                                      spids: [21869]
                                                                    )
                                                                  ]
                                                                  spids: [21866 21867 21884 -1]
                                                                )
                                                              ]
                                                              spids: [21846 21850 21887]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:c)
                                                                  op: Equal
                                                                  rhs: {(HAVE_) (${ VSub_Name u) (_H)}
                                                                  spids: [21890]
                                                                )
                                                              ]
                                                              spids: [21890]
                                                            )
                                                          ]
                                                          spids: [21843 21844 21898 -1]
                                                        )
                                                      ]
                                                      spids: [21794 21798 21901]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {(DQ (" ") ($ VSub_Name "$puthdr") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$c") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          spids: [21915 21922 21925 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:puthdr)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$puthdr") 
                                                                        (" ") ($ VSub_Name "$c")
                                                                      )
                                                                    }
                                                                  spids: [21931]
                                                                )
                                                              ]
                                                              spids: [21931]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:usr)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$usr") 
                                                                        ($ VSub_Name "$nl") ("#define ") ($ VSub_Name "$c") (" 1")
                                                                      )
                                                                    }
                                                                  spids: [21939]
                                                                )
                                                              ]
                                                              spids: [21939]
                                                            )
                                                          ]
                                                          spids: [21928 21929 21949 -1]
                                                        )
                                                      ]
                                                      spids: [21904 21912 21952]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:inc)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$inc") ("\n") 
                                                                ("#include <") ($ VSub_Name "$x") (">")
                                                              )
                                                            }
                                                          spids: [21955]
                                                        )
                                                      ]
                                                      spids: [21955]
                                                    )
                                                  ]
                                                  spids: [21699 21701 21965 -1]
                                                )
                                              ]
                                              spids: [21542 21546 21968]
                                            )
                                          ]
                                          spids: [21540 21971]
                                        )
                                      spids: [21532 -1]
                                    )
                                    (ForEach
                                      iter_name: x
                                      iter_words: [{($ VSub_Name "$lib")} {($ VSub_Name "$deflib")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name "$shell")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(ksh)}]
                                                  action: [(C {(eval)} {(SQ <"c=${x#-l}">)})]
                                                  spids: [22000 22001 22009 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:c)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(echo)} 
                                                                            {(X) ($ VSub_Name "$x")}
                                                                          )
                                                                          (C {(sed)} {(SQ <"s,X-l,,">)})
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick "`">
                                                                spids: [22016 22029]
                                                              )
                                                            }
                                                          spids: [22015]
                                                        )
                                                      ]
                                                      spids: [22015]
                                                    )
                                                  ]
                                                  spids: [22012 22013 22031 -1]
                                                )
                                              ]
                                              spids: [21993 21997 22034]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$c")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") (Lit_Other "[") (KW_Bang "!") 
                                                      (
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
                                                      ) (Lit_Other "]") (Lit_Other "*")
                                                    }
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:c)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(echo)} {(SQ )} 
                                                                            {($ VSub_Name "$c")}
                                                                          )
                                                                          (C {(sed)} {(-e)} 
                                                                            {
                                                                              (SQ 
                                                                                <
"s,.*[\\\\\\\\/],,"
                                                                                >
                                                                              )
                                                                            } {(-e)} {(SQ <"s,\\.[^.]*$,,">)} {(-e)} 
                                                                            {
                                                                              (SQ 
                                                                                <
"s,[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_],_,g"
                                                                                >
                                                                              )
                                                                            } {(-e)} {(SQ <"/^lib./s,^lib,,">)}
                                                                          )
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick "`">
                                                                spids: [22054 22089]
                                                              )
                                                            }
                                                          spids: [22053]
                                                        )
                                                      ]
                                                      spids: [22053]
                                                    )
                                                  ]
                                                  spids: [22044 22050 22092 -1]
                                                )
                                              ]
                                              spids: [22037 22041 22095]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$config")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(0)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:c)
                                                          op: Equal
                                                          rhs: {(_LIB_) (${ VSub_Name c)}
                                                          spids: [22108]
                                                        )
                                                      ]
                                                      spids: [22108]
                                                    )
                                                  ]
                                                  spids: [22105 22106 22115 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(1)}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$shell")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(ksh)}]
                                                          action: [
                                                            (C {(typeset)} {(-u)} 
                                                              {(Lit_VarLike "u=") ($ VSub_Name "$c")}
                                                            )
                                                          ]
                                                          spids: [22128 22129 22138 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:u)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (Pipeline
                                                                                children: [
                                                                                  (C {(echo)} 
                                                                                    {
                                                                                      ($ VSub_Name 
"$c"
                                                                                      )
                                                                                    }
                                                                                  )
                                                                                  (C {(tr)} 
                                                                                    {
                                                                                      (
abcdefghijklmnopqrstuvwxyz
                                                                                      )
                                                                                    } {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)}
                                                                                  )
                                                                                ]
                                                                                negated: False
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick "`">
                                                                        spids: [22145 22157]
                                                                      )
                                                                    }
                                                                  spids: [22144]
                                                                )
                                                              ]
                                                              spids: [22144]
                                                            )
                                                          ]
                                                          spids: [22141 22142 22159 -1]
                                                        )
                                                      ]
                                                      spids: [22121 22125 22162]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:c)
                                                          op: Equal
                                                          rhs: {(HAVE_) (${ VSub_Name u) (_LIB)}
                                                          spids: [22165]
                                                        )
                                                      ]
                                                      spids: [22165]
                                                    )
                                                  ]
                                                  spids: [22118 22119 22173 -1]
                                                )
                                              ]
                                              spids: [22098 22102 22176]
                                            )
                                            (Case
                                              to_match: {(DQ (" ") ($ VSub_Name "$putlib") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$c") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [22190 22197 22200 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:putlib)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$putlib") (" ") 
                                                                ($ VSub_Name "$c")
                                                              )
                                                            }
                                                          spids: [22206]
                                                        )
                                                      ]
                                                      spids: [22206]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:usr)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$usr") 
                                                                ($ VSub_Name "$nl") ("#define ") ($ VSub_Name "$c") (" 1")
                                                              )
                                                            }
                                                          spids: [22214]
                                                        )
                                                      ]
                                                      spids: [22214]
                                                    )
                                                  ]
                                                  spids: [22203 22204 22224 -1]
                                                )
                                              ]
                                              spids: [22179 22187 22227]
                                            )
                                          ]
                                          spids: [21991 22230]
                                        )
                                      spids: [21985 -1]
                                    )
                                    (Case
                                      to_match: 
                                        {($ VSub_Name "$config") (Lit_Other ":") ($ VSub_Name "$def")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(0) (Lit_Other ":")}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$o")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(tst)} {(var)}]
                                                  spids: [22259 22262 22263 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:m)
                                                          op: Equal
                                                          rhs: {(_) (${ VSub_Name o) (${ VSub_Name m)}
                                                          spids: [22269]
                                                        )
                                                      ]
                                                      spids: [22269]
                                                    )
                                                  ]
                                                  spids: [22266 22267 22278 -1]
                                                )
                                              ]
                                              spids: [22252 22256 22281]
                                            )
                                          ]
                                          spids: [22248 22250 22284 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(1) (Lit_Other ":")}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$o")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(tst)} {(var)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:m)
                                                          op: Equal
                                                          rhs: {(${ VSub_Name v)}
                                                          spids: [22302]
                                                        )
                                                      ]
                                                      spids: [22302]
                                                    )
                                                  ]
                                                  spids: [22298 22301 22307 -1]
                                                )
                                              ]
                                              spids: [22291 22295 22310]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$shell")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(ksh)}]
                                                  action: [
                                                    (C {(typeset)} {(-u)} 
                                                      {(Lit_VarLike "u=") ($ VSub_Name "$m")}
                                                    )
                                                  ]
                                                  spids: [22320 22321 22330 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:u)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(echo)} 
                                                                            {($ VSub_Name "$m")}
                                                                          )
                                                                          (C {(tr)} 
                                                                            {
                                                                              (
abcdefghijklmnopqrstuvwxyz
                                                                              )
                                                                            } {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)}
                                                                          )
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick "`">
                                                                spids: [22337 22349]
                                                              )
                                                            }
                                                          spids: [22336]
                                                        )
                                                      ]
                                                      spids: [22336]
                                                    )
                                                  ]
                                                  spids: [22333 22334 22351 -1]
                                                )
                                              ]
                                              spids: [22313 22317 22354]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$o")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(tst)} {(var)}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$m")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{($ VSub_Name "$u")}]
                                                          spids: [22375 22376 22378 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$m")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(hdr_) (Lit_Other "*")}
                                                                    {(lib_) (Lit_Other "*")}
                                                                    {(sys_) (Lit_Other "*")}
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name "$shell")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [{(ksh)}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: u
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (BracedVarSub
                                                                                        token: 
                                                                                          <
VSub_Name u
                                                                                          >
                                                                                        suffix_op: 
                                                                                          (StringUnary
                                                                                            op_id: 
VOp1_Pound
                                                                                            arg_word: 
                                                                                              {
                                                                                                (
"????"
                                                                                                )
                                                                                              }
                                                                                          )
                                                                                        spids: [
22413
22417
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [22412]
                                                                                )
                                                                              ]
                                                                              spids: [22412]
                                                                            )
                                                                          ]
                                                                          spids: [22409 22410 22419 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: u
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (CommandSubPart
                                                                                        command_list: 
                                                                                          (CommandList
                                                                                            children: [
                                                                                              (Pipeline
                                                                                                children: [
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
echo
                                                                                                      )
                                                                                                    } {($ VSub_Name "$u")}
                                                                                                  )
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
sed
                                                                                                      )
                                                                                                    } {(SQ <s/....//>)}
                                                                                                  )
                                                                                                ]
                                                                                                negated: 
False
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
22426
22438
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [22425]
                                                                                )
                                                                              ]
                                                                              spids: [22425]
                                                                            )
                                                                          ]
                                                                          spids: [22422 22423 22440 -1]
                                                                        )
                                                                      ]
                                                                      spids: [22402 22406 22443]
                                                                    )
                                                                  ]
                                                                  spids: [22391 22399 22446 -1]
                                                                )
                                                              ]
                                                              spids: [22384 22388 22449]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:m)
                                                                  op: Equal
                                                                  rhs: {(HAVE_) (${ VSub_Name u)}
                                                                  spids: [22452]
                                                                )
                                                              ]
                                                              spids: [22452]
                                                            )
                                                          ]
                                                          spids: [22381 22382 22459 -1]
                                                        )
                                                      ]
                                                      spids: [22368 22372 22462]
                                                    )
                                                  ]
                                                  spids: [22364 22367 22465 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(dat)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:m)
                                                          op: Equal
                                                          rhs: {(HAVE) (${ VSub_Name u) (_DATA)}
                                                          spids: [22471]
                                                        )
                                                      ]
                                                      spids: [22471]
                                                    )
                                                  ]
                                                  spids: [22468 22469 22478 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(hdr)} {(lcl)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:m)
                                                          op: Equal
                                                          rhs: {(HAVE) (${ VSub_Name u) (_H)}
                                                          spids: [22485]
                                                        )
                                                      ]
                                                      spids: [22485]
                                                    )
                                                  ]
                                                  spids: [22481 22484 22492 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(key)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:m)
                                                          op: Equal
                                                          rhs: {(HAVE) (${ VSub_Name u) (_RESERVED)}
                                                          spids: [22498]
                                                        )
                                                      ]
                                                      spids: [22498]
                                                    )
                                                  ]
                                                  spids: [22495 22496 22505 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(mth)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:m)
                                                          op: Equal
                                                          rhs: {(HAVE) (${ VSub_Name u) (_MATH)}
                                                          spids: [22511]
                                                        )
                                                      ]
                                                      spids: [22511]
                                                    )
                                                  ]
                                                  spids: [22508 22509 22518 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(npt)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:m)
                                                          op: Equal
                                                          rhs: {(HAVE) (${ VSub_Name u) (_DECL)}
                                                          spids: [22524]
                                                        )
                                                      ]
                                                      spids: [22524]
                                                    )
                                                  ]
                                                  spids: [22521 22522 22531 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(pth)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:m)
                                                          op: Equal
                                                          rhs: {(${ VSub_Name u) (_PATH)}
                                                          spids: [22537]
                                                        )
                                                      ]
                                                      spids: [22537]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$shell")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(ksh)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:m)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (BracedVarSub
                                                                        token: <VSub_Name m>
                                                                        suffix_op: 
                                                                          (StringUnary
                                                                            op_id: VOp1_Pound
                                                                            arg_word: {(_)}
                                                                          )
                                                                        spids: [22555 22559]
                                                                      )
                                                                    }
                                                                  spids: [22554]
                                                                )
                                                              ]
                                                              spids: [22554]
                                                            )
                                                          ]
                                                          spids: [22551 22552 22561 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:m)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (Pipeline
                                                                                children: [
                                                                                  (C {(echo)} 
                                                                                    {
                                                                                      ($ VSub_Name 
"$m"
                                                                                      )
                                                                                    }
                                                                                  )
                                                                                  (C {(sed)} 
                                                                                    {(SQ <"s,^_,,">)}
                                                                                  )
                                                                                ]
                                                                                negated: False
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick "`">
                                                                        spids: [22568 22580]
                                                                      )
                                                                    }
                                                                  spids: [22567]
                                                                )
                                                              ]
                                                              spids: [22567]
                                                            )
                                                          ]
                                                          spids: [22564 22565 22582 -1]
                                                        )
                                                      ]
                                                      spids: [22544 22548 22585]
                                                    )
                                                  ]
                                                  spids: [22534 22535 22588 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(nxt)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:m)
                                                          op: Equal
                                                          rhs: {(HAVE) (${ VSub_Name u) (_NEXT)}
                                                          spids: [22594]
                                                        )
                                                      ]
                                                      spids: [22594]
                                                    )
                                                  ]
                                                  spids: [22591 22592 22601 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(siz)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:m)
                                                          op: Equal
                                                          rhs: {(SIZEOF) (${ VSub_Name u)}
                                                          spids: [22607]
                                                        )
                                                      ]
                                                      spids: [22607]
                                                    )
                                                  ]
                                                  spids: [22604 22605 22613 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(sys)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:m)
                                                          op: Equal
                                                          rhs: {(HAVE_SYS) (${ VSub_Name u) (_H)}
                                                          spids: [22619]
                                                        )
                                                      ]
                                                      spids: [22619]
                                                    )
                                                  ]
                                                  spids: [22616 22617 22626 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:m)
                                                          op: Equal
                                                          rhs: {(HAVE) (${ VSub_Name u)}
                                                          spids: [22632]
                                                        )
                                                      ]
                                                      spids: [22632]
                                                    )
                                                  ]
                                                  spids: [22629 22630 22638 -1]
                                                )
                                              ]
                                              spids: [22357 22361 22641]
                                            )
                                          ]
                                          spids: [22287 22289 22644 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:m)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$def")}
                                                  spids: [22650]
                                                )
                                              ]
                                              spids: [22650]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:M)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$m")}
                                                  spids: [22654]
                                                )
                                              ]
                                              spids: [22654]
                                            )
                                          ]
                                          spids: [22647 22648 22658 -1]
                                        )
                                      ]
                                      spids: [22239 22245 22661]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$src")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$src")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{($ VSub_Name "$noext")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:EXT)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [22685]
                                                        )
                                                      ]
                                                      spids: [22685]
                                                    )
                                                  ]
                                                  spids: [22682 22683 22687 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:EXT)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$tst") ("\n") 
                                                                ($ VSub_Name "$ext")
                                                              )
                                                            }
                                                          spids: [22693]
                                                        )
                                                      ]
                                                      spids: [22693]
                                                    )
                                                  ]
                                                  spids: [22690 22691 22701 -1]
                                                )
                                              ]
                                              spids: [22675 22679 22704]
                                            )
                                            (C {(copy)} {($ VSub_Name "$tmp") (.c)} 
                                              {
                                                (DQ ($ VSub_Name "$std") ("\n") ($ VSub_Name "$EXT") 
                                                  ("\n") ($ VSub_Name "$usr") ("\n") ($ VSub_Name "$inc") ("\n") ($ VSub_Name "$src") ("\n")
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:V)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [22726]
                                                )
                                              ]
                                              spids: [22726]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:e)
                                                  op: Equal
                                                  rhs: {(0)}
                                                  spids: [22730]
                                                )
                                              ]
                                              spids: [22730]
                                            )
                                            (C {(is)} {(tst)} 
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name note>
                                                    suffix_op: 
                                                      (StringUnary
                                                        op_id: VTest_ColonHyphen
                                                        arg_word: {($ VSub_Name "$run")}
                                                      )
                                                    spids: [22739 22743]
                                                  )
                                                )
                                              }
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$run")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(cat) (Lit_Other "*")}
                                                    {(nocat) (Lit_Other "*")}
                                                  ]
                                                  action: [
                                                    (C {(copy)} {(-)} {(DQ ($ VSub_Name "$src"))})
                                                  ]
                                                  spids: [22754 22759 22771 -1]
                                                )
                                                (case_arm
                                                  pat_list: [
                                                    {(cross) (Lit_Other "*")}
                                                    {(nocross) (Lit_Other "*")}
                                                  ]
                                                  action: [
                                                    (C {(copy)} {($ VSub_Name "$tmp") (.sh)} 
                                                      {(DQ ($ VSub_Name "$src"))}
                                                    )
                                                    (C {(chmod)} {(Lit_Other "+") (x)} 
                                                      {($ VSub_Name "$tmp") (.sh)}
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (SimpleCommand
                                                          words: [
                                                            {(execute)}
                                                            {($ VSub_Name "$tmp") (.sh)}
                                                          ]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_LessAnd
                                                              fd: -1
                                                              arg_word: {($ VSub_Name "$nullin")}
                                                              spids: [22806]
                                                            )
                                                          ]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:e)
                                                              op: Equal
                                                              rhs: {(1)}
                                                              spids: [22811]
                                                            )
                                                          ]
                                                          spids: [22811]
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  spids: [22774 22779 22815 -1]
                                                )
                                                (case_arm
                                                  pat_list: [
                                                    {(run) (Lit_Other "*")}
                                                    {(norun) (Lit_Other "*")}
                                                  ]
                                                  action: [
                                                    (AndOr
                                                      children: [
                                                        (Subshell
                                                          child: 
                                                            (C {(eval)} {(DQ ($ VSub_Name "$src"))})
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_LessAnd
                                                              fd: -1
                                                              arg_word: {($ VSub_Name "$nullin")}
                                                              spids: [22834]
                                                            )
                                                          ]
                                                          spids: [22826 22832]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:e)
                                                              op: Equal
                                                              rhs: {(1)}
                                                              spids: [22839]
                                                            )
                                                          ]
                                                          spids: [22839]
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  spids: [22818 22823 22843 -1]
                                                )
                                                (case_arm
                                                  pat_list: [
                                                    {(mac) (Lit_Other "*")}
                                                    {(nomac) (Lit_Other "*")}
                                                  ]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (SimpleCommand
                                                              words: [
                                                                {(compile)}
                                                                {($ VSub_Name "$cc")}
                                                                {(-E)}
                                                                {($ VSub_Name "$tmp") (.c)}
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_LessAnd
                                                                  fd: -1
                                                                  arg_word: {($ VSub_Name "$nullin")}
                                                                  spids: [22865]
                                                                )
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {($ VSub_Name "$tmp") (.i)}
                                                                  spids: [22868]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(sed)} {(-e)} 
                                                              {(SQ <"/<<[ \t]*\".*\"[ \t]*>>/!d">)} {(-e)} {(SQ <"s/<<[ \t]*\"//g">)} {(-e)} {(SQ <"s/\"[ \t]*>>//g">)} {($ VSub_Name "$tmp") (.i)}
                                                            )
                                                          ]
                                                          spids: [-1 22873]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:e)
                                                              op: Equal
                                                              rhs: {(1)}
                                                              spids: [22901]
                                                            )
                                                          ]
                                                          spids: [22901]
                                                        )
                                                      ]
                                                      spids: [22899 22905]
                                                    )
                                                  ]
                                                  spids: [22846 22851 22908 -1]
                                                )
                                                (case_arm
                                                  pat_list: [
                                                    {(p) (Lit_Other "*")}
                                                    {(nop) (Lit_Other "*")}
                                                  ]
                                                  action: [
                                                    (AndOr
                                                      children: [
                                                        (SimpleCommand
                                                          words: [
                                                            {(compile)}
                                                            {($ VSub_Name "$cc")}
                                                            {(-DTEST) (Lit_Other "=") 
                                                              ($ VSub_Name "$p")
                                                            }
                                                            {(-DID) (Lit_Other "=") 
                                                              ($ VSub_Name "$v")
                                                            }
                                                            {(-E)}
                                                            {($ VSub_Name "$tmp") (.c)}
                                                          ]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_LessAnd
                                                              fd: -1
                                                              arg_word: {($ VSub_Name "$nullin")}
                                                              spids: [22934]
                                                            )
                                                            (Redir
                                                              op_id: Redir_GreatAnd
                                                              fd: -1
                                                              arg_word: {($ VSub_Name "$nullout")}
                                                              spids: [22937]
                                                            )
                                                          ]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:e)
                                                              op: Equal
                                                              rhs: {(1)}
                                                              spids: [22942]
                                                            )
                                                          ]
                                                          spids: [22942]
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  spids: [22911 22916 22946 -1]
                                                )
                                                (case_arm
                                                  pat_list: [
                                                    {(c) (Lit_Other "*")}
                                                    {(noc) (Lit_Other "*")}
                                                  ]
                                                  action: [
                                                    (AndOr
                                                      children: [
                                                        (SimpleCommand
                                                          words: [
                                                            {(compile)}
                                                            {($ VSub_Name "$cc")}
                                                            {(-DTEST) (Lit_Other "=") 
                                                              ($ VSub_Name "$p")
                                                            }
                                                            {(-DID) (Lit_Other "=") 
                                                              ($ VSub_Name "$v")
                                                            }
                                                            {(-c)}
                                                            {($ VSub_Name "$tmp") (.c)}
                                                          ]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_LessAnd
                                                              fd: -1
                                                              arg_word: {($ VSub_Name "$nullin")}
                                                              spids: [22972]
                                                            )
                                                            (Redir
                                                              op_id: Redir_GreatAnd
                                                              fd: -1
                                                              arg_word: {($ VSub_Name "$nullout")}
                                                              spids: [22975]
                                                            )
                                                          ]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:e)
                                                              op: Equal
                                                              rhs: {(1)}
                                                              spids: [22980]
                                                            )
                                                          ]
                                                          spids: [22980]
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  spids: [22949 22954 22984 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$run")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(status) (Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:ccflags)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [23000]
                                                                )
                                                              ]
                                                              spids: [23000]
                                                            )
                                                          ]
                                                          spids: [22997 22999 23003 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [
                                                            {(s) (Lit_Other "*")}
                                                            {(nos) (Lit_Other "*")}
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {($ VSub_Name "$reallystatictest")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(SQ )}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: reallystatictest
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(.)}
                                                                          spids: [23028]
                                                                        )
                                                                      ]
                                                                      spids: [23028]
                                                                    )
                                                                    (SimpleCommand
                                                                      words: [
                                                                        {(echo)}
                                                                        {
                                                                          (DQ ($ VSub_Name "$tst") 
                                                                            ("\n") ($ VSub_Name "$ext") ("\n") ("int main(){printf(")
                                                                          ) (hello) (DQ (");return(0);}"))
                                                                        }
                                                                      ]
                                                                      redirects: [
                                                                        (Redir
                                                                          op_id: Redir_Great
                                                                          fd: -1
                                                                          arg_word: 
                                                                            {(${ VSub_Name tmp) 
                                                                              (s.c)
                                                                            }
                                                                          spids: [23046]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (C {(rm)} {(-f)} 
                                                                      {(${ VSub_Name tmp) (s.exe)}
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (AndOr
                                                                              children: [
                                                                                (SimpleCommand
                                                                                  words: [
                                                                                    {(compile)}
                                                                                    {
                                                                                      ($ VSub_Name 
"$cc"
                                                                                      )
                                                                                    }
                                                                                    {(-c)}
                                                                                    {
                                                                                      (${ VSub_Name 
tmp
                                                                                      ) (s.c)
                                                                                    }
                                                                                  ]
                                                                                  redirects: [
                                                                                    (Redir
                                                                                      op_id: 
Redir_LessAnd
                                                                                      fd: -1
                                                                                      arg_word: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$nullin"
                                                                                          )
                                                                                        }
                                                                                      spids: [23077]
                                                                                    )
                                                                                    (Redir
                                                                                      op_id: 
Redir_GreatAnd
                                                                                      fd: -1
                                                                                      arg_word: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$nullout"
                                                                                          )
                                                                                        }
                                                                                      spids: [23080]
                                                                                    )
                                                                                  ]
                                                                                )
                                                                                (AndOr
                                                                                  children: [
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {(compile)}
                                                                                        {
                                                                                          ($ 
VSub_Name "$cc"
                                                                                          )
                                                                                        }
                                                                                        {(-o)}
                                                                                        {
                                                                                          (${ 
VSub_Name tmp
                                                                                          ) (s.exe)
                                                                                        }
                                                                                        {
                                                                                          (${ 
VSub_Name tmp
                                                                                          ) (s.o)
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_LessAnd
                                                                                          fd: -1
                                                                                          arg_word: 
                                                                                            {
                                                                                              ($ 
VSub_Name "$nullin"
                                                                                              )
                                                                                            }
                                                                                          spids: [
23102
                                                                                          ]
                                                                                        )
                                                                                        (Redir
                                                                                          op_id: 
Redir_GreatAnd
                                                                                          fd: -1
                                                                                          arg_word: 
                                                                                            {
                                                                                              ($ 
VSub_Name "$nullout"
                                                                                              )
                                                                                            }
                                                                                          spids: [
23105
                                                                                          ]
                                                                                        )
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: 2
                                                                                          arg_word: 
                                                                                            {
                                                                                              (${ 
VSub_Name tmp
                                                                                              ) (s.e)
                                                                                            }
                                                                                          spids: [
23108
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                    (C 
                                                                                      {
                                                                                        ($ VSub_Name 
"$executable"
                                                                                        )
                                                                                      } {(${ VSub_Name tmp) (s.exe)}
                                                                                    )
                                                                                  ]
                                                                                  op_id: Op_DAmp
                                                                                )
                                                                              ]
                                                                              op_id: Op_DAmp
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: e
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (CommandSubPart
                                                                                        command_list: 
                                                                                          (CommandList
                                                                                            children: [
                                                                                              (C 
                                                                                                {
                                                                                                  (
wc
                                                                                                  )
                                                                                                } {(-l)} {(${ VSub_Name tmp) (s.e)}
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
23128
23137
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [23127]
                                                                                )
                                                                              ]
                                                                              spids: [23127]
                                                                            )
                                                                            (C {(eval)} {(set)} {(x)} 
                                                                              {(x)} {($ VSub_Name "$binding")}
                                                                            )
                                                                            (While
                                                                              cond: [
                                                                                (C {(Lit_Other ":")})
                                                                              ]
                                                                              body: 
                                                                                (DoGroup
                                                                                  children: [
                                                                                    (C {(shift)})
                                                                                    (C {(shift)})
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          ($ 
VSub_Pound "$#"
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {(0)}
                                                                                          ]
                                                                                          action: [
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Break break
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          spids: [
23171
23172
23176
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
23164
23168
23179
                                                                                      ]
                                                                                    )
                                                                                    (C {(rm)} {(-f)} 
                                                                                      {
                                                                                        (${ 
VSub_Name tmp
                                                                                        ) (s.exe)
                                                                                      }
                                                                                    )
                                                                                    (AndOr
                                                                                      children: [
                                                                                        (SimpleCommand
                                                                                          words: [
                                                                                            {
                                                                                              (
compile
                                                                                              )
                                                                                            }
                                                                                            {
                                                                                              ($ 
VSub_Name "$cc"
                                                                                              )
                                                                                            }
                                                                                            {(-o)}
                                                                                            {
                                                                                              (${ 
VSub_Name tmp
                                                                                              ) (s.exe)
                                                                                            }
                                                                                            {
                                                                                              ($ 
VSub_Number "$1"
                                                                                              )
                                                                                            }
                                                                                            {
                                                                                              (${ 
VSub_Name tmp
                                                                                              ) (s.o)
                                                                                            }
                                                                                          ]
                                                                                          redirects: [
                                                                                            (Redir
                                                                                              op_id: 
Redir_LessAnd
                                                                                              fd: -1
                                                                                              arg_word: 
                                                                                                {
                                                                                                  ($ 
VSub_Name "$nullin"
                                                                                                  )
                                                                                                }
                                                                                              spids: [
23210
                                                                                              ]
                                                                                            )
                                                                                            (Redir
                                                                                              op_id: 
Redir_GreatAnd
                                                                                              fd: -1
                                                                                              arg_word: 
                                                                                                {
                                                                                                  ($ 
VSub_Name "$nullout"
                                                                                                  )
                                                                                                }
                                                                                              spids: [
23213
                                                                                              ]
                                                                                            )
                                                                                            (Redir
                                                                                              op_id: 
Redir_Great
                                                                                              fd: 2
                                                                                              arg_word: 
                                                                                                {
                                                                                                  (${ 
VSub_Name tmp
                                                                                                  ) (s.e)
                                                                                                }
                                                                                              spids: [
23216
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                        )
                                                                                        (AndOr
                                                                                          children: [
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name "$executable"
                                                                                                )
                                                                                              } {(${ VSub_Name tmp) (s.exe)}
                                                                                            )
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Continue continue
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          op_id: 
Op_DPipe
                                                                                        )
                                                                                      ]
                                                                                      op_id: Op_DAmp
                                                                                    )
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          (CommandSubPart
                                                                                            command_list: 
                                                                                              (CommandList
                                                                                                children: [
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
wc
                                                                                                      )
                                                                                                    } {(-l)} {(${ VSub_Name tmp) (s.e)}
                                                                                                  )
                                                                                                ]
                                                                                              )
                                                                                            left_token: 
                                                                                              <
Left_Backtick "`"
                                                                                              >
                                                                                            spids: [
23238
23247
                                                                                            ]
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              ($ 
VSub_Name "$e"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          spids: [
23252
23253
23255
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Continue continue
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          spids: [
23258
23259
23263
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
23236
23249
23266
                                                                                      ]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
d
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (CommandSubPart
                                                                                                command_list: 
                                                                                                  (CommandList
                                                                                                    children: [
                                                                                                      (C 
                                                                                                        {
                                                                                                          (
ls
                                                                                                          )
                                                                                                        } {(-s)} {(${ VSub_Name tmp) (s.exe)}
                                                                                                      )
                                                                                                    ]
                                                                                                  )
                                                                                                left_token: 
                                                                                                  <
Left_Backtick "`"
                                                                                                  >
                                                                                                spids: [
23270
23279
                                                                                                ]
                                                                                              )
                                                                                            }
                                                                                          spids: [
23269
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [23269]
                                                                                    )
                                                                                    (C {(rm)} {(-f)} 
                                                                                      {
                                                                                        (${ 
VSub_Name tmp
                                                                                        ) (s.exe)
                                                                                      }
                                                                                    )
                                                                                    (AndOr
                                                                                      children: [
                                                                                        (SimpleCommand
                                                                                          words: [
                                                                                            {
                                                                                              (
compile
                                                                                              )
                                                                                            }
                                                                                            {
                                                                                              ($ 
VSub_Name "$cc"
                                                                                              )
                                                                                            }
                                                                                            {(-o)}
                                                                                            {
                                                                                              (${ 
VSub_Name tmp
                                                                                              ) (s.exe)
                                                                                            }
                                                                                            {
                                                                                              ($ 
VSub_Number "$2"
                                                                                              )
                                                                                            }
                                                                                            {
                                                                                              (${ 
VSub_Name tmp
                                                                                              ) (s.o)
                                                                                            }
                                                                                          ]
                                                                                          redirects: [
                                                                                            (Redir
                                                                                              op_id: 
Redir_LessAnd
                                                                                              fd: -1
                                                                                              arg_word: 
                                                                                                {
                                                                                                  ($ 
VSub_Name "$nullin"
                                                                                                  )
                                                                                                }
                                                                                              spids: [
23310
                                                                                              ]
                                                                                            )
                                                                                            (Redir
                                                                                              op_id: 
Redir_GreatAnd
                                                                                              fd: -1
                                                                                              arg_word: 
                                                                                                {
                                                                                                  ($ 
VSub_Name "$nullout"
                                                                                                  )
                                                                                                }
                                                                                              spids: [
23313
                                                                                              ]
                                                                                            )
                                                                                            (Redir
                                                                                              op_id: 
Redir_Great
                                                                                              fd: 2
                                                                                              arg_word: 
                                                                                                {
                                                                                                  (${ 
VSub_Name tmp
                                                                                                  ) (s.e)
                                                                                                }
                                                                                              spids: [
23316
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                        )
                                                                                        (AndOr
                                                                                          children: [
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name "$executable"
                                                                                                )
                                                                                              } {(${ VSub_Name tmp) (s.exe)}
                                                                                            )
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Continue continue
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          op_id: 
Op_DPipe
                                                                                        )
                                                                                      ]
                                                                                      op_id: Op_DAmp
                                                                                    )
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          (CommandSubPart
                                                                                            command_list: 
                                                                                              (CommandList
                                                                                                children: [
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
wc
                                                                                                      )
                                                                                                    } {(-l)} {(${ VSub_Name tmp) (s.e)}
                                                                                                  )
                                                                                                ]
                                                                                              )
                                                                                            left_token: 
                                                                                              <
Left_Backtick "`"
                                                                                              >
                                                                                            spids: [
23338
23347
                                                                                            ]
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              ($ 
VSub_Name "$e"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          spids: [
23352
23353
23355
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Continue continue
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          spids: [
23358
23359
23363
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
23336
23349
23366
                                                                                      ]
                                                                                    )
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          (CommandSubPart
                                                                                            command_list: 
                                                                                              (CommandList
                                                                                                children: [
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
ls
                                                                                                      )
                                                                                                    } {(-s)} {(${ VSub_Name tmp) (s.exe)}
                                                                                                  )
                                                                                                ]
                                                                                              )
                                                                                            left_token: 
                                                                                              <
Left_Backtick "`"
                                                                                              >
                                                                                            spids: [
23371
23380
                                                                                            ]
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              ($ 
VSub_Name "$d"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          spids: [
23385
23386
23388
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
reallystatic
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      ($ 
VSub_Number "$2"
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
23394
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
23394
                                                                                              ]
                                                                                            )
                                                                                            (C {(set)} 
                                                                                              {(x)}
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
shift
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Break break
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          spids: [
23391
23392
23409
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
23369
23382
23412
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [23156 23415]
                                                                                )
                                                                            )
                                                                          ]
                                                                          spids: [-1 23125]
                                                                        )
                                                                      ]
                                                                      spids: [-1 23418]
                                                                    )
                                                                    (C {(rm)} {(-f)} 
                                                                      {(${ VSub_Name tmp) (s.) 
                                                                        (Lit_Other "*")
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [-1 23021 23436 -1]
                                                                )
                                                              ]
                                                              spids: [23012 23016 23439]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:ccflags)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$reallystatic")}
                                                                  spids: [23442]
                                                                )
                                                              ]
                                                              spids: [23442]
                                                            )
                                                          ]
                                                          spids: [23006 23011 23446 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:ccflags)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [23452]
                                                                )
                                                              ]
                                                              spids: [23452]
                                                            )
                                                          ]
                                                          spids: [23449 23450 23455 -1]
                                                        )
                                                      ]
                                                      spids: [22990 22994 23458]
                                                    )
                                                    (C {(set)} {(x)} {($ VSub_Name "$mac")})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:e)
                                                          op: Equal
                                                          rhs: {(1)}
                                                          spids: [23468]
                                                        )
                                                      ]
                                                      spids: [23468]
                                                    )
                                                    (While
                                                      cond: [(C {(Lit_Other ":")})]
                                                      body: 
                                                        (DoGroup
                                                          children: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:o)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [23479]
                                                                )
                                                              ]
                                                              spids: [23479]
                                                            )
                                                            (C {(shift)})
                                                            (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: [23499 23500 23504 -1]
                                                                        )
                                                                      ]
                                                                      spids: [23492 23496 23507]
                                                                    )
                                                                    (Case
                                                                      to_match: {($ VSub_Number "$1")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [{(-)}]
                                                                          action: [
                                                                            (ControlFlow
                                                                              token: 
                                                                                <ControlFlow_Break 
break
                                                                                >
                                                                            )
                                                                          ]
                                                                          spids: [23517 23518 23522 -1]
                                                                        )
                                                                      ]
                                                                      spids: [23510 23514 23525]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:o)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ ($ VSub_Name "$o") 
                                                                                (" ") ($ VSub_Number "$1")
                                                                              )
                                                                            }
                                                                          spids: [23528]
                                                                        )
                                                                      ]
                                                                      spids: [23528]
                                                                    )
                                                                    (C {(shift)})
                                                                  ]
                                                                  spids: [23490 23539]
                                                                )
                                                            )
                                                            (C {(rm)} {(-f)} 
                                                              {($ VSub_Name "$tmp") (.exe)}
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (AndOr
                                                                      children: [
                                                                        (SimpleCommand
                                                                          words: [
                                                                            {(compile)}
                                                                            {($ VSub_Name "$cc")}
                                                                            {
                                                                              ($ VSub_Name "$ccflags")
                                                                            }
                                                                            {($ VSub_Name "$o")}
                                                                            {(-DTEST) 
                                                                              (Lit_Other "=") ($ VSub_Name "$p")
                                                                            }
                                                                            {(-DID) (Lit_Other "=") 
                                                                              ($ VSub_Name "$v")
                                                                            }
                                                                            {(-o)}
                                                                            {($ VSub_Name "$tmp") 
                                                                              (.exe)
                                                                            }
                                                                            {($ VSub_Name "$tmp") 
                                                                              (.c)
                                                                            }
                                                                            {($ VSub_Name "$lib")}
                                                                            {
                                                                              ($ VSub_Name "$deflib")
                                                                            }
                                                                          ]
                                                                          redirects: [
                                                                            (Redir
                                                                              op_id: Redir_LessAnd
                                                                              fd: -1
                                                                              arg_word: 
                                                                                {
                                                                                  ($ VSub_Name 
"$nullin"
                                                                                  )
                                                                                }
                                                                              spids: [23580]
                                                                            )
                                                                            (Redir
                                                                              op_id: Redir_GreatAnd
                                                                              fd: -1
                                                                              arg_word: 
                                                                                {
                                                                                  ($ VSub_Name 
"$nullout"
                                                                                  )
                                                                                }
                                                                              spids: [23583]
                                                                            )
                                                                          ]
                                                                        )
                                                                        (C 
                                                                          {
                                                                            ($ VSub_Name 
"$executable"
                                                                            )
                                                                          } {($ VSub_Name "$tmp") (.exe)}
                                                                        )
                                                                      ]
                                                                      op_id: Op_DAmp
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: {($ VSub_Name "$run")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(status) 
                                                                              (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {(execute)}
                                                                                {
                                                                                  ($ VSub_Name "$tmp") (.exe)
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: 
Redir_LessAnd
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$nullin"
                                                                                      )
                                                                                    }
                                                                                  spids: [23612]
                                                                                )
                                                                                (Redir
                                                                                  op_id: 
Redir_GreatAnd
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$nullout"
                                                                                      )
                                                                                    }
                                                                                  spids: [23615]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: V
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_QMark 
"$?"
                                                                                      )
                                                                                    }
                                                                                  spids: [23619]
                                                                                )
                                                                              ]
                                                                              spids: [23619]
                                                                            )
                                                                            (Case
                                                                              to_match: 
                                                                                {($ VSub_Name "$V")}
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [{(0)}]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
e
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(1)}
                                                                                          spids: [
23633
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [23633]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
23630
23631
23636
-1
                                                                                  ]
                                                                                )
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      )
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
e
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(0)}
                                                                                          spids: [
23642
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [23642]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
23639
23640
23645
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
23623
23627
23648
                                                                              ]
                                                                            )
                                                                            (ControlFlow
                                                                              token: 
                                                                                <ControlFlow_Break 
break
                                                                                >
                                                                            )
                                                                          ]
                                                                          spids: [23604 23606 23654 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(no) (Lit_Other "[") 
                                                                              (ls) (Lit_Other "]") (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          spids: [23657 23662 23663 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "[") (ls) 
                                                                              (Lit_Other "]") (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (AndOr
                                                                              children: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: e
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: {(0)}
                                                                                      spids: [23672]
                                                                                    )
                                                                                  ]
                                                                                  spids: [23672]
                                                                                )
                                                                                (ControlFlow
                                                                                  token: 
                                                                                    <
ControlFlow_Break break
                                                                                    >
                                                                                )
                                                                              ]
                                                                              op_id: Op_DAmp
                                                                            )
                                                                          ]
                                                                          spids: [23666 23670 23679 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(noo) (Lit_Other "*")}
                                                                          ]
                                                                          action: [
                                                                            (AndOr
                                                                              children: [
                                                                                (SimpleCommand
                                                                                  words: [
                                                                                    {(execute)}
                                                                                    {
                                                                                      ($ VSub_Name 
"$tmp"
                                                                                      ) (.exe)
                                                                                    }
                                                                                  ]
                                                                                  redirects: [
                                                                                    (Redir
                                                                                      op_id: 
Redir_LessAnd
                                                                                      fd: -1
                                                                                      arg_word: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$nullin"
                                                                                          )
                                                                                        }
                                                                                      spids: [23691]
                                                                                    )
                                                                                    (Redir
                                                                                      op_id: 
Redir_Great
                                                                                      fd: -1
                                                                                      arg_word: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$tmp"
                                                                                          ) (.out)
                                                                                        }
                                                                                      spids: [23694]
                                                                                    )
                                                                                  ]
                                                                                )
                                                                                (ControlFlow
                                                                                  token: 
                                                                                    <
ControlFlow_Break break
                                                                                    >
                                                                                )
                                                                              ]
                                                                              op_id: Op_DPipe
                                                                            )
                                                                          ]
                                                                          spids: [23682 23684 23702 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(o) (Lit_Other "*")}
                                                                          ]
                                                                          action: [
                                                                            (AndOr
                                                                              children: [
                                                                                (SimpleCommand
                                                                                  words: [
                                                                                    {(execute)}
                                                                                    {
                                                                                      ($ VSub_Name 
"$tmp"
                                                                                      ) (.exe)
                                                                                    }
                                                                                  ]
                                                                                  redirects: [
                                                                                    (Redir
                                                                                      op_id: 
Redir_LessAnd
                                                                                      fd: -1
                                                                                      arg_word: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$nullin"
                                                                                          )
                                                                                        }
                                                                                      spids: [23714]
                                                                                    )
                                                                                    (Redir
                                                                                      op_id: 
Redir_Great
                                                                                      fd: -1
                                                                                      arg_word: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$tmp"
                                                                                          ) (.out)
                                                                                        }
                                                                                      spids: [23717]
                                                                                    )
                                                                                  ]
                                                                                )
                                                                                (AndOr
                                                                                  children: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
e
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(0)}
                                                                                          spids: [
23723
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [23723]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  op_id: Op_DAmp
                                                                                )
                                                                              ]
                                                                              op_id: Op_DAmp
                                                                            )
                                                                          ]
                                                                          spids: [23705 23707 23730 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(no) (Lit_Other "*")}
                                                                          ]
                                                                          action: [
                                                                            (AndOr
                                                                              children: [
                                                                                (SimpleCommand
                                                                                  words: [
                                                                                    {(execute)}
                                                                                    {
                                                                                      ($ VSub_Name 
"$tmp"
                                                                                      ) (.exe)
                                                                                    }
                                                                                  ]
                                                                                  redirects: [
                                                                                    (Redir
                                                                                      op_id: 
Redir_LessAnd
                                                                                      fd: -1
                                                                                      arg_word: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$nullin"
                                                                                          )
                                                                                        }
                                                                                      spids: [23742]
                                                                                    )
                                                                                    (Redir
                                                                                      op_id: 
Redir_GreatAnd
                                                                                      fd: -1
                                                                                      arg_word: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$nullout"
                                                                                          )
                                                                                        }
                                                                                      spids: [23745]
                                                                                    )
                                                                                  ]
                                                                                )
                                                                                (ControlFlow
                                                                                  token: 
                                                                                    <
ControlFlow_Break break
                                                                                    >
                                                                                )
                                                                              ]
                                                                              op_id: Op_DPipe
                                                                            )
                                                                          ]
                                                                          spids: [23733 23735 23752 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (AndOr
                                                                              children: [
                                                                                (SimpleCommand
                                                                                  words: [
                                                                                    {(execute)}
                                                                                    {
                                                                                      ($ VSub_Name 
"$tmp"
                                                                                      ) (.exe)
                                                                                    }
                                                                                  ]
                                                                                  redirects: [
                                                                                    (Redir
                                                                                      op_id: 
Redir_LessAnd
                                                                                      fd: -1
                                                                                      arg_word: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$nullin"
                                                                                          )
                                                                                        }
                                                                                      spids: [23763]
                                                                                    )
                                                                                    (Redir
                                                                                      op_id: 
Redir_GreatAnd
                                                                                      fd: -1
                                                                                      arg_word: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$nullout"
                                                                                          )
                                                                                        }
                                                                                      spids: [23766]
                                                                                    )
                                                                                  ]
                                                                                )
                                                                                (AndOr
                                                                                  children: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
e
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(0)}
                                                                                          spids: [
23771
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [23771]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  op_id: Op_DAmp
                                                                                )
                                                                              ]
                                                                              op_id: Op_DAmp
                                                                            )
                                                                          ]
                                                                          spids: [23755 23756 23778 -1]
                                                                        )
                                                                      ]
                                                                      spids: [23596 23600 23782]
                                                                    )
                                                                  ]
                                                                  spids: [-1 23594]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Case
                                                                  to_match: {($ VSub_Name "$run")}
                                                                  arms: [
                                                                    (case_arm
                                                                      pat_list: [
                                                                        {(no) (Lit_Other "[") (els) 
                                                                          (Lit_Other "]") (Lit_Other "*")
                                                                        }
                                                                      ]
                                                                      action: [
                                                                        (AndOr
                                                                          children: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: e
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(1)}
                                                                                  spids: [23800]
                                                                                )
                                                                              ]
                                                                              spids: [23800]
                                                                            )
                                                                            (ControlFlow
                                                                              token: 
                                                                                <ControlFlow_Break 
break
                                                                                >
                                                                            )
                                                                          ]
                                                                          op_id: Op_DAmp
                                                                        )
                                                                      ]
                                                                      spids: [23794 23799 23807 -1]
                                                                    )
                                                                  ]
                                                                  spids: [23787 23791 23810]
                                                                )
                                                              ]
                                                              spids: [23785 23813]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Pound "$#")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(0)}]
                                                                  action: [
                                                                    (Case
                                                                      to_match: {($ VSub_Name "$run")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(no) (Lit_Other "*")}
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: e
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(0)}
                                                                                  spids: [23837]
                                                                                )
                                                                              ]
                                                                              spids: [23837]
                                                                            )
                                                                          ]
                                                                          spids: [23833 23835 23840 -1]
                                                                        )
                                                                      ]
                                                                      spids: [23826 23830 23843]
                                                                    )
                                                                    (ControlFlow
                                                                      token: 
                                                                        <ControlFlow_Break break>
                                                                    )
                                                                  ]
                                                                  spids: [23823 23824 23849 -1]
                                                                )
                                                              ]
                                                              spids: [23816 23820 23852]
                                                            )
                                                          ]
                                                          spids: [23477 23855]
                                                        )
                                                    )
                                                  ]
                                                  spids: [22987 22988 23858 -1]
                                                )
                                              ]
                                              spids: [22747 22751 23861]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:o)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [23864]
                                                )
                                              ]
                                              spids: [23864]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$run")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(no) (Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$e")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:e)
                                                                  op: Equal
                                                                  rhs: {(1)}
                                                                  spids: [23889]
                                                                )
                                                              ]
                                                              spids: [23889]
                                                            )
                                                          ]
                                                          spids: [23886 23887 23892 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:e)
                                                                  op: Equal
                                                                  rhs: {(0)}
                                                                  spids: [23898]
                                                                )
                                                              ]
                                                              spids: [23898]
                                                            )
                                                          ]
                                                          spids: [23895 23896 23901 -1]
                                                        )
                                                      ]
                                                      spids: [23879 23883 23904]
                                                    )
                                                  ]
                                                  spids: [23875 23877 23907 -1]
                                                )
                                              ]
                                              spids: [23868 23872 23910]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$run")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(o) (Lit_Other "*")}
                                                    {(noo) (Lit_Other "*")}
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$e")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          action: [
                                                            (C {(cat)} {($ VSub_Name "$tmp") (.out)})
                                                          ]
                                                          spids: [23933 23934 23941 -1]
                                                        )
                                                      ]
                                                      spids: [23926 23930 23944]
                                                    )
                                                    (C {(rm)} {(-f)} {($ VSub_Name "$tmp") (.out)})
                                                  ]
                                                  spids: [23920 23925 23955 -1]
                                                )
                                              ]
                                              spids: [23913 23917 23958]
                                            )
                                            (C {(report)} {($ VSub_Name "$e")} {($ VSub_Name "$V")} 
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name note>
                                                    suffix_op: 
                                                      (StringUnary
                                                        op_id: VTest_ColonHyphen
                                                        arg_word: 
                                                          {($ VSub_Name "$run") 
                                                            (EscapedLiteralPart
                                                              token: <Lit_EscapedChar "\\ ">
                                                            ) (passed)
                                                          }
                                                      )
                                                    spids: [23968 23974]
                                                  )
                                                )
                                              } 
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name note>
                                                    suffix_op: 
                                                      (StringUnary
                                                        op_id: VTest_ColonHyphen
                                                        arg_word: {($ VSub_Name "$run")}
                                                      )
                                                    spids: [23978 23982]
                                                  ) (" failed")
                                                )
                                              }
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [22671 22673 23990 -1]
                                        )
                                      ]
                                      spids: [22664 22668 23993]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$o")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(dat)} {(lib)} {(mth)} {(run)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$statictest")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(DQ )}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:statictest)
                                                          op: Equal
                                                          rhs: {(FoobaR)}
                                                          spids: [24030]
                                                        )
                                                      ]
                                                      spids: [24030]
                                                    )
                                                    (C {(copy)} {($ VSub_Name "$tmp") (.c)} 
                                                      {
                                                        (DQ ("\n") ($ VSub_Name "$tst") ("\n") 
                                                          ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$std") ("\n") ($ VSub_Name "$usr") ("\n") ("_BEGIN_EXTERNS_\n") ("extern int ") 
                                                          ($ VSub_Name "$statictest") (";\n") ("_END_EXTERNS_\n") ("int main(){char* i = (char*)&") ($ VSub_Name "$statictest") 
                                                          ("; return ((unsigned int)i)^0xaaaa;}\n")
                                                        )
                                                      }
                                                    )
                                                    (C {(rm)} {(-f)} {($ VSub_Name "$tmp") (.exe)})
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (AndOr
                                                              children: [
                                                                (SimpleCommand
                                                                  words: [
                                                                    {(compile)}
                                                                    {($ VSub_Name "$cc")}
                                                                    {(-o)}
                                                                    {($ VSub_Name "$tmp") (.exe)}
                                                                    {($ VSub_Name "$tmp") (.c)}
                                                                  ]
                                                                  redirects: [
                                                                    (Redir
                                                                      op_id: Redir_LessAnd
                                                                      fd: -1
                                                                      arg_word: 
                                                                        {($ VSub_Name "$nullin")}
                                                                      spids: [24082]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: -1
                                                                      arg_word: 
                                                                        {($ VSub_Name "$nullout")}
                                                                      spids: [24085]
                                                                    )
                                                                  ]
                                                                )
                                                                (C {($ VSub_Name "$executable")} 
                                                                  {($ VSub_Name "$tmp") (.exe)}
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$static")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(.)}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:static)
                                                                          op: Equal
                                                                          rhs: {(SQ )}
                                                                          spids: [24108]
                                                                        )
                                                                      ]
                                                                      spids: [24108]
                                                                    )
                                                                    (C {(copy)} 
                                                                      {($ VSub_Name "$tmp") (.c)} 
                                                                      {
                                                                        (DQ ("\n") 
                                                                          ($ VSub_Name "$tst") ("\n") ($ VSub_Name "$ext") ("\n") ("int main(){printf(")
                                                                        ) (hello) (DQ (");return(0);}\n"))
                                                                      }
                                                                    )
                                                                    (C {(rm)} {(-f)} 
                                                                      {($ VSub_Name "$tmp") (.exe)}
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (AndOr
                                                                              children: [
                                                                                (SimpleCommand
                                                                                  words: [
                                                                                    {(compile)}
                                                                                    {
                                                                                      ($ VSub_Name 
"$cc"
                                                                                      )
                                                                                    }
                                                                                    {(-c)}
                                                                                    {
                                                                                      ($ VSub_Name 
"$tmp"
                                                                                      ) (.c)
                                                                                    }
                                                                                  ]
                                                                                  redirects: [
                                                                                    (Redir
                                                                                      op_id: 
Redir_LessAnd
                                                                                      fd: -1
                                                                                      arg_word: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$nullin"
                                                                                          )
                                                                                        }
                                                                                      spids: [24149]
                                                                                    )
                                                                                    (Redir
                                                                                      op_id: 
Redir_GreatAnd
                                                                                      fd: -1
                                                                                      arg_word: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$nullout"
                                                                                          )
                                                                                        }
                                                                                      spids: [24152]
                                                                                    )
                                                                                  ]
                                                                                )
                                                                                (AndOr
                                                                                  children: [
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {(compile)}
                                                                                        {
                                                                                          ($ 
VSub_Name "$cc"
                                                                                          )
                                                                                        }
                                                                                        {(-o)}
                                                                                        {
                                                                                          ($ 
VSub_Name "$tmp"
                                                                                          ) (.exe)
                                                                                        }
                                                                                        {
                                                                                          ($ 
VSub_Name "$tmp"
                                                                                          ) (.o)
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_LessAnd
                                                                                          fd: -1
                                                                                          arg_word: 
                                                                                            {
                                                                                              ($ 
VSub_Name "$nullin"
                                                                                              )
                                                                                            }
                                                                                          spids: [
24170
                                                                                          ]
                                                                                        )
                                                                                        (Redir
                                                                                          op_id: 
Redir_GreatAnd
                                                                                          fd: -1
                                                                                          arg_word: 
                                                                                            {
                                                                                              ($ 
VSub_Name "$nullout"
                                                                                              )
                                                                                            }
                                                                                          spids: [
24173
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                    (C 
                                                                                      {
                                                                                        ($ VSub_Name 
"$executable"
                                                                                        )
                                                                                      } {($ VSub_Name "$tmp") (.exe)}
                                                                                    )
                                                                                  ]
                                                                                  op_id: Op_DAmp
                                                                                )
                                                                              ]
                                                                              op_id: Op_DAmp
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: e
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (CommandSubPart
                                                                                        command_list: 
                                                                                          (CommandList
                                                                                            children: [
                                                                                              (C 
                                                                                                {
                                                                                                  (
wc
                                                                                                  )
                                                                                                } {(-l)} {($ VSub_Name "$tmp") (.e)}
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
24188
24195
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [24187]
                                                                                )
                                                                              ]
                                                                              spids: [24187]
                                                                            )
                                                                            (C {(eval)} {(set)} {(x)} 
                                                                              {(x)} {($ VSub_Name "$binding")}
                                                                            )
                                                                            (While
                                                                              cond: [
                                                                                (C {(Lit_Other ":")})
                                                                              ]
                                                                              body: 
                                                                                (DoGroup
                                                                                  children: [
                                                                                    (C {(shift)})
                                                                                    (C {(shift)})
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          ($ 
VSub_Pound "$#"
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {(0)}
                                                                                          ]
                                                                                          action: [
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Break break
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          spids: [
24229
24230
24234
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
24222
24226
24237
                                                                                      ]
                                                                                    )
                                                                                    (C {(rm)} {(-f)} 
                                                                                      {
                                                                                        ($ VSub_Name 
"$tmp"
                                                                                        ) (.exe)
                                                                                      }
                                                                                    )
                                                                                    (AndOr
                                                                                      children: [
                                                                                        (SimpleCommand
                                                                                          words: [
                                                                                            {
                                                                                              (
compile
                                                                                              )
                                                                                            }
                                                                                            {
                                                                                              ($ 
VSub_Name "$cc"
                                                                                              )
                                                                                            }
                                                                                            {(-o)}
                                                                                            {
                                                                                              ($ 
VSub_Name "$tmp"
                                                                                              ) (.exe)
                                                                                            }
                                                                                            {
                                                                                              ($ 
VSub_Number "$1"
                                                                                              )
                                                                                            }
                                                                                            {
                                                                                              ($ 
VSub_Name "$tmp"
                                                                                              ) (.o)
                                                                                            }
                                                                                          ]
                                                                                          redirects: [
                                                                                            (Redir
                                                                                              op_id: 
Redir_LessAnd
                                                                                              fd: -1
                                                                                              arg_word: 
                                                                                                {
                                                                                                  ($ 
VSub_Name "$nullin"
                                                                                                  )
                                                                                                }
                                                                                              spids: [
24262
                                                                                              ]
                                                                                            )
                                                                                            (Redir
                                                                                              op_id: 
Redir_GreatAnd
                                                                                              fd: -1
                                                                                              arg_word: 
                                                                                                {
                                                                                                  ($ 
VSub_Name "$nullout"
                                                                                                  )
                                                                                                }
                                                                                              spids: [
24265
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                        )
                                                                                        (AndOr
                                                                                          children: [
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name "$executable"
                                                                                                )
                                                                                              } {($ VSub_Name "$tmp") (.exe)}
                                                                                            )
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Continue continue
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          op_id: 
Op_DPipe
                                                                                        )
                                                                                      ]
                                                                                      op_id: Op_DAmp
                                                                                    )
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          (CommandSubPart
                                                                                            command_list: 
                                                                                              (CommandList
                                                                                                children: [
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
wc
                                                                                                      )
                                                                                                    } {(-l)} {($ VSub_Name "$tmp") (.e)}
                                                                                                  )
                                                                                                ]
                                                                                              )
                                                                                            left_token: 
                                                                                              <
Left_Backtick "`"
                                                                                              >
                                                                                            spids: [
24282
24289
                                                                                            ]
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              ($ 
VSub_Name "$e"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          spids: [
24294
24295
24297
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Continue continue
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          spids: [
24300
24301
24305
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
24280
24291
24308
                                                                                      ]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
d
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (CommandSubPart
                                                                                                command_list: 
                                                                                                  (CommandList
                                                                                                    children: [
                                                                                                      (C 
                                                                                                        {
                                                                                                          (
ls
                                                                                                          )
                                                                                                        } {(-s)} {($ VSub_Name "$tmp") (.exe)}
                                                                                                      )
                                                                                                    ]
                                                                                                  )
                                                                                                left_token: 
                                                                                                  <
Left_Backtick "`"
                                                                                                  >
                                                                                                spids: [
24312
24319
                                                                                                ]
                                                                                              )
                                                                                            }
                                                                                          spids: [
24311
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [24311]
                                                                                    )
                                                                                    (C {(rm)} {(-f)} 
                                                                                      {
                                                                                        ($ VSub_Name 
"$tmp"
                                                                                        ) (.exe)
                                                                                      }
                                                                                    )
                                                                                    (AndOr
                                                                                      children: [
                                                                                        (SimpleCommand
                                                                                          words: [
                                                                                            {
                                                                                              (
compile
                                                                                              )
                                                                                            }
                                                                                            {
                                                                                              ($ 
VSub_Name "$cc"
                                                                                              )
                                                                                            }
                                                                                            {(-o)}
                                                                                            {
                                                                                              ($ 
VSub_Name "$tmp"
                                                                                              ) (.exe)
                                                                                            }
                                                                                            {
                                                                                              ($ 
VSub_Number "$2"
                                                                                              )
                                                                                            }
                                                                                            {
                                                                                              ($ 
VSub_Name "$tmp"
                                                                                              ) (.o)
                                                                                            }
                                                                                          ]
                                                                                          redirects: [
                                                                                            (Redir
                                                                                              op_id: 
Redir_LessAnd
                                                                                              fd: -1
                                                                                              arg_word: 
                                                                                                {
                                                                                                  ($ 
VSub_Name "$nullin"
                                                                                                  )
                                                                                                }
                                                                                              spids: [
24344
                                                                                              ]
                                                                                            )
                                                                                            (Redir
                                                                                              op_id: 
Redir_GreatAnd
                                                                                              fd: -1
                                                                                              arg_word: 
                                                                                                {
                                                                                                  ($ 
VSub_Name "$nullout"
                                                                                                  )
                                                                                                }
                                                                                              spids: [
24347
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                        )
                                                                                        (AndOr
                                                                                          children: [
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name "$executable"
                                                                                                )
                                                                                              } {($ VSub_Name "$tmp") (.exe)}
                                                                                            )
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Continue continue
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          op_id: 
Op_DPipe
                                                                                        )
                                                                                      ]
                                                                                      op_id: Op_DAmp
                                                                                    )
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          (CommandSubPart
                                                                                            command_list: 
                                                                                              (CommandList
                                                                                                children: [
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
wc
                                                                                                      )
                                                                                                    } {(-l)} {($ VSub_Name "$tmp") (.e)}
                                                                                                  )
                                                                                                ]
                                                                                              )
                                                                                            left_token: 
                                                                                              <
Left_Backtick "`"
                                                                                              >
                                                                                            spids: [
24364
24371
                                                                                            ]
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              ($ 
VSub_Name "$e"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          spids: [
24376
24377
24379
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Continue continue
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          spids: [
24382
24383
24387
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
24362
24373
24390
                                                                                      ]
                                                                                    )
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          (CommandSubPart
                                                                                            command_list: 
                                                                                              (CommandList
                                                                                                children: [
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
ls
                                                                                                      )
                                                                                                    } {(-s)} {($ VSub_Name "$tmp") (.exe)}
                                                                                                  )
                                                                                                ]
                                                                                              )
                                                                                            left_token: 
                                                                                              <
Left_Backtick "`"
                                                                                              >
                                                                                            spids: [
24395
24402
                                                                                            ]
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              ($ 
VSub_Name "$d"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          spids: [
24407
24408
24410
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
static
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      ($ 
VSub_Number "$2"
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
24416
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
24416
                                                                                              ]
                                                                                            )
                                                                                            (C {(set)} 
                                                                                              {(x)}
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
shift
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                            (ControlFlow
                                                                                              token: 
                                                                                                <
ControlFlow_Break break
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          spids: [
24413
24414
24431
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
24393
24404
24434
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [24214 24437]
                                                                                )
                                                                            )
                                                                          ]
                                                                          spids: [-1 24185]
                                                                        )
                                                                      ]
                                                                      spids: [-1 24440]
                                                                    )
                                                                  ]
                                                                  spids: [24105 24106 24443 -1]
                                                                )
                                                              ]
                                                              spids: [24098 24102 24446]
                                                            )
                                                          ]
                                                          spids: [-1 24096]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:static)
                                                              op: Equal
                                                              rhs: {(SQ )}
                                                              spids: [24451]
                                                            )
                                                          ]
                                                          spids: [24451]
                                                        )
                                                      ]
                                                      spids: [24449 24454]
                                                    )
                                                  ]
                                                  spids: [-1 24028 24457 -1]
                                                )
                                              ]
                                              spids: [24019 24023 24460]
                                            )
                                          ]
                                          spids: [24009 24016 24463 -1]
                                        )
                                      ]
                                      spids: [24002 24006 24466]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$o")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(api)}]
                                          spids: [24482 24483 24485 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(cmd)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$p")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [24498 24500 24504 -1]
                                                )
                                              ]
                                              spids: [24491 24495 24507]
                                            )
                                            (C {(is)} {($ VSub_Name "$o")} {($ VSub_Name "$a")})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:k)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [24517]
                                                )
                                              ]
                                              spids: [24517]
                                            )
                                            (ForEach
                                              iter_name: j
                                              iter_words: [{(DQ )} {(usr)}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$j")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(DQ )}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:d)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [24546]
                                                                )
                                                                (assign_pair
                                                                  lhs: (LhsName name:s)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [24548]
                                                                )
                                                              ]
                                                              spids: [24546]
                                                            )
                                                          ]
                                                          spids: [-1 24544 24550 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:d)
                                                                  op: Equal
                                                                  rhs: {(/) ($ VSub_Name "$j")}
                                                                  spids: [24556]
                                                                )
                                                                (assign_pair
                                                                  lhs: (LhsName name:s)
                                                                  op: Equal
                                                                  rhs: {(_) ($ VSub_Name "$j")}
                                                                  spids: [24560]
                                                                )
                                                              ]
                                                              spids: [24556]
                                                            )
                                                          ]
                                                          spids: [24553 24554 24564 -1]
                                                        )
                                                      ]
                                                      spids: [24535 24539 24567]
                                                    )
                                                    (ForEach
                                                      iter_name: i
                                                      iter_words: [{(bin)} {(etc)} {(ucb)}]
                                                      do_arg_iter: False
                                                      body: 
                                                        (DoGroup
                                                          children: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (C {(test)} {(-f)} 
                                                                      {($ VSub_Name "$d") (/) 
                                                                        ($ VSub_Name "$i") (/) ($ VSub_Name "$a")
                                                                      }
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: {($ VSub_Name "$k")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [{(1)}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: k
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(0)}
                                                                                  spids: [24610]
                                                                                )
                                                                              ]
                                                                              spids: [24610]
                                                                            )
                                                                            (Case
                                                                              to_match: 
                                                                                {($ VSub_Name "$M")}
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      ) (-) (Lit_Other "*")
                                                                                    }
                                                                                  ]
                                                                                  spids: [
24621
24624
24626
-1
                                                                                  ]
                                                                                )
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      )
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
usr
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name "$usr"
                                                                                                ) ($ VSub_Name "$nl") ("#define ") ($ VSub_Name "$m") (" 1")
                                                                                              )
                                                                                            }
                                                                                          spids: [
24632
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [24632]
                                                                                    )
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$define"
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {(1)}
                                                                                          ]
                                                                                          action: [
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              } {(DQ ("#define ") ($ VSub_Name "$m") ("\t1\t/* ") ($ VSub_Name "$a") (" in ?(/usr)/(bin|etc|ucb) */"))}
                                                                                            )
                                                                                          ]
                                                                                          spids: [
24649
24650
24662
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {(n)}
                                                                                          ]
                                                                                          action: [
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              } {(DQ ($ VSub_Name "$m") ("=1"))}
                                                                                            )
                                                                                          ]
                                                                                          spids: [
24665
24666
24675
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
24642
24646
24678
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
24629
24630
24681
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
24614
24618
24684
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [24607 24608 24687 -1]
                                                                        )
                                                                      ]
                                                                      spids: [24600 24604 24690]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:c)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {(${ VSub_Name s) (_) 
                                                                              (${ VSub_Name i) (_) (${ VSub_Name v)
                                                                            }
                                                                          spids: [24693]
                                                                        )
                                                                      ]
                                                                      spids: [24693]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:usr)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name "$usr") ($ VSub_Name "$nl") ("#define ") ($ VSub_Name "$c") (" 1")
                                                                              )
                                                                            }
                                                                          spids: [24707]
                                                                        )
                                                                      ]
                                                                      spids: [24707]
                                                                    )
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name "$define")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [{(1)}]
                                                                          action: [
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ ("#define ") 
                                                                                  ($ VSub_Name "$c") ("\t1\t/* ") ($ VSub_Name "$d") (/) ($ VSub_Name "$i") (/) ($ VSub_Name "$a") (" found */")
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [24724 24725 24741 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(n)}]
                                                                          action: [
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name "$c") ("=1")
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [24744 24745 24754 -1]
                                                                        )
                                                                      ]
                                                                      spids: [24717 24721 24757]
                                                                    )
                                                                  ]
                                                                  spids: [-1 24598]
                                                                )
                                                              ]
                                                              spids: [-1 24760]
                                                            )
                                                          ]
                                                          spids: [24583 24763]
                                                        )
                                                      spids: [24575 -1]
                                                    )
                                                  ]
                                                  spids: [24533 24766]
                                                )
                                              spids: [24526 -1]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$k")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(0)}]
                                                  action: [(C {(success)})]
                                                  spids: [24776 24777 24781 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(1)}]
                                                  action: [(C {(failure)})]
                                                  spids: [24784 24785 24789 -1]
                                                )
                                              ]
                                              spids: [24769 24773 24792]
                                            )
                                          ]
                                          spids: [24488 24489 24795 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(dat)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$p")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [24808 24810 24814 -1]
                                                )
                                              ]
                                              spids: [24801 24805 24817]
                                            )
                                            (BraceGroup
                                              children: [
                                                (C {(copy)} {(-)} 
                                                  {
                                                    (DQ ("\n") ($ VSub_Name "$tst") ("\n") 
                                                      ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$std") ("\n") ($ VSub_Name "$usr") ("\n") ($ VSub_Name "$pre") ("\n")
                                                    )
                                                  }
                                                )
                                                (Case
                                                  to_match: {($ VSub_Name "$inc")}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                                      action: [(C {(echo)} {(DQ ($ VSub_Name "$inc"))})]
                                                      spids: [24849 24851 24860 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(echo)} 
                                                          {
                                                            (DQ ("_BEGIN_EXTERNS_\n") ("extern int ") 
                                                              ($ VSub_Name "$v") (";\n") (_END_EXTERNS_)
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [24863 24864 24877 -1]
                                                    )
                                                  ]
                                                  spids: [24842 24846 24880]
                                                )
                                                (C {(echo)} 
                                                  {
                                                    (DQ ("\n") ("#ifdef _DLL\n") ("#define _REF_\n") 
                                                      ("#else\n") ("#define _REF_\t&\n") ("#endif\n") ("int main(){char* i = (char*) _REF_ ") ($ VSub_Name "$v") 
                                                      ("; return ((unsigned int)i)^0xaaaa;}")
                                                    )
                                                  }
                                                )
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {($ VSub_Name "$tmp") (.c)}
                                                  spids: [24900]
                                                )
                                              ]
                                              spids: [24820]
                                            )
                                            (C {(is)} {($ VSub_Name "$o")} {($ VSub_Name "$v")})
                                            (C {(rm)} {(-f)} {($ VSub_Name "$tmp") (.exe)})
                                            (AndOr
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {(compile)}
                                                    {($ VSub_Name "$cc")}
                                                    {(-c)}
                                                    {($ VSub_Name "$tmp") (.c)}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_LessAnd
                                                      fd: -1
                                                      arg_word: {($ VSub_Name "$nullin")}
                                                      spids: [24930]
                                                    )
                                                    (Redir
                                                      op_id: Redir_GreatAnd
                                                      fd: -1
                                                      arg_word: {($ VSub_Name "$nullout")}
                                                      spids: [24933]
                                                    )
                                                  ]
                                                )
                                                (AndOr
                                                  children: [
                                                    (SimpleCommand
                                                      words: [
                                                        {(compile)}
                                                        {($ VSub_Name "$cc")}
                                                        {($ VSub_Name "$static")}
                                                        {(-o)}
                                                        {($ VSub_Name "$tmp") (.exe)}
                                                        {($ VSub_Name "$tmp") (.o)}
                                                        {($ VSub_Name "$lib")}
                                                        {($ VSub_Name "$deflib")}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_LessAnd
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$nullin")}
                                                          spids: [24957]
                                                        )
                                                        (Redir
                                                          op_id: Redir_GreatAnd
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$nullout")}
                                                          spids: [24960]
                                                        )
                                                      ]
                                                    )
                                                    (C {($ VSub_Name "$executable")} 
                                                      {($ VSub_Name "$tmp") (.exe)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                            (C {(report)} {($ VSub_QMark "$?")} {(1)} 
                                              {(DQ ($ VSub_Name "$v") (" in default lib(s)"))} {(DQ ($ VSub_Name "$v") (" not in default lib(s)"))}
                                            )
                                          ]
                                          spids: [24798 24799 24989 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(dfn)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$p")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [25002 25004 25008 -1]
                                                )
                                              ]
                                              spids: [24995 24999 25011]
                                            )
                                            (C {(is)} {(dfn)} {($ VSub_Name "$v")})
                                            (SimpleCommand
                                              words: [
                                                {(echo)}
                                                {
                                                  (DQ ($ VSub_Name "$pre") ("\n") ($ VSub_Name "$tst") 
                                                    ("\n") ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$inc") ("\n") ("#ifdef ") ($ VSub_Name "$v") ("\n") ("<<") 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar "\\\"">
                                                    ) ("#ifndef ") ($ VSub_Name "$v") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (">>\n") ("<<") 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar "\\\"">
                                                    ) ("#define ") ($ VSub_Name "$v") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (">>\t") 
                                                    ($ VSub_Name "$v") ("\t<<") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("/* native ") ($ VSub_Name "$v") (" */") 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar "\\\"">
                                                    ) (">>\n") ("<<") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("#endif") 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar "\\\"">
                                                    ) (">>\n") ("#endif")
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {($ VSub_Name "$tmp") (.c)}
                                                  spids: [25063]
                                                )
                                              ]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (SimpleCommand
                                                      words: [
                                                        {(compile)}
                                                        {($ VSub_Name "$cc")}
                                                        {(-E)}
                                                        {($ VSub_Name "$tmp") (.c)}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_LessAnd
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$nullin")}
                                                          spids: [25080]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$tmp") (.i)}
                                                          spids: [25083]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  action: [
                                                    (SimpleCommand
                                                      words: [
                                                        {(sed)}
                                                        {(-e)}
                                                        {(SQ <"/<<[ \t]*\".*\"[ \t]*>>/!d">)}
                                                        {(-e)}
                                                        {(SQ <"s/<<[ \t]*\"//g">)}
                                                        {(-e)}
                                                        {(SQ <"s/\"[ \t]*>>//g">)}
                                                        {($ VSub_Name "$tmp") (.i)}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$tmp") (.t)}
                                                          spids: [25113]
                                                        )
                                                      ]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (C {(test)} {(-s)} 
                                                              {($ VSub_Name "$tmp") (.t)}
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(success)})
                                                            (C {(cat)} {($ VSub_Name "$tmp") (.t)})
                                                          ]
                                                          spids: [-1 25129]
                                                        )
                                                      ]
                                                      else_action: [(C {(failure)})]
                                                      spids: [25140 25145]
                                                    )
                                                  ]
                                                  spids: [-1 25088]
                                                )
                                              ]
                                              else_action: [(C {(failure)})]
                                              spids: [25148 25153]
                                            )
                                          ]
                                          spids: [24992 24993 25156 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(exp)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$test")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(SQ )}]
                                                  action: [
                                                    (SimpleCommand
                                                      words: [
                                                        {(echo)}
                                                        {
                                                          (DQ ($ VSub_Name "$command") (": ") 
                                                            ($ VSub_Name "$file") ($ VSub_Name "$sline") (": test expression expected for ") ($ VSub_Name "$o")
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_GreatAnd
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$stderr")}
                                                          spids: [25184]
                                                        )
                                                      ]
                                                    )
                                                    (C {(exit)} {(1)})
                                                  ]
                                                  spids: [-1 25171 25193 -1]
                                                )
                                              ]
                                              spids: [25162 25166 25196]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$a")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-)} {(SQ )}]
                                                  spids: [25206 25210 25212 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(eval)} 
                                                      {(Lit_VarLike "x=") (SQ <"$">) 
                                                        ($ VSub_Name "$a")
                                                      }
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$x")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(1)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:result)
                                                                  op: Equal
                                                                  rhs: {(FAILURE)}
                                                                  spids: [25237]
                                                                )
                                                              ]
                                                              spids: [25237]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [25234 25235 25244 -1]
                                                        )
                                                      ]
                                                      spids: [25227 25231 25247]
                                                    )
                                                  ]
                                                  spids: [25215 25216 25250 -1]
                                                )
                                              ]
                                              spids: [25199 25203 25253]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$test")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "[") (01) (Lit_Other "]")}
                                                    {(SQ <"\"">) (Lit_Other "*") (SQ <"\"">)}
                                                    {(SQ <"<">) (Lit_Other "*") (SQ <">">)}
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$a")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(-)} {(SQ )}]
                                                          spids: [25292 25296 25298 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {($ VSub_Name "$define") 
                                                                  ($ VSub_Name "$note")
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(1)}]
                                                                  action: [
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#define ") 
                                                                          ($ VSub_Name "$a") ("\t") ($ VSub_Name "$test")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [25312 25313 25324 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(1) (Lit_Other "*")}]
                                                                  action: [
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#define ") 
                                                                          ($ VSub_Name "$a") ("\t") ($ VSub_Name "$test") ("\t/* ") ($ VSub_Name "$note") (" */")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [25327 25329 25343 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(n)}]
                                                                  action: [
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ($ VSub_Name "$a") ("=") 
                                                                          ($ VSub_Name "$test")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [25346 25347 25357 -1]
                                                                )
                                                              ]
                                                              spids: [25304 25309 25360]
                                                            )
                                                            (C {(eval)} 
                                                              {($ VSub_Name "$a") (Lit_Other "=") 
                                                                (SQ <"$test">)
                                                              }
                                                            )
                                                          ]
                                                          spids: [25301 25302 25372 -1]
                                                        )
                                                      ]
                                                      spids: [25285 25289 25375]
                                                    )
                                                  ]
                                                  spids: [25263 25282 25378 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$note")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(SQ )}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:note)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$test")}
                                                                  spids: [25395]
                                                                )
                                                              ]
                                                              spids: [25395]
                                                            )
                                                          ]
                                                          spids: [-1 25393 25398 -1]
                                                        )
                                                      ]
                                                      spids: [25384 25388 25401]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$test")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(SQ )}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:c)
                                                                  op: Equal
                                                                  rhs: {(1)}
                                                                  spids: [25415]
                                                                )
                                                              ]
                                                              spids: [25415]
                                                            )
                                                          ]
                                                          spids: [-1 25413 25419 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(is)} {(exp)} 
                                                              {(DQ ($ VSub_Name "$note"))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:x)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [25434]
                                                                )
                                                              ]
                                                              spids: [25434]
                                                            )
                                                            (ForEach
                                                              iter_name: i
                                                              iter_words: [
                                                                {
                                                                  (CommandSubPart
                                                                    command_list: 
                                                                      (CommandList
                                                                        children: [
                                                                          (Pipeline
                                                                            children: [
                                                                              (C {(echo)} {(SQ )} 
                                                                                {
                                                                                  ($ VSub_Name 
"$test"
                                                                                  )
                                                                                }
                                                                              )
                                                                              (C {(sed)} 
                                                                                {
                                                                                  (SQ 
                                                                                    <
"s,[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_], & ,g"
                                                                                    >
                                                                                  )
                                                                                }
                                                                              )
                                                                            ]
                                                                            negated: False
                                                                          )
                                                                        ]
                                                                      )
                                                                    left_token: <Left_Backtick "`">
                                                                    spids: [25443 25458]
                                                                  )
                                                                }
                                                              ]
                                                              do_arg_iter: False
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (Case
                                                                      to_match: {($ VSub_Name "$i")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "[") 
                                                                              (EscapedLiteralPart
                                                                                token: 
                                                                                  <Lit_EscapedChar 
"\\ "
                                                                                  >
                                                                              ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\t">) (Lit_Other "]")
                                                                            }
                                                                          ]
                                                                          spids: [25470 25474 25477 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "[") 
                                                                              (
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_
                                                                              ) (Lit_Other "]") (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (C {(eval)} 
                                                                              {(Lit_VarLike "i=") 
                                                                                (SQ <"${">) ($ VSub_Name "$i") (SQ <"}">)
                                                                              }
                                                                            )
                                                                            (Case
                                                                              to_match: 
                                                                                {($ VSub_Name "$i")}
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [{(SQ )}]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
i
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(0)}
                                                                                          spids: [
25510
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [25510]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
-1
25508
25514
-1
                                                                                  ]
                                                                                )
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {(SQ <"\"">) 
                                                                                      (Lit_Other 
"*"
                                                                                      ) (SQ <"\"">)
                                                                                    }
                                                                                  ]
                                                                                  spids: [
25518
25524
25525
-1
                                                                                  ]
                                                                                )
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      ) (Lit_Other "[") (KW_Bang "!") (-) (Lit_Other "+") (0123456789) (Lit_Other "]") (Lit_Other "*")
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (Case
                                                                                      to_match: 
                                                                                        {
                                                                                          ($ 
VSub_Name "$i"
                                                                                          )
                                                                                        }
                                                                                      arms: [
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              ) (SQ <"\"">) (Lit_Other "*")
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
i
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (
1
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
25553
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
25553
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
25546
25551
25556
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
i
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (SQ 
                                                                                                        <
"\""
                                                                                                        >
                                                                                                      ) ($ VSub_Name "$i") (SQ <"\"">)
                                                                                                    }
                                                                                                  spids: [
25562
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
25562
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
25559
25560
25571
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
25539
25543
25574
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
25528
25536
25577
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
25499
25503
25580
                                                                              ]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: x
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$x"
                                                                                        ) (" ") ($ VSub_Name "$i")
                                                                                      )
                                                                                    }
                                                                                  spids: [25583]
                                                                                )
                                                                              ]
                                                                              spids: [25583]
                                                                            )
                                                                          ]
                                                                          spids: [25480 25484 25591 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(SQ <"!">)}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: x
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$x"
                                                                                        ) (" 0 =")
                                                                                      )
                                                                                    }
                                                                                  spids: [25599]
                                                                                )
                                                                              ]
                                                                              spids: [25599]
                                                                            )
                                                                          ]
                                                                          spids: [25595 25597 25606 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(SQ <"&">)}
                                                                            {(SQ <"|">)}
                                                                          ]
                                                                          action: [
                                                                            (Case
                                                                              to_match: 
                                                                                {($ VSub_Name "$x")}
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      ) (DQ ($ VSub_Name "$i"))
                                                                                    }
                                                                                  ]
                                                                                  spids: [
25624
25628
25630
-1
                                                                                  ]
                                                                                )
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      )
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
x
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name "$x"
                                                                                                ) (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ($ VSub_Name "$i")
                                                                                              )
                                                                                            }
                                                                                          spids: [
25636
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [25636]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
25633
25634
25644
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
25617
25621
25647
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [25610 25616 25650 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: x
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$x"
                                                                                        ) (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ($ VSub_Name "$i")
                                                                                      )
                                                                                    }
                                                                                  spids: [25656]
                                                                                )
                                                                              ]
                                                                              spids: [25656]
                                                                            )
                                                                          ]
                                                                          spids: [25653 25654 25665 -1]
                                                                        )
                                                                      ]
                                                                      spids: [25463 25467 25668]
                                                                    )
                                                                  ]
                                                                  spids: [25461 25671]
                                                                )
                                                              spids: [25442 -1]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:c)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (SimpleCommand
                                                                                words: [
                                                                                  {(eval)}
                                                                                  {(expr)}
                                                                                  {
                                                                                    ($ VSub_Name "$x")
                                                                                  }
                                                                                ]
                                                                                redirects: [
                                                                                  (Redir
                                                                                    op_id: 
Redir_GreatAnd
                                                                                    fd: 2
                                                                                    arg_word: 
                                                                                      {
                                                                                        ($ VSub_Name 
"$stderr"
                                                                                        )
                                                                                      }
                                                                                    spids: [25682]
                                                                                  )
                                                                                ]
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick "`">
                                                                        spids: [25675 25684]
                                                                      )
                                                                    }
                                                                  spids: [25674]
                                                                )
                                                              ]
                                                              spids: [25674]
                                                            )
                                                          ]
                                                          spids: [25422 25423 25687 -1]
                                                        )
                                                      ]
                                                      spids: [25404 25408 25690]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$c")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:c)
                                                                  op: Equal
                                                                  rhs: {(1)}
                                                                  spids: [25703]
                                                                )
                                                              ]
                                                              spids: [25703]
                                                            )
                                                          ]
                                                          spids: [25700 25701 25706 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:c)
                                                                  op: Equal
                                                                  rhs: {(0)}
                                                                  spids: [25712]
                                                                )
                                                              ]
                                                              spids: [25712]
                                                            )
                                                          ]
                                                          spids: [25709 25710 25715 -1]
                                                        )
                                                      ]
                                                      spids: [25693 25697 25718]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:M)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$a")}
                                                          spids: [25721]
                                                        )
                                                      ]
                                                      spids: [25721]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:m)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$a")}
                                                          spids: [25725]
                                                        )
                                                      ]
                                                      spids: [25725]
                                                    )
                                                    (C {(report)} {($ VSub_Name "$c")} {(1)} 
                                                      {(DQ ($ VSub_Name "$note") (" is true"))} {(DQ ($ VSub_Name "$note") (" is false"))}
                                                    )
                                                  ]
                                                  spids: [25381 25382 25746 -1]
                                                )
                                              ]
                                              spids: [25256 25260 25749]
                                            )
                                          ]
                                          spids: [25159 25160 25752 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(hdr)} {(lcl)} {(nxt)} {(sys)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$o")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(lcl)} {(nxt)}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$M")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") (-) (Lit_Other "*")}
                                                          ]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [25783 25786 25790 -1]
                                                        )
                                                      ]
                                                      spids: [25776 25780 25793]
                                                    )
                                                    (C {(eval)} 
                                                      {(Lit_VarLike "x=") (SQ <"$">) (_) 
                                                        ($ VSub_Name "$m")
                                                      }
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$x")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [25813 25815 25819 -1]
                                                        )
                                                      ]
                                                      spids: [25806 25810 25822]
                                                    )
                                                    (C {(eval)} 
                                                      {(_) ($ VSub_Name "$m") (Lit_Other "=") (1)}
                                                    )
                                                    (C {(is)} {($ VSub_Name "$o")} {($ VSub_Name "$f")})
                                                    (SimpleCommand
                                                      words: [
                                                        {(echo)}
                                                        {
                                                          (DQ ($ VSub_Name "$pre") ("\n") 
                                                            ($ VSub_Name "$tst") ("\n") ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$inc") ("\n") ("#include <") ($ VSub_Name "$f") (".h>")
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$tmp") (.c)}
                                                          spids: [25856]
                                                        )
                                                      ]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$f")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(sys/) (Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:e)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [25873]
                                                                )
                                                              ]
                                                              spids: [25873]
                                                            )
                                                          ]
                                                          spids: [25869 25871 25875 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:e)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (SQ 
                                                                        <
"-e /[\\\\\\\\\\/]sys[\\\\\\\\\\/]"
                                                                        >
                                                                      ) ($ VSub_Name "$f") (SQ <"\\\\.h\"/d">)
                                                                    }
                                                                  spids: [25881]
                                                                )
                                                              ]
                                                              spids: [25881]
                                                            )
                                                          ]
                                                          spids: [25878 25879 25890 -1]
                                                        )
                                                      ]
                                                      spids: [25862 25866 25893]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (SimpleCommand
                                                              words: [
                                                                {(compile)}
                                                                {($ VSub_Name "$cc")}
                                                                {(-E)}
                                                                {($ VSub_Name "$tmp") (.c)}
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_LessAnd
                                                                  fd: -1
                                                                  arg_word: {($ VSub_Name "$nullin")}
                                                                  spids: [25907]
                                                                )
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {($ VSub_Name "$tmp") (.i)}
                                                                  spids: [25910]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:i)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (Pipeline
                                                                                children: [
                                                                                  (C {(sed)} {(-e)} 
                                                                                    {
                                                                                      (SQ 
                                                                                        <
"/^#[line \t]*[0123456789][0123456789]*[ \t][ \t]*\"[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:]*[\\\\\\\\\\/].*[\\\\\\\\\\/]"
                                                                                        >
                                                                                      ) ($ VSub_Name "$f") (SQ <"\\\\.h\"/!d">)
                                                                                    } {($ VSub_Name "$e")} {(-e)} {(s) (SQ <"/.*\"\\\\(.*\\\\)\".*/\\\\1/">)} {(-e)} {(SQ <"s,\\\\\\\\,/,g">)} 
                                                                                    {(-e)} {(SQ <"s,///*,/,g">)} {($ VSub_Name "$tmp") (.i)}
                                                                                  )
                                                                                  (C {(sed)} {(1q)})
                                                                                ]
                                                                                negated: False
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick "`">
                                                                        spids: [25918 25960]
                                                                      )
                                                                    }
                                                                  spids: [25917]
                                                                )
                                                              ]
                                                              spids: [25917]
                                                            )
                                                            (Case
                                                              to_match: {($ VSub_Name "$i")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "[") 
                                                                      (
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
                                                                      ) (Lit_Other "]") (Lit_Other ":") (Lit_Other "[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (/) 
                                                                      (Lit_Other "]") (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  spids: [25970 25979 25982 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (/) 
                                                                      (Lit_Other "*") (/) (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:k)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (Pipeline
                                                                                        children: [
                                                                                          (C {(echo)} 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name "$i"
                                                                                                )
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                          (C {(sed)} 
                                                                                            {
                                                                                              (SQ 
                                                                                                <
"s,.*/\\([^/]*/[^/]*\\)$,../\\1,"
                                                                                                >
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                        ]
                                                                                        negated: 
False
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [25993 26007]
                                                                              )
                                                                            }
                                                                          spids: [25992]
                                                                        )
                                                                      ]
                                                                      spids: [25992]
                                                                    )
                                                                    (SimpleCommand
                                                                      words: [
                                                                        {(echo)}
                                                                        {
                                                                          (DQ ($ VSub_Name "$pre") 
                                                                            ("\n") ($ VSub_Name "$tst") ("\n") ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$inc") ("\n") ("#include <") 
                                                                            ($ VSub_Name "$k") (">")
                                                                          )
                                                                        }
                                                                      ]
                                                                      redirects: [
                                                                        (Redir
                                                                          op_id: Redir_Great
                                                                          fd: -1
                                                                          arg_word: 
                                                                            {($ VSub_Name "$tmp") 
                                                                              (.c)
                                                                            }
                                                                          spids: [26026]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {(compile)}
                                                                                {
                                                                                  ($ VSub_Name "$cc")
                                                                                }
                                                                                {(-E)}
                                                                                {
                                                                                  ($ VSub_Name "$tmp") (.c)
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: 
Redir_LessAnd
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$nullin"
                                                                                      )
                                                                                    }
                                                                                  spids: [26043]
                                                                                )
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$tmp"
                                                                                      ) (.i)
                                                                                    }
                                                                                  spids: [26046]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: j
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (CommandSubPart
                                                                                        command_list: 
                                                                                          (CommandList
                                                                                            children: [
                                                                                              (Pipeline
                                                                                                children: [
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
sed
                                                                                                      )
                                                                                                    } {(-e)} 
                                                                                                    {
                                                                                                      (SQ 
                                                                                                        <
"/^#[line \t]*[0123456789][0123456789]*[ \t][ \t]*\"[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:]*[\\\\\\\\\\/].*[\\\\\\\\\\/]"
                                                                                                        >
                                                                                                      ) ($ VSub_Name "$f") (SQ <"\\\\.h\"/!d">)
                                                                                                    } {($ VSub_Name "$e")} {(-e)} {(s) (SQ <"/.*\"\\\\(.*\\\\)\".*/\\\\1/">)} {(-e)} {(SQ <"s,\\\\\\\\,/,g">)} 
                                                                                                    {
                                                                                                      (
-e
                                                                                                      )
                                                                                                    } {(SQ <"s,///*,/,g">)} {($ VSub_Name "$tmp") (.i)}
                                                                                                  )
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
sed
                                                                                                      )
                                                                                                    } {(1q)}
                                                                                                  )
                                                                                                ]
                                                                                                negated: 
False
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
26054
26096
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [26053]
                                                                                )
                                                                              ]
                                                                              spids: [26053]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: wi
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (CommandSubPart
                                                                                        command_list: 
                                                                                          (CommandList
                                                                                            children: [
                                                                                              (SimpleCommand
                                                                                                words: [
                                                                                                  {
                                                                                                    (
wc
                                                                                                    )
                                                                                                  }
                                                                                                ]
                                                                                                redirects: [
                                                                                                  (Redir
                                                                                                    op_id: 
Redir_Less
                                                                                                    fd: 
-1
                                                                                                    arg_word: 
                                                                                                      {
                                                                                                        (DQ 
                                                                                                          ($ 
VSub_Name "$i"
                                                                                                          )
                                                                                                        )
                                                                                                      }
                                                                                                    spids: [
26103
                                                                                                    ]
                                                                                                  )
                                                                                                ]
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
26100
26108
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [26099]
                                                                                )
                                                                              ]
                                                                              spids: [26099]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: wj
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (CommandSubPart
                                                                                        command_list: 
                                                                                          (CommandList
                                                                                            children: [
                                                                                              (SimpleCommand
                                                                                                words: [
                                                                                                  {
                                                                                                    (
wc
                                                                                                    )
                                                                                                  }
                                                                                                ]
                                                                                                redirects: [
                                                                                                  (Redir
                                                                                                    op_id: 
Redir_Less
                                                                                                    fd: 
-1
                                                                                                    arg_word: 
                                                                                                      {
                                                                                                        (DQ 
                                                                                                          ($ 
VSub_Name "$j"
                                                                                                          )
                                                                                                        )
                                                                                                      }
                                                                                                    spids: [
26115
                                                                                                    ]
                                                                                                  )
                                                                                                ]
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
26112
26120
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [26111]
                                                                                )
                                                                              ]
                                                                              spids: [26111]
                                                                            )
                                                                            (Case
                                                                              to_match: 
                                                                                {
                                                                                  ($ VSub_Name "$wi")
                                                                                }
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      ($ VSub_Name 
"$wj"
                                                                                      )
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
i
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              ($ 
VSub_Name "$k"
                                                                                              )
                                                                                            }
                                                                                          spids: [
26133
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [26133]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
26130
26131
26136
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
26123
26127
26139
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [-1 26051]
                                                                        )
                                                                      ]
                                                                      spids: [-1 26142]
                                                                    )
                                                                  ]
                                                                  spids: [25985 25990 26145 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (SimpleCommand
                                                                      words: [
                                                                        {(echo)}
                                                                        {
                                                                          (DQ ($ VSub_Name "$pre") 
                                                                            ("\n") ($ VSub_Name "$tst") ("\n") ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$inc") ("\n") 
                                                                            (
"#include <../include/"
                                                                            ) ($ VSub_Name "$f") (".h>")
                                                                          )
                                                                        }
                                                                      ]
                                                                      redirects: [
                                                                        (Redir
                                                                          op_id: Redir_Great
                                                                          fd: -1
                                                                          arg_word: 
                                                                            {($ VSub_Name "$tmp") 
                                                                              (.c)
                                                                            }
                                                                          spids: [26167]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {(compile)}
                                                                                {
                                                                                  ($ VSub_Name "$cc")
                                                                                }
                                                                                {(-E)}
                                                                                {
                                                                                  ($ VSub_Name "$tmp") (.c)
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: 
Redir_LessAnd
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$nullin"
                                                                                      )
                                                                                    }
                                                                                  spids: [26184]
                                                                                )
                                                                                (Redir
                                                                                  op_id: 
Redir_GreatAnd
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$nullout"
                                                                                      )
                                                                                    }
                                                                                  spids: [26187]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: i
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {(../include/) 
                                                                                      ($ VSub_Name 
"$f"
                                                                                      ) (.h)
                                                                                    }
                                                                                  spids: [26193]
                                                                                )
                                                                              ]
                                                                              spids: [26193]
                                                                            )
                                                                          ]
                                                                          spids: [-1 26191]
                                                                        )
                                                                      ]
                                                                      spids: [-1 26199]
                                                                    )
                                                                  ]
                                                                  spids: [26148 26149 26202 -1]
                                                                )
                                                              ]
                                                              spids: [25963 25967 26205]
                                                            )
                                                          ]
                                                          spids: [-1 25915]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:i)
                                                              op: Equal
                                                              rhs: {(SQ )}
                                                              spids: [26210]
                                                            )
                                                          ]
                                                          spids: [26210]
                                                        )
                                                      ]
                                                      spids: [26208 26213]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$i")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "[") 
                                                              (
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
                                                              ) (Lit_Other "]") (Lit_Other ":") (Lit_Other "[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (/) 
                                                              (Lit_Other "]") (Lit_Other "*")
                                                            }
                                                            {(Lit_Other "[") 
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar "\\\\">
                                                              ) (/) (Lit_Other "]") (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [
                                                            (C {(success)})
                                                            (Case
                                                              to_match: {($ VSub_Name "$o")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(lcl)}]
                                                                  action: [
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ 
                                                                          (
"#if defined(__STDPP__directive)"
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ 
                                                                          (
"__STDPP__directive pragma pp:hosted"
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(echo)} {(DQ ("#endif"))})
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#include <") 
                                                                          ($ VSub_Name "$i") (">\t/* the native <") ($ VSub_Name "$f") (".h> */")
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#undef\t") 
                                                                          ($ VSub_Name "$m")
                                                                        )
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:usr)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name "$usr") ($ VSub_Name "$nl") ("#define ") ($ VSub_Name "$m") (" 1")
                                                                              )
                                                                            }
                                                                          spids: [26294]
                                                                        )
                                                                      ]
                                                                      spids: [26294]
                                                                    )
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#define ") 
                                                                          ($ VSub_Name "$m") ("\t1")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [26251 26252 26313 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(nxt)}]
                                                                  action: [
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#define ") 
                                                                          ($ VSub_Name "$m") (" <") ($ VSub_Name "$i") (">\t/* include path for the native <") ($ VSub_Name "$f") (".h> */")
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#define ") 
                                                                          (${ VSub_Name m) ("_str ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$i") 
                                                                          (EscapedLiteralPart
                                                                            token: 
                                                                              <Lit_EscapedChar 
"\\\""
                                                                              >
                                                                          ) ("\t/* include string for the native <") ($ VSub_Name "$f") (".h> */")
                                                                        )
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:usr)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name "$usr") ($ VSub_Name "$nl") ("#define ") ($ VSub_Name "$m") (" <") ($ VSub_Name "$i") (">") ($ VSub_Name "$nl") 
                                                                                ("#define ") (${ VSub_Name m) ("_str ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$i") 
                                                                                (EscapedLiteralPart
                                                                                  token: 
                                                                                    <
Lit_EscapedChar "\\\""
                                                                                    >
                                                                                )
                                                                              )
                                                                            }
                                                                          spids: [26349]
                                                                        )
                                                                      ]
                                                                      spids: [26349]
                                                                    )
                                                                    (C {(eval)} 
                                                                      {($ VSub_Name "$m") 
                                                                        (Lit_Other "=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\<">) 
                                                                        ($ VSub_Name "$i") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\>">)
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [26316 26317 26381 -1]
                                                                )
                                                              ]
                                                              spids: [26244 26248 26384]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                            )
                                                          ]
                                                          spids: [26223 26238 26390 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [
                                                            {(../) (Lit_Other "*") (/) (Lit_Other "*")}
                                                          ]
                                                          action: [
                                                            (C {(success)})
                                                            (Case
                                                              to_match: {($ VSub_Name "$o")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(lcl)}]
                                                                  action: [
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#include <") 
                                                                          ($ VSub_Name "$i") (">\t/* the native <") ($ VSub_Name "$f") (".h> */")
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#undef\t") 
                                                                          ($ VSub_Name "$m")
                                                                        )
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:usr)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name "$usr") ($ VSub_Name "$nl") ("#define ") ($ VSub_Name "$m") (" 1")
                                                                              )
                                                                            }
                                                                          spids: [26431]
                                                                        )
                                                                      ]
                                                                      spids: [26431]
                                                                    )
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#define ") 
                                                                          ($ VSub_Name "$m") ("\t1")
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(eval)} 
                                                                      {($ VSub_Name "$m") 
                                                                        (Lit_Other "=") (1)
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [26409 26410 26457 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(nxt)}]
                                                                  action: [
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#define ") 
                                                                          ($ VSub_Name "$m") (" <") ($ VSub_Name "$i") (">\t/* include path for the native <") ($ VSub_Name "$f") (".h> */")
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(echo)} 
                                                                      {
                                                                        (DQ ("#define ") 
                                                                          (${ VSub_Name m) ("_str ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$i") 
                                                                          (EscapedLiteralPart
                                                                            token: 
                                                                              <Lit_EscapedChar 
"\\\""
                                                                              >
                                                                          ) ("\t/* include string for the native <") ($ VSub_Name "$f") (".h> */")
                                                                        )
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:usr)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name "$usr") ($ VSub_Name "$nl") ("#define ") ($ VSub_Name "$m") (" <") ($ VSub_Name "$i") (">") ($ VSub_Name "$nl") 
                                                                                ("#define ") (${ VSub_Name m) ("_str ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$i") 
                                                                                (EscapedLiteralPart
                                                                                  token: 
                                                                                    <
Lit_EscapedChar "\\\""
                                                                                    >
                                                                                )
                                                                              )
                                                                            }
                                                                          spids: [26493]
                                                                        )
                                                                      ]
                                                                      spids: [26493]
                                                                    )
                                                                    (C {(eval)} 
                                                                      {($ VSub_Name "$m") 
                                                                        (Lit_Other "=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\<">) 
                                                                        ($ VSub_Name "$i") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\>">)
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [26460 26461 26525 -1]
                                                                )
                                                              ]
                                                              spids: [26402 26406 26528]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                            )
                                                          ]
                                                          spids: [26393 26397 26534 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(failure)})
                                                            (Case
                                                              to_match: {($ VSub_Name "$o")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(lcl)}]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name "$all") 
                                                                          ($ VSub_Name "$config") ($ VSub_Name "$undef")
                                                                        }
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "?") (1) 
                                                                              (Lit_Other "?")
                                                                            }
                                                                            {(Lit_Other "?") 
                                                                              (Lit_Other "?") (1)
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ ("#undef\t") 
                                                                                  ($ VSub_Name "$m") ("\t\t/* no native <") ($ VSub_Name "$f") (".h> */")
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [26562 26569 26580 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(1) (Lit_Other "?") 
                                                                              (Lit_Other "?")
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ ("#define ") 
                                                                                  ($ VSub_Name "$m") ("\t0\t/* no native <") ($ VSub_Name "$f") (".h> */")
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [26583 26586 26598 -1]
                                                                        )
                                                                      ]
                                                                      spids: [26553 26559 26601]
                                                                    )
                                                                    (C {(eval)} 
                                                                      {($ VSub_Name "$m") 
                                                                        (Lit_Other "=") (0)
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [26550 26551 26611 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(nxt)}]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name "$all") 
                                                                          ($ VSub_Name "$config") ($ VSub_Name "$undef")
                                                                        }
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "?") (1) 
                                                                              (Lit_Other "?")
                                                                            }
                                                                            {(Lit_Other "?") 
                                                                              (Lit_Other "?") (1)
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (C {(echo)} 
                                                                              {
                                                                                (DQ ("#undef\t") 
                                                                                  ($ VSub_Name "$m") ("\t\t/* no include path for the native <") ($ VSub_Name "$f") (".h> */")
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [26626 26633 26644 -1]
                                                                        )
                                                                      ]
                                                                      spids: [26617 26623 26647]
                                                                    )
                                                                  ]
                                                                  spids: [26614 26615 26650 -1]
                                                                )
                                                              ]
                                                              spids: [26543 26547 26653]
                                                            )
                                                          ]
                                                          spids: [26537 26538 26656 -1]
                                                        )
                                                      ]
                                                      spids: [26216 26220 26659]
                                                    )
                                                  ]
                                                  spids: [25772 25775 26662 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$o")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(hdr)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:x)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$f") (.h)}
                                                                  spids: [26678]
                                                                )
                                                              ]
                                                              spids: [26678]
                                                            )
                                                          ]
                                                          spids: [26675 26676 26682 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(sys)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:x)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(sys/) ($ VSub_Name "$f") (.h)}
                                                                  spids: [26688]
                                                                )
                                                              ]
                                                              spids: [26688]
                                                            )
                                                          ]
                                                          spids: [26685 26686 26693 -1]
                                                        )
                                                      ]
                                                      spids: [26668 26672 26696]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {(DQ (" ") ($ VSub_Name "$gothdr") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" - ") ($ VSub_Name "$x") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [(C {(failure)} {(Lit_Other "+")})]
                                                          spids: [26710 26717 26725 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" + ") ($ VSub_Name "$x") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [(C {(success)} {(Lit_Other "+")})]
                                                          spids: [26728 26735 26743 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (SimpleCommand
                                                              words: [
                                                                {(echo)}
                                                                {
                                                                  (DQ ("\n") ($ VSub_Name "$tst") 
                                                                    ("\n") ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$allinc") ("\n") ($ VSub_Name "$inc") ("\n") ("#include <") 
                                                                    ($ VSub_Name "$x") (">")
                                                                  )
                                                                }
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {($ VSub_Name "$tmp") (.c)}
                                                                  spids: [26766]
                                                                )
                                                              ]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (C {(is_hdr)} {($ VSub_Name "$x")})
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:gothdr)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
"$gothdr"
                                                                                ) (" + ") ($ VSub_Name "$x")
                                                                              )
                                                                            }
                                                                          spids: [26781]
                                                                        )
                                                                      ]
                                                                      spids: [26781]
                                                                    )
                                                                    (Case
                                                                      to_match: {($ VSub_Name "$M")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "*") (-) 
                                                                              (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          spids: [26796 26799 26801 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Case
                                                                              to_match: 
                                                                                {
                                                                                  (DQ (" ") 
                                                                                    ($ VSub_Name 
"$puthdr"
                                                                                    ) (" ")
                                                                                  )
                                                                                }
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      ) (DQ (" ") ($ VSub_Name "$m") (" ")) (Lit_Other "*")
                                                                                    }
                                                                                  ]
                                                                                  spids: [
26818
26825
26828
-1
                                                                                  ]
                                                                                )
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      )
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
puthdr
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name "$puthdr"
                                                                                                ) (" ") ($ VSub_Name "$m")
                                                                                              )
                                                                                            }
                                                                                          spids: [
26834
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [26834]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
usr
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name "$usr"
                                                                                                ) ($ VSub_Name "$nl") ("#define ") ($ VSub_Name "$m") (" 1")
                                                                                              )
                                                                                            }
                                                                                          spids: [
26842
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [26842]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
26831
26832
26852
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
26807
26815
26855
                                                                              ]
                                                                            )
                                                                            (Case
                                                                              to_match: 
                                                                                {
                                                                                  ($ VSub_Name 
"$define"
                                                                                  )
                                                                                }
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [{(1)}]
                                                                                  action: [
                                                                                    (C {(echo)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          (
"#define "
                                                                                          ) ($ VSub_Name "$m") ("\t1\t/* #include <") ($ VSub_Name "$x") ("> ok */")
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                  ]
                                                                                  spids: [
26865
26866
26878
-1
                                                                                  ]
                                                                                )
                                                                                (case_arm
                                                                                  pat_list: [{(n)}]
                                                                                  action: [
                                                                                    (C {(echo)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name "$m"
                                                                                          ) ("=1")
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                  ]
                                                                                  spids: [
26881
26882
26891
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
26858
26862
26894
                                                                              ]
                                                                            )
                                                                            (C {(eval)} 
                                                                              {($ VSub_Name "$m") 
                                                                                (Lit_Other "=") (1)
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [26804 26805 26904 -1]
                                                                        )
                                                                      ]
                                                                      spids: [26789 26793 26907]
                                                                    )
                                                                  ]
                                                                  spids: [-1 26779]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:gothdr)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ ($ VSub_Name "$gothdr") 
                                                                            (" - ") ($ VSub_Name "$x")
                                                                          )
                                                                        }
                                                                      spids: [26912]
                                                                    )
                                                                  ]
                                                                  spids: [26912]
                                                                )
                                                                (Case
                                                                  to_match: {($ VSub_Name "$M")}
                                                                  arms: [
                                                                    (case_arm
                                                                      pat_list: [
                                                                        {(Lit_Other "*") (-) 
                                                                          (Lit_Other "*")
                                                                        }
                                                                      ]
                                                                      spids: [26927 26930 26932 -1]
                                                                    )
                                                                    (case_arm
                                                                      pat_list: [{(Lit_Other "*")}]
                                                                      action: [
                                                                        (Case
                                                                          to_match: 
                                                                            {
                                                                              ($ VSub_Name "$define") ($ VSub_Name "$all") ($ VSub_Name "$config") ($ VSub_Name "$undef")
                                                                            }
                                                                          arms: [
                                                                            (case_arm
                                                                              pat_list: [
                                                                                {(1) (Lit_Other "?") 
                                                                                  (1) (Lit_Other "?")
                                                                                }
                                                                                {(1) (Lit_Other "?") 
                                                                                  (Lit_Other "?") (1)
                                                                                }
                                                                              ]
                                                                              action: [
                                                                                (C {(echo)} 
                                                                                  {
                                                                                    (DQ ("#undef\t") 
                                                                                      ($ VSub_Name 
"$m"
                                                                                      ) ("\t\t/* #include <") ($ VSub_Name "$x") ("> not ok */")
                                                                                    )
                                                                                  }
                                                                                )
                                                                              ]
                                                                              spids: [
26948
26957
26968
-1
                                                                              ]
                                                                            )
                                                                            (case_arm
                                                                              pat_list: [
                                                                                {(11) 
                                                                                  (Lit_Other "?") (Lit_Other "?")
                                                                                }
                                                                              ]
                                                                              action: [
                                                                                (C {(echo)} 
                                                                                  {
                                                                                    (DQ ("#define ") 
                                                                                      ($ VSub_Name 
"$m"
                                                                                      ) ("\t0\t/* #include <") ($ VSub_Name "$x") ("> not ok */")
                                                                                    )
                                                                                  }
                                                                                )
                                                                              ]
                                                                              spids: [
26971
26974
26986
-1
                                                                              ]
                                                                            )
                                                                            (case_arm
                                                                              pat_list: [
                                                                                {(n1) 
                                                                                  (Lit_Other "?") (1)
                                                                                }
                                                                              ]
                                                                              action: [
                                                                                (C {(echo)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
"$m"
                                                                                      ) ("=")
                                                                                    )
                                                                                  }
                                                                                )
                                                                              ]
                                                                              spids: [
26989
26992
27001
-1
                                                                              ]
                                                                            )
                                                                            (case_arm
                                                                              pat_list: [
                                                                                {(n1) 
                                                                                  (Lit_Other "?") (Lit_Other "?")
                                                                                }
                                                                              ]
                                                                              action: [
                                                                                (C {(echo)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
"$m"
                                                                                      ) ("=0")
                                                                                    )
                                                                                  }
                                                                                )
                                                                              ]
                                                                              spids: [
27004
27007
27016
-1
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [26938 26945 27019]
                                                                        )
                                                                        (C {(eval)} 
                                                                          {($ VSub_Name "$m") 
                                                                            (Lit_Other "=") (0)
                                                                          }
                                                                        )
                                                                      ]
                                                                      spids: [26935 26936 27029 -1]
                                                                    )
                                                                  ]
                                                                  spids: [26920 26924 27032]
                                                                )
                                                              ]
                                                              spids: [26910 27035]
                                                            )
                                                          ]
                                                          spids: [26746 26747 27038 -1]
                                                        )
                                                      ]
                                                      spids: [26699 26707 27041]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [26665 26666 27047 -1]
                                                )
                                              ]
                                              spids: [25765 25769 27050]
                                            )
                                          ]
                                          spids: [25755 25762 27053 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(iff)}]
                                          spids: [27056 27057 27059 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(ini)}]
                                          spids: [27062 27063 27065 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(key)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$p")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [27078 27080 27084 -1]
                                                )
                                              ]
                                              spids: [27071 27075 27087]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:w)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$v")}
                                                  spids: [27090]
                                                )
                                              ]
                                              spids: [27090]
                                            )
                                            (While
                                              cond: [(C {(Lit_Other ":")})]
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(is)} {($ VSub_Name "$o")} {($ VSub_Name "$w")})
                                                    (SimpleCommand
                                                      words: [
                                                        {(echo)}
                                                        {
                                                          (DQ ($ VSub_Name "$pre") ("\n") 
                                                            ($ VSub_Name "$tst") ("\n") ($ VSub_Name "$ext") ("\n") ("int f(){int ") ($ VSub_Name "$w") (" = 1;return(") ($ VSub_Name "$w") 
                                                            (");}")
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$tmp") (.c)}
                                                          spids: [27124]
                                                        )
                                                      ]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (SimpleCommand
                                                              words: [
                                                                {(compile)}
                                                                {($ VSub_Name "$cc")}
                                                                {(-c)}
                                                                {($ VSub_Name "$tmp") (.c)}
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_LessAnd
                                                                  fd: -1
                                                                  arg_word: {($ VSub_Name "$nullin")}
                                                                  spids: [27141]
                                                                )
                                                                (Redir
                                                                  op_id: Redir_GreatAnd
                                                                  fd: -1
                                                                  arg_word: {($ VSub_Name "$nullout")}
                                                                  spids: [27144]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(failure)})
                                                            (Case
                                                              to_match: {($ VSub_Name "$set")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (DQ (" ="))}
                                                                    {(Lit_Other "*") (DQ (" = ")) 
                                                                      (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (C {(set)} {(x)} 
                                                                      {($ VSub_Name "$set")}
                                                                    )
                                                                    (C {(shift)})
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:w)
                                                                          op: Equal
                                                                          rhs: {(SQ )}
                                                                          spids: [27183]
                                                                        )
                                                                      ]
                                                                      spids: [27183]
                                                                    )
                                                                    (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: [
27200
27201
27205
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
27193
27197
27208
                                                                              ]
                                                                            )
                                                                            (Case
                                                                              to_match: 
                                                                                {
                                                                                  ($ VSub_Number "$1")
                                                                                }
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"="
                                                                                      )
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [
27218
27219
27223
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
27211
27215
27226
                                                                              ]
                                                                            )
                                                                            (Case
                                                                              to_match: 
                                                                                {($ VSub_Name "$w")}
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [{(SQ )}]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
w
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              ($ 
VSub_Number "$1"
                                                                                              )
                                                                                            }
                                                                                          spids: [
27240
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [27240]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
-1
27238
27243
-1
                                                                                  ]
                                                                                )
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      )
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
w
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name "$w"
                                                                                                ) (" ") ($ VSub_Number "$1")
                                                                                              )
                                                                                            }
                                                                                          spids: [
27249
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [27249]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
27246
27247
27256
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
27229
27233
27259
                                                                              ]
                                                                            )
                                                                            (C {(shift)})
                                                                          ]
                                                                          spids: [27191 27265]
                                                                        )
                                                                    )
                                                                    (Case
                                                                      to_match: {($ VSub_Number "$1")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "=")}]
                                                                          action: [
                                                                            (C {(shift)})
                                                                            (Case
                                                                              to_match: 
                                                                                {
                                                                                  ($ VSub_Pound "$#")
                                                                                }
                                                                              arms: [
                                                                                (case_arm
                                                                                  pat_list: [{(0)}]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
set
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                (
" "
                                                                                                )
                                                                                              )
                                                                                            }
                                                                                          spids: [
27291
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [27291]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
27288
27289
27296
-1
                                                                                  ]
                                                                                )
                                                                                (case_arm
                                                                                  pat_list: [
                                                                                    {
                                                                                      (Lit_Other 
"*"
                                                                                      )
                                                                                    }
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
set
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              ($ 
VSub_Star "$*"
                                                                                              )
                                                                                            }
                                                                                          spids: [
27302
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [27302]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
27299
27300
27305
-1
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [
27281
27285
27308
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [27275 27276 27311 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: set
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(SQ )}
                                                                                  spids: [27317]
                                                                                )
                                                                              ]
                                                                              spids: [27317]
                                                                            )
                                                                          ]
                                                                          spids: [27314 27315 27320 -1]
                                                                        )
                                                                      ]
                                                                      spids: [27268 27272 27323]
                                                                    )
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name "$shell")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [{(ksh)}]
                                                                          action: [
                                                                            (C {(typeset)} {(-u)} 
                                                                              {(Lit_VarLike "u=") 
                                                                                ($ VSub_Name "$w")
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [27333 27334 27343 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: u
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (CommandSubPart
                                                                                        command_list: 
                                                                                          (CommandList
                                                                                            children: [
                                                                                              (Pipeline
                                                                                                children: [
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
echo
                                                                                                      )
                                                                                                    } {($ VSub_Name "$w")}
                                                                                                  )
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
tr
                                                                                                      )
                                                                                                    } {(abcdefghijklmnopqrstuvwxyz)} {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)}
                                                                                                  )
                                                                                                ]
                                                                                                negated: 
False
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
27350
27362
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [27349]
                                                                                )
                                                                              ]
                                                                              spids: [27349]
                                                                            )
                                                                          ]
                                                                          spids: [27346 27347 27364 -1]
                                                                        )
                                                                      ]
                                                                      spids: [27326 27330 27367]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:u)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {(_) ($ VSub_Name "$u")}
                                                                          spids: [27370]
                                                                        )
                                                                      ]
                                                                      spids: [27370]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:M)
                                                                          op: Equal
                                                                          rhs: {($ VSub_Name "$w")}
                                                                          spids: [27375]
                                                                        )
                                                                      ]
                                                                      spids: [27375]
                                                                    )
                                                                    (Case
                                                                      to_match: {($ VSub_Name "$M")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "*") 
                                                                              (Lit_Other "[") (KW_Bang "!") (abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_) (Lit_Other "]") 
                                                                              (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: M
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (CommandSubPart
                                                                                        command_list: 
                                                                                          (CommandList
                                                                                            children: [
                                                                                              (Pipeline
                                                                                                children: [
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
echo
                                                                                                      )
                                                                                                    } {(DQ (X) ($ VSub_Name "$m"))}
                                                                                                  )
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
sed
                                                                                                      )
                                                                                                    } {(-e)} {(SQ <"s,^.,,">)} {(-e)} 
                                                                                                    {
                                                                                                      (SQ 
                                                                                                        <
"s,[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_],_,g"
                                                                                                        >
                                                                                                      )
                                                                                                    }
                                                                                                  )
                                                                                                ]
                                                                                                negated: 
False
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
27396
27419
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [27395]
                                                                                )
                                                                              ]
                                                                              spids: [27395]
                                                                            )
                                                                          ]
                                                                          spids: [27386 27392 27422 -1]
                                                                        )
                                                                      ]
                                                                      spids: [27379 27383 27425]
                                                                    )
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name "$config")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [{(1)}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: m
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {(HAVE) 
                                                                                      (${ VSub_Name u) (_RESERVED)
                                                                                    }
                                                                                  spids: [27438]
                                                                                )
                                                                              ]
                                                                              spids: [27438]
                                                                            )
                                                                          ]
                                                                          spids: [27435 27436 27445 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: m
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {(_key_) 
                                                                                      (${ VSub_Name w)
                                                                                    }
                                                                                  spids: [27451]
                                                                                )
                                                                              ]
                                                                              spids: [27451]
                                                                            )
                                                                          ]
                                                                          spids: [27448 27449 27457 -1]
                                                                        )
                                                                      ]
                                                                      spids: [27428 27432 27460]
                                                                    )
                                                                    (ControlFlow
                                                                      token: 
                                                                        <ControlFlow_Continue 
continue
                                                                        >
                                                                    )
                                                                  ]
                                                                  spids: [27160 27170 27466 -1]
                                                                )
                                                              ]
                                                              spids: [27153 27157 27469]
                                                            )
                                                            (C {(report)} {(-)} {(1)} {(-)} {(-)} 
                                                              {
                                                                (DQ ($ VSub_Name "$w") 
                                                                  (" is not a reserved keyword")
                                                                )
                                                              } {(DQ ("default for reserved keyword ") ($ VSub_Name "$v"))}
                                                            )
                                                          ]
                                                          spids: [-1 27148]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(report)} {(0)} {(1)} 
                                                          {
                                                            (DQ ($ VSub_Name "$w") 
                                                              (" is a reserved keyword")
                                                            )
                                                          } {(-)}
                                                        )
                                                        (Case
                                                          to_match: {($ VSub_Name "$M")}
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [
                                                                {(Lit_Other "*") (-) (Lit_Other "*")}
                                                              ]
                                                              spids: [27516 27519 27521 -1]
                                                            )
                                                            (case_arm
                                                              pat_list: [{(Lit_Other "*")}]
                                                              action: [
                                                                (Case
                                                                  to_match: 
                                                                    {($ VSub_Name "$define") 
                                                                      ($ VSub_Name "$w")
                                                                    }
                                                                  arms: [
                                                                    (case_arm
                                                                      pat_list: [
                                                                        {(1) ($ VSub_Name "$v")}
                                                                      ]
                                                                      spids: [27535 27537 27539 -1]
                                                                    )
                                                                    (case_arm
                                                                      pat_list: [{(1) (Lit_Other "*")}]
                                                                      action: [
                                                                        (C {(echo)} 
                                                                          {
                                                                            (DQ ("#define ") 
                                                                              ($ VSub_Name "$v") ("\t") ($ VSub_Name "$w") ("\t/* alternate for reserved keyword ") ($ VSub_Name "$v") (" */")
                                                                            )
                                                                          }
                                                                        )
                                                                      ]
                                                                      spids: [27542 27544 27558 -1]
                                                                    )
                                                                    (case_arm
                                                                      pat_list: [{(n) (Lit_Other "*")}]
                                                                      action: [
                                                                        (C {(echo)} 
                                                                          {
                                                                            (DQ ($ VSub_Name "$v") 
                                                                              ("=") ($ VSub_Name "$w")
                                                                            )
                                                                          }
                                                                        )
                                                                      ]
                                                                      spids: [27561 27563 27573 -1]
                                                                    )
                                                                  ]
                                                                  spids: [27527 27532 27576]
                                                                )
                                                              ]
                                                              spids: [27524 27525 27579 -1]
                                                            )
                                                          ]
                                                          spids: [27509 27513 27582]
                                                        )
                                                      ]
                                                      spids: [27493 27585]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [27099 27591]
                                                )
                                            )
                                          ]
                                          spids: [27068 27069 27594 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(lib)} {(mth)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$p")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [27608 27610 27614 -1]
                                                )
                                              ]
                                              spids: [27601 27605 27617]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$v")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-)}]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [27627 27628 27632 -1]
                                                )
                                              ]
                                              spids: [27620 27624 27635]
                                            )
                                            (C {(is)} {($ VSub_Name "$o")} {($ VSub_Name "$v")})
                                            (C {(copy)} {($ VSub_Name "$tmp") (.c)} 
                                              {
                                                (DQ ("\n") ($ VSub_Name "$tst") ("\n") 
                                                  ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$std") ("\n") ($ VSub_Name "$usr") ("\n") ($ VSub_Name "$pre") ("\n") 
                                                  ($ VSub_Name "$inc") ("\n") ("typedef int (*_IFFE_fun)();\n") ("#ifdef _IFFE_extern\n") ("_BEGIN_EXTERNS_\n") ("extern int ") 
                                                  ($ VSub_Name "$v") ("();\n") ("_END_EXTERNS_\n") ("#endif\n") ("static _IFFE_fun i=(_IFFE_fun)") ($ VSub_Name "$v") 
                                                  (
";int main(){return ((unsigned int)i)^0xaaaa;}\n"
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:d)
                                                  op: Equal
                                                  rhs: {(-D_IFFE_extern)}
                                                  spids: [27678]
                                                )
                                              ]
                                              spids: [27678]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (SimpleCommand
                                                      words: [
                                                        {(compile)}
                                                        {($ VSub_Name "$cc")}
                                                        {(-c)}
                                                        {($ VSub_Name "$tmp") (.c)}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_LessAnd
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$nullin")}
                                                          spids: [27693]
                                                        )
                                                        (Redir
                                                          op_id: Redir_GreatAnd
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$nullout")}
                                                          spids: [27696]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:d)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [27702]
                                                        )
                                                      ]
                                                      spids: [27702]
                                                    )
                                                  ]
                                                  spids: [-1 27700]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (SimpleCommand
                                                      words: [
                                                        {(compile)}
                                                        {($ VSub_Name "$cc")}
                                                        {($ VSub_Name "$d")}
                                                        {(-c)}
                                                        {($ VSub_Name "$tmp") (.c)}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_LessAnd
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$nullin")}
                                                          spids: [27718]
                                                        )
                                                        (Redir
                                                          op_id: Redir_GreatAnd
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$nullout")}
                                                          spids: [27721]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  action: [(C {(Lit_Other ":")})]
                                                  spids: [27705 27725]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:d)
                                                      op: Equal
                                                      rhs: {(error)}
                                                      spids: [27732]
                                                    )
                                                  ]
                                                  spids: [27732]
                                                )
                                              ]
                                              spids: [27730 27736]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (C {(test)} {(error)} 
                                                      {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$d"))}
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(rm)} {(-f)} {($ VSub_Name "$tmp") (.exe)})
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (AndOr
                                                              children: [
                                                                (SimpleCommand
                                                                  words: [
                                                                    {(compile)}
                                                                    {($ VSub_Name "$cc")}
                                                                    {($ VSub_Name "$d")}
                                                                    {($ VSub_Name "$static")}
                                                                    {(-o)}
                                                                    {($ VSub_Name "$tmp") (.exe)}
                                                                    {($ VSub_Name "$tmp") (.o)}
                                                                    {($ VSub_Name "$lib")}
                                                                    {($ VSub_Name "$deflib")}
                                                                  ]
                                                                  redirects: [
                                                                    (Redir
                                                                      op_id: Redir_LessAnd
                                                                      fd: -1
                                                                      arg_word: 
                                                                        {($ VSub_Name "$nullin")}
                                                                      spids: [27785]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: -1
                                                                      arg_word: 
                                                                        {($ VSub_Name "$nullout")}
                                                                      spids: [27788]
                                                                    )
                                                                  ]
                                                                )
                                                                (C {($ VSub_Name "$executable")} 
                                                                  {($ VSub_Name "$tmp") (.exe)}
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$o")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(lib)}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:c)
                                                                          op: Equal
                                                                          rhs: {(0)}
                                                                          spids: [27812]
                                                                        )
                                                                      ]
                                                                      spids: [27812]
                                                                    )
                                                                  ]
                                                                  spids: [27809 27810 27815 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:c)
                                                                          op: Equal
                                                                          rhs: {(1)}
                                                                          spids: [27821]
                                                                        )
                                                                      ]
                                                                      spids: [27821]
                                                                    )
                                                                  ]
                                                                  spids: [27818 27819 27824 -1]
                                                                )
                                                              ]
                                                              spids: [27802 27806 27827]
                                                            )
                                                            (C {(report)} {($ VSub_Name "$c")} {(1)} 
                                                              {
                                                                (DQ ($ VSub_Name "$v") 
                                                                  ("() in default lib(s)")
                                                                )
                                                              } {(DQ ($ VSub_Name "$v") ("() not in default lib(s)"))} 
                                                              {
                                                                (DQ ("default for function ") 
                                                                  ($ VSub_Name "$v") ("()")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [-1 27800]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Case
                                                          to_match: {($ VSub_Name "$o")}
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [{(mth)}]
                                                              action: [
                                                                (C {(rm)} {(-f)} 
                                                                  {($ VSub_Name "$tmp") (.exe)}
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (SimpleCommand
                                                                      words: [
                                                                        {(compile)}
                                                                        {($ VSub_Name "$cc")}
                                                                        {($ VSub_Name "$d")}
                                                                        {($ VSub_Name "$static")}
                                                                        {(-o)}
                                                                        {($ VSub_Name "$tmp") (.exe)}
                                                                        {($ VSub_Name "$tmp") (.o)}
                                                                        {(-lm)}
                                                                      ]
                                                                      redirects: [
                                                                        (Redir
                                                                          op_id: Redir_LessAnd
                                                                          fd: -1
                                                                          arg_word: 
                                                                            {
                                                                              ($ VSub_Name "$nullin")
                                                                            }
                                                                          spids: [27891]
                                                                        )
                                                                        (Redir
                                                                          op_id: Redir_GreatAnd
                                                                          fd: -1
                                                                          arg_word: 
                                                                            {
                                                                              ($ VSub_Name "$nullout")
                                                                            }
                                                                          spids: [27894]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (C {($ VSub_Name "$executable")} 
                                                                      {($ VSub_Name "$tmp") (.exe)}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                                (C {(report)} {($ VSub_QMark "$?")} 
                                                                  {(1)} {(DQ ($ VSub_Name "$v") ("() in math lib"))} {(DQ ($ VSub_Name "$v") ("() not in math lib"))} 
                                                                  {
                                                                    (DQ ("default for function ") 
                                                                      ($ VSub_Name "$v") ("()")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [27862 27863 27929 -1]
                                                            )
                                                            (case_arm
                                                              pat_list: [{(Lit_Other "*")}]
                                                              action: [
                                                                (C {(report)} {(1)} {(1)} {(-)} 
                                                                  {
                                                                    (DQ ($ VSub_Name "$v") 
                                                                      ("() not in default lib(s)")
                                                                    )
                                                                  } {(DQ ("default for function ") ($ VSub_Name "$v") ("()"))}
                                                                )
                                                              ]
                                                              spids: [27932 27933 27955 -1]
                                                            )
                                                          ]
                                                          spids: [27855 27859 27958]
                                                        )
                                                      ]
                                                      spids: [27853 27961]
                                                    )
                                                  ]
                                                  spids: [-1 27753]
                                                )
                                              ]
                                              else_action: [
                                                (Case
                                                  to_match: {($ VSub_Name "$intrinsic")}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [{(SQ )}]
                                                      action: [
                                                        (C {(copy)} {($ VSub_Name "$tmp") (.c)} 
                                                          {
                                                            (DQ ("\n") ($ VSub_Name "$tst") ("\n") 
                                                              ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$std") ("\n") ($ VSub_Name "$usr") ("\n") ($ VSub_Name "$pre") ("\n") 
                                                              ($ VSub_Name "$inc") ("\n") ("_BEGIN_EXTERNS_\n") ("extern int foo();\n") ("_END_EXTERNS_\n") 
                                                              (
"static int ((*i)())=foo;int main(){return(i==0);}\n"
                                                              )
                                                            )
                                                          }
                                                        )
                                                        (SimpleCommand
                                                          words: [
                                                            {(compile)}
                                                            {($ VSub_Name "$cc")}
                                                            {(-c)}
                                                            {($ VSub_Name "$tmp") (.c)}
                                                          ]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_LessAnd
                                                              fd: -1
                                                              arg_word: {($ VSub_Name "$nullin")}
                                                              spids: [28012]
                                                            )
                                                            (Redir
                                                              op_id: Redir_GreatAnd
                                                              fd: -1
                                                              arg_word: {($ VSub_Name "$nullout")}
                                                              spids: [28015]
                                                            )
                                                          ]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:intrinsic)
                                                              op: Equal
                                                              rhs: {($ VSub_QMark "$?")}
                                                              spids: [28019]
                                                            )
                                                          ]
                                                          spids: [28019]
                                                        )
                                                      ]
                                                      spids: [-1 27975 28023 -1]
                                                    )
                                                  ]
                                                  spids: [27966 27970 28026]
                                                )
                                                (Case
                                                  to_match: {($ VSub_Name "$o")}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [{(mth)}]
                                                      action: [
                                                        (C {(report)} {($ VSub_Name "$intrinsic")} {(1)} 
                                                          {
                                                            (DQ ($ VSub_Name "$v") ("() in math lib"))
                                                          } {(DQ ($ VSub_Name "$v") ("() not in math lib"))} 
                                                          {
                                                            (DQ ("default for function ") 
                                                              ($ VSub_Name "$v") ("()")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [28036 28037 28061 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(report)} {($ VSub_Name "$intrinsic")} {(1)} 
                                                          {
                                                            (DQ ($ VSub_Name "$v") 
                                                              ("() in default lib(s)")
                                                            )
                                                          } {(DQ ($ VSub_Name "$v") ("() not in default lib(s)"))} 
                                                          {
                                                            (DQ ("default for function ") 
                                                              ($ VSub_Name "$v") ("()")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [28064 28065 28089 -1]
                                                    )
                                                  ]
                                                  spids: [28029 28033 28092]
                                                )
                                              ]
                                              spids: [27964 28095]
                                            )
                                          ]
                                          spids: [27597 27600 28098 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(mac)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$p")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                                  action: [
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [28111 28113 28117 -1]
                                                )
                                              ]
                                              spids: [28104 28108 28120]
                                            )
                                            (C {(is)} {(mac)} {($ VSub_Name "$v")})
                                            (SimpleCommand
                                              words: [
                                                {(echo)}
                                                {
                                                  (DQ ("\n") ($ VSub_Name "$tst") ("\n") 
                                                    ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$pre") ("\n") ($ VSub_Name "$inc") ("\n") ("#ifdef ") ($ VSub_Name "$v") ("\n") ("'") 
                                                    ($ VSub_Name "$m") (":") ($ VSub_Name "$v") ("'\n") ("#endif")
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {($ VSub_Name "$tmp") (.c)}
                                                  spids: [28153]
                                                )
                                              ]
                                            )
                                            (Pipeline
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {(compile)}
                                                    {($ VSub_Name "$cc")}
                                                    {(-E)}
                                                    {($ VSub_Name "$tmp") (.c)}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_LessAnd
                                                      fd: -1
                                                      arg_word: {($ VSub_Name "$nullin")}
                                                      spids: [28168]
                                                    )
                                                  ]
                                                )
                                                (SimpleCommand
                                                  words: [
                                                    {(grep)}
                                                    {(-c)}
                                                    {
                                                      (DQ ("'") ($ VSub_Name "$m") (":") 
                                                        ($ VSub_Name "$v") ("'")
                                                      )
                                                    }
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_GreatAnd
                                                      fd: -1
                                                      arg_word: {($ VSub_Name "$nullout")}
                                                      spids: [28185]
                                                    )
                                                  ]
                                                )
                                              ]
                                              negated: False
                                            )
                                            (C {(report)} {($ VSub_QMark "$?")} {(1)} 
                                              {(DQ ($ VSub_Name "$v") (" is a macro"))} {(DQ ($ VSub_Name "$v") (" is not a macro"))} {(DQ ("default for macro ") ($ VSub_Name "$v"))}
                                            )
                                          ]
                                          spids: [28101 28102 28211 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(mem)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$p")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                                  action: [
                                                    (C {(eval)} 
                                                      {(Lit_VarLike "i=") (SQ <"$">) (_iffe_typedef_) 
                                                        ($ VSub_Name "$p")
                                                      }
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$i")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)} {(1)}]
                                                          spids: [28245 28248 28250 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (SimpleCommand
                                                              words: [
                                                                {(echo)}
                                                                {
                                                                  (DQ ($ VSub_Name "$pre") ("\n") 
                                                                    ($ VSub_Name "$tst") ("\n") ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$inc") ("\n") ("static ") ($ VSub_Name "$p") (" i;\n") 
                                                                    ("int n = sizeof(i);")
                                                                  )
                                                                }
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {($ VSub_Name "$tmp") (.c)}
                                                                  spids: [28273]
                                                                )
                                                              ]
                                                            )
                                                            (C {(is)} {(typ)} {($ VSub_Name "$p")})
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (SimpleCommand
                                                                      words: [
                                                                        {(compile)}
                                                                        {($ VSub_Name "$cc")}
                                                                        {(-c)}
                                                                        {($ VSub_Name "$tmp") (.c)}
                                                                      ]
                                                                      redirects: [
                                                                        (Redir
                                                                          op_id: Redir_LessAnd
                                                                          fd: -1
                                                                          arg_word: 
                                                                            {
                                                                              ($ VSub_Name "$nullin")
                                                                            }
                                                                          spids: [28297]
                                                                        )
                                                                        (Redir
                                                                          op_id: Redir_GreatAnd
                                                                          fd: -1
                                                                          arg_word: 
                                                                            {
                                                                              ($ VSub_Name "$nullout")
                                                                            }
                                                                          spids: [28300]
                                                                        )
                                                                      ]
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {(success)} {(-)})
                                                                    (C {(eval)} 
                                                                      {(_iffe_typedef_) 
                                                                        ($ VSub_Name "$p") (Lit_Other "=") (1)
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:i)
                                                                          op: Equal
                                                                          rhs: {(1)}
                                                                          spids: [28319]
                                                                        )
                                                                      ]
                                                                      spids: [28319]
                                                                    )
                                                                  ]
                                                                  spids: [-1 28304]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(failure)} {(-)})
                                                                (C {(eval)} 
                                                                  {(_iffe_typedef_) 
                                                                    ($ VSub_Name "$p") (Lit_Other "=") (0)
                                                                  }
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:i)
                                                                      op: Equal
                                                                      rhs: {(0)}
                                                                      spids: [28338]
                                                                    )
                                                                  ]
                                                                  spids: [28338]
                                                                )
                                                              ]
                                                              spids: [28323 28342]
                                                            )
                                                          ]
                                                          spids: [28253 28254 28345 -1]
                                                        )
                                                      ]
                                                      spids: [28238 28242 28348]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$i")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:i)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$v") 
                                                                        (" is not a member of ") ($ VSub_Name "$p")
                                                                      )
                                                                    }
                                                                  spids: [28361]
                                                                )
                                                                (assign_pair
                                                                  lhs: (LhsName name:p)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ("struct ") 
                                                                        ($ VSub_Name "$p")
                                                                      )
                                                                    }
                                                                  spids: [28368]
                                                                )
                                                              ]
                                                              spids: [28361]
                                                            )
                                                          ]
                                                          spids: [28358 28359 28374 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:i)
                                                                  op: Equal
                                                                  rhs: {(-)}
                                                                  spids: [28380]
                                                                )
                                                              ]
                                                              spids: [28380]
                                                            )
                                                          ]
                                                          spids: [28377 28378 28383 -1]
                                                        )
                                                      ]
                                                      spids: [28351 28355 28386]
                                                    )
                                                    (C {(is)} {(mem)} {($ VSub_Name "$v")} 
                                                      {(DQ ($ VSub_Name "$p"))}
                                                    )
                                                    (SimpleCommand
                                                      words: [
                                                        {(echo)}
                                                        {
                                                          (DQ ($ VSub_Name "$pre") ("\n") 
                                                            ($ VSub_Name "$tst") ("\n") ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$inc") ("\n") ("static ") ($ VSub_Name "$p") (" i;\n") 
                                                            ("int n = sizeof(i.") ($ VSub_Name "$v") (");")
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$tmp") (.c)}
                                                          spids: [28419]
                                                        )
                                                      ]
                                                    )
                                                    (SimpleCommand
                                                      words: [
                                                        {(compile)}
                                                        {($ VSub_Name "$cc")}
                                                        {(-c)}
                                                        {($ VSub_Name "$tmp") (.c)}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_LessAnd
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$nullin")}
                                                          spids: [28434]
                                                        )
                                                        (Redir
                                                          op_id: Redir_GreatAnd
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$nullout")}
                                                          spids: [28437]
                                                        )
                                                      ]
                                                    )
                                                    (C {(report)} {($ VSub_QMark "$?")} {(1)} 
                                                      {
                                                        (DQ ($ VSub_Name "$v") (" is a member of ") 
                                                          ($ VSub_Name "$p")
                                                        )
                                                      } {(DQ ($ VSub_Name "$i"))}
                                                    )
                                                  ]
                                                  spids: [28224 28226 28458 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:p)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$v")}
                                                          spids: [28464]
                                                        )
                                                      ]
                                                      spids: [28464]
                                                    )
                                                    (C {(eval)} 
                                                      {(Lit_VarLike "i=") (SQ <"$">) (_iffe_typedef_) 
                                                        ($ VSub_Name "$p")
                                                      }
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$i")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)} {(1)}]
                                                          spids: [28485 28488 28490 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (SimpleCommand
                                                              words: [
                                                                {(echo)}
                                                                {
                                                                  (DQ ($ VSub_Name "$pre") ("\n") 
                                                                    ($ VSub_Name "$tst") ("\n") ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$inc") ("\n") ("static ") ($ VSub_Name "$p") (" i;\n") 
                                                                    ("int n = sizeof(i);")
                                                                  )
                                                                }
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {($ VSub_Name "$tmp") (.c)}
                                                                  spids: [28513]
                                                                )
                                                              ]
                                                            )
                                                            (C {(is)} {(typ)} {($ VSub_Name "$p")})
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (SimpleCommand
                                                                      words: [
                                                                        {(compile)}
                                                                        {($ VSub_Name "$cc")}
                                                                        {(-c)}
                                                                        {($ VSub_Name "$tmp") (.c)}
                                                                      ]
                                                                      redirects: [
                                                                        (Redir
                                                                          op_id: Redir_LessAnd
                                                                          fd: -1
                                                                          arg_word: 
                                                                            {
                                                                              ($ VSub_Name "$nullin")
                                                                            }
                                                                          spids: [28537]
                                                                        )
                                                                        (Redir
                                                                          op_id: Redir_GreatAnd
                                                                          fd: -1
                                                                          arg_word: 
                                                                            {
                                                                              ($ VSub_Name "$nullout")
                                                                            }
                                                                          spids: [28540]
                                                                        )
                                                                      ]
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {(success)} {(-)})
                                                                    (C {(eval)} 
                                                                      {(_iffe_typedef_) 
                                                                        ($ VSub_Name "$p") (Lit_Other "=") (1)
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:i)
                                                                          op: Equal
                                                                          rhs: {(1)}
                                                                          spids: [28559]
                                                                        )
                                                                      ]
                                                                      spids: [28559]
                                                                    )
                                                                  ]
                                                                  spids: [-1 28544]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(failure)} {(-)})
                                                                (C {(eval)} 
                                                                  {(_iffe_typedef_) 
                                                                    ($ VSub_Name "$p") (Lit_Other "=") (0)
                                                                  }
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:i)
                                                                      op: Equal
                                                                      rhs: {(0)}
                                                                      spids: [28578]
                                                                    )
                                                                  ]
                                                                  spids: [28578]
                                                                )
                                                              ]
                                                              spids: [28563 28582]
                                                            )
                                                          ]
                                                          spids: [28493 28494 28585 -1]
                                                        )
                                                      ]
                                                      spids: [28478 28482 28588]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$i")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:i)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$p") 
                                                                        (
" is not a non-opaque struct"
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [28601]
                                                                )
                                                                (assign_pair
                                                                  lhs: (LhsName name:p)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ("struct ") 
                                                                        ($ VSub_Name "$p")
                                                                      )
                                                                    }
                                                                  spids: [28607]
                                                                )
                                                              ]
                                                              spids: [28601]
                                                            )
                                                          ]
                                                          spids: [28598 28599 28613 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:i)
                                                                  op: Equal
                                                                  rhs: {(-)}
                                                                  spids: [28619]
                                                                )
                                                              ]
                                                              spids: [28619]
                                                            )
                                                          ]
                                                          spids: [28616 28617 28622 -1]
                                                        )
                                                      ]
                                                      spids: [28591 28595 28625]
                                                    )
                                                    (C {(is)} {(nos)} {(DQ ($ VSub_Name "$p"))})
                                                    (SimpleCommand
                                                      words: [
                                                        {(echo)}
                                                        {
                                                          (DQ ($ VSub_Name "$pre") ("\n") 
                                                            ($ VSub_Name "$tst") ("\n") ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$inc") ("\n") ("static ") ($ VSub_Name "$p") (" i;\n") 
                                                            ("int n = sizeof(i);")
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$tmp") (.c)}
                                                          spids: [28654]
                                                        )
                                                      ]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (SimpleCommand
                                                              words: [
                                                                {(compile)}
                                                                {($ VSub_Name "$cc")}
                                                                {(-c)}
                                                                {($ VSub_Name "$tmp") (.c)}
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_LessAnd
                                                                  fd: -1
                                                                  arg_word: {($ VSub_Name "$nullin")}
                                                                  spids: [28671]
                                                                )
                                                                (Redir
                                                                  op_id: Redir_GreatAnd
                                                                  fd: -1
                                                                  arg_word: {($ VSub_Name "$nullout")}
                                                                  spids: [28674]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          action: [
                                                            (SimpleCommand
                                                              words: [
                                                                {(echo)}
                                                                {
                                                                  (DQ ($ VSub_Name "$pre") ("\n") 
                                                                    ($ VSub_Name "$tst") ("\n") ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$inc") ("\n") ("static ") ($ VSub_Name "$p") (" i;\n") 
                                                                    (
"unsigned long f() { return (unsigned long)i; }"
                                                                    )
                                                                  )
                                                                }
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {($ VSub_Name "$tmp") (.c)}
                                                                  spids: [28697]
                                                                )
                                                              ]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (SimpleCommand
                                                                      words: [
                                                                        {(compile)}
                                                                        {($ VSub_Name "$cc")}
                                                                        {(-c)}
                                                                        {($ VSub_Name "$tmp") (.c)}
                                                                      ]
                                                                      redirects: [
                                                                        (Redir
                                                                          op_id: Redir_LessAnd
                                                                          fd: -1
                                                                          arg_word: 
                                                                            {
                                                                              ($ VSub_Name "$nullin")
                                                                            }
                                                                          spids: [28714]
                                                                        )
                                                                        (Redir
                                                                          op_id: Redir_GreatAnd
                                                                          fd: -1
                                                                          arg_word: 
                                                                            {
                                                                              ($ VSub_Name "$nullout")
                                                                            }
                                                                          spids: [28717]
                                                                        )
                                                                      ]
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:c)
                                                                          op: Equal
                                                                          rhs: {(1)}
                                                                          spids: [28723]
                                                                        )
                                                                      ]
                                                                      spids: [28723]
                                                                    )
                                                                  ]
                                                                  spids: [-1 28721]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:c)
                                                                      op: Equal
                                                                      rhs: {(0)}
                                                                      spids: [28729]
                                                                    )
                                                                  ]
                                                                  spids: [28729]
                                                                )
                                                              ]
                                                              spids: [28727 28733]
                                                            )
                                                          ]
                                                          spids: [-1 28678]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:c)
                                                              op: Equal
                                                              rhs: {(1)}
                                                              spids: [28738]
                                                            )
                                                          ]
                                                          spids: [28738]
                                                        )
                                                      ]
                                                      spids: [28736 28742]
                                                    )
                                                    (C {(report)} {($ VSub_Name "$c")} {(1)} 
                                                      {
                                                        (DQ ($ VSub_Name "$p") 
                                                          (" is a non-opaque struct")
                                                        )
                                                      } {(DQ ($ VSub_Name "$i"))}
                                                    )
                                                  ]
                                                  spids: [28461 28462 -1 28761]
                                                )
                                              ]
                                              spids: [28217 28221 28761]
                                            )
                                          ]
                                          spids: [28214 28215 28764 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(nop)}]
                                          spids: [28767 28768 28770 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(npt)}]
                                          action: [
                                            (C {(is)} {(npt)} {($ VSub_Name "$v")})
                                            (C {(copy)} {($ VSub_Name "$tmp") (.c)} 
                                              {
                                                (DQ ("\n") ($ VSub_Name "$tst") ("\n") 
                                                  ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$std") ("\n") ($ VSub_Name "$usr") ("\n") ($ VSub_Name "$pre") ("\n") 
                                                  ($ VSub_Name "$inc") ("\n") ("_BEGIN_EXTERNS_\n") ("struct _iffe_struct { int _iffe_member; };\n") ("#if _STD_\n") 
                                                  ("extern struct _iffe_struct* ") ($ VSub_Name "$v") ("(struct _iffe_struct*);\n") ("#else\n") ("extern struct _iffe_struct* ") 
                                                  ($ VSub_Name "$v") ("();\n") ("#endif\n") ("_END_EXTERNS_\n")
                                                )
                                              }
                                            )
                                            (Case
                                              to_match: {(DQ (" ") ($ VSub_Name "$cc") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") (DQ (" -O ")) (Lit_Other "*")}
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:xx)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(echo)} 
                                                                            {($ VSub_Name "$cc")}
                                                                          )
                                                                          (C {(sed)} 
                                                                            {(SQ <"s/ -O / /g">)}
                                                                          )
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick "`">
                                                                spids: [28840 28852]
                                                              )
                                                            }
                                                          spids: [28839]
                                                        )
                                                      ]
                                                      spids: [28839]
                                                    )
                                                  ]
                                                  spids: [28832 28837 28854 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:xx)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$cc")}
                                                          spids: [28860]
                                                        )
                                                      ]
                                                      spids: [28860]
                                                    )
                                                  ]
                                                  spids: [28857 28858 28863 -1]
                                                )
                                              ]
                                              spids: [28821 28829 28866]
                                            )
                                            (SimpleCommand
                                              words: [
                                                {(compile)}
                                                {($ VSub_Name "$xx")}
                                                {(-c)}
                                                {($ VSub_Name "$tmp") (.c)}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_LessAnd
                                                  fd: -1
                                                  arg_word: {($ VSub_Name "$nullin")}
                                                  spids: [28878]
                                                )
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: -1
                                                  arg_word: {($ VSub_Name "$nullout")}
                                                  spids: [28881]
                                                )
                                              ]
                                            )
                                            (C {(report)} {(-) ($ VSub_Name "$config")} 
                                              {($ VSub_QMark "$?")} {(1)} {(DQ ($ VSub_Name "$v") ("() needs a prototype"))} 
                                              {
                                                (DQ ($ VSub_Name "$v") 
                                                  ("() does not need a prototype")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [28773 28774 28905 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(num)}]
                                          action: [
                                            (C {(is)} {(num)} {($ VSub_Name "$v")})
                                            (C {(copy)} {($ VSub_Name "$tmp") (.c)} 
                                              {
                                                (DQ ("\n") ($ VSub_Name "$tst") ("\n") 
                                                  ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$std") ("\n") ($ VSub_Name "$usr") ("\n") ($ VSub_Name "$pre") ("\n") 
                                                  ($ VSub_Name "$inc") ("\n") ("_BEGIN_EXTERNS_\n") ("int _iffe_int = ") ($ VSub_Name "$v") (" / 2;\n") ("_END_EXTERNS_\n")
                                                )
                                              }
                                            )
                                            (SimpleCommand
                                              words: [
                                                {(compile)}
                                                {($ VSub_Name "$cc")}
                                                {(-c)}
                                                {($ VSub_Name "$tmp") (.c)}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_LessAnd
                                                  fd: -1
                                                  arg_word: {($ VSub_Name "$nullin")}
                                                  spids: [28954]
                                                )
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: -1
                                                  arg_word: {($ VSub_Name "$nullout")}
                                                  spids: [28957]
                                                )
                                              ]
                                            )
                                            (C {(report)} {($ VSub_QMark "$?")} {(1)} 
                                              {(DQ ($ VSub_Name "$v") (" is a numeric constant"))} {(DQ ($ VSub_Name "$v") (" is not a numeric constant"))}
                                            )
                                          ]
                                          spids: [28908 28909 28978 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(one)}]
                                          action: [
                                            (ForEach
                                              iter_name: i
                                              iter_words: [{($ VSub_Name "$a")} {($ VSub_Name "$hdr")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:x)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ("#include <") ($ VSub_Name "$i") 
                                                                (">")
                                                              )
                                                            }
                                                          spids: [28997]
                                                        )
                                                      ]
                                                      spids: [28997]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {(DQ (" ") ($ VSub_Name "$gothdr") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" - ") ($ VSub_Name "$i") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [29016 29023 29029 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" + ") ($ VSub_Name "$i") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          spids: [29032 29039 29042 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (SimpleCommand
                                                              words: [{(echo)} {(DQ ($ VSub_Name "$x"))}]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {($ VSub_Name "$tmp") (.c)}
                                                                  spids: [29054]
                                                                )
                                                              ]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (C {(is_hdr)} {($ VSub_Name "$x")})
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:gothdr)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
"$gothdr"
                                                                                ) (" + ") ($ VSub_Name "$x")
                                                                              )
                                                                            }
                                                                          spids: [29069]
                                                                        )
                                                                      ]
                                                                      spids: [29069]
                                                                    )
                                                                  ]
                                                                  spids: [-1 29067]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:gothdr)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ ($ VSub_Name "$gothdr") 
                                                                            (" - ") ($ VSub_Name "$x")
                                                                          )
                                                                        }
                                                                      spids: [29079]
                                                                    )
                                                                  ]
                                                                  spids: [29079]
                                                                )
                                                                (ControlFlow
                                                                  token: 
                                                                    <ControlFlow_Continue continue>
                                                                )
                                                              ]
                                                              spids: [29077 29090]
                                                            )
                                                          ]
                                                          spids: [29045 29046 29093 -1]
                                                        )
                                                      ]
                                                      spids: [29005 29013 29096]
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$one")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(DQ )}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:one)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$x")}
                                                                  spids: [29110]
                                                                )
                                                              ]
                                                              spids: [29110]
                                                            )
                                                          ]
                                                          spids: [-1 29108 29114 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") (DQ ($ VSub_Name "$x")) 
                                                              (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                            )
                                                          ]
                                                          spids: [29117 29122 29127 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (SimpleCommand
                                                              words: [
                                                                {(echo)}
                                                                {(DQ ($ VSub_Name "$one"))}
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {($ VSub_Name "$tmp") (.c)}
                                                                  spids: [29139]
                                                                )
                                                              ]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (SimpleCommand
                                                                      words: [
                                                                        {(compile)}
                                                                        {($ VSub_Name "$cc")}
                                                                        {(-E)}
                                                                        {($ VSub_Name "$tmp") (.c)}
                                                                      ]
                                                                      redirects: [
                                                                        (Redir
                                                                          op_id: Redir_LessAnd
                                                                          fd: -1
                                                                          arg_word: 
                                                                            {
                                                                              ($ VSub_Name "$nullin")
                                                                            }
                                                                          spids: [29156]
                                                                        )
                                                                        (Redir
                                                                          op_id: Redir_Great
                                                                          fd: -1
                                                                          arg_word: 
                                                                            {($ VSub_Name "$tmp") 
                                                                              (.i)
                                                                            }
                                                                          spids: [29159]
                                                                        )
                                                                      ]
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:c)
                                                                          op: Equal
                                                                          rhs: {($ VSub_Name "$i")}
                                                                          spids: [29166]
                                                                        )
                                                                      ]
                                                                      spids: [29166]
                                                                    )
                                                                    (Case
                                                                      to_match: {($ VSub_Name "$c")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "*") 
                                                                              (Lit_Other "[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (/) (Lit_Other "]") (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: c
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (CommandSubPart
                                                                                        command_list: 
                                                                                          (CommandList
                                                                                            children: [
                                                                                              (Pipeline
                                                                                                children: [
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
echo
                                                                                                      )
                                                                                                    } {($ VSub_Name "$c")}
                                                                                                  )
                                                                                                  (C 
                                                                                                    {
                                                                                                      (
sed
                                                                                                      )
                                                                                                    } {(SQ <"s,[\\\\\\\\/],[\\\\\\\\/],g">)}
                                                                                                  )
                                                                                                ]
                                                                                                negated: 
False
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
29186
29198
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [29185]
                                                                                )
                                                                              ]
                                                                              spids: [29185]
                                                                            )
                                                                          ]
                                                                          spids: [29177 29183 29200 -1]
                                                                        )
                                                                      ]
                                                                      spids: [29170 29174 29203]
                                                                    )
                                                                    (Case
                                                                      to_match: 
                                                                        {
                                                                          (CommandSubPart
                                                                            command_list: 
                                                                              (CommandList
                                                                                children: [
                                                                                  (C {(sed)} {(-e)} 
                                                                                    {
                                                                                      (SQ 
                                                                                        <
"/^#[line \t]*1[ \t][ \t]*\"[\\\\\\\\\\/].*[\\\\\\\\\\/]"
                                                                                        >
                                                                                      ) ($ VSub_Name "$c") (SQ <"\"/!d">)
                                                                                    } {($ VSub_Name "$tmp") (.i)}
                                                                                  )
                                                                                ]
                                                                              )
                                                                            left_token: 
                                                                              <Left_Backtick "`">
                                                                            spids: [29208 29223]
                                                                          )
                                                                        }
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "?") 
                                                                              (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (ControlFlow
                                                                              token: 
                                                                                <ControlFlow_Break 
break
                                                                                >
                                                                            )
                                                                          ]
                                                                          spids: [29228 29230 29234 -1]
                                                                        )
                                                                      ]
                                                                      spids: [29206 29225 29237]
                                                                    )
                                                                  ]
                                                                  spids: [-1 29164]
                                                                )
                                                              ]
                                                              spids: [-1 29240]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:one)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$one") 
                                                                        ($ VSub_Name "$nl") ($ VSub_Name "$x")
                                                                      )
                                                                    }
                                                                  spids: [29243]
                                                                )
                                                              ]
                                                              spids: [29243]
                                                            )
                                                          ]
                                                          spids: [29130 29131 29251 -1]
                                                        )
                                                      ]
                                                      spids: [29099 29103 29254]
                                                    )
                                                    (C {(echo)} {(DQ ($ VSub_Name "$x"))})
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [28995 29267]
                                                )
                                              spids: [28989 -1]
                                            )
                                          ]
                                          spids: [28981 28982 29270 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(opt)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:M)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$m")}
                                                  spids: [29276]
                                                )
                                              ]
                                              spids: [29276]
                                            )
                                            (C {(is)} {(opt)} {($ VSub_Name "$a")})
                                            (Case
                                              to_match: 
                                                {(DQ (" ") ($ VSub_Name "$PACKAGE_OPTIONS") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$a") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:c)
                                                          op: Equal
                                                          rhs: {(0)}
                                                          spids: [29307]
                                                        )
                                                      ]
                                                      spids: [29307]
                                                    )
                                                  ]
                                                  spids: [29298 29305 29310 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:c)
                                                          op: Equal
                                                          rhs: {(1)}
                                                          spids: [29316]
                                                        )
                                                      ]
                                                      spids: [29316]
                                                    )
                                                  ]
                                                  spids: [29313 29314 29319 -1]
                                                )
                                              ]
                                              spids: [29287 29295 29322]
                                            )
                                            (C {(report)} {($ VSub_Name "$c")} {(1)} 
                                              {
                                                (DQ ($ VSub_Name "$a") (" is set in ") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\$">
                                                  ) (PACKAGE_OPTIONS)
                                                )
                                              } 
                                              {
                                                (DQ ($ VSub_Name "$a") (" is not set in ") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\$">
                                                  ) (PACKAGE_OPTIONS)
                                                )
                                              }
                                            )
                                          ]
                                          spids: [29273 29274 29346 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(out)} {(output)}]
                                          spids: [29349 29352 29355 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(pth)}]
                                          action: [
                                            (C {(is)} {(pth)} {($ VSub_Name "$a")})
                                            (C {(pkg)} {($ VSub_Name "$pth")})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tab)
                                                  op: Equal
                                                  rhs: {(DQ ("  "))}
                                                  spids: [29373]
                                                )
                                              ]
                                              spids: [29373]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:e)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [29379]
                                                )
                                              ]
                                              spids: [29379]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:f)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [29382]
                                                )
                                              ]
                                              spids: [29382]
                                            )
                                            (ForEach
                                              iter_name: i
                                              iter_words: [{($ VSub_Name "$pth")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$i")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(SQ <"{">)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:e)
                                                                  op: Equal
                                                                  rhs: {(DQ (${ VSub_Name nl) ("}"))}
                                                                  spids: [29408]
                                                                )
                                                              ]
                                                              spids: [29408]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:l)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [29417]
                                                                )
                                                              ]
                                                              spids: [29417]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:x)
                                                                  op: Equal
                                                                  rhs: {(i)}
                                                                  spids: [29420]
                                                                )
                                                              ]
                                                              spids: [29420]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:v)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        (EscapedLiteralPart
                                                                          token: 
                                                                            <Lit_EscapedChar "\\$">
                                                                        ) (${ VSub_Name x)
                                                                      )
                                                                    }
                                                                  spids: [29424]
                                                                )
                                                              ]
                                                              spids: [29424]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:t)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(${ VSub_Name nl) 
                                                                      (${ VSub_Name tab)
                                                                    }
                                                                  spids: [29433]
                                                                )
                                                              ]
                                                              spids: [29433]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:b)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ("fnd()") (${ VSub_Name nl) 
                                                                        ("{") (${ VSub_Name t) ("for ") (${ VSub_Name x) (" in")
                                                                      )
                                                                    }
                                                                  spids: [29442]
                                                                )
                                                              ]
                                                              spids: [29442]
                                                            )
                                                          ]
                                                          spids: [29404 29406 29460 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(SQ <"}">)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:b)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ (${ VSub_Name b) 
                                                                        (${ VSub_Name t) (do) (${ VSub_Name tab) ("if ") ($ VSub_Name "$exists") (" ") (${ VSub_Name v) (/) 
                                                                        (EscapedLiteralPart
                                                                          token: 
                                                                            <Lit_EscapedChar "\\$">
                                                                        ) ("{1}") (${ VSub_Name t) (${ VSub_Name tab) (${ VSub_Name tab) (then) (${ VSub_Name tab) ("f=") 
                                                                        (${ VSub_Name v) (/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1}") (${ VSub_Name t) (${ VSub_Name tab) 
                                                                        (${ VSub_Name tab) (${ VSub_Name tab) (return) (${ VSub_Name t) (${ VSub_Name tab) (${ VSub_Name tab) (fi)
                                                                      )
                                                                    }
                                                                  spids: [29468]
                                                                )
                                                              ]
                                                              spids: [29468]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:e)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ (${ VSub_Name t) (done) 
                                                                        (${ VSub_Name e)
                                                                      )
                                                                    }
                                                                  spids: [29535]
                                                                )
                                                              ]
                                                              spids: [29535]
                                                            )
                                                            (C {(eval)} 
                                                              {
                                                                (DQ (${ VSub_Name b) (${ VSub_Name e))
                                                              }
                                                            )
                                                            (C {(fnd)} {($ VSub_Name "$a")})
                                                            (Case
                                                              to_match: {($ VSub_Name "$f")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "?") (Lit_Other "*")}
                                                                  ]
                                                                  action: [
                                                                    (ControlFlow
                                                                      token: 
                                                                        <ControlFlow_Break break>
                                                                    )
                                                                  ]
                                                                  spids: [29571 29573 29577 -1]
                                                                )
                                                              ]
                                                              spids: [29564 29568 29580]
                                                            )
                                                          ]
                                                          spids: [29464 29466 29583 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(-)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:b)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ (${ VSub_Name b) 
                                                                        (${ VSub_Name t) (do) (${ VSub_Name tab) ("test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (${ VSub_Name v) 
                                                                        (EscapedLiteralPart
                                                                          token: 
                                                                            <Lit_EscapedChar "\\\"">
                                                                        ) (" = '' -o -d ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (${ VSub_Name v) 
                                                                        (EscapedLiteralPart
                                                                          token: 
                                                                            <Lit_EscapedChar "\\\"">
                                                                        ) (" &&") (${ VSub_Name t) (${ VSub_Name tab) (${ VSub_Name tab)
                                                                      )
                                                                    }
                                                                  spids: [29589]
                                                                )
                                                              ]
                                                              spids: [29589]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:x)
                                                                  op: Equal
                                                                  rhs: {(${ VSub_Name x) (i)}
                                                                  spids: [29626]
                                                                )
                                                              ]
                                                              spids: [29626]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:v)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ (${ VSub_Name v) 
                                                                        (EscapedLiteralPart
                                                                          token: 
                                                                            <Lit_EscapedChar "\\$">
                                                                        ) (${ VSub_Name x)
                                                                      )
                                                                    }
                                                                  spids: [29633]
                                                                )
                                                              ]
                                                              spids: [29633]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:b)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ (${ VSub_Name b) ("for ") 
                                                                        (${ VSub_Name x) (" in")
                                                                      )
                                                                    }
                                                                  spids: [29645]
                                                                )
                                                              ]
                                                              spids: [29645]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:e)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ (${ VSub_Name t) (done) 
                                                                        (${ VSub_Name e)
                                                                      )
                                                                    }
                                                                  spids: [29658]
                                                                )
                                                              ]
                                                              spids: [29658]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:t)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ (${ VSub_Name t) 
                                                                        (${ VSub_Name tab) (${ VSub_Name tab)
                                                                      )
                                                                    }
                                                                  spids: [29670]
                                                                )
                                                              ]
                                                              spids: [29670]
                                                            )
                                                          ]
                                                          spids: [29586 29587 29684 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Case
                                                              to_match: {($ VSub_Name "$e")}
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [{(SQ )}]
                                                                  action: [
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (C 
                                                                              {
                                                                                ($ VSub_Name 
"$exists"
                                                                                )
                                                                              } {(${ VSub_Name i) (/) (${ VSub_Name a)}
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: f
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (${ VSub_Name i) (/) (${ VSub_Name a)
                                                                                    }
                                                                                  spids: [29716]
                                                                                )
                                                                              ]
                                                                              spids: [29716]
                                                                            )
                                                                            (ControlFlow
                                                                              token: 
                                                                                <ControlFlow_Break 
break
                                                                                >
                                                                            )
                                                                          ]
                                                                          spids: [-1 29714]
                                                                        )
                                                                      ]
                                                                      spids: [-1 29729]
                                                                    )
                                                                  ]
                                                                  spids: [-1 29699 29732 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Case
                                                                      to_match: {($ VSub_Name "$i")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [{(/)} {(.)}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: b
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        (${ 
VSub_Name b
                                                                                        ) (" ''")
                                                                                      )
                                                                                    }
                                                                                  spids: [29750]
                                                                                )
                                                                              ]
                                                                              spids: [29750]
                                                                            )
                                                                          ]
                                                                          spids: [29745 29748 29758 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other "*")}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: b
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        (${ 
VSub_Name b
                                                                                        ) (" /") (${ VSub_Name i)
                                                                                      )
                                                                                    }
                                                                                  spids: [29764]
                                                                                )
                                                                              ]
                                                                              spids: [29764]
                                                                            )
                                                                          ]
                                                                          spids: [29761 29762 29775 -1]
                                                                        )
                                                                      ]
                                                                      spids: [29738 29742 29778]
                                                                    )
                                                                  ]
                                                                  spids: [29735 29736 29781 -1]
                                                                )
                                                              ]
                                                              spids: [29690 29694 29784]
                                                            )
                                                          ]
                                                          spids: [29687 29688 29787 -1]
                                                        )
                                                      ]
                                                      spids: [29396 29400 29790]
                                                    )
                                                  ]
                                                  spids: [29394 29793]
                                                )
                                              spids: [29390 -1]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$f")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(SQ )}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$set")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(SQ <" ">)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:f)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$a")}
                                                                  spids: [29819]
                                                                )
                                                              ]
                                                              spids: [29819]
                                                            )
                                                          ]
                                                          spids: [29815 29817 29822 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:f)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$set")}
                                                                  spids: [29829]
                                                                )
                                                              ]
                                                              spids: [29829]
                                                            )
                                                          ]
                                                          spids: [29825 29827 29832 -1]
                                                        )
                                                      ]
                                                      spids: [29807 29811 29835]
                                                    )
                                                  ]
                                                  spids: [-1 29805 29838 -1]
                                                )
                                              ]
                                              spids: [29796 29800 29841]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$f")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(SQ )}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:c)
                                                          op: Equal
                                                          rhs: {(1)}
                                                          spids: [29855]
                                                        )
                                                      ]
                                                      spids: [29855]
                                                    )
                                                  ]
                                                  spids: [-1 29853 29859 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:c)
                                                          op: Equal
                                                          rhs: {(0)}
                                                          spids: [29865]
                                                        )
                                                      ]
                                                      spids: [29865]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:f)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar "\\\"">
                                                                ) ($ VSub_Name "$f") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                              )
                                                            }
                                                          spids: [29869]
                                                        )
                                                      ]
                                                      spids: [29869]
                                                    )
                                                  ]
                                                  spids: [29862 29863 29877 -1]
                                                )
                                              ]
                                              spids: [29844 29848 29880]
                                            )
                                            (C {(report)} {($ VSub_Name "$c")} {(DQ ($ VSub_Name "$f"))} 
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name note>
                                                    suffix_op: 
                                                      (StringUnary
                                                        op_id: VTest_ColonHyphen
                                                        arg_word: {($ VSub_Name "$a") (" path")}
                                                      )
                                                    spids: [29892 29897]
                                                  )
                                                )
                                              } {(DQ ($ VSub_Name "$a") (" path not found"))}
                                            )
                                          ]
                                          spids: [29358 29359 29906 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(run)}]
                                          action: [
                                            (C {(is)} {(run)} {($ VSub_Name "$a")})
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (C {(test)} {(KW_Bang "!")} {(-r)} 
                                                      {($ VSub_Name "$a")}
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(failure)} {(not)} {(found)})
                                                    (Case
                                                      to_match: {($ VSub_Name "$verbose")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          action: [
                                                            (SimpleCommand
                                                              words: [
                                                                {(echo)}
                                                                {
                                                                  (DQ ($ VSub_Name "$command") (": ") 
                                                                    ($ VSub_Name "$file") ($ VSub_Name "$line") (": ") ($ VSub_Name "$a") (": not found")
                                                                  )
                                                                }
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_GreatAnd
                                                                  fd: -1
                                                                  arg_word: {($ VSub_Name "$stderr")}
                                                                  spids: [29961]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          spids: [29946 29947 29964 -1]
                                                        )
                                                      ]
                                                      spids: [29939 29943 29967]
                                                    )
                                                    (C {(exit)} {(1)})
                                                  ]
                                                  spids: [-1 29930]
                                                )
                                              ]
                                              spids: [-1 29975]
                                            )
                                            (C {(noisy)})
                                            (Case
                                              to_match: {($ VSub_Name "$a")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*") (.c)}]
                                                  action: [
                                                    (C {(rm)} {(-f)} {($ VSub_Name "$tmp") (.exe)})
                                                    (BraceGroup
                                                      children: [
                                                        (C {(echo)} 
                                                          {
                                                            (DQ ($ VSub_Name "$tst") ("\n") 
                                                              ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$std") ("\n") ($ VSub_Name "$usr") ("\n") ($ VSub_Name "$inc")
                                                            )
                                                          }
                                                        )
                                                        (C {(cat)} {($ VSub_Name "$a")})
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$tmp") (.c)}
                                                          spids: [30025]
                                                        )
                                                      ]
                                                      spids: [30000]
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (SimpleCommand
                                                          words: [
                                                            {(compile)}
                                                            {($ VSub_Name "$cc")}
                                                            {(-o)}
                                                            {($ VSub_Name "$tmp") (.exe)}
                                                            {($ VSub_Name "$tmp") (.c)}
                                                            {($ VSub_Name "$lib")}
                                                            {($ VSub_Name "$deflib")}
                                                          ]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_LessAnd
                                                              fd: -1
                                                              arg_word: {($ VSub_Name "$nullin")}
                                                              spids: [30047]
                                                            )
                                                            (Redir
                                                              op_id: Redir_GreatAnd
                                                              fd: -1
                                                              arg_word: {($ VSub_Name "$stderr")}
                                                              spids: [30050]
                                                            )
                                                            (Redir
                                                              op_id: Redir_GreatAnd
                                                              fd: 2
                                                              arg_word: {($ VSub_Name "$stderr")}
                                                              spids: [30053]
                                                            )
                                                          ]
                                                        )
                                                        (AndOr
                                                          children: [
                                                            (C {($ VSub_Name "$executable")} 
                                                              {($ VSub_Name "$tmp") (.exe)}
                                                            )
                                                            (SimpleCommand
                                                              words: [
                                                                {(execute)}
                                                                {($ VSub_Name "$tmp") (.exe)}
                                                                {($ VSub_Name "$opt")}
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_LessAnd
                                                                  fd: -1
                                                                  arg_word: {($ VSub_Name "$nullin")}
                                                                  spids: [30074]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [29988 29990 30078 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*") (.sh)}]
                                                  action: [
                                                    (BraceGroup
                                                      children: [
                                                        (C {(copy)} {(-)} 
                                                          {
                                                            (DQ (":\n") ("set ") 
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar "\\\"">
                                                              ) ("cc='") ($ VSub_Name "$cc") ("' executable='") ($ VSub_Name "$executable") ("' id='") ($ VSub_Name "$m") 
                                                              ("' static='") ($ VSub_Name "$static") ("' tmp='") ($ VSub_Name "$tmp") ("'") 
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar "\\\"">
                                                              ) (" ") ($ VSub_Name "$opt") (" ") ($ VSub_Name "$hdr") (" ") ($ VSub_Name "$test")
                                                            )
                                                          }
                                                        )
                                                        (C {(cat)} {($ VSub_Name "$a")})
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$tmp") (.sh)}
                                                          spids: [30124]
                                                        )
                                                      ]
                                                      spids: [30085]
                                                    )
                                                    (C {(chmod)} {(Lit_Other "+") (x)} 
                                                      {($ VSub_Name "$tmp") (.sh)}
                                                    )
                                                    (Subshell
                                                      child: (C {(.)} {($ VSub_Name "$tmp") (.sh)})
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_LessAnd
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$nullin")}
                                                          spids: [30148]
                                                        )
                                                      ]
                                                      spids: [30139 30146]
                                                    )
                                                  ]
                                                  spids: [30081 30083 30152 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [(C {(false)})]
                                                  spids: [30155 30156 30161 -1]
                                                )
                                              ]
                                              spids: [29981 29985 30164]
                                            )
                                            (Case
                                              to_match: {($ VSub_QMark "$?")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(0)}]
                                                  action: [(C {(success)})]
                                                  spids: [30174 30175 30180 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(failure)} {(cannot)} {(run)})
                                                    (Case
                                                      to_match: {($ VSub_Name "$verbose")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(0)}]
                                                          action: [
                                                            (SimpleCommand
                                                              words: [
                                                                {(echo)}
                                                                {
                                                                  (DQ ($ VSub_Name "$command") (": ") 
                                                                    ($ VSub_Name "$file") ($ VSub_Name "$line") (": ") ($ VSub_Name "$a") (": cannot run")
                                                                  )
                                                                }
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_GreatAnd
                                                                  fd: -1
                                                                  arg_word: {($ VSub_Name "$stderr")}
                                                                  spids: [30215]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          spids: [30200 30201 30218 -1]
                                                        )
                                                      ]
                                                      spids: [30193 30197 30221]
                                                    )
                                                    (C {(exit)} {(1)})
                                                  ]
                                                  spids: [30183 30184 30229 -1]
                                                )
                                              ]
                                              spids: [30167 30171 30232]
                                            )
                                          ]
                                          spids: [29909 29910 30235 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(siz)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$p")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(DQ )}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:x)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [30252]
                                                        )
                                                      ]
                                                      spids: [30252]
                                                    )
                                                  ]
                                                  spids: [-1 30250 30254 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:x)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name "$p") (" "))}
                                                          spids: [30260]
                                                        )
                                                      ]
                                                      spids: [30260]
                                                    )
                                                  ]
                                                  spids: [30257 30258 30266 -1]
                                                )
                                              ]
                                              spids: [30241 30245 30269]
                                            )
                                            (C {(is)} {(siz)} 
                                              {(DQ ($ VSub_Name "$x") ($ VSub_Name "$v"))}
                                            )
                                            (BraceGroup
                                              children: [
                                                (Case
                                                  to_match: 
                                                    {($ VSub_Name "$p") (Lit_Other ":") 
                                                      ($ VSub_Name "$v")
                                                    }
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(long) (Lit_Other ":") (Lit_Other "*")}
                                                        {(Lit_Other "*") (Lit_Other ":") 
                                                          (Lit_Other "*") (Lit_Other "[") (_0123456789) (Lit_Other "]") (int) (Lit_Other "[") (_0123456789) (Lit_Other "]") 
                                                          (Lit_Other "*")
                                                        }
                                                      ]
                                                      action: [
                                                        (C {(echo)} 
                                                          {
                                                            (DQ ($ VSub_Name "$pre") ("\n") 
                                                              ($ VSub_Name "$tst") ("\n") ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$inc") ("\n") ("static ") ($ VSub_Name "$x") 
                                                              ($ VSub_Name "$v") (" i;\n") ($ VSub_Name "$x") ($ VSub_Name "$v") (" f() {\n") ($ VSub_Name "$x") ($ VSub_Name "$v") 
                                                              (" v; i = 1; v = i;")
                                                            )
                                                          }
                                                        )
                                                        (C {(echo)} 
                                                          {
                                                            (DQ 
                                                              (
"i = v * i; i = i / v; v = v + i; i = i - v;"
                                                              )
                                                            )
                                                          }
                                                        )
                                                        (Case
                                                          to_match: {($ VSub_Name "$v")}
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [{(float)} {(double)}]
                                                              spids: [30350 30353 30355 -1]
                                                            )
                                                            (case_arm
                                                              pat_list: [{(Lit_Other "*")}]
                                                              action: [
                                                                (C {(echo)} 
                                                                  {
                                                                    (DQ 
                                                                      (
"v <<= 4; i = v >> 2; i = 10; i = v % i; i |= v; v ^= i; i = 123; v &= i;"
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [30358 30359 30367 -1]
                                                            )
                                                          ]
                                                          spids: [30343 30347 30370]
                                                        )
                                                        (C {(echo)} {(DQ ("return v; }"))})
                                                      ]
                                                      spids: [30294 30309 30380 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(echo)} 
                                                          {
                                                            (DQ ($ VSub_Name "$pre") ("\n") 
                                                              ($ VSub_Name "$inc") ("\n") ("struct xxx { ") ($ VSub_Name "$x") ($ VSub_Name "$v") (" mem; };\n") ("static struct xxx v;\n") 
                                                              ("struct xxx* f() { return &v; }")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [30383 30384 30402 -1]
                                                    )
                                                  ]
                                                  spids: [30285 30291 30405]
                                                )
                                                (Case
                                                  to_match: {($ VSub_Name "$x")}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(DQ )}
                                                        {(DQ ("struct "))}
                                                        {(DQ ("union "))}
                                                      ]
                                                      action: [
                                                        (C {(echo)} {(DQ ("int g() { return 0; }"))})
                                                      ]
                                                      spids: [-1 30425 30435 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(echo)} 
                                                          {
                                                            (DQ ("int g() { return sizeof(") 
                                                              ($ VSub_Name "$x") ($ VSub_Name "$v") (")<=sizeof(") ($ VSub_Name "$v") ("); }")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [30438 30439 30452 -1]
                                                    )
                                                  ]
                                                  spids: [30408 30412 30455]
                                                )
                                                (C {(copy)} {(-)} 
                                                  {
                                                    (DQ ("\n") ("int main() {\n") ("\t\tf();\n") 
                                                      ("\t\tg();\n") ("\t\tprintf(") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("%u") 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar "\\\\">
                                                      ) (n) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (", sizeof(") ($ VSub_Name "$x") 
                                                      ($ VSub_Name "$v") ("));\n") ("\t\treturn 0;\n") ("}")
                                                    )
                                                  }
                                                )
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {($ VSub_Name "$tmp") (.c)}
                                                  spids: [30484]
                                                )
                                              ]
                                              spids: [30282]
                                            )
                                            (C {(rm)} {(-f)} {($ VSub_Name "$tmp") (.exe)} 
                                              {($ VSub_Name "$tmp") (.dat)}
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (AndOr
                                                      children: [
                                                        (SimpleCommand
                                                          words: [
                                                            {(compile)}
                                                            {($ VSub_Name "$cc")}
                                                            {(-o)}
                                                            {($ VSub_Name "$tmp") (.exe)}
                                                            {($ VSub_Name "$tmp") (.c)}
                                                            {($ VSub_Name "$lib")}
                                                            {($ VSub_Name "$deflib")}
                                                          ]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_LessAnd
                                                              fd: -1
                                                              arg_word: {($ VSub_Name "$nullin")}
                                                              spids: [30519]
                                                            )
                                                            (Redir
                                                              op_id: Redir_GreatAnd
                                                              fd: -1
                                                              arg_word: {($ VSub_Name "$nullout")}
                                                              spids: [30522]
                                                            )
                                                          ]
                                                        )
                                                        (AndOr
                                                          children: [
                                                            (C {($ VSub_Name "$executable")} 
                                                              {($ VSub_Name "$tmp") (.exe)}
                                                            )
                                                            (SimpleCommand
                                                              words: [
                                                                {(execute)}
                                                                {($ VSub_Name "$tmp") (.exe)}
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {($ VSub_Name "$tmp") (.dat)}
                                                                  spids: [30541]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:z)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (C {(cat)} 
                                                                        {($ VSub_Name "$tmp") (.dat)}
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick "`">
                                                                spids: [30550 30555]
                                                              )
                                                            }
                                                          spids: [30549]
                                                        )
                                                      ]
                                                      spids: [30549]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:c)
                                                          op: Equal
                                                          rhs: {(0)}
                                                          spids: [30558]
                                                        )
                                                      ]
                                                      spids: [30558]
                                                    )
                                                  ]
                                                  spids: [-1 30547]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:z)
                                                      op: Equal
                                                      rhs: {(0)}
                                                      spids: [30564]
                                                    )
                                                  ]
                                                  spids: [30564]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:c)
                                                      op: Equal
                                                      rhs: {(1)}
                                                      spids: [30568]
                                                    )
                                                  ]
                                                  spids: [30568]
                                                )
                                              ]
                                              spids: [30562 30572]
                                            )
                                            (C {(report)} {($ VSub_Name "$c")} {(DQ ($ VSub_Name "$z"))} 
                                              {
                                                (DQ ("sizeof(") ($ VSub_Name "$x") ($ VSub_Name "$v") 
                                                  (")")
                                                )
                                              } {(DQ ($ VSub_Name "$x") ($ VSub_Name "$v") (" not a type with known size"))}
                                            )
                                          ]
                                          spids: [30238 30239 30597 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(sym)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$test")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(DQ )}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:x)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$v")}
                                                          spids: [30614]
                                                        )
                                                      ]
                                                      spids: [30614]
                                                    )
                                                  ]
                                                  spids: [-1 30612 30617 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:x)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$test")}
                                                          spids: [30623]
                                                        )
                                                      ]
                                                      spids: [30623]
                                                    )
                                                  ]
                                                  spids: [30620 30621 30626 -1]
                                                )
                                              ]
                                              spids: [30603 30607 30629]
                                            )
                                            (SimpleCommand
                                              words: [
                                                {(echo)}
                                                {
                                                  (DQ ($ VSub_Name "$pre") ("\n") ($ VSub_Name "$tst") 
                                                    ("\n") ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$inc") ("\n") ("'=' ") ($ VSub_Name "$x") (" '='")
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {($ VSub_Name "$tmp") (.c)}
                                                  spids: [30648]
                                                )
                                              ]
                                            )
                                            (Pipeline
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {(compile)}
                                                    {($ VSub_Name "$cc")}
                                                    {(-E)}
                                                    {($ VSub_Name "$tmp") (.c)}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_LessAnd
                                                      fd: -1
                                                      arg_word: {($ VSub_Name "$nullin")}
                                                      spids: [30663]
                                                    )
                                                  ]
                                                )
                                                (C {(sed)} {(-e)} {(DQ ("/'='/!d"))} {(-e)} 
                                                  {(DQ ("s/'='//g"))} {(-e)} {(SQ <"s/[ \t]//g">)} {(-e)} {(SQ <"s/((([^()]*)))->/->/g">)} {(-e)} {(SQ <"s/(([^()]*))->/->/g">)} 
                                                  {(-e)} {(SQ <"s/([^()]*)->/->/g">)} {(-e)} 
                                                  {
                                                    (SQ 
                                                      <
"s/\\([abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789]*\\)\\[/\\\n"
                                                      > <"ary \\1[/g">
                                                    )
                                                  } {(-e)} 
                                                  {
                                                    (SQ 
                                                      <
"s/\\([abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789]*\\)(/\\\n"
                                                      > <"fun \\1[/g">
                                                    )
                                                  } {(-e)} 
                                                  {
                                                    (SQ 
                                                      <
"s/\\*->\\([abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_]\\)/->\\\n"
                                                      > <"ptr \\1/g">
                                                    )
                                                  } {(-e)} {(SQ <"s/->\\([abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_]\\)/->\\\n"> <"reg \\1/g">)} 
                                                  {(-e)} {(DQ ("/^") ($ VSub_Name "$v") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (/d))} {(-e)} 
                                                  {
                                                    (SQ 
                                                      <
"s/^[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789]*$/\\\n"
                                                      > <"nam &/g">
                                                    )
                                                  }
                                                )
                                                (C {(sed)} {(-e)} {(SQ <"/^... /!d">)})
                                                (SimpleCommand
                                                  words: [{(sort)} {(-u)}]
                                                  more_env: [
                                                    (env_pair
                                                      name: LC_ALL
                                                      val: {(C)}
                                                      spids: [30794]
                                                    )
                                                  ]
                                                )
                                                (C {(sed)} {(-e)} 
                                                  {
                                                    (SQ 
                                                      <
"s/\\(...\\) \\([abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789]*\\).*/#ifndef _\\1_"
                                                      >
                                                    ) ($ VSub_Name "$v") (SQ <"\\\n"> <"#define _\\1_">) ($ VSub_Name "$v") (SQ <" \\2\\\n"> <"#define _\\1_">) 
                                                    ($ VSub_Name "$v") (SQ <"_str \"\\2\"\\\n"> <"#endif/">)
                                                  }
                                                )
                                              ]
                                              negated: False
                                            )
                                          ]
                                          spids: [30600 30601 30833 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(typ)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$p")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(DQ )}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:x)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [30850]
                                                        )
                                                      ]
                                                      spids: [30850]
                                                    )
                                                  ]
                                                  spids: [-1 30848 30852 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:x)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name "$p") (" "))}
                                                          spids: [30858]
                                                        )
                                                      ]
                                                      spids: [30858]
                                                    )
                                                  ]
                                                  spids: [30855 30856 30864 -1]
                                                )
                                              ]
                                              spids: [30839 30843 30867]
                                            )
                                            (C {(is)} {(typ)} 
                                              {(DQ ($ VSub_Name "$x") ($ VSub_Name "$v"))}
                                            )
                                            (BraceGroup
                                              children: [
                                                (Case
                                                  to_match: 
                                                    {($ VSub_Name "$p") (Lit_Other ":") 
                                                      ($ VSub_Name "$v")
                                                    }
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(long) (Lit_Other ":") (Lit_Other "*")}
                                                        {(Lit_Other "*") (Lit_Other ":") 
                                                          (Lit_Other "*") (Lit_Other "[") (_0123456789) (Lit_Other "]") (int) (Lit_Other "[") (_0123456789) (Lit_Other "]") 
                                                          (Lit_Other "*")
                                                        }
                                                      ]
                                                      action: [
                                                        (C {(echo)} 
                                                          {
                                                            (DQ ($ VSub_Name "$pre") ("\n") 
                                                              ($ VSub_Name "$tst") ("\n") ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$inc") ("\n") ("static ") ($ VSub_Name "$x") 
                                                              ($ VSub_Name "$v") (" i;\n") ($ VSub_Name "$x") ($ VSub_Name "$v") (" f() {\n") ($ VSub_Name "$x") ($ VSub_Name "$v") 
                                                              (" v; i = 1; v = i;")
                                                            )
                                                          }
                                                        )
                                                        (C {(echo)} 
                                                          {
                                                            (DQ 
                                                              (
"i = v * i; i = i / v; v = v + i; i = i - v;"
                                                              )
                                                            )
                                                          }
                                                        )
                                                        (Case
                                                          to_match: {($ VSub_Name "$v")}
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [{(float)} {(double)}]
                                                              spids: [30948 30951 30953 -1]
                                                            )
                                                            (case_arm
                                                              pat_list: [{(Lit_Other "*")}]
                                                              action: [
                                                                (C {(echo)} 
                                                                  {
                                                                    (DQ 
                                                                      (
"v <<= 4; i = v >> 2; i = 10; i = v % i; i |= v; v ^= i; i = 123; v &= i;"
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [30956 30957 30965 -1]
                                                            )
                                                          ]
                                                          spids: [30941 30945 30968]
                                                        )
                                                        (C {(echo)} {(DQ ("return v; }"))})
                                                      ]
                                                      spids: [30892 30907 30978 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(echo)} 
                                                          {
                                                            (DQ ($ VSub_Name "$pre") ("\n") 
                                                              ($ VSub_Name "$tst") ("\n") ($ VSub_Name "$ext") ("\n") ($ VSub_Name "$inc") ("\n") ("struct xxx { ") ($ VSub_Name "$x") 
                                                              ($ VSub_Name "$v") (" mem; };\n") ("static struct xxx v;\n") ("struct xxx* f() { return &v; }")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [30981 30982 31004 -1]
                                                    )
                                                  ]
                                                  spids: [30883 30889 31007]
                                                )
                                                (Case
                                                  to_match: {($ VSub_Name "$x")}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(DQ )}
                                                        {(DQ ("struct "))}
                                                        {(DQ ("union "))}
                                                      ]
                                                      action: [
                                                        (C {(echo)} 
                                                          {(DQ ("int main() { f(); return 0; }"))}
                                                        )
                                                      ]
                                                      spids: [-1 31027 31036 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(echo)} 
                                                          {
                                                            (DQ ("int main() { f(); return sizeof(") 
                                                              ($ VSub_Name "$x") ($ VSub_Name "$v") (")<=sizeof(") ($ VSub_Name "$v") ("); }")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [31039 31040 31053 -1]
                                                    )
                                                  ]
                                                  spids: [31010 31014 31056]
                                                )
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {($ VSub_Name "$tmp") (.c)}
                                                  spids: [31061]
                                                )
                                              ]
                                              spids: [30880]
                                            )
                                            (C {(rm)} {(-f)} {($ VSub_Name "$tmp") (.exe)})
                                            (AndOr
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {(compile)}
                                                    {($ VSub_Name "$cc")}
                                                    {(-o)}
                                                    {($ VSub_Name "$tmp") (.exe)}
                                                    {($ VSub_Name "$tmp") (.c)}
                                                    {($ VSub_Name "$lib")}
                                                    {($ VSub_Name "$deflib")}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_LessAnd
                                                      fd: -1
                                                      arg_word: {($ VSub_Name "$nullin")}
                                                      spids: [31091]
                                                    )
                                                    (Redir
                                                      op_id: Redir_GreatAnd
                                                      fd: -1
                                                      arg_word: {($ VSub_Name "$nullout")}
                                                      spids: [31094]
                                                    )
                                                  ]
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {($ VSub_Name "$executable")} 
                                                      {($ VSub_Name "$tmp") (.exe)}
                                                    )
                                                    (C {(execute)} {($ VSub_Name "$tmp") (.exe)})
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                            (C {(report)} {($ VSub_QMark "$?")} {(1)} 
                                              {
                                                (DQ ($ VSub_Name "$x") ($ VSub_Name "$v") 
                                                  (" is a type")
                                                )
                                              } {(DQ ($ VSub_Name "$x") ($ VSub_Name "$v") (" is not a type"))} 
                                              {
                                                (DQ ("default for type ") ($ VSub_Name "$x") 
                                                  ($ VSub_Name "$v")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [30836 30837 31139 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(val)}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$arg")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(SQ <"\"">) (Lit_Other "*") (SQ <"\"">)}]
                                                  action: [
                                                    (C {(echo)} 
                                                      {($ VSub_Name "$arg") (Lit_Other "=") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\'">
                                                        ) ($ VSub_Name "$val") (EscapedLiteralPart token:<Lit_EscapedChar "\\'">)
                                                      }
                                                    )
                                                  ]
                                                  spids: [31153 31159 31168 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(echo)} 
                                                      {($ VSub_Name "$arg") (Lit_Other "=") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\\"">
                                                        ) ($ VSub_Name "$val") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                      }
                                                    )
                                                  ]
                                                  spids: [31171 31172 31182 -1]
                                                )
                                              ]
                                              spids: [31145 31149 31185]
                                            )
                                          ]
                                          spids: [31142 31143 31188 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(ver)}]
                                          spids: [31191 31192 31194 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(0)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:result)
                                                  op: Equal
                                                  rhs: {(FAILURE)}
                                                  spids: [31200]
                                                )
                                              ]
                                              spids: [31200]
                                            )
                                          ]
                                          spids: [31197 31198 31204 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(1)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:result)
                                                  op: Equal
                                                  rhs: {(SUCCESS)}
                                                  spids: [31210]
                                                )
                                              ]
                                              spids: [31210]
                                            )
                                          ]
                                          spids: [31207 31208 31214 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ":")}]
                                          spids: [31217 31218 31220 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(-)}]
                                          spids: [31223 31224 31226 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(echo)}
                                                {
                                                  (DQ ($ VSub_Name "$command") (": ") 
                                                    ($ VSub_Name "$file") ($ VSub_Name "$line") (": ") ($ VSub_Name "$o") (": unknown feature test")
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: -1
                                                  arg_word: {($ VSub_Name "$stderr")}
                                                  spids: [31244]
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:status)
                                                  op: Equal
                                                  rhs: {(1)}
                                                  spids: [31248]
                                                )
                                              ]
                                              spids: [31248]
                                            )
                                          ]
                                          spids: [31229 31230 31252 -1]
                                        )
                                      ]
                                      spids: [24475 24479 31255]
                                    )
                                  ]
                                  spids: [18785 31258]
                                )
                              spids: [18781 -1]
                            )
                          ]
                          spids: [18774 31261]
                        )
                      spids: [18770 -1]
                    )
                    (Case
                      to_match: {($ VSub_Name "$not")}
                      arms: [
                        (case_arm
                          pat_list: [{(1)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$result")}
                              arms: [
                                (case_arm
                                  pat_list: [{(FAILURE)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:result)
                                          op: Equal
                                          rhs: {(SUCCESS)}
                                          spids: [31284]
                                        )
                                      ]
                                      spids: [31284]
                                    )
                                  ]
                                  spids: [31281 31282 31287 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:result)
                                          op: Equal
                                          rhs: {(FAILURE)}
                                          spids: [31293]
                                        )
                                      ]
                                      spids: [31293]
                                    )
                                  ]
                                  spids: [31290 31291 31296 -1]
                                )
                              ]
                              spids: [31274 31278 31299]
                            )
                          ]
                          spids: [31271 31272 31302 -1]
                        )
                      ]
                      spids: [31264 31268 31305]
                    )
                    (Case
                      to_match: {($ VSub_Name "$result")}
                      arms: [
                        (case_arm
                          pat_list: [{(FAILURE)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:user_pf)
                                  op: Equal
                                  rhs: {($ VSub_Name "$fail")}
                                  spids: [31318]
                                )
                                (assign_pair
                                  lhs: (LhsName name:user_yn)
                                  op: Equal
                                  rhs: {($ VSub_Name "$no")}
                                  spids: [31321]
                                )
                              ]
                              spids: [31318]
                            )
                          ]
                          spids: [31315 31316 31324 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:user_pf)
                                  op: Equal
                                  rhs: {($ VSub_Name "$pass")}
                                  spids: [31330]
                                )
                                (assign_pair
                                  lhs: (LhsName name:user_yn)
                                  op: Equal
                                  rhs: {($ VSub_Name "$yes")}
                                  spids: [31333]
                                )
                              ]
                              spids: [31330]
                            )
                          ]
                          spids: [31327 31328 31336 -1]
                        )
                      ]
                      spids: [31308 31312 31339]
                    )
                    (Case
                      to_match: {($ VSub_Name "$user_pf")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                          action: [
                            (SimpleCommand
                              words: [{(eval)} {(DQ ($ VSub_Name "$user_pf"))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_LessAnd
                                  fd: -1
                                  arg_word: {($ VSub_Name "$nullin")}
                                  spids: [31359]
                                )
                              ]
                            )
                          ]
                          spids: [31349 31351 31362 -1]
                        )
                      ]
                      spids: [31342 31346 31365]
                    )
                    (Case
                      to_match: {($ VSub_Name "$user_yn")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$def")}
                              arms: [
                                (case_arm
                                  pat_list: [{(-)}]
                                  spids: [31386 31387 31389 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$note")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other "?") (Lit_Other "*")}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$user_yn")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") ($ VSub_Name "$nl") 
                                                      (Lit_Other "*")
                                                    }
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:user_yn)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ("/* ") ($ VSub_Name "$note") (" */") 
                                                                ($ VSub_Name "$nl") ($ VSub_Name "$user_yn")
                                                              )
                                                            }
                                                          spids: [31418]
                                                        )
                                                      ]
                                                      spids: [31418]
                                                    )
                                                  ]
                                                  spids: [31413 31416 31427 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:user_yn)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$user_yn") ("\t/* ") 
                                                                ($ VSub_Name "$note") (" */")
                                                              )
                                                            }
                                                          spids: [31433]
                                                        )
                                                      ]
                                                      spids: [31433]
                                                    )
                                                  ]
                                                  spids: [31430 31431 31441 -1]
                                                )
                                              ]
                                              spids: [31406 31410 31444]
                                            )
                                          ]
                                          spids: [31402 31404 31447 -1]
                                        )
                                      ]
                                      spids: [31395 31399 31450]
                                    )
                                  ]
                                  spids: [31392 31393 31453 -1]
                                )
                              ]
                              spids: [31379 31383 31456]
                            )
                            (C {(copy)} {(-)} {(DQ ($ VSub_Name "$user_yn"))})
                          ]
                          spids: [31375 31377 31468 -1]
                        )
                      ]
                      spids: [31368 31372 31471]
                    )
                    (Case
                      to_match: {($ VSub_Name "$ifelse") (Lit_Other ":") ($ VSub_Name "$result")}
                      arms: [
                        (case_arm
                          pat_list: [{(TEST) (Lit_Other ":") (SUCCESS)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ifelse)
                                  op: Equal
                                  rhs: {(KEEP)}
                                  spids: [31488]
                                )
                              ]
                              spids: [31488]
                            )
                          ]
                          spids: [31483 31486 31491 -1]
                        )
                        (case_arm
                          pat_list: [{(TEST) (Lit_Other ":") (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ifelse)
                                  op: Equal
                                  rhs: {(SKIP)}
                                  spids: [31499]
                                )
                              ]
                              spids: [31499]
                            )
                          ]
                          spids: [31494 31497 31502 -1]
                        )
                      ]
                      spids: [31474 31480 31505]
                    )
                    (Case
                      to_match: {($ VSub_Name "$group") (Lit_Other ":") ($ VSub_Name "$result")}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other ":") (Lit_Other "*")}
                            {(Lit_Other "*") (Lit_Other ":") (SUCCESS)}
                          ]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [31517 31523 31527 -1]
                        )
                      ]
                      spids: [31508 31514 31530]
                    )
                    (C {(set)} {(SQ )} {($ VSub_Name "$groups")} {(SQ )} {(DQ ($ VSub_At "$@"))})
                    (C {(shift)})
                    (Case
                      to_match: {($ VSub_Number "$1")}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ )}]
                          action: [
                            (Sentence
                              child: (C {(shift)})
                              terminator: <Op_Semi ";">
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [-1 31560 31567 -1]
                        )
                      ]
                      spids: [31551 31555 31570]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hdr)
                          op: Equal
                          rhs: {($ VSub_Name "$com_hdr")}
                          spids: [31582]
                        )
                      ]
                      spids: [31582]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:lib)
                          op: Equal
                          rhs: {($ VSub_Name "$com_lib")}
                          spids: [31586]
                        )
                      ]
                      spids: [31586]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:mac)
                          op: Equal
                          rhs: {($ VSub_Name "$com_mac")}
                          spids: [31590]
                        )
                      ]
                      spids: [31590]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:opt)
                          op: Equal
                          rhs: {($ VSub_Name "$com_opt")}
                          spids: [31594]
                        )
                      ]
                      spids: [31594]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pth)
                          op: Equal
                          rhs: {($ VSub_Name "$com_pth")}
                          spids: [31598]
                        )
                      ]
                      spids: [31598]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:test)
                          op: Equal
                          rhs: {($ VSub_Name "$com_test")}
                          spids: [31602]
                        )
                      ]
                      spids: [31602]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cc)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$occ") (" ") ($ VSub_Name "$includes"))}
                          spids: [31606]
                        )
                      ]
                      spids: [31606]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:group)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [31614]
                        )
                      ]
                      spids: [31614]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:groups)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [31617]
                        )
                      ]
                      spids: [31617]
                    )
                    (While
                      cond: [(C {(Lit_Other ":")})]
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Number "$1")}
                              arms: [
                                (case_arm
                                  pat_list: [{(SQ )}]
                                  action: [
                                    (Sentence
                                      child: (C {(shift)})
                                      terminator: <Op_Semi ";">
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [-1 31636 31643 -1]
                                )
                              ]
                              spids: [31627 31631 31646]
                            )
                            (Case
                              to_match: {($ VSub_Number "$1")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (Lit_Other "[") 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\\"">
                                      ) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\)">
                                      ) (EscapedLiteralPart token:<Lit_EscapedChar "\\{">) (EscapedLiteralPart token:<Lit_EscapedChar "\\}">) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\ ">
                                      ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\t">) (Lit_Other "]") (Lit_Other "*")
                                    }
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$op")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(pth)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:pth)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$pth") (" ") 
                                                        ($ VSub_Number "$1")
                                                      )
                                                    }
                                                  spids: [31681]
                                                )
                                              ]
                                              spids: [31681]
                                            )
                                          ]
                                          spids: [31678 31679 31689 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$test")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(SQ )}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:test)
                                                          op: Equal
                                                          rhs: {($ VSub_Number "$1")}
                                                          spids: [31706]
                                                        )
                                                      ]
                                                      spids: [31706]
                                                    )
                                                  ]
                                                  spids: [-1 31704 31709 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:test)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$test") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [31715]
                                                        )
                                                      ]
                                                      spids: [31715]
                                                    )
                                                  ]
                                                  spids: [31712 31713 31722 -1]
                                                )
                                              ]
                                              spids: [31695 31699 31725]
                                            )
                                          ]
                                          spids: [31692 31693 31728 -1]
                                        )
                                      ]
                                      spids: [31671 31675 31731]
                                    )
                                  ]
                                  spids: [31656 31668 31734 -1]
                                )
                                (case_arm
                                  pat_list: [{(-)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:group)
                                          op: Equal
                                          rhs: {($ VSub_Name "$group") ($ VSub_Number "$1")}
                                          spids: [31740]
                                        )
                                      ]
                                      spids: [31740]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:groups)
                                          op: Equal
                                          rhs: 
                                            {(DQ ($ VSub_Name "$groups") (" ") ($ VSub_Number "$1"))}
                                          spids: [31745]
                                        )
                                      ]
                                      spids: [31745]
                                    )
                                  ]
                                  spids: [31737 31738 31753 -1]
                                )
                                (case_arm
                                  pat_list: [{(-l) (Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$group")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(-) (Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:groups)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$groups") (" ") 
                                                        ($ VSub_Number "$1")
                                                      )
                                                    }
                                                  spids: [31771]
                                                )
                                              ]
                                              spids: [31771]
                                            )
                                          ]
                                          spids: [31767 31769 31778 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$lib") (" ") 
                                                        ($ VSub_Number "$1")
                                                      )
                                                    }
                                                  spids: [31784]
                                                )
                                              ]
                                              spids: [31784]
                                            )
                                          ]
                                          spids: [31781 31782 31791 -1]
                                        )
                                      ]
                                      spids: [31760 31764 31794]
                                    )
                                  ]
                                  spids: [31756 31758 31797 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "+") (l) (Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$shell")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(bsh)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:x)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {(echo)} 
                                                                    {(X) ($ VSub_Number "$1")}
                                                                  )
                                                                  (C {(sed)} {(SQ <"s/X+/-/">)})
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [31816 31829]
                                                      )
                                                    }
                                                  spids: [31815]
                                                )
                                              ]
                                              spids: [31815]
                                            )
                                          ]
                                          spids: [31812 31813 31831 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [(C {(eval)} {(SQ <"x=-${1#+}">)})]
                                          spids: [31834 31835 31843 -1]
                                        )
                                      ]
                                      spids: [31805 31809 31846]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$group")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(-) (Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:groups)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$groups") (" ") 
                                                        ($ VSub_Name "$x")
                                                      )
                                                    }
                                                  spids: [31860]
                                                )
                                              ]
                                              spids: [31860]
                                            )
                                          ]
                                          spids: [31856 31858 31867 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$lib") (" ") ($ VSub_Name "$x"))
                                                    }
                                                  spids: [31873]
                                                )
                                              ]
                                              spids: [31873]
                                            )
                                          ]
                                          spids: [31870 31871 31880 -1]
                                        )
                                      ]
                                      spids: [31849 31853 31883]
                                    )
                                  ]
                                  spids: [31800 31803 31886 -1]
                                )
                                (case_arm
                                  pat_list: [{(-) (Lit_Other "*")} {(Lit_Other "+") (Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$group")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(-) (Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:groups)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$groups") (" ") 
                                                        ($ VSub_Number "$1")
                                                      )
                                                    }
                                                  spids: [31907]
                                                )
                                              ]
                                              spids: [31907]
                                            )
                                          ]
                                          spids: [31903 31905 31915 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$op")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(run)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:opt)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$opt") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [31931]
                                                        )
                                                      ]
                                                      spids: [31931]
                                                    )
                                                  ]
                                                  spids: [31928 31929 31939 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Number "$1")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(-D) (Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:mac)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$mac") (" ") 
                                                                        ($ VSub_Number "$1")
                                                                      )
                                                                    }
                                                                  spids: [31956]
                                                                )
                                                              ]
                                                              spids: [31956]
                                                            )
                                                          ]
                                                          spids: [31952 31954 31963 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:cc)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$cc") (" ") 
                                                                        ($ VSub_Number "$1")
                                                                      )
                                                                    }
                                                                  spids: [31969]
                                                                )
                                                              ]
                                                              spids: [31969]
                                                            )
                                                          ]
                                                          spids: [31966 31967 31976 -1]
                                                        )
                                                      ]
                                                      spids: [31945 31949 31979]
                                                    )
                                                  ]
                                                  spids: [31942 31943 31982 -1]
                                                )
                                              ]
                                              spids: [31921 31925 31985]
                                            )
                                          ]
                                          spids: [31918 31919 31988 -1]
                                        )
                                      ]
                                      spids: [31896 31900 31991]
                                    )
                                  ]
                                  spids: [31889 31894 31994 -1]
                                )
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (.) (Lit_Other "[") (aAxX) (Lit_Other "]")}
                                    {(Lit_Other "*") (.) (Lit_Other "[") (dD) (Lit_Other "]") 
                                      (Lit_Other "[") (lL) (Lit_Other "]") (Lit_Other "[") (lL) (Lit_Other "]")
                                    }
                                    {(Lit_Other "*") (.) (Lit_Other "[") (lL) (Lit_Other "]") 
                                      (Lit_Other "[") (iI) (Lit_Other "]") (Lit_Other "[") (bB) (Lit_Other "]")
                                    }
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$group")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(-) (Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:groups)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$groups") (" ") 
                                                        ($ VSub_Number "$1")
                                                      )
                                                    }
                                                  spids: [32040]
                                                )
                                              ]
                                              spids: [32040]
                                            )
                                          ]
                                          spids: [32036 32038 32047 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$lib") (" ") 
                                                        ($ VSub_Number "$1")
                                                      )
                                                    }
                                                  spids: [32053]
                                                )
                                              ]
                                              spids: [32053]
                                            )
                                          ]
                                          spids: [32050 32051 32060 -1]
                                        )
                                      ]
                                      spids: [32029 32033 32063]
                                    )
                                  ]
                                  spids: [31997 32026 32066 -1]
                                )
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (Lit_Other "[") (.) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\\\">
                                      ) (/) (Lit_Other "]") (Lit_Other "*")
                                    }
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$group")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(-) (Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:groups)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$groups") (" ") 
                                                        ($ VSub_Number "$1")
                                                      )
                                                    }
                                                  spids: [32090]
                                                )
                                              ]
                                              spids: [32090]
                                            )
                                          ]
                                          spids: [32086 32088 32098 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$op")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(pth)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:pth)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$pth") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [32114]
                                                        )
                                                      ]
                                                      spids: [32114]
                                                    )
                                                  ]
                                                  spids: [32111 32112 32121 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:hdr)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$hdr") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [32127]
                                                        )
                                                      ]
                                                      spids: [32127]
                                                    )
                                                  ]
                                                  spids: [32124 32125 32134 -1]
                                                )
                                              ]
                                              spids: [32104 32108 32137]
                                            )
                                          ]
                                          spids: [32101 32102 32140 -1]
                                        )
                                      ]
                                      spids: [32079 32083 32143]
                                    )
                                  ]
                                  spids: [32069 32076 32146 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$group")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(-) (Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:groups)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$groups") (" ") 
                                                        ($ VSub_Number "$1")
                                                      )
                                                    }
                                                  spids: [32163]
                                                )
                                              ]
                                              spids: [32163]
                                            )
                                          ]
                                          spids: [32159 32161 32171 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Case
                                              to_match: {($ VSub_Name "$op")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(pth)}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:pth)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$pth") (" ") 
                                                                ($ VSub_Number "$1")
                                                              )
                                                            }
                                                          spids: [32187]
                                                        )
                                                      ]
                                                      spids: [32187]
                                                    )
                                                  ]
                                                  spids: [32184 32185 32195 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$test")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(SQ )}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:test)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Number "$1")}
                                                                  spids: [32212]
                                                                )
                                                              ]
                                                              spids: [32212]
                                                            )
                                                          ]
                                                          spids: [-1 32210 32215 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:test)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$test") (" ") 
                                                                        ($ VSub_Number "$1")
                                                                      )
                                                                    }
                                                                  spids: [32221]
                                                                )
                                                              ]
                                                              spids: [32221]
                                                            )
                                                          ]
                                                          spids: [32218 32219 32228 -1]
                                                        )
                                                      ]
                                                      spids: [32201 32205 32231]
                                                    )
                                                  ]
                                                  spids: [32198 32199 32234 -1]
                                                )
                                              ]
                                              spids: [32177 32181 32237]
                                            )
                                          ]
                                          spids: [32174 32175 32240 -1]
                                        )
                                      ]
                                      spids: [32152 32156 32243]
                                    )
                                  ]
                                  spids: [32149 32150 32246 -1]
                                )
                              ]
                              spids: [31649 31653 32249]
                            )
                            (C {(shift)})
                          ]
                          spids: [31625 32255]
                        )
                    )
                  ]
                  spids: [16542 32258]
                )
            )
          ]
          spids: [8995 32260]
        )
    )
  ]
)