(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:CONFIG spids:[12])
          op: Equal
          rhs: {(Release)}
          spids: [12]
        )
      ]
      spids: [12]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:SRC spids:[15])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: (command.CommandList children:[(C {(dirname)} {($ VSub_Number '$0')})])
                left_token: <Left_CommandSub '$('>
                spids: [16 20]
              ) (/src)
            }
          spids: [15]
        )
      ]
      spids: [15]
    )
    (C {(set)} {(-ex)})
    (C {(echo)} {(Building)} {(relevant)} {(projects.)})
    (C {(dotnet)} {(build)} {(-c)} {($ VSub_Name '$CONFIG')} {($ VSub_Name '$SRC') (/Google.Protobuf)} 
      {($ VSub_Name '$SRC') (/Google.Protobuf.Test)} {($ VSub_Name '$SRC') (/Google.Protobuf.Conformance)}
    )
    (C {(echo)} {(Running)} {(tests.)})
    (C {(dotnet)} {(test)} {(-c)} {($ VSub_Name '$CONFIG')} {(-f)} {(netcoreapp1.0)} 
      {($ VSub_Name '$SRC') (/Google.Protobuf.Test)}
    )
  ]
)