(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<lld>}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<4.0.0>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_vermajor)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: <Id.VSub_Name pkgver>
                suffix_op: 
                  (suffix_op.Unary
                    tok: <Id.VOp1_DPercent '%%'>
                    arg_word: {<.> <Id.Lit_Other '*'>}
                  )
              )
            }
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ <'The LLVM Linker'>)}
          spids: [23]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'http://llvm.org'>)}
          spids: [28]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <all>)}
          spids: [33]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <UOI-NCSA>)}
          spids: [38]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'\n'> <'\tcmake\n'> <'\tllvm-dev>='> ($ Id.VSub_DollarName '$_vermajor') <'\n'> 
                <'\tllvm-static>='> ($ Id.VSub_DollarName '$_vermajor') <'\n'> <'\tzlib-dev'>
              )
            }
          spids: [43]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$pkgname') <-dev>)}
          spids: [56]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'http://llvm.org/releases/'> ($ Id.VSub_DollarName '$pkgver') <'/'> 
                ($ Id.VSub_DollarName '$pkgname') <-> ($ Id.VSub_DollarName '$pkgver') <'.src.tar.xz\n'> 
                <'\tcmake-fix-pthread-handling-for-out-of-tree-builds.patch'>
              )
            }
          spids: [62]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:builddir)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$pkgname') <-> 
                ($ Id.VSub_DollarName '$pkgver') <.src>
              )
            }
          spids: [74]
        )
      ]
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$builddir')) <'/build'>})
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir')) <'/build'>})
            (C {<cmake>} {<..>} {<-DCMAKE_BUILD_TYPE> <Id.Lit_Equals '='> <Release>} 
              {<-DCMAKE_VERBOSE_MAKEFILE> <Id.Lit_Equals '='> <OFF>} {<-DCMAKE_INSTALL_PREFIX> <Id.Lit_Equals '='> <'/usr'>} 
              {<-DCMAKE_CXX_FLAGS> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName '$CXXFLAGS'))} {<-DCMAKE_C_FLAGS> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName '$CFLAGS'))} 
              {<-DCMAKE_SKIP_INSTALL_RPATH> <Id.Lit_Equals '='> <ON>} {<-DLLVM_LINK_LLVM_DYLIB> <Id.Lit_Equals '='> <ON>}
            )
            (C {<make>})
          ]
        )
    )
    (command.ShFunction
      name: check
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<'./build/bin/ld.lld'>} {<--version>})
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir')) <'/build'>})
            (C {<make>} {<install>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))})
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'66b2c9cc57f5e94ad7e7da1b1bcc08cbbaee1b55c6efa64b2424b9d8776c70b842c2a31c188a99b447be6a8621ad1b1e70573bbfcf5d6b1aa986b03b3b3350f3  lld-4.0.0.src.tar.xz\n'
                > 
                <
'2aa44973dd86aaddbd5b21789bb5e2a611d00558c41ebd078c2b7d1a3eb5c303db69084f50517b14e77674c46148ecae6bde1b037d8ba5269a342fba84116a9b  cmake-fix-pthread-handling-for-out-of-tree-builds.patch'
                >
              )
            }
          spids: [217]
        )
      ]
    )
  ]
)