(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} {(DQ (-topdir))})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:TOPDIR)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$2"))}
                  spids: [77]
                )
              ]
              spids: [77]
            )
            (Sentence child:(C {(shift)}) terminator:<Op_Semi ";">)
            (Sentence child:(C {(shift)}) terminator:<Op_Semi ";">)
          ]
          spids: [-1 74]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:TOPDIR)
              op: Equal
              rhs: 
                {
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(llvm-config)} {(--src-root)})])
                    left_token: <Left_Backtick "`">
                    spids: [93 97]
                  )
                }
              spids: [92]
            )
          ]
          spids: [92]
        )
      ]
      spids: [89 99]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-d)} {(DQ ($ VSub_Name "$TOPDIR"))})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(cd)} {($ VSub_Name "$TOPDIR")})
            (C {(./utils/llvmdo)} {(-topdir)} {(DQ ($ VSub_Name "$TOPDIR"))} {(-dirs)} 
              {(DQ ("include lib tools utils examples projects"))} {(echo)}
            )
          ]
          spids: [-1 114]
        )
      ]
      else_action: [(C {(echo)} {(DQ ("Can't find LLVM top directory"))})]
      spids: [140 149]
    )
  ]
)