(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)}])} 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: [273 277] ) } spids: [272] ) ] spids: [270] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:BASE_CFLAGS) op: Equal rhs: {(SQ <"-fno-strict-aliasing -fwrapv -Wall -Wstrict-prototypes">)} spids: [321] ) ] spids: [319] ) (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: [336 339] ) } spids: [335] ) ] spids: [333] ) (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: [352 358] ) } spids: [351] ) ] spids: [349] ) (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: [364 372] ) } spids: [363] ) ] spids: [361] ) (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: [378 386] ) } spids: [377] ) ] spids: [375] ) (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: [392 400] ) } spids: [391] ) ] spids: [389] ) (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: [411] ) ] spids: [409] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:abs_module_init) op: Equal rhs: {($ VSub_Name "$PWD") (/) ($ VSub_Name "$module_init")} spids: [419] ) ] spids: [417] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:abs_main_name) op: Equal rhs: {($ VSub_Name "$PWD") (/) ($ VSub_Name "$main_name")} spids: [427] ) ] spids: [425] ) (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: [435] ) ] spids: [433] ) (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:[463])] spids: [461] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:link_readline) op:Equal spids:[468])] spids: [466] ) (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: [501 505] ) } spids: [500] ) ] spids: [500] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compile_readline) op: Equal rhs: {(SQ <"-D HAVE_READLINE">)} spids: [512] ) ] spids: [512] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_readline) op: Equal rhs: {(SQ <"-l readline">)} spids: [518] ) ] spids: [518] ) ] spids: [-1 484] ) ] 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 children: [ (C {(grep)} {(-v)} {(SQ </readline.c>)} {($ VSub_Name "$abs_c_module_srcs")} ) (C {(true)}) ] op_id: Op_DPipe ) ] ) left_token: <Left_CommandSub "$("> spids: [532 546] ) } spids: [531] ) ] spids: [531] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compile_readline) op: Equal rhs: {(SQ )} spids: [549] ) ] spids: [549] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:link_readline) op: Equal rhs: {(SQ )} spids: [554] ) ] spids: [554] ) ] spids: [524 559] ) (AndOr 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: [595 600] ) ) } { (DQ (BracedVarSub token: <VSub_Name PREPROC_FLAGS> bracket_op: (WholeArray op_id:Lit_At) spids: [606 611] ) ) } {(-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)}) ] op_id: Op_DPipe ) (C {(popd)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [346] ) spids: [342 345] ) (FuncDef name: build-dbg body: (BraceGroup children: [(C {(build)} {(DQ ($ VSub_At "$@"))} {(-O0)} {(-g)} {(-D)} {(OVM_DEBUG)})] spids: [754] ) spids: [750 753] ) (FuncDef name: build-opt body: (BraceGroup children:[(C {(build)} {(DQ ($ VSub_At "$@"))} {(-O3)} {(-s)})] spids:[784]) spids: [780 783] ) (FuncDef name: add-py27 body: (BraceGroup children: [ (C {(xargs)} {(-I)} {(Lit_LBrace "{") (Lit_RBrace "}")} {(--)} {(echo)} {($ VSub_Name "$PY27") (/) (Lit_LBrace "{") (Lit_RBrace "}")} ) ] spids: [814] ) spids: [810 813] ) (FuncDef name: python-sources body: (BraceGroup children: [ (Pipeline children: [(C {(echo)} {(DQ ($ VSub_Name "$OVM_LIBRARY_OBJS"))}) (C {(add-py27)})] negated: False ) ] spids: [840] ) spids: [836 839] ) (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: [866 874] ) } spids: [865] ) ] spids: [863] ) (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: [879] ) ] spids: [877] ) (C {(cd)} {($ VSub_Name "$PY27")}) (C {(gcc)} { (DQ (BracedVarSub token: <VSub_Name INCLUDE_PATHS> bracket_op: (WholeArray op_id:Lit_At) spids: [900 905] ) ) } { (DQ (BracedVarSub token: <VSub_Name PREPROC_FLAGS> bracket_op: (WholeArray op_id:Lit_At) spids: [911 916] ) ) } {(-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: [931 935] ) } ) ] spids: [860] ) spids: [856 859] ) (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: [963] ) ] spids: [961] ) (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: False ) ] spids: [958] ) spids: [954 957] ) (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: [1022 1026] ) } spids: [1021] ) ] spids: [1019] ) (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: [1032 1038] ) } spids: [1031] ) ] spids: [1029] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:version_file) op:Equal spids:[1044])] spids: [1042] ) (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: [1058] ) ] spids: [1058] ) ] spids: [1054 1055 1062 -1] ) (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: [1069] ) ] spids: [1069] ) ] spids: [1065 1066 1073 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (C {(die)} {(DQ ("Unknown app ") ($ VSub_Name "$app_name"))}) (C {(exit)} {(1)}) ] spids: [1076 1077 1093 -1] ) ] spids: [1047 1051 1096] ) (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: [1102 1110] ) } spids: [1101] ) ] spids: [1099] ) (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: [1148] ) ] spids: [1146] ) (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: [1161] ) ] spids: [1159] ) (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: False ) ] ) left_token: <Left_CommandSub "$("> spids: [1258 1266] ) } { (CommandSubPart command_list: (CommandList children: [(C {(python-headers)} {($ VSub_Name "$c_module_srcs")})] ) left_token: <Left_CommandSub "$("> spids: [1270 1274] ) } { (CommandSubPart command_list: (CommandList children:[(C {(python-sources)})]) left_token: <Left_CommandSub "$("> spids: [1278 1280] ) } ) (C {(ls)} {(-l)} {($ VSub_Name "$out")}) ] spids: [1016] ) spids: [1012 1015] ) (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: False ) (C {(echo)}) (C {(echo)} {(SQ <"Files:">)}) (Pipeline children: [ (BraceGroup children: [ (ForEach iter_name: i iter_words: [{($ VSub_Name "$OVM_LIBRARY_OBJS")}] do_arg_iter: False body: (DoGroup children:[(C {(echo)} {($ VSub_Name "$i")})] spids:[13851393]) spids: [1381 1383] ) ] spids: [1374] ) (C {(wc)} {(-l)}) ] negated: False ) (C {(popd)}) ] spids: [1334] ) spids: [1330 1333] ) (C {(DQ ($ VSub_At "$@"))}) ] )