(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:nm) op:Equal rhs:{(DQ ($ VSub_Number "$1"))} spids:[3])]
      spids: [3]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:file)
          op: Equal
          rhs: {(DQ ($ VSub_Number "$2"))}
          spids: [8]
        )
      ]
      spids: [8]
    )
    (Pipeline
      children: [
        (C {($ VSub_Name "$nm")} {(DQ ($ VSub_Name "$file"))})
        (SimpleCommand
          words: [{(grep)} {(SQ <"^ *U">)}]
          redirects: [
            (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[27])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[31])
          ]
        )
      ]
      negated: False
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other "[")} {($ VSub_QMark "$?")} {(-eq)} {(1)} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(exit)} {(0)})]
          spids: [-1 47]
        )
      ]
      else_action: [
        (SimpleCommand
          words: [{(echo)} {(DQ ($ VSub_Name "$file") (": undefined symbols found"))}]
          redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[64])]
        )
        (C {(exit)} {(1)})
      ]
      spids: [54 72]
    )
  ]
)