(command.CommandList children: [ (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-o>} {<nounset>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-o>} {<pipefail>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-o>} {<errexit>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <source> more_env: [] words: [{<source>} {<'build/common.sh'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <readonly> more_env: [] words: [ {<readonly>} {<Id.Lit_VarLike 'OVM_PYTHON_OBJS='> (SQ <'\n'> <'Python/_warnings.c\n'> <'Python/bltinmodule.c\n'> <'Python/ceval.c\n'> <'Python/codecs.c\n'> <'Python/errors.c\n'> <'Python/frozen.c\n'> <'Python/frozenmain.c\n'> <'Python/future.c\n'> <'Python/getargs.c\n'> <'Python/getcompiler.c\n'> <'Python/getcopyright.c\n'> <'Python/getplatform.c\n'> <'Python/getversion.c\n'> <'Python/import.c\n'> <'Python/marshal.c\n'> <'Python/modsupport.c\n'> <'Python/mystrtoul.c\n'> <'Python/mysnprintf.c\n'> <'Python/pyarena.c\n'> <'Python/pyctype.c\n'> <'Python/pyfpe.c\n'> <'Python/pymath.c\n'> <'Python/pystate.c\n'> <'Python/pythonrun.c\n'> <'Python/random.c\n'> <'Python/structmember.c\n'> <'Python/sysmodule.c\n'> <'Python/traceback.c\n'> <'Python/getopt.c\n'> <'Python/pystrcmp.c\n'> <'Python/pystrtod.c\n'> <'Python/dtoa.c\n'> <'Python/formatter_unicode.c\n'> <'Python/formatter_string.c\n'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'OBJECT_OBJS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'OBJECT_OBJS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OBJECT_OBJS='> name:OBJECT_OBJS) op: assign_op.Equal rhs: { (SQ <'\n'> <'Objects/abstract.c\n'> <'Objects/boolobject.c\n'> <'Objects/bufferobject.c\n'> <'Objects/bytes_methods.c\n'> <'Objects/bytearrayobject.c\n'> <'Objects/capsule.c\n'> <'Objects/cellobject.c\n'> <'Objects/classobject.c\n'> <'Objects/cobject.c\n'> <'Objects/codeobject.c\n'> <'Objects/complexobject.c\n'> <'Objects/descrobject.c\n'> <'Objects/enumobject.c\n'> <'Objects/exceptions.c\n'> <'Objects/genobject.c\n'> <'Objects/fileobject.c\n'> <'Objects/floatobject.c\n'> <'Objects/frameobject.c\n'> <'Objects/funcobject.c\n'> <'Objects/intobject.c\n'> <'Objects/iterobject.c\n'> <'Objects/listobject.c\n'> <'Objects/longobject.c\n'> <'Objects/dictobject.c\n'> <'Objects/memoryobject.c\n'> <'Objects/methodobject.c\n'> <'Objects/moduleobject.c\n'> <'Objects/object.c\n'> <'Objects/obmalloc.c\n'> <'Objects/rangeobject.c\n'> <'Objects/setobject.c\n'> <'Objects/sliceobject.c\n'> <'Objects/stringobject.c\n'> <'Objects/structseq.c\n'> <'Objects/tupleobject.c\n'> <'Objects/typeobject.c\n'> <'Objects/weakrefobject.c\n'> <'Objects/unicodeobject.c\n'> <'Objects/unicodectype.c\n'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MODULE_OBJS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MODULE_OBJS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MODULE_OBJS='> name:MODULE_OBJS) op: assign_op.Equal rhs: {(SQ <'\n'> <'Modules/getpath.c\n'> <'Modules/main.c\n'> <'Modules/gcmodule.c\n'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'MODOBJS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MODOBJS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MODOBJS='> name:MODOBJS) op: assign_op.Equal rhs: { (SQ <'\n'> <'Modules/posixmodule.c\n'> <'Modules/errnomodule.c \n'> <'Modules/pwdmodule.c\n'> <'Modules/_sre.c \n'> <'Modules/_codecsmodule.c \n'> <'Modules/_weakref.c\n'> <'Modules/zipimport.c \n'> <'Modules/signalmodule.c\n'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'OVM_LIBRARY_OBJS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'OVM_LIBRARY_OBJS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OVM_LIBRARY_OBJS='> name:OVM_LIBRARY_OBJS) op: assign_op.Equal rhs: { (DQ <'\n'> <'Modules/getbuildinfo.c\n'> <'Parser/myreadline.c\n'> ($ Id.VSub_DollarName OBJECT_OBJS) <'\n'> ($ Id.VSub_DollarName OVM_PYTHON_OBJS) <' \n'> ($ Id.VSub_DollarName MODULE_OBJS) <'\n'> ($ Id.VSub_DollarName MODOBJS) <'\n'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <readonly> more_env: [] words: [{<readonly>} {<Id.Lit_VarLike 'EMPTY_STR='> (SQ <'""'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <readonly> more_env: [] words: [ {<readonly>} {<Id.Lit_VarLike 'PREPROC_FLAGS='> (ShArrayLiteral left: <Id.Op_LParen _> words: [ {<-D>} {<OVM_MAIN>} {<-D>} {<Id.Lit_VarLike 'PYTHONPATH='> (DQ ($ Id.VSub_DollarName EMPTY_STR))} {<-D>} {<Id.Lit_VarLike 'VERSION='> (DQ ($ Id.VSub_DollarName EMPTY_STR))} {<-D>} {<Id.Lit_VarLike 'VPATH='> (DQ ($ Id.VSub_DollarName EMPTY_STR))} {<-D>} {<Py_BUILD_CORE>} ] right: <Id.Right_ShArrayLiteral _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <readonly> more_env: [] words: [ {<readonly>} {<Id.Lit_VarLike 'INCLUDE_PATHS='> (ShArrayLiteral left: <Id.Op_LParen _> words: [{<-I>} {<.>} {<-I>} {<Include>} {<-I>} {<'../_devbuild/gen'>}] right: <Id.Right_ShArrayLiteral _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <readonly> more_env: [] words: [ {<readonly>} {<Id.Lit_VarLike 'CC='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CC> var_name: CC suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<cc>}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <readonly> more_env: [] words: [ {<readonly>} {<Id.Lit_VarLike 'BASE_CFLAGS='> (SQ <'-fno-strict-aliasing -fwrapv -Wall -Wstrict-prototypes'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <readonly> more_env: [] words: [ {<readonly>} {<Id.Lit_VarLike 'CFLAGS='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name CFLAGS> var_name: CFLAGS suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.ShFunction name_tok: <build> name: build body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'out='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {($ Id.VSub_DollarName PY27) <Id.Lit_Slash '/'> <ovm2>} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'module_init='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 2> var_name: 2 suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {($ Id.VSub_DollarName PY27) <Id.Lit_Slash '/'> <Modules> <Id.Lit_Slash '/'> <config.c> } ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'main_name='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 3> var_name: 3 suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<_tmp> <Id.Lit_Slash '/'> <hello> <Id.Lit_Slash '/'> <main_name.c>} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'c_module_srcs='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 4> var_name: 4 suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<_tmp> <Id.Lit_Slash '/'> <hello> <Id.Lit_Slash '/'> <c-module-srcs.txt>} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>} {<4>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'abs_out='> ($ Id.VSub_DollarName PWD) <'/'> ($ Id.VSub_DollarName out) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'abs_module_init='> ($ Id.VSub_DollarName PWD) <'/'> ($ Id.VSub_DollarName module_init) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'abs_main_name='> ($ Id.VSub_DollarName PWD) <'/'> ($ Id.VSub_DollarName main_name) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'abs_c_module_srcs='> ($ Id.VSub_DollarName PWD) <'/'> ($ Id.VSub_DollarName c_module_srcs) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <source-detected-config-or-die> more_env: [] words: [{<source-detected-config-or-die>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <pushd> more_env: [] words: [{<pushd>} {($ Id.VSub_DollarName PY27)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<compile_readline>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<link_readline>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {(DQ ($ Id.VSub_DollarName HAVE_READLINE))} {<Id.Lit_Equals '='>} {<1>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'c_module_src_list='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'c_module_src_list='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'c_module_src_list='> name: c_module_src_list ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {($ Id.VSub_DollarName abs_c_module_srcs)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'compile_readline='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_readline='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_readline='> name: compile_readline ) op: assign_op.Equal rhs: {(SQ <'-D HAVE_READLINE'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'link_readline='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'link_readline='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_readline='> name: link_readline ) op: assign_op.Equal rhs: {(SQ <'-l readline'>)} ) ] redirects: [] ) ] spids: [475 488] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'c_module_src_list='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'c_module_src_list='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'c_module_src_list='> name: c_module_src_list ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.AndOr children: [ (command.Simple blame_tok: <grep> more_env: [] words: [ {<grep>} {<-v>} {(SQ <'/readline.c'>)} {($ Id.VSub_DollarName abs_c_module_srcs)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <true> more_env: [] words: [{<true>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'compile_readline='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'compile_readline='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'compile_readline='> name: compile_readline ) op: assign_op.Equal rhs: {(SQ )} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'link_readline='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'link_readline='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_readline='> name: link_readline ) op: assign_op.Equal rhs: {(SQ )} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.TimeBlock keyword: <Id.KW_Time time> pipeline: (command.Simple blame_tok: <Id.VSub_DollarName '$CC'> more_env: [] words: [ {($ Id.VSub_DollarName CC)} {(${ Id.VSub_Name BASE_CFLAGS)} {(${ Id.VSub_Name CFLAGS)} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name INCLUDE_PATHS> var_name: INCLUDE_PATHS bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name PREPROC_FLAGS> var_name: PREPROC_FLAGS bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } {<-D>} {<Id.Lit_VarLike 'PREFIX='> (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName PREFIX) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } {<-D>} {<Id.Lit_VarLike 'EXEC_PREFIX='> (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName PREFIX) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } {<-o>} {($ Id.VSub_DollarName abs_out)} {($ Id.VSub_DollarName OVM_LIBRARY_OBJS)} {($ Id.VSub_DollarName abs_module_init)} {($ Id.VSub_DollarName abs_main_name)} {($ Id.VSub_DollarName c_module_src_list)} {<'Modules/ovm.c'>} {($ Id.VSub_DollarName compile_readline)} {<-l>} {<m>} {($ Id.VSub_DollarName link_readline)} {(DQ ($ Id.VSub_At '@'))} ] redirects: [] do_fork: T ) ) (command.Simple blame_tok: <true> more_env: [] words: [{<true>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <popd> more_env: [] words: [{<popd>}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <build-dbg> name: build-dbg body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <build> more_env: [] words: [{<build>} {(DQ ($ Id.VSub_At '@'))} {<-O0>} {<-g>} {<-D>} {<OVM_DEBUG>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <build-opt> name: build-opt body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <build> more_env: [] words: [{<build>} {(DQ ($ Id.VSub_At '@'))} {<-O3>} {<-fno-omit-frame-pointer>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <add-py27> name: add-py27 body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <xargs> more_env: [] words: [ {<xargs>} {<-I>} {<Id.Lit_LBrace '{'> <Id.Lit_RBrace '}'>} {<-->} {<echo>} {($ Id.VSub_DollarName PY27) <'/'> <Id.Lit_LBrace '{'> <Id.Lit_RBrace '}'>} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <python-sources> name: python-sources body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ ($ Id.VSub_DollarName OVM_LIBRARY_OBJS))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add-py27> more_env: [] words: [{<add-py27>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_headers> name: _headers body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'c_module_srcs='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<_tmp> <Id.Lit_Slash '/'> <hello> <Id.Lit_Slash '/'> <c-module-srcs.txt>} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'abs_c_module_srcs='> ($ Id.VSub_DollarName PWD) <'/'> ($ Id.VSub_DollarName c_module_srcs) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cd> more_env: [] words: [{<cd>} {($ Id.VSub_DollarName PY27)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <gcc> more_env: [] words: [ {<gcc>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name INCLUDE_PATHS> var_name: INCLUDE_PATHS bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name PREPROC_FLAGS> var_name: PREPROC_FLAGS bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } {<-MM>} {($ Id.VSub_DollarName OVM_LIBRARY_OBJS)} {<'Modules/ovm.c'>} { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {($ Id.VSub_DollarName abs_c_module_srcs)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <python-headers> name: python-headers body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'c_module_srcs='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Pipeline children: [ (command.Simple blame_tok: <_headers> more_env: [] words: [{<_headers>} {($ Id.VSub_DollarName c_module_srcs)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <egrep> more_env: [] words: [{<egrep>} {<--only-matching>} {(SQ <'[^ ]+\\.h'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-v>} {(SQ <'_build/detected-config.h'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s|^Python/../||'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <uniq> more_env: [] words: [{<uniq>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add-py27> more_env: [] words: [{<add-py27>}] redirects: [] do_fork: T ) ] ops: [ <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> ] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <make-tar> name: make-tar body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'app_name='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<hello>}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'bytecode_zip='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 2> var_name: 2 suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<bytecode-cpython.zip>} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'out='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 3> var_name: 3 suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<_release> <Id.Lit_Slash '/'> <hello.tar>} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<version_file>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName app_name)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <oil> pattern: (pat.Words words:[{<oil>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'version_file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'version_file='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'version_file='> name: version_file ) op: assign_op.Equal rhs: {<oil-version.txt>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <hello> pattern: (pat.Words words:[{<hello>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'version_file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'version_file='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'version_file='> name: version_file ) op: assign_op.Equal rhs: {<'build/testdata/hello-version.txt'>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <die> more_env: [] words: [{<die>} {(DQ <'Unknown app '> ($ Id.VSub_DollarName app_name))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'version='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <head> more_env: [] words: [{<head>} {<-n>} {<1>} {($ Id.VSub_DollarName version_file)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Creating '> ($ Id.VSub_DollarName app_name) <' version '> ($ Id.VSub_DollarName version) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'c_module_srcs='> <'_build/'> ($ Id.VSub_DollarName app_name) <'/c-module-srcs.txt'> } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'sed_expr='> (DQ <'s,^,'> (${ Id.VSub_Name app_name) <-> (${ Id.VSub_Name version) <'/,'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <tar> more_env: [] words: [ {<tar>} {<--create>} {<--transform>} {(DQ ($ Id.VSub_DollarName sed_expr))} {<--file>} {($ Id.VSub_DollarName out)} {<LICENSE.txt>} {<INSTALL.txt>} {<configure>} {<install>} {<Makefile>} {<'build/compile.sh'>} {<'build/actions.sh'>} {<'build/common.sh'>} {<'build/detect-'> <Id.Lit_Star '*'> <.c>} {<'_build/'> ($ Id.VSub_DollarName app_name) <'/'> ($ Id.VSub_DollarName bytecode_zip)} {<'_build/'> ($ Id.VSub_DollarName app_name) <'/'> <Id.Lit_Star '*'> <.c>} {($ Id.VSub_DollarName PY27) <'/LICENSE'>} {($ Id.VSub_DollarName PY27) <'/Modules/ovm.c'>} {($ Id.VSub_DollarName c_module_srcs)} { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {($ Id.VSub_DollarName c_module_srcs)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <add-py27> more_env: [] words: [{<add-py27>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <python-headers> more_env: [] words: [{<python-headers>} {($ Id.VSub_DollarName c_module_srcs)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <python-sources> more_env: [] words: [{<python-sources>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <ls> more_env: [] words: [{<ls>} {<-l>} {($ Id.VSub_DollarName out)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <count-c-lines> name: count-c-lines body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <pushd> more_env: [] words: [{<pushd>} {($ Id.VSub_DollarName PY27)}] redirects: [] do_fork: T ) (command.Pipeline children: [ (command.Simple blame_tok: <wc> more_env: [] words: [{<wc>} {<-l>} {($ Id.VSub_DollarName OVM_LIBRARY_OBJS)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [] words: [{<sort>} {<-n>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ <'Files:'>)}] redirects: [] do_fork: T ) (command.Pipeline children: [ (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName OVM_LIBRARY_OBJS)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_DollarName i)}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) (command.Simple blame_tok: <wc> more_env: [] words: [{<wc>} {<-l>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.Simple blame_tok: <popd> more_env: [] words: [{<popd>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <Id.Left_DoubleQuote '"'> more_env: [] words: [{(DQ ($ Id.VSub_At '@'))}] redirects: [] do_fork: T ) ] )