(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: [75 83 105 -1]
        )
      ]
      spids: [67 73 107]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:command) op:Equal rhs:{(mamprobe)} spids:[110])]
      spids: [110]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt) op:Equal rhs:{(SQ )} spids:[118])]
      spids: [118]
    )
    (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:[142])]
                    spids: [124 140]
                  )
                ]
              )
            left_token: <Left_Backtick "`">
            spids: [123 144]
          )
        }
      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: mamprobe (AT&T Labs Research) 2011-02-11 $\n"> 
                        <"]\n"> <"[+NAME?mamprobe - generate MAM cc probe info]\n"> <"[+DESCRIPTION?"> <Lit_EscapedChar "\\b"> 
                        <mamprobe> <Lit_EscapedChar "\\b"> <" generates MAM (make abstract machine) "> <Lit_EscapedChar "\\b"> <cc> 
                        <Lit_EscapedChar "\\b"> <"(1)\n"> <"\tprobe information for use by "> <Lit_EscapedChar "\\b"> <mamake> <Lit_EscapedChar "\\b"> 
                        <"(1). "> <Lit_EscapedChar "\\a"> <cc-path> <Lit_EscapedChar "\\a"> <" is the\n"> 
                        <"\tabsolute path of the probed compiler and "> <Lit_EscapedChar "\\a"> <info-file> <Lit_EscapedChar "\\a"> <" is where\n"> 
                        <"\tthe information is placed. "> <Lit_EscapedChar "\\a"> <info-file> <Lit_EscapedChar "\\a"> <" is usually\n"> <"\t"> 
                        <Lit_EscapedChar "\\b"> <"$INSTALLROOT/lib/probe/C/mam/"> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <hash> 
                        <Lit_EscapedChar "\\a"> <", where "> <Lit_EscapedChar "\\a"> <hash> <Lit_EscapedChar "\\a"> <" is a hash\n"> <"\tof "> 
                        <Lit_EscapedChar "\\a"> <cc-path> <Lit_EscapedChar "\\a"> <". Any "> <Lit_EscapedChar "\\a"> <info-file> <Lit_EscapedChar "\\a"> 
                        <" directories are created if needed.\n"> <"\tIf "> <Lit_EscapedChar "\\a"> <info-file> <Lit_EscapedChar "\\a"> <" is "> <Lit_EscapedChar "\\b"> <-> 
                        <Lit_EscapedChar "\\b"> <" then the probe information is written to\n"> <"\tthe standard output.]\n"> <"[+?"> 
                        <Lit_EscapedChar "\\b"> <mamprobe> <Lit_EscapedChar "\\b"> <" and "> <Lit_EscapedChar "\\b"> <mamake> <Lit_EscapedChar "\\b"> 
                        <" are used in the bootstrap phase of\n"> <"\t"> <Lit_EscapedChar "\\b"> <package> <Lit_EscapedChar "\\b"> <"(1) installation before "> 
                        <Lit_EscapedChar "\\b"> <nmake> <Lit_EscapedChar "\\b"> <"(1) is built. The\n"> <"\tprobed variable names are the "> 
                        <Lit_EscapedChar "\\b"> <nmake> <Lit_EscapedChar "\\b"> <"(1) names with a "> <Lit_EscapedChar "\\b"> <mam_> 
                        <Lit_EscapedChar "\\b"> <"\n"> <"\tprefix, "> <Lit_EscapedChar "\\b"> <CC> <Lit_EscapedChar "\\b"> <" converted to "> 
                        <Lit_EscapedChar "\\b"> <cc> <Lit_EscapedChar "\\b"> <",  and "> <Lit_EscapedChar "\\b"> <.> <Lit_EscapedChar "\\b"> 
                        <" converted to "> <Lit_EscapedChar "\\b"> <_> <Lit_EscapedChar "\\b"> <".\n"> <"\tAdditional variables are:]{\n"> 
                        <"\t\t[+_hosttype_?the "> <Lit_EscapedChar "\\b"> <package> <Lit_EscapedChar "\\b"> <"(1) host type]\n"> <"\t\t[+mam_cc_L?"> 
                        <Lit_EscapedChar "\\b"> <-L> <Lit_EscapedChar "\\b"> <Lit_EscapedChar "\\a"> <dir> <Lit_EscapedChar "\\a"> <" supported]\n"> 
                        <"\t\t[+STDCAT?command to execute for "> <Lit_EscapedChar "\\b"> <cat> <Lit_EscapedChar "\\b"> <"(1); prefixed by\n"> <"\t\t\t"> 
                        <Lit_EscapedChar "\\b"> <execrate> <Lit_EscapedChar "\\b"> <"(1) on "> <Lit_EscapedChar "\\b"> <.exe> <Lit_EscapedChar "\\b"> 
                        <" challenged systems]\n"> <"\t\t[+STDCHMOD?command to execute for "> <Lit_EscapedChar "\\b"> <chmod> <Lit_EscapedChar "\\b"> 
                        <"(1); prefixed by\n"> <"\t\t\t"> <Lit_EscapedChar "\\b"> <execrate> <Lit_EscapedChar "\\b"> <"(1) on "> <Lit_EscapedChar "\\b"> 
                        <.exe> <Lit_EscapedChar "\\b"> <" challenged systems]\n"> <"\t\t[+STDCMP?command to execute for "> 
                        <Lit_EscapedChar "\\b"> <cmp> <Lit_EscapedChar "\\b"> <"(1); prefixed by\n"> <"\t\t\t"> <Lit_EscapedChar "\\b"> <execrate> 
                        <Lit_EscapedChar "\\b"> <"(1) on "> <Lit_EscapedChar "\\b"> <.exe> <Lit_EscapedChar "\\b"> <" challenged systems]\n"> 
                        <"\t\t[+STDCP?command to execute for "> <Lit_EscapedChar "\\b"> <cp> <Lit_EscapedChar "\\b"> <"(1); prefixed by\n"> <"\t\t\t"> 
                        <Lit_EscapedChar "\\b"> <execrate> <Lit_EscapedChar "\\b"> <"(1) on "> <Lit_EscapedChar "\\b"> <.exe> <Lit_EscapedChar "\\b"> 
                        <" challenged systems]\n"> <"\t\t[+STDED?command to execute for "> <Lit_EscapedChar "\\b"> <ed> <Lit_EscapedChar "\\b"> <"(1) or "> 
                        <Lit_EscapedChar "\\b"> <ex> <Lit_EscapedChar "\\b"> <"(1)]\n"> <"\t\t[+STDEDFLAGS?flags for "> <Lit_EscapedChar "\\b"> <STDED> 
                        <Lit_EscapedChar "\\b"> <"]\n"> <"\t\t[+STDLN?command to execute for "> <Lit_EscapedChar "\\b"> <ln> <Lit_EscapedChar "\\b"> 
                        <"(1); prefixed by\n"> <"\t\t\t"> <Lit_EscapedChar "\\b"> <execrate> <Lit_EscapedChar "\\b"> <"(1) on "> <Lit_EscapedChar "\\b"> 
                        <.exe> <Lit_EscapedChar "\\b"> <" challenged systems]\n"> <"\t\t[+STDMV?command to execute for "> 
                        <Lit_EscapedChar "\\b"> <mv> <Lit_EscapedChar "\\b"> <"(1); prefixed by\n"> <"\t\t\t"> <Lit_EscapedChar "\\b"> <execrate> 
                        <Lit_EscapedChar "\\b"> <"(1) on "> <Lit_EscapedChar "\\b"> <.exe> <Lit_EscapedChar "\\b"> <" challenged systems]\n"> 
                        <"\t\t[+STDRM?command to execute for "> <Lit_EscapedChar "\\b"> <rm> <Lit_EscapedChar "\\b"> <"(1); prefixed by\n"> <"\t\t\t"> 
                        <Lit_EscapedChar "\\b"> <execrate> <Lit_EscapedChar "\\b"> <"(1) on "> <Lit_EscapedChar "\\b"> <.exe> <Lit_EscapedChar "\\b"> 
                        <" challenged systems]\n"> <"}\n"> <"[d:debug?Enable probe script debug trace.]\n"> <"\n"> <"info-file cc-path\n"> <"\n"> 
                        <"[+SEE ALSO?"> <Lit_EscapedChar "\\b"> <execrate> <Lit_EscapedChar "\\b"> <"(1), "> <Lit_EscapedChar "\\b"> <package> 
                        <Lit_EscapedChar "\\b"> <"(1), "> <Lit_EscapedChar "\\b"> <mamake> <Lit_EscapedChar "\\b"> <"(1), "> <Lit_EscapedChar "\\b"> 
                        <nmake> <Lit_EscapedChar "\\b"> <"(1),\n"> <"\t"> <Lit_EscapedChar "\\b"> <probe> <Lit_EscapedChar "\\b"> 
                        <"(1)]\n">
                      )
                    }
                  spids: [151]
                )
              ]
              spids: [151]
            )
            (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: [{(d)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt)
                                  op: Equal
                                  rhs: {(-d)}
                                  spids: [446]
                                )
                              ]
                              spids: [446]
                            )
                          ]
                          spids: [443 444 449 -1]
                        )
                      ]
                      spids: [436 440 452]
                    )
                  ]
                  spids: [434 455]
                )
            )
            (C {(shift)} 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [(C {(expr)} {($ VSub_Name "$OPTIND")} {(-)} {(1)})]
                    )
                  left_token: <Left_Backtick "`">
                  spids: [460 468]
                )
              }
            )
          ]
          spids: [148 149 471 -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: [490 491 495 -1]
                        )
                      ]
                      spids: [483 487 498]
                    )
                    (Case
                      to_match: {($ VSub_Number "$1")}
                      arms: [
                        (case_arm
                          pat_list: [{(--)}]
                          action: [(C {(shift)}) (ControlFlow token:<ControlFlow_Break break>)]
                          spids: [508 509 517 -1]
                        )
                        (case_arm
                          pat_list: [{(-)}]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [520 521 526 -1]
                        )
                        (case_arm
                          pat_list: [{(-d)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt)
                                  op: Equal
                                  rhs: {(-d)}
                                  spids: [532]
                                )
                              ]
                              spids: [532]
                            )
                          ]
                          spids: [529 530 536 -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: [555]
                                )
                              ]
                            )
                          ]
                          spids: [539 541 559 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [562 563 568 -1]
                        )
                      ]
                      spids: [501 505 571]
                    )
                    (C {(set)} {(SQ )})
                    (ControlFlow token:<ControlFlow_Break break>)
                  ]
                  spids: [481 583]
                )
            )
          ]
          spids: [473 474 586 -1]
        )
      ]
      spids: [121 146 588]
    )
    (Case
      to_match: {($ VSub_Number "$1")}
      arms: [
        (case_arm pat_list:[{(-)}] spids:[601602604-1])
        (case_arm pat_list:[{(/) (Lit_Other "*")}] spids:[606608610-1])
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [(C {(set)} {(SQ )})]
          spids: [612 613 620 -1]
        )
      ]
      spids: [595 599 622]
    )
    (Case
      to_match: {($ VSub_Number "$2")}
      arms: [
        (case_arm pat_list:[{(/) (Lit_Other "*")}] spids:[630632634-1])
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [(C {(set)} {(SQ )})]
          spids: [636 637 644 -1]
        )
      ]
      spids: [624 628 646]
    )
    (Case
      to_match: {($ VSub_Pound "$#")}
      arms: [
        (case_arm
          pat_list: [{(0)} {(1)}]
          action: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(echo)} {(DQ ("Usage: ") ($ VSub_Name "$command") (" info-file cc-path"))}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[667])]
                )
              terminator: <Op_Semi ";">
            )
            (C {(exit)} {(2)})
          ]
          spids: [654 657 675 -1]
        )
      ]
      spids: [648 652 677]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:info) op:Equal rhs:{($ VSub_Number "$1")} spids:[679])]
      spids: [679]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:cc) op:Equal rhs:{($ VSub_Star "$*")} spids:[684])]
      spids: [684]
    )
    (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: [693 700]
              )
            }
          spids: [692]
        )
      ]
      spids: [692]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(Lit_Other ":")} spids:[702])]
      spids: [702]
    )
    (C {(set)} {($ VSub_Name "$PATH")})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{($ VSub_Name "$ifs")} spids:[709])]
      spids: [709]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:script)
          op: Equal
          rhs: {(lib/probe/C/make/probe)}
          spids: [712]
        )
      ]
      spids: [712]
    )
    (While
      cond: [(C {(Lit_Other ":")})]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {($ VSub_Pound "$#")}
              arms: [
                (case_arm
                  pat_list: [{(0)}]
                  action: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {
                          (DQ ($ VSub_Number "$0") (": ../") ($ VSub_Name "$script") 
                            (": probe script not found on PATH")
                          )
                        }
                      ]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[740])]
                    )
                    (C {(exit)} {(1)})
                  ]
                  spids: [728 729 749 -1]
                )
              ]
              spids: [721 725 752]
            )
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(SQ )}]
                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [-1 764 768 -1]
                )
              ]
              spids: [755 759 771]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:makeprobe)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Number "$1")})
                                  (C {(sed)} 
                                    {(SQ <"s,[^/]*$,">) ($ VSub_Name "$script") (Lit_Comma ",")}
                                  )
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [775 789]
                      )
                    }
                  spids: [774]
                )
              ]
              spids: [774]
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(-x)} {($ VSub_Name "$makeprobe")})]
                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                  spids: [-1 801]
                )
              ]
              spids: [-1 806]
            )
            (C {(shift)})
          ]
          spids: [719 811]
        )
    )
    (Case
      to_match: {($ VSub_Name "$info")}
      arms: [
        (case_arm
          pat_list: [{(/) (Lit_Other "*")}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:i)
                  op: Equal
                  rhs: {(X) ($ VSub_Name "$info")}
                  spids: [828]
                )
              ]
              spids: [828]
            )
            (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: [834 841]
                      )
                    }
                  spids: [833]
                )
              ]
              spids: [833]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(/)} spids:[844])]
              spids: [844]
            )
            (C {(set)} {($ VSub_Name "$i")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name "$ifs")}
                  spids: [853]
                )
              ]
              spids: [853]
            )
            (While
              cond: [(C {(Lit_Other ":")})]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:i)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [864]
                        )
                      ]
                      spids: [864]
                    )
                    (C {(shift)})
                    (Case
                      to_match: {($ VSub_Name "$i")}
                      arms: [
                        (case_arm
                          pat_list: [{(X)}]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [878 879 883 -1]
                        )
                      ]
                      spids: [871 875 886]
                    )
                  ]
                  spids: [862 889]
                )
            )
            (Case
              to_match: {($ VSub_Name "$info")}
              arms: [
                (case_arm
                  pat_list: [{(//) (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:path) op:Equal rhs:{(/)} spids:[903])]
                      spids: [903]
                    )
                  ]
                  spids: [899 901 906 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:path) op:Equal rhs:{(SQ )} spids:[912])]
                      spids: [912]
                    )
                  ]
                  spids: [909 910 914 -1]
                )
              ]
              spids: [892 896 917]
            )
            (While
              cond: [(C {(Lit_Other ":")})]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Pound "$#")}
                      arms: [
                        (case_arm
                          pat_list: [{(0)} {(1)}]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [934 937 941 -1]
                        )
                      ]
                      spids: [927 931 944]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:comp)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [947]
                        )
                      ]
                      spids: [947]
                    )
                    (C {(shift)})
                    (Case
                      to_match: {($ VSub_Name "$comp")}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ )}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [-1 963 967 -1]
                        )
                      ]
                      spids: [954 958 970]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:path)
                          op: Equal
                          rhs: {($ VSub_Name "$path") (/) ($ VSub_Name "$comp")}
                          spids: [973]
                        )
                      ]
                      spids: [973]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [(C {(test)} {(KW_Bang "!")} {(-d)} {($ VSub_Name "$path")})]
                          action: [
                            (AndOr
                              children: [(C {(mkdir)} {($ VSub_Name "$path")}) (C {(exit)})]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [-1 990]
                        )
                      ]
                      spids: [-1 1001]
                    )
                  ]
                  spids: [925 1004]
                )
            )
          ]
          spids: [824 826 1007 -1]
        )
      ]
      spids: [818 822 1009]
    )
    (Case
      to_match: {($ VSub_Name "$info")}
      arms: [
        (case_arm pat_list:[{(-)}] spids:[102210231025-1])
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tmp)
                  op: Equal
                  rhs: {(/tmp/mam) ($ VSub_Dollar "$$")}
                  spids: [1030]
                )
              ]
              spids: [1030]
            )
            (C {(trap)} {(DQ ("exec >/dev/null; rm -f ") ($ VSub_Name "$tmp"))} {(0)} {(1)} {(2)} {(3)} 
              {(15)}
            )
            (SimpleCommand
              words: [{(exec)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {($ VSub_Name "$tmp")}
                  spids: [1055]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {(DQ ("probing C language processor ") ($ VSub_Name "$cc") (" for mam information"))}
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1068])]
            )
          ]
          spids: [1027 1028 1072 -1]
        )
      ]
      spids: [1016 1020 1074]
    )
    (C {(echo)} {(DQ ("note generated by ") ($ VSub_Number "$0") (" for ") ($ VSub_Name "$cc"))})
    (Pipeline
      children: [
        (Subshell
          child: 
            (CommandList
              children: [
                (C {(set)} {(SQ )} {($ VSub_Name "$opt")} {($ VSub_Name "$cc")})
                (C {(shift)})
                (C {(.)} {($ VSub_Name "$makeprobe")} {(DQ ($ VSub_At "$@"))})
                (Case
                  to_match: {(DQ (" ") ($ VSub_Name "$CC_DIALECT") (" "))}
                  arms: [
                    (case_arm
                      pat_list: [{(Lit_Other "*") (DQ (" -L ")) (Lit_Other "*")}]
                      action: [(C {(echo)} {(DQ ("CC.L = 1"))})]
                      spids: [1124 1129 1137 -1]
                    )
                  ]
                  spids: [1113 1121 1140]
                )
              ]
            )
          spids: [1087 1143]
        )
        (C {(sed)} {(-e)} {(SQ <"/^CC\\./!d">)} {(-e)} {(SQ <"s/^CC./setv mam_cc_/">)} {(-e)} 
          {(SQ <"s/^\\([^=.]*\\)\\./\\1_/">)} {(-e)} {(SQ <"s/^\\([^=.]*\\)\\./\\1_/">)} {(-e)} {(SQ <"s/ =//">)} {(-e)} 
          {(SQ <"s/\\$(\"\\([^\"]*\\)\")/\\1/g">)} {(-e)} {(SQ <"s/\\$(\\([^)]*\\))/${\\1}/g">)} {(-e)} {(SQ <"s/\\${CC\\./${mam_cc_}/g">)}
        )
      ]
      negated: False
    )
    (C {(echo)} {(SQ <"setv _hosttype_ ${mam_cc_HOSTTYPE}">)})
    (If
      arms: [
        (if_arm
          cond: [
            (Subshell
              child: 
                (SimpleCommand
                  words: [{(ed)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: -1
                      body: {(DQ ("q\n"))}
                      do_expansion: True
                      here_end: "!"
                      was_filled: True
                      spids: [1231]
                    )
                  ]
                )
              redirects: [
                (Redir op_id:Redir_Less fd:-1 arg_word:{(/dev/null)} spids:[1237])
                (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[1241])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1245])
              ]
              spids: [1227 1235]
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:STDED) op:Equal rhs:{(ed)} spids:[1250])]
              spids: [1250]
            )
          ]
          spids: [-1 1248]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:STDED) op:Equal rhs:{(ex)} spids:[1255])]
          spids: [1255]
        )
      ]
      spids: [1253 1258]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:STDEDFLAGS) op:Equal rhs:{(-)} spids:[1260])]
      spids: [1260]
    )
    (C {(set)} {(STDCAT)} {(cat)} {(STDCHMOD)} {(chmod)} {(STDCMP)} {(cmp)} {(STDCP)} {(cp)} {(STDLN)} {(ln)} 
      {(STDMV)} {(mv)} {(STDRM)} {(rm)}
    )
    (While
      cond: [(C {(Lit_Other ":")})]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {($ VSub_Pound "$#")}
              arms: [
                (case_arm
                  pat_list: [{(0)} {(1)}]
                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                  spids: [1306 1309 1313 -1]
                )
              ]
              spids: [1299 1303 1316]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:p)
                  op: Equal
                  rhs: {($ VSub_Number "$2")}
                  spids: [1319]
                )
              ]
              spids: [1319]
            )
            (ForEach
              iter_name: d
              iter_words: [{(/bin)} {(/usr/bin)} {(/usr/sbin)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [(C {(test)} {(-x)} {($ VSub_Name "$d") (/) ($ VSub_Name "$p")})]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:p)
                                  op: Equal
                                  rhs: {($ VSub_Name "$d") (/) ($ VSub_Name "$p")}
                                  spids: [1351]
                                )
                              ]
                              spids: [1351]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [-1 1349]
                        )
                      ]
                      spids: [-1 1360]
                    )
                  ]
                  spids: [1336 1363]
                )
              spids: [1328 -1]
            )
            (C {(eval)} 
              {($ VSub_Number "$1") (Lit_Other "=") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                (p)
              }
            )
            (C {(shift)})
            (C {(shift)})
          ]
          spids: [1297 1379]
        )
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(execrate)})]
          action: [
            (ForEach
              iter_name: n
              iter_words: [{(STDCAT)} {(STDCHMOD)} {(STDCMP)} {(STDCP)} {(STDLN)} {(STDMV)} {(STDRM)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(eval)} 
                      {($ VSub_Name "$n") (Lit_Other "=") 
                        (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (execrate)
                      } 
                      {(EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ($ VSub_Name "$n") 
                        (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                      }
                    )
                  ]
                  spids: [1408 1422]
                )
              spids: [1392 -1]
            )
          ]
          spids: [-1 1385]
        )
      ]
      spids: [-1 1424]
    )
    (ForEach
      iter_name: n
      iter_words: [
        {(STDCAT)}
        {(STDCHMOD)}
        {(STDCMP)}
        {(STDCP)}
        {(STDED)}
        {(STDEDFLAGS)}
        {(STDLN)}
        {(STDMV)}
        {(STDRM)}
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(eval)} {(echo)} {(setv)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (n)} 
              {(EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ($ VSub_Name "$n")}
            )
          ]
          spids: [1450 1464]
        )
      spids: [1431 -1]
    )
    (Case
      to_match: {($ VSub_Name "$info")}
      arms: [
        (case_arm pat_list:[{(-)}] spids:[147714781480-1])
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (SimpleCommand
              words: [{(exec)}]
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[1487])]
            )
            (AndOr
              children: [
                (C {(test)} {(-f)} {($ VSub_Name "$info")})
                (C {(rm)} {(-f)} {($ VSub_Name "$info")})
              ]
              op_id: Op_DAmp
            )
            (C {(cp)} {($ VSub_Name "$tmp")} {($ VSub_Name "$info")})
            (C {(chmod)} {(-w)} {($ VSub_Name "$info")})
          ]
          spids: [1482 1483 1520 -1]
        )
      ]
      spids: [1471 1475 1522]
    )
  ]
)