(command.CommandList
  children: [
    (command.FuncDef
      name: on_travis
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TRAVIS'))} 
                          {(Lit_Other '=') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(DQ ($ VSub_At '$@'))})]
                  spids: [16777215 41]
                )
              ]
              spids: [16777215 49]
            )
          ]
          spids: [20]
        )
      spids: [16 19]
    )
    (command.FuncDef
      name: internal_build_cpp
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: (C {(Lit_Other '[')} {(-f)} {(src/protoc)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(command.ControlFlow token:<ControlFlow_Return return>)]
                  spids: [16777215 78]
                )
              ]
              spids: [16777215 88]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.LogicalAnd
                              left: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (word_part.CommandSubPart
                                        command_list: 
                                          (command.CommandList
                                            children: [(C {(uname)} {(-s)})]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [96 100]
                                      )
                                    }
                                  right: {(DQ (Linux))}
                                )
                              right: 
                                (bool_expr.BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_DollarName '$TRAVIS'))}
                                  right: {(DQ (true))}
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sudo)} {(add-apt-repository)} {(ppa) (Lit_Other ':') (ubuntu-toolchain-r/test)} 
                      {(-y)}
                    )
                    (C {(sudo)} {(apt-get)} {(update)} {(-qq)})
                    (C {(sudo)} {(apt-get)} {(install)} {(-qq)} 
                      {(g) (Lit_Other '+') (Lit_Other '+') (-4.8)}
                    )
                    (C {(export)} {(Lit_VarLike 'CXX=') (DQ ('g++-4.8'))} 
                      {(Lit_VarLike 'CC=') (DQ (gcc-4.8))}
                    )
                  ]
                  spids: [16777215 123]
                )
              ]
              spids: [16777215 181]
            )
            (C {(./autogen.sh)})
            (C {(./configure)} {(Lit_VarLike 'CXXFLAGS=') (DQ (-fPIC))})
            (C {(make)} {(-j2)})
          ]
          spids: [64]
        )
      spids: [60 63]
    )
    (command.FuncDef
      name: build_cpp
      body: 
        (command.BraceGroup
          children: [
            (C {(internal_build_cpp)})
            (C {(make)} {(check)} {(-j2)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [(C {(cd)} {(conformance)}) (C {(make)} {(test_cpp)}) (C {(cd)} {(..)})]
            )
            (C {(git)} {(submodule)} {(init)})
            (C {(git)} {(submodule)} {(update)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp Op_DAmp]
              children: [
                (C {(cd)} {(third_party/benchmark)})
                (C {(cmake)} {(-DCMAKE_BUILD_TYPE) (Lit_Other '=') (Release)})
                (C {(make)})
                (C {(cd)} {(../..)})
              ]
            )
            (command.AndOr
              ops: [Op_DAmp Op_DAmp Op_DAmp]
              children: [
                (C {(cd)} {(benchmarks)})
                (C {(make)})
                (C {(./generate-datasets)})
                (C {(cd)} {(..)})
              ]
            )
          ]
          spids: [214]
        )
      spids: [210 213]
    )
    (command.FuncDef
      name: build_cpp_distcheck
      body: 
        (command.BraceGroup
          children: [
            (C {(./autogen.sh)})
            (C {(./configure)})
            (C {(make)} {(dist)})
            (command.Pipeline
              children: [
                (C {(git)} {(ls-files)})
                (C {(grep)} 
                  {
                    (DQ ('^') (Lit_Other '\\') ('(java') (Lit_Other '\\') ('|python') (Lit_Other '\\') 
                      ('|objectivec') (Lit_Other '\\') ('|csharp') (Lit_Other '\\') ('|js') (Lit_Other '\\') ('|ruby') (Lit_Other '\\') ('|cmake') 
                      (Lit_Other '\\') ('|examples') (Lit_Other '\\') (')')
                    )
                  }
                )
                (C {(grep)} {(-v)} {(DQ (.gitignore))})
                (command.SimpleCommand
                  words: [{(grep)} {(-v)} {(DQ (java/compatibility_tests))}]
                  redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(dist.lst)})]
                )
              ]
              negated: F
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:DIST spids:[390])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: 
                          (command.CommandList
                            children: [(C {(ls)} {(Lit_Other '*') (.tar.gz)})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [391 396]
                      )
                    }
                  spids: [390]
                )
              ]
              spids: [390]
            )
            (C {(tar)} {(-xf)} {($ VSub_DollarName '$DIST')})
            (C {(cd)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name DIST>
                  suffix_op: (suffix_op.PatSub pat:{(.tar.gz)} replace_mode:Lit_Slash spids:[410])
                  spids: [408 413]
                )
              }
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:FILES_MISSING spids:[420])
                  op: Equal
                  rhs: {(DQ )}
                  spids: [420]
                )
              ]
              spids: [420]
            )
            (command.ForEach
              iter_name: FILE
              iter_words: [
                {
                  (word_part.CommandSubPart
                    command_list: 
                      (command.CommandList
                        children: [
                          (command.SimpleCommand
                            redirects: [
                              (redir.Redir
                                op: <Redir_Less '<'>
                                fd: 16777215
                                arg_word: {(../dist.lst)}
                              )
                            ]
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [431 434]
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  children: [
                                    (command.SimpleCommand
                                      words: [{(file)} {($ VSub_DollarName '$FILE')}]
                                      redirects: [
                                        (redir.Redir
                                          op: <Redir_AndGreat '&>'>
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: T
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(echo)} {(DQ ($ VSub_DollarName '$FILE') (' is not found!'))})
                            (command.Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (lhs_expr.LhsName name:FILES_MISSING spids:[463])
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_DollarName '$FILE') (' ') 
                                        ($ VSub_DollarName '$FILES_MISSING')
                                      )
                                    }
                                  spids: [463]
                                )
                              ]
                              spids: [463]
                            )
                          ]
                          spids: [16777215 452]
                        )
                      ]
                      spids: [16777215 471]
                    )
                  ]
                  spids: [437 474]
                )
              spids: [430 435]
            )
            (C {(cd)} {(..)})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} 
                          {(DQ ($ VSub_DollarName '$FILES_MISSING'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {(DQ ('Missing files in EXTRA_DIST: ') ($ VSub_DollarName '$FILES_MISSING'))}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {(1)}
                    )
                  ]
                  spids: [16777215 497]
                )
              ]
              spids: [16777215 513]
            )
            (C {(make)} {(distcheck)} {(-j2)})
          ]
          spids: [311]
        )
      spids: [307 310]
    )
    (command.FuncDef
      name: build_csharp
      body: 
        (command.BraceGroup
          children: [
            (C {(internal_build_cpp)})
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:NUGET spids:[552])
                  op: Equal
                  rhs: {(/usr/local/bin/nuget.exe)}
                  spids: [552]
                )
              ]
              spids: [552]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TRAVIS'))} 
                          {(Lit_Other '=') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sudo)} {(apt-key)} {(adv)} {(--keyserver)} {(keyserver.ubuntu.com)} 
                      {(--recv-keys)} {(3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF)}
                    )
                    (C {(sudo)} {(apt-key)} {(adv)} {(--keyserver)} {(keyserver.ubuntu.com)} 
                      {(--recv-keys)} {(1397BC53640DB551)}
                    )
                    (command.Pipeline
                      children: [
                        (C {(echo)} 
                          {(DQ ('deb http://download.mono-project.com/repo/debian wheezy main'))}
                        )
                        (C {(sudo)} {(tee)} {(/etc/apt/sources.list.d/mono-xamarin.list)})
                      ]
                      negated: F
                    )
                    (C {(sudo)} {(apt-get)} {(update)} {(-qq)})
                    (C {(sudo)} {(apt-get)} {(install)} {(-qq)} {(mono-devel)} {(referenceassemblies-pcl)} 
                      {(nunit)}
                    )
                    (C {(sudo)} {(sh)} {(-c)} 
                      {
                        (SQ 
                          <
'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
                          >
                        )
                      }
                    )
                    (C {(sudo)} {(apt-key)} {(adv)} {(--keyserver)} {(apt-mo.trafficmanager.net)} 
                      {(--recv-keys)} {(417A0893)}
                    )
                    (C {(sudo)} {(apt-get)} {(update)} {(-qq)})
                    (C {(sudo)} {(apt-get)} {(install)} {(-qq)} {(dotnet-dev-1.0.0-preview2-003121)})
                  ]
                  spids: [16777215 575]
                )
              ]
              spids: [16777215 703]
            )
            (C {(mkdir)} {(dotnettmp)})
            (command.Subshell
              child: 
                (command.CommandList
                  children: [
                    (command.Sentence
                      child: (C {(cd)} {(dotnettmp)})
                      terminator: <Op_Semi ';'>
                    )
                    (command.SimpleCommand
                      words: [{(dotnet)} {(new)}]
                      redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})]
                    )
                  ]
                )
              spids: [728 741]
            )
            (C {(rm)} {(-rf)} {(dotnettmp)})
            (command.Subshell
              child: 
                (command.CommandList
                  children: [
                    (command.Sentence
                      child: (C {(cd)} {(csharp/src)})
                      terminator: <Op_Semi ';'>
                    )
                    (C {(dotnet)} {(restore)})
                  ]
                )
              spids: [752 761]
            )
            (C {(csharp/buildall.sh)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [(C {(cd)} {(conformance)}) (C {(make)} {(test_csharp)}) (C {(cd)} {(..)})]
            )
          ]
          spids: [534]
        )
      spids: [530 533]
    )
    (command.FuncDef
      name: build_golang
      body: 
        (command.BraceGroup
          children: [
            (C {(internal_build_cpp)})
            (C {(export)} 
              {(Lit_VarLike 'PATH=') 
                (DQ 
                  (word_part.CommandSubPart
                    command_list: (command.CommandList children:[(C {(pwd)})])
                    left_token: <Left_Backtick '`'>
                    spids: [808 810]
                  ) ('/src:') ($ VSub_DollarName '$PATH')
                )
              }
            )
            (C {(on_travis)} {(sudo)} {(apt-get)} {(update)} {(-qq)})
            (C {(on_travis)} {(sudo)} {(apt-get)} {(install)} {(-qq)} {(golang)})
            (C {(export)} {(Lit_VarLike 'GOPATH=') (DQ ($ VSub_DollarName '$HOME') (/gocode))})
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$GOPATH') (/src/github.com/google))})
            (C {(rm)} {(-f)} {(DQ ($ VSub_DollarName '$GOPATH') (/src/github.com/google/protobuf))})
            (C {(ln)} {(-s)} 
              {
                (DQ 
                  (word_part.CommandSubPart
                    command_list: (command.CommandList children:[(C {(pwd)})])
                    left_token: <Left_Backtick '`'>
                    spids: [880 882]
                  )
                )
              } {(DQ ($ VSub_DollarName '$GOPATH') (/src/github.com/google/protobuf))}
            )
            (C {(export)} 
              {(Lit_VarLike 'PATH=') 
                (DQ ($ VSub_DollarName '$GOPATH') ('/bin:') ($ VSub_DollarName '$PATH'))
              }
            )
            (C {(go)} {(get)} {(github.com/golang/protobuf/protoc-gen-go)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [(C {(cd)} {(examples)}) (C {(make)} {(gotest)}) (C {(cd)} {(..)})]
            )
          ]
          spids: [790]
        )
      spids: [786 789]
    )
    (command.FuncDef
      name: use_java
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:version spids:[935])
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [935]
                )
              ]
              spids: [935]
            )
            (command.Case
              to_match: {(DQ ($ VSub_DollarName '$version'))}
              arms: [
                (case_arm
                  pat_list: [{(jdk7)}]
                  action: [
                    (C {(on_travis)} {(sudo)} {(apt-get)} {(install)} {(openjdk-7-jdk)})
                    (C {(export)} 
                      {(Lit_VarLike 'PATH=') (/usr/lib/jvm/java-7-openjdk-amd64/bin) (Lit_Other ':') 
                        ($ VSub_DollarName '$PATH')
                      }
                    )
                    (C {(export)} {(Lit_VarLike 'JAVA_HOME=') (/usr/lib/jvm/java-7-openjdk-amd64)})
                  ]
                  spids: [948 949 977 16777215]
                )
                (case_arm
                  pat_list: [{(oracle7)}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TRAVIS'))} 
                                      {(Lit_Other '=') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(sudo)} {(apt-get)} {(install)} {(python-software-properties)})
                                (command.Pipeline
                                  children: [
                                    (C {(echo)} 
                                      {
                                        (DQ 
                                          (
'oracle-java7-installer shared/accepted-oracle-license-v1-1 select true'
                                          )
                                        )
                                      }
                                    )
                                    (C {(sudo)} {(debconf-set-selections)})
                                  ]
                                  negated: F
                                )
                                (command.Pipeline
                                  children: [
                                    (C {(yes)})
                                    (C {(sudo)} {(apt-add-repository)} 
                                      {(ppa) (Lit_Other ':') (webupd8team/java)}
                                    )
                                  ]
                                  negated: F
                                )
                                (command.Pipeline
                                  children: [
                                    (C {(yes)})
                                    (C {(sudo)} {(apt-get)} {(install)} {(oracle-java7-installer)})
                                  ]
                                  negated: F
                                )
                              ]
                              spids: [16777215 1002]
                            )
                          ]
                          spids: [16777215 1058]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(export)} 
                      {(Lit_VarLike 'PATH=') (/usr/lib/jvm/java-7-oracle/bin) (Lit_Other ':') 
                        ($ VSub_DollarName '$PATH')
                      }
                    )
                    (C {(export)} {(Lit_VarLike 'JAVA_HOME=') (/usr/lib/jvm/java-7-openjdk-amd64)})
                  ]
                  spids: [980 981 1076 16777215]
                )
              ]
              spids: [939 945 1079]
            )
            (command.Sentence
              child: 
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TRAVIS'))} 
                              {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:MAVEN_LOCAL_REPOSITORY spids:[1104])
                              op: Equal
                              rhs: {(/var/maven_local_repository)}
                              spids: [1104]
                            )
                          ]
                          spids: [1104]
                        )
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:MVN spids:[1108])
                              op: Equal
                              rhs: 
                                {
                                  (DQ ($ VSub_DollarName '$MVN') 
                                    (' -e -X --offline -Dmaven.repo.local=') ($ VSub_DollarName '$MAVEN_LOCAL_REPOSITORY')
                                  )
                                }
                              spids: [1108]
                            )
                          ]
                          spids: [1108]
                        )
                      ]
                      spids: [16777215 1101]
                    )
                  ]
                  spids: [16777215 1116]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(which)} {(java)})
            (C {(java)} {(-version)})
            (C {($ VSub_DollarName '$MVN')} {(-version)})
          ]
          spids: [932]
        )
      spids: [928 931]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:MVN spids:[1141])
          op: Equal
          rhs: {(DQ ('mvn --batch-mode'))}
          spids: [1141]
        )
      ]
      spids: [1141]
    )
    (command.FuncDef
      name: build_java
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:version spids:[1154])
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [1154]
                )
              ]
              spids: [1154]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:dir spids:[1158])
                  op: Equal
                  rhs: {(java_) ($ VSub_DollarName '$version')}
                  spids: [1158]
                )
              ]
              spids: [1158]
            )
            (C {(internal_build_cpp)})
            (C {(cp)} {(-r)} {(java)} {($ VSub_DollarName '$dir')})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [
                (C {(cd)} {($ VSub_DollarName '$dir')})
                (C {($ VSub_DollarName '$MVN')} {(clean)})
                (C {($ VSub_DollarName '$MVN')} {(test)})
              ]
            )
            (C {(cd)} {(../..)})
          ]
          spids: [1151]
        )
      spids: [1147 1150]
    )
    (command.FuncDef
      name: build_java_with_conformance_tests
      body: 
        (command.BraceGroup
          children: [
            (C {(internal_build_cpp)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [
                (C {(cd)} {(java)})
                (C {($ VSub_DollarName '$MVN')} {(test)})
                (C {($ VSub_DollarName '$MVN')} {(install)})
              ]
            )
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(cd)} {(util)})
                (C {($ VSub_DollarName '$MVN')} {(package)} {(assembly) (Lit_Other ':') (single)})
              ]
            )
            (C {(cd)} {(../..)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [(C {(cd)} {(conformance)}) (C {(make)} {(test_java)}) (C {(cd)} {(..)})]
            )
          ]
          spids: [1213]
        )
      spids: [1209 1212]
    )
    (command.FuncDef
      name: build_javanano
      body: 
        (command.BraceGroup
          children: [
            (C {(internal_build_cpp)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [
                (C {(cd)} {(javanano)})
                (C {($ VSub_DollarName '$MVN')} {(test)})
                (C {(cd)} {(..)})
              ]
            )
          ]
          spids: [1283]
        )
      spids: [1279 1282]
    )
    (command.FuncDef
      name: build_java_jdk7
      body: 
        (command.BraceGroup
          children: [(C {(use_java)} {(jdk7)}) (C {(build_java_with_conformance_tests)})]
          spids: [1316]
        )
      spids: [1312 1315]
    )
    (command.FuncDef
      name: build_java_oracle7
      body: 
        (command.BraceGroup
          children: [(C {(use_java)} {(oracle7)}) (C {(build_java)} {(oracle7)})]
          spids: [1332]
        )
      spids: [1328 1331]
    )
    (command.FuncDef
      name: build_java_compatibility
      body: 
        (command.BraceGroup
          children: [
            (C {(use_java)} {(jdk7)})
            (C {(internal_build_cpp)})
            (C {(cd)} {(java/compatibility_tests/v2.5.0)})
            (C {(./test.sh)} {(3.0.0-beta-4)})
          ]
          spids: [1350]
        )
      spids: [1346 1349]
    )
    (command.FuncDef
      name: build_javanano_jdk7
      body: 
        (command.BraceGroup
          children: [(C {(use_java)} {(jdk7)}) (C {(build_javanano)})]
          spids: [1385]
        )
      spids: [1381 1384]
    )
    (command.FuncDef
      name: build_javanano_oracle7
      body: 
        (command.BraceGroup
          children: [(C {(use_java)} {(oracle7)}) (C {(build_javanano)})]
          spids: [1401]
        )
      spids: [1397 1400]
    )
    (command.FuncDef
      name: internal_install_python_deps
      body: 
        (command.BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TRAVIS'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Sentence
                      child: (command.ControlFlow token:<ControlFlow_Return return>)
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 1439]
                )
              ]
              spids: [16777215 1446]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (word_part.CommandSubPart
                              command_list: (command.CommandList children:[(C {(uname)} {(-s)})])
                              left_token: <Left_CommandSub '$('>
                              spids: [1457 1461]
                            )
                          } {(Lit_Other '=') (Lit_Other '=')} {(DQ (Darwin))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(sudo)} {(easy_install)} {(tox)})]
                  spids: [16777215 1473]
                )
              ]
              else_action: [(C {(sudo)} {(pip)} {(install)} {(tox)})]
              spids: [1483 1495]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (word_part.CommandSubPart
                              command_list: (command.CommandList children:[(C {(uname)} {(-s)})])
                              left_token: <Left_CommandSub '$('>
                              spids: [1506 1510]
                            )
                          } {(Lit_Other '=') (Lit_Other '=')} {(DQ (Linux))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(sudo)} {(apt-get)} {(install)} {(-y)} {(python-software-properties)})
                    (C {(sudo)} {(apt-add-repository)} {(-y)} {(ppa) (Lit_Other ':') (fkrull/deadsnakes)})
                    (C {(sudo)} {(apt-get)} {(update)} {(-qq)})
                    (C {(sudo)} {(apt-get)} {(install)} {(-y)} {(python2.6)} {(python2.6-dev)})
                    (C {(sudo)} {(apt-get)} {(install)} {(-y)} {(python3.3)} {(python3.3-dev)})
                    (C {(sudo)} {(apt-get)} {(install)} {(-y)} {(python3.4)} {(python3.4-dev)})
                  ]
                  spids: [16777215 1522]
                )
              ]
              spids: [16777215 1598]
            )
          ]
          spids: [1418]
        )
      spids: [1414 1417]
    )
    (command.FuncDef
      name: build_objectivec_ios
      body: 
        (command.BraceGroup
          children: [
            (C {(objectivec/DevTools/full_mac_build.sh)} {(--core-only)} {(--skip-xcode-osx)} 
              {(--skip-objc-conformance)} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1607]
        )
      spids: [1603 1606]
    )
    (command.FuncDef
      name: build_objectivec_ios_debug
      body: 
        (command.BraceGroup
          children: [(C {(build_objectivec_ios)} {(--skip-xcode-release)})]
          spids: [1655]
        )
      spids: [1651 1654]
    )
    (command.FuncDef
      name: build_objectivec_ios_release
      body: 
        (command.BraceGroup
          children: [(C {(build_objectivec_ios)} {(--skip-xcode-debug)})]
          spids: [1669]
        )
      spids: [1665 1668]
    )
    (command.FuncDef
      name: build_objectivec_osx
      body: 
        (command.BraceGroup
          children: [(C {(objectivec/DevTools/full_mac_build.sh)} {(--core-only)} {(--skip-xcode-ios)})]
          spids: [1683]
        )
      spids: [1679 1682]
    )
    (command.FuncDef
      name: build_objectivec_cocoapods_integration
      body: 
        (command.BraceGroup
          children: [
            (C {(source)} {(word_part.TildeSubPart token:<Lit_TildeLike '~'>) (/.rvm/scripts/rvm)})
            (C {(rvm)} {(get)} {(head)})
            (C {(rvm)} {(use)} {(2.2.3)} {(--install)} {(--binary)} {(--fuzzy)})
            (C {(gem)} {(install)} {(cocoapods)} {(--no-ri)} {(--no-rdoc)})
            (C {(objectivec/Tests/CocoaPods/run_tests.sh)})
          ]
          spids: [1709]
        )
      spids: [1705 1708]
    )
    (command.FuncDef
      name: build_python
      body: 
        (command.BraceGroup
          children: [
            (C {(internal_build_cpp)})
            (C {(internal_install_python_deps)})
            (C {(cd)} {(python)})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (word_part.CommandSubPart
                              command_list: (command.CommandList children:[(C {(uname)} {(-s)})])
                              left_token: <Left_CommandSub '$('>
                              spids: [1808 1812]
                            )
                          } {(Lit_Other '=') (Lit_Other '=')} {(DQ (Linux))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:envlist spids:[1827])
                          op: Equal
                          rhs: 
                            {(py) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\{'>) (26) 
                              (Lit_Comma ',') (27) (Lit_Comma ',') (33) (Lit_Comma ',') (34) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\}'>) 
                              (-python)
                            }
                          spids: [1827]
                        )
                      ]
                      spids: [1827]
                    )
                  ]
                  spids: [16777215 1824]
                )
              ]
              else_action: [
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:envlist spids:[1844])
                      op: Equal
                      rhs: {(py27-python)}
                      spids: [1844]
                    )
                  ]
                  spids: [1844]
                )
              ]
              spids: [1841 1848]
            )
            (C {(tox)} {(-e)} {($ VSub_DollarName '$envlist')})
            (C {(cd)} {(..)})
          ]
          spids: [1786]
        )
      spids: [1782 1785]
    )
    (command.FuncDef
      name: build_python_cpp
      body: 
        (command.BraceGroup
          children: [
            (C {(internal_build_cpp)})
            (C {(internal_install_python_deps)})
            (C {(export)} {(Lit_VarLike 'LD_LIBRARY_PATH=') (../src/.libs)})
            (C {(export)} {(Lit_VarLike 'DYLD_LIBRARY_PATH=') (../src/.libs)})
            (C {(cd)} {(python)})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (word_part.CommandSubPart
                              command_list: (command.CommandList children:[(C {(uname)} {(-s)})])
                              left_token: <Left_CommandSub '$('>
                              spids: [1909 1913]
                            )
                          } {(Lit_Other '=') (Lit_Other '=')} {(DQ (Linux))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:envlist spids:[1932])
                          op: Equal
                          rhs: 
                            {(py) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\{'>) (27) 
                              (Lit_Comma ',') (33) (Lit_Comma ',') (34) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\}'>) (-cpp)
                            }
                          spids: [1932]
                        )
                      ]
                      spids: [1932]
                    )
                  ]
                  spids: [16777215 1925]
                )
              ]
              else_action: [
                (command.Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (lhs_expr.LhsName name:envlist spids:[1947])
                      op: Equal
                      rhs: {(py27-cpp)}
                      spids: [1947]
                    )
                  ]
                  spids: [1947]
                )
              ]
              spids: [1944 1951]
            )
            (C {(tox)} {(-e)} {($ VSub_DollarName '$envlist')})
            (C {(cd)} {(..)})
          ]
          spids: [1869]
        )
      spids: [1865 1868]
    )
    (command.FuncDef
      name: build_ruby21
      body: 
        (command.BraceGroup
          children: [
            (C {(internal_build_cpp)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [
                (C {(cd)} {(ruby)})
                (C {(bash)} {(travis-test.sh)} {(ruby-2.1)})
                (C {(cd)} {(..)})
              ]
            )
          ]
          spids: [1972]
        )
      spids: [1968 1971]
    )
    (command.FuncDef
      name: build_ruby22
      body: 
        (command.BraceGroup
          children: [
            (C {(internal_build_cpp)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [
                (C {(cd)} {(ruby)})
                (C {(bash)} {(travis-test.sh)} {(ruby-2.2)})
                (C {(cd)} {(..)})
              ]
            )
          ]
          spids: [2005]
        )
      spids: [2001 2004]
    )
    (command.FuncDef
      name: build_jruby
      body: 
        (command.BraceGroup
          children: [
            (C {(internal_build_cpp)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [
                (C {(cd)} {(ruby)})
                (C {(bash)} {(travis-test.sh)} {(jruby-1.7)})
                (C {(cd)} {(..)})
              ]
            )
          ]
          spids: [2038]
        )
      spids: [2034 2037]
    )
    (command.FuncDef
      name: build_ruby_all
      body: 
        (command.BraceGroup
          children: [(C {(build_ruby21)}) (C {(build_ruby22)}) (C {(build_jruby)})]
          spids: [2079]
        )
      spids: [2075 2078]
    )
    (command.FuncDef
      name: build_javascript
      body: 
        (command.BraceGroup
          children: [
            (C {(internal_build_cpp)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp Op_DAmp]
              children: [(C {(cd)} {(js)}) (C {(npm)} {(install)}) (C {(npm)} {(test)}) (C {(cd)} {(..)})]
            )
          ]
          spids: [2097]
        )
      spids: [2093 2096]
    )
    (command.FuncDef
      name: use_php
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:VERSION spids:[2135])
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [2135]
                )
              ]
              spids: [2135]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:PHP spids:[2139])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: (command.CommandList children:[(C {(which)} {(php)})])
                        left_token: <Left_Backtick '`'>
                        spids: [2140 2144]
                      )
                    }
                  spids: [2139]
                )
              ]
              spids: [2139]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:PHP_CONFIG spids:[2147])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: (command.CommandList children:[(C {(which)} {(php-config)})])
                        left_token: <Left_Backtick '`'>
                        spids: [2148 2152]
                      )
                    }
                  spids: [2147]
                )
              ]
              spids: [2147]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:PHPIZE spids:[2155])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: (command.CommandList children:[(C {(which)} {(phpize)})])
                        left_token: <Left_Backtick '`'>
                        spids: [2156 2160]
                      )
                    }
                  spids: [2155]
                )
              ]
              spids: [2155]
            )
            (C {(rm)} {($ VSub_DollarName '$PHP')})
            (C {(rm)} {($ VSub_DollarName '$PHP_CONFIG')})
            (C {(rm)} {($ VSub_DollarName '$PHPIZE')})
            (C {(cp)} {(DQ (/usr/bin/php) ($ VSub_DollarName '$VERSION'))} {($ VSub_DollarName '$PHP')})
            (C {(cp)} {(DQ (/usr/bin/php-config) ($ VSub_DollarName '$VERSION'))} 
              {($ VSub_DollarName '$PHP_CONFIG')}
            )
            (C {(cp)} {(DQ (/usr/bin/phpize) ($ VSub_DollarName '$VERSION'))} 
              {($ VSub_DollarName '$PHPIZE')}
            )
          ]
          spids: [2132]
        )
      spids: [2128 2131]
    )
    (command.FuncDef
      name: use_php_zts
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:VERSION spids:[2217])
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [2217]
                )
              ]
              spids: [2217]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:PHP spids:[2221])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: (command.CommandList children:[(C {(which)} {(php)})])
                        left_token: <Left_Backtick '`'>
                        spids: [2222 2226]
                      )
                    }
                  spids: [2221]
                )
              ]
              spids: [2221]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:PHP_CONFIG spids:[2229])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: (command.CommandList children:[(C {(which)} {(php-config)})])
                        left_token: <Left_Backtick '`'>
                        spids: [2230 2234]
                      )
                    }
                  spids: [2229]
                )
              ]
              spids: [2229]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:PHPIZE spids:[2237])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: (command.CommandList children:[(C {(which)} {(phpize)})])
                        left_token: <Left_Backtick '`'>
                        spids: [2238 2242]
                      )
                    }
                  spids: [2237]
                )
              ]
              spids: [2237]
            )
            (C {(ln)} {(-sfn)} {(DQ (/usr/local/php-) (${ VSub_Name VERSION) (-zts/bin/php))} 
              {($ VSub_DollarName '$PHP')}
            )
            (C {(ln)} {(-sfn)} {(DQ (/usr/local/php-) (${ VSub_Name VERSION) (-zts/bin/php-config))} 
              {($ VSub_DollarName '$PHP_CONFIG')}
            )
            (C {(ln)} {(-sfn)} {(DQ (/usr/local/php-) (${ VSub_Name VERSION) (-zts/bin/phpize))} 
              {($ VSub_DollarName '$PHPIZE')}
            )
          ]
          spids: [2214]
        )
      spids: [2210 2213]
    )
    (command.FuncDef
      name: use_php_bc
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:VERSION spids:[2299])
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [2299]
                )
              ]
              spids: [2299]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:PHP spids:[2303])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: (command.CommandList children:[(C {(which)} {(php)})])
                        left_token: <Left_Backtick '`'>
                        spids: [2304 2308]
                      )
                    }
                  spids: [2303]
                )
              ]
              spids: [2303]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:PHP_CONFIG spids:[2311])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: (command.CommandList children:[(C {(which)} {(php-config)})])
                        left_token: <Left_Backtick '`'>
                        spids: [2312 2316]
                      )
                    }
                  spids: [2311]
                )
              ]
              spids: [2311]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:PHPIZE spids:[2319])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: (command.CommandList children:[(C {(which)} {(phpize)})])
                        left_token: <Left_Backtick '`'>
                        spids: [2320 2324]
                      )
                    }
                  spids: [2319]
                )
              ]
              spids: [2319]
            )
            (C {(ln)} {(-sfn)} {(DQ (/usr/local/php-) (${ VSub_Name VERSION) (-bc/bin/php))} 
              {($ VSub_DollarName '$PHP')}
            )
            (C {(ln)} {(-sfn)} {(DQ (/usr/local/php-) (${ VSub_Name VERSION) (-bc/bin/php-config))} 
              {($ VSub_DollarName '$PHP_CONFIG')}
            )
            (C {(ln)} {(-sfn)} {(DQ (/usr/local/php-) (${ VSub_Name VERSION) (-bc/bin/phpize))} 
              {($ VSub_DollarName '$PHPIZE')}
            )
          ]
          spids: [2296]
        )
      spids: [2292 2295]
    )
    (command.FuncDef
      name: build_php5.5
      body: 
        (command.BraceGroup
          children: [
            (C {(use_php)} {(5.5)})
            (C {(rm)} {(-rf)} {(vendor)})
            (C {(cp)} {(-r)} {(/usr/local/vendor-5.5)} {(vendor)})
            (C {(./vendor/bin/phpunit)})
          ]
          spids: [2378]
        )
      spids: [2374 2377]
    )
    (command.FuncDef
      name: build_php5.5_c
      body: 
        (command.BraceGroup
          children: [
            (C {(use_php)} {(5.5)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [(C {(cd)} {(php/tests)}) (C {(/bin/bash)} {(./test.sh)}) (C {(cd)} {(../..)})]
            )
          ]
          spids: [2411]
        )
      spids: [2407 2410]
    )
    (command.FuncDef
      name: build_php5.5_zts_c
      body: 
        (command.BraceGroup
          children: [
            (C {(use_php_zts)} {(5.5)})
            (C {(wget)} {(https) (Lit_Other ':') (//phar.phpunit.de/phpunit-old.phar)} {(-O)} 
              {(/usr/bin/phpunit)}
            )
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [(C {(cd)} {(php/tests)}) (C {(/bin/bash)} {(./test.sh)}) (C {(cd)} {(../..)})]
            )
          ]
          spids: [2442]
        )
      spids: [2438 2441]
    )
    (command.FuncDef
      name: build_php5.5_32
      body: 
        (command.BraceGroup
          children: [
            (C {(use_php_bc)} {(5.5)})
            (C {(rm)} {(-rf)} {(vendor)})
            (C {(cp)} {(-r)} {(/usr/local/vendor-5.5)} {(vendor)})
            (C {(./vendor/bin/phpunit)})
          ]
          spids: [2484]
        )
      spids: [2480 2483]
    )
    (command.FuncDef
      name: build_php5.6
      body: 
        (command.BraceGroup
          children: [
            (C {(use_php)} {(5.6)})
            (C {(rm)} {(-rf)} {(vendor)})
            (C {(cp)} {(-r)} {(/usr/local/vendor-5.6)} {(vendor)})
            (C {(./vendor/bin/phpunit)})
          ]
          spids: [2517]
        )
      spids: [2513 2516]
    )
    (command.FuncDef
      name: build_php5.6_c
      body: 
        (command.BraceGroup
          children: [
            (C {(use_php)} {(5.6)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [(C {(cd)} {(php/tests)}) (C {(/bin/bash)} {(./test.sh)}) (C {(cd)} {(../..)})]
            )
          ]
          spids: [2550]
        )
      spids: [2546 2549]
    )
    (command.FuncDef
      name: build_php5.6_mac
      body: 
        (command.BraceGroup
          children: [
            (command.Pipeline
              children: [
                (C {(curl)} {(-s)} {(https) (Lit_Other ':') (//php-osx.liip.ch/install.sh)})
                (C {(bash)} {(-s)} {(5.6)})
              ]
              negated: F
            )
            (C {(export)} 
              {(Lit_VarLike 'PATH=') 
                (DQ ('/usr/local/php5-5.6.25-20160831-101628/bin:') ($ VSub_DollarName '$PATH'))
              }
            )
            (C {(curl)} {(https) (Lit_Other ':') (//phar.phpunit.de/phpunit.phar)} {(-L)} {(-o)} 
              {(phpunit.phar)}
            )
            (C {(chmod)} {(Lit_Other '+') (x)} {(phpunit.phar)})
            (C {(sudo)} {(mv)} {(phpunit.phar)} {(/usr/local/bin/phpunit)})
            (command.SimpleCommand
              words: [{(echo)} {(DQ ('#! /bin/bash'))}]
              redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(valgrind)})]
            )
            (C {(chmod)} {(ug) (Lit_Other '+') (x)} {(valgrind)})
            (C {(sudo)} {(mv)} {(valgrind)} {(/usr/local/bin/valgrind)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [(C {(cd)} {(php/tests)}) (C {(/bin/bash)} {(./test.sh)}) (C {(cd)} {(../..)})]
            )
          ]
          spids: [2581]
        )
      spids: [2577 2580]
    )
    (command.FuncDef
      name: build_php7.0
      body: 
        (command.BraceGroup
          children: [
            (C {(use_php)} {(7.0)})
            (C {(rm)} {(-rf)} {(vendor)})
            (C {(cp)} {(-r)} {(/usr/local/vendor-7.0)} {(vendor)})
            (C {(./vendor/bin/phpunit)})
          ]
          spids: [2711]
        )
      spids: [2707 2710]
    )
    (command.FuncDef
      name: build_php7.0_c
      body: 
        (command.BraceGroup
          children: [
            (C {(use_php)} {(7.0)})
            (command.AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [(C {(cd)} {(php/tests)}) (C {(/bin/bash)} {(./test.sh)}) (C {(cd)} {(../..)})]
            )
          ]
          spids: [2744]
        )
      spids: [2740 2743]
    )
    (command.FuncDef
      name: build_php_all
      body: 
        (command.BraceGroup
          children: [
            (C {(build_php5.5)})
            (C {(build_php5.6)})
            (C {(build_php7.0)})
            (C {(build_php5.5_c)})
            (C {(build_php5.6_c)})
            (C {(build_php5.5_zts_c)})
          ]
          spids: [2775]
        )
      spids: [2771 2774]
    )
    (command.FuncDef
      name: build_php_all_32
      body: (command.BraceGroup children:[(C {(build_php5.5_32)})] spids:[2806])
      spids: [2802 2805]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(Lit_Other '[')} {(DQ ($ VSub_Pound '$#'))} {(-ne)} {(1)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ ('\n') ('Usage: ') ($ VSub_Number '$0') (' { cpp |\n') 
                  ('            cpp_distcheck |\n') ('            csharp |\n') ('            java_jdk7 |\n') ('            java_oracle7 |\n') 
                  ('            java_compatibility |\n') ('            javanano_jdk7 |\n') ('            javanano_oracle7 |\n') 
                  ('            objectivec_ios |\n') ('            objectivec_ios_debug |\n') ('            objectivec_ios_release |\n') 
                  ('            objectivec_osx |\n') ('            objectivec_cocoapods_integration |\n') ('            python |\n') 
                  ('            python_cpp |\n') ('            ruby21 |\n') ('            ruby22 |\n') ('            jruby |\n') 
                  ('            ruby_all |\n') ('            php5.5   |\n') ('            php5.5_c |\n') ('            php5.6   |\n') 
                  ('            php5.6_c |\n') ('            php7.0   |\n') ('            php7.0_c |\n') ('            php_all)\n')
                )
              }
            )
            (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 2853]
        )
      ]
      spids: [16777215 2895]
    )
    (C {(set)} {(-e)})
    (C {(set)} {(-x)})
    (C {(eval)} {(DQ (build_) ($ VSub_Number '$1'))})
  ]
)