(CommandList children: [ (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(set)} {(-o)} {(errexit)}) (C {(source)} {(build/common.sh)}) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:OVM_PYTHON_OBJS) op: Equal rhs: { (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'> ) } spids: [58] ) ] spids: [56] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OBJECT_OBJS) 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'> ) } spids: [98] ) ] spids: [98] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MODULE_OBJS) op: Equal rhs: {(SQ <'\n'> <'Modules/getpath.c\n'> <'Modules/main.c\n'> <'Modules/gcmodule.c\n'>)} spids: [146] ) ] spids: [146] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MODOBJS) 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'> ) } spids: [164] ) ] spids: [164] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OVM_LIBRARY_OBJS) op: Equal rhs: { (DQ ('\n') ('Modules/getbuildinfo.c\n') ('Parser/myreadline.c\n') ($ VSub_Name '$OBJECT_OBJS') ('\n') ($ VSub_Name '$OVM_PYTHON_OBJS') (' \n') ($ VSub_Name '$MODULE_OBJS') ('\n') ($ VSub_Name '$MODOBJS') ('\n') ) } spids: [184] ) ] spids: [184] ) (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:EMPTY_STR) op:Equal rhs:{(SQ <'""'>)} spids:[202])] spids: [200] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:PREPROC_FLAGS) op: Equal rhs: { (ArrayLiteralPart words: [ {(-D)} {(OVM_MAIN)} {(-D)} {(Lit_VarLike 'PYTHONPATH=') (DQ ($ VSub_Name '$EMPTY_STR'))} {(-D)} {(Lit_VarLike 'VERSION=') (DQ ($ VSub_Name '$EMPTY_STR'))} {(-D)} {(Lit_VarLike 'VPATH=') (DQ ($ VSub_Name '$EMPTY_STR'))} {(-D)} {(Py_BUILD_CORE)} ] ) } spids: [213] ) ] spids: [211] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:INCLUDE_PATHS) op: Equal rhs: {(ArrayLiteralPart words:[{(-I)} {(.)} {(-I)} {(Include)} {(-I)} {(../_devbuild/gen)}])} spids: [259] ) ] spids: [257] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:CC) op: Equal rhs: { (BracedVarSub token: <VSub_Name CC> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(cc)}) spids: [277 281] ) } spids: [276] ) ] spids: [274] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:BASE_CFLAGS) op: Equal rhs: {(SQ <'-fno-strict-aliasing -fwrapv -Wall -Wstrict-prototypes'>)} spids: [325] ) ] spids: [323] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:CFLAGS) op: Equal rhs: { (BracedVarSub token: <VSub_Name CFLAGS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [340 343] ) } spids: [339] ) ] spids: [337] ) (FuncDef name: build body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:out) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$PY27') (Lit_Slash /) (ovm2)} ) spids: [356 362] ) } spids: [355] ) ] spids: [353] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:module_init) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$PY27') (Lit_Slash /) (Modules) (Lit_Slash /) (config.c)} ) spids: [368 376] ) } spids: [367] ) ] spids: [365] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:main_name) op: Equal rhs: { (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(_tmp) (Lit_Slash /) (hello) (Lit_Slash /) (main_name.c)} ) spids: [382 390] ) } spids: [381] ) ] spids: [379] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:c_module_srcs) op: Equal rhs: { (BracedVarSub token: <VSub_Number 4> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(_tmp) (Lit_Slash /) (hello) (Lit_Slash /) (c-module-srcs.txt)} ) spids: [396 404] ) } spids: [395] ) ] spids: [393] ) (C {(shift)} {(4)}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:abs_out) op: Equal rhs: {($ VSub_Name '$PWD') (/) ($ VSub_Name '$out')} spids: [415] ) ] spids: [413] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:abs_module_init) op: Equal rhs: {($ VSub_Name '$PWD') (/) ($ VSub_Name '$module_init')} spids: [423] ) ] spids: [421] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:abs_main_name) op: Equal rhs: {($ VSub_Name '$PWD') (/) ($ VSub_Name '$main_name')} spids: [431] ) ] spids: [429] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:abs_c_module_srcs) op: Equal rhs: {($ VSub_Name '$PWD') (/) ($ VSub_Name '$c_module_srcs')} spids: [439] ) ] spids: [437] ) (C {(source-detected-config-or-die)}) (C {(pushd)} {($ VSub_Name '$PY27')}) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:compile_readline) op:Equal spids:[467])] spids: [465] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:link_readline) op:Equal spids:[472])] spids: [470] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(DQ ($ VSub_Name '$HAVE_READLINE'))} {(Lit_Other '=')} {(1)}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:c_module_src_list) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {($ VSub_Name '$abs_c_module_srcs')})] ) left_token: <Left_CommandSub '$('> spids: [505 509] ) } spids: [504] ) ] spids: [504] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compile_readline) op: Equal rhs: {(SQ <'-D HAVE_READLINE'>)} spids: [516] ) ] spids: [516] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_readline) op: Equal rhs: {(SQ <'-l readline'>)} spids: [522] ) ] spids: [522] ) ] spids: [16777215 488] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:c_module_src_list) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (AndOr ops: [Op_DPipe] children: [ (C {(grep)} {(-v)} {(SQ </readline.c>)} {($ VSub_Name '$abs_c_module_srcs')} ) (C {(true)}) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [536 550] ) } spids: [535] ) ] spids: [535] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compile_readline) op: Equal rhs: {(SQ )} spids: [553] ) ] spids: [553] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_readline) op: Equal rhs: {(SQ )} spids: [558] ) ] spids: [558] ) ] spids: [528 563] ) (AndOr ops: [Op_DPipe] children: [ (TimeBlock pipeline: (C {($ VSub_Name '$CC')} {(${ VSub_Name BASE_CFLAGS)} {(${ VSub_Name CFLAGS)} { (DQ (BracedVarSub token: <VSub_Name INCLUDE_PATHS> bracket_op: (WholeArray op_id:Lit_At) spids: [599 604] ) ) } { (DQ (BracedVarSub token: <VSub_Name PREPROC_FLAGS> bracket_op: (WholeArray op_id:Lit_At) spids: [610 615] ) ) } {(-D)} {(Lit_VarLike 'PREFIX=') (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$PREFIX') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } {(-D)} {(Lit_VarLike 'EXEC_PREFIX=') (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$PREFIX') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } {(-o)} {($ VSub_Name '$abs_out')} {($ VSub_Name '$OVM_LIBRARY_OBJS')} {($ VSub_Name '$abs_module_init')} {($ VSub_Name '$abs_main_name')} {($ VSub_Name '$c_module_src_list')} {(Modules/ovm.c)} {($ VSub_Name '$compile_readline')} {(-l)} {(m)} {($ VSub_Name '$link_readline')} {(DQ ($ VSub_At '$@'))} ) ) (C {(true)}) ] ) (C {(popd)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [350] ) spids: [346 349] ) (FuncDef name: build-dbg body: (BraceGroup children: [(C {(build)} {(DQ ($ VSub_At '$@'))} {(-O0)} {(-g)} {(-D)} {(OVM_DEBUG)})] spids: [758] ) spids: [754 757] ) (FuncDef name: build-opt body: (BraceGroup children:[(C {(build)} {(DQ ($ VSub_At '$@'))} {(-O3)} {(-s)})] spids:[788]) spids: [784 787] ) (FuncDef name: add-py27 body: (BraceGroup children: [ (C {(xargs)} {(-I)} {(Lit_LBrace '{') (Lit_RBrace '}')} {(--)} {(echo)} {($ VSub_Name '$PY27') (/) (Lit_LBrace '{') (Lit_RBrace '}')} ) ] spids: [818] ) spids: [814 817] ) (FuncDef name: python-sources body: (BraceGroup children: [ (Pipeline children: [(C {(echo)} {(DQ ($ VSub_Name '$OVM_LIBRARY_OBJS'))}) (C {(add-py27)})] negated: F ) ] spids: [844] ) spids: [840 843] ) (FuncDef name: _headers body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:c_module_srcs) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(_tmp) (Lit_Slash /) (hello) (Lit_Slash /) (c-module-srcs.txt)} ) spids: [870 878] ) } spids: [869] ) ] spids: [867] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:abs_c_module_srcs) op: Equal rhs: {($ VSub_Name '$PWD') (/) ($ VSub_Name '$c_module_srcs')} spids: [883] ) ] spids: [881] ) (C {(cd)} {($ VSub_Name '$PY27')}) (C {(gcc)} { (DQ (BracedVarSub token: <VSub_Name INCLUDE_PATHS> bracket_op: (WholeArray op_id:Lit_At) spids: [904 909] ) ) } { (DQ (BracedVarSub token: <VSub_Name PREPROC_FLAGS> bracket_op: (WholeArray op_id:Lit_At) spids: [915 920] ) ) } {(-MM)} {($ VSub_Name '$OVM_LIBRARY_OBJS')} {(Modules/ovm.c)} { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {($ VSub_Name '$abs_c_module_srcs')})] ) left_token: <Left_CommandSub '$('> spids: [935 939] ) } ) ] spids: [864] ) spids: [860 863] ) (FuncDef name: python-headers body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:c_module_srcs) op: Equal rhs: {($ VSub_Number '$1')} spids: [967] ) ] spids: [965] ) (Pipeline children: [ (C {(_headers)} {($ VSub_Name '$c_module_srcs')}) (C {(egrep)} {(--only-matching)} {(SQ <'[^ ]+\\.h'>)}) (C {(sed)} {(SQ <'s|^Python/../||'>)}) (C {(sort)}) (C {(uniq)}) (C {(add-py27)}) ] negated: F ) ] spids: [962] ) spids: [958 961] ) (FuncDef name: make-tar body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:app_name) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(hello)}) spids: [1026 1030] ) } spids: [1025] ) ] spids: [1023] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:out) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(_release) (Lit_Slash /) (hello.tar)} ) spids: [1036 1042] ) } spids: [1035] ) ] spids: [1033] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:version_file) op:Equal spids:[1048])] spids: [1046] ) (Case to_match: {($ VSub_Name '$app_name')} arms: [ (case_arm pat_list: [{(oil)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:version_file) op: Equal rhs: {(oil-version.txt)} spids: [1062] ) ] spids: [1062] ) ] spids: [1058 1059 1066 16777215] ) (case_arm pat_list: [{(hello)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:version_file) op: Equal rhs: {(build/testdata/hello-version.txt)} spids: [1073] ) ] spids: [1073] ) ] spids: [1069 1070 1077 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(die)} {(DQ ('Unknown app ') ($ VSub_Name '$app_name'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [1080 1081 1097 16777215] ) ] spids: [1051 1055 1100] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:version) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(head)} {(-n)} {(1)} {($ VSub_Name '$version_file')})] ) left_token: <Left_CommandSub '$('> spids: [1106 1114] ) } spids: [1105] ) ] spids: [1103] ) (C {(echo)} {(DQ ('Creating ') ($ VSub_Name '$app_name') (' version ') ($ VSub_Name '$version'))} ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:c_module_srcs) op: Equal rhs: {(_build/) ($ VSub_Name '$app_name') (/c-module-srcs.txt)} spids: [1152] ) ] spids: [1150] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:sed_expr) op: Equal rhs: {(DQ ('s,^,') (${ VSub_Name app_name) (-) (${ VSub_Name version) ('/,'))} spids: [1165] ) ] spids: [1163] ) (C {(tar)} {(--create)} {(--transform)} {(DQ ($ VSub_Name '$sed_expr'))} {(--file)} {($ VSub_Name '$out')} {(LICENSE.txt)} {(INSTALL.txt)} {(configure)} {(install)} {(Makefile)} {(build/compile.sh)} {(build/actions.sh)} {(build/common.sh)} {(build/detect-) (Lit_Other '*') (.c)} {(_build/) ($ VSub_Name '$app_name') (/bytecode.zip)} {(_build/) ($ VSub_Name '$app_name') (/) (Lit_Other '*') (.c)} {($ VSub_Name '$PY27') (/LICENSE)} {($ VSub_Name '$PY27') (/Modules/ovm.c)} {($ VSub_Name '$c_module_srcs')} { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(cat)} {($ VSub_Name '$c_module_srcs')}) (C {(add-py27)})] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1262 1270] ) } { (CommandSubPart command_list: (CommandList children: [(C {(python-headers)} {($ VSub_Name '$c_module_srcs')})] ) left_token: <Left_CommandSub '$('> spids: [1274 1278] ) } { (CommandSubPart command_list: (CommandList children:[(C {(python-sources)})]) left_token: <Left_CommandSub '$('> spids: [1282 1284] ) } ) (C {(ls)} {(-l)} {($ VSub_Name '$out')}) ] spids: [1020] ) spids: [1016 1019] ) (FuncDef name: count-c-lines body: (BraceGroup children: [ (C {(pushd)} {($ VSub_Name '$PY27')}) (Pipeline children: [(C {(wc)} {(-l)} {($ VSub_Name '$OVM_LIBRARY_OBJS')}) (C {(sort)} {(-n)})] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'Files:'>)}) (Pipeline children: [ (BraceGroup children: [ (ForEach iter_name: i iter_words: [{($ VSub_Name '$OVM_LIBRARY_OBJS')}] do_arg_iter: F body: (DoGroup children:[(C {(echo)} {($ VSub_Name '$i')})] spids:[1389 1397]) spids: [1385 1387] ) ] spids: [1378] ) (C {(wc)} {(-l)}) ] negated: F ) (C {(popd)}) ] spids: [1338] ) spids: [1334 1337] ) (C {(DQ ($ VSub_At '$@'))}) ] )