(CommandList children: [ (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(set)} {(-o)} {(errexit)}) (C {(source)} {(common.sh)}) (C {(source)} {(compare.sh)}) (FuncDef name: md5-manifest body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:tree) op: Equal rhs: {($ VSub_Number '$1')} spids: [59] ) ] spids: [57] ) (C {(pushd)} {($ VSub_Name '$tree')}) (Pipeline children: [ (C {(find)} {(.)} {(-type)} {(f)}) (C {(sort)}) (C {(xargs)} {(stat)} {(--format)} {(SQ <'%s %n'>)}) (C {(tee)} {(SIZES.txt)}) ] negated: F ) (Pipeline children: [ (C {(find)} {(.)} {(-type)} {(f)}) (C {(sort)}) (C {(xargs)} {(md5sum)}) (C {(tee)} {(MD5.txt)}) ] negated: F ) (C {(popd)}) ] spids: [54] ) spids: [50 53] ) (FuncDef name: _compile-tree body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:src_tree) op: Equal rhs: {($ VSub_Number '$1')} spids: [142] ) ] spids: [140] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dest_tree) op: Equal rhs: {($ VSub_Number '$2')} spids: [148] ) ] spids: [146] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:version) op: Equal rhs: {($ VSub_Number '$3')} spids: [154] ) ] spids: [152] ) (C {(shift)} {(3)}) (C {(rm)} {(-r)} {(-f)} {($ VSub_Name '$dest_tree')}) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:ext) op:Equal rhs:{(pyc)} spids:[180])] spids: [178] ) (ForEach iter_name: rel_path iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: F body: (DoGroup children: [ (C {(echo)} {($ VSub_Name '$rel_path')}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dest) op: Equal rhs: {(${ VSub_Name dest_tree) (/) (BracedVarSub token: <VSub_Name rel_path> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.py)}) spids: [211 215] ) (.) (${ VSub_Name ext) } spids: [206] ) ] spids: [204] ) (C {(mkdir)} {(-p)} { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {($ VSub_Name '$dest')})] ) left_token: <Left_CommandSub '$('> spids: [226 230] ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$version')} {(Lit_Other '=')} {(stdlib)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(_stdlib-compile-one)} {($ VSub_Name '$src_tree') (/) (${ VSub_Name rel_path)} {($ VSub_Name '$dest')} ) ] spids: [16777215 245] ) (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$version')} {(Lit_Other '=')} {(compiler2)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(_compile2-one)} {($ VSub_Name '$src_tree') (/) (${ VSub_Name rel_path)} {($ VSub_Name '$dest')} ) ] spids: [259 270] ) (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$version')} {(Lit_Other '=')} {(ccompile)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(_ccompile-one)} {($ VSub_Name '$src_tree') (/) (${ VSub_Name rel_path)} {($ VSub_Name '$dest')} ) ] spids: [284 295] ) (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$version')} {(Lit_Other '=')} {(opy)}) terminator: <Op_Semi ';'> ) ] action: [ (C {(_compile-one)} {($ VSub_Name '$src_tree') (/) (${ VSub_Name rel_path)} {($ VSub_Name '$dest')} ) ] spids: [309 320] ) ] else_action: [(C {(die)} {(DQ (bad))})] spids: [334 344] ) ] spids: [196 347] ) spids: [190 194] ) (C {(tree)} {($ VSub_Name '$dest_tree')}) (C {(md5-manifest)} {($ VSub_Name '$dest_tree')}) ] spids: [137] ) spids: [133 136] ) (FuncDef name: _fill-opy-tree body: (BraceGroup children: [(C {(echo)} {(TODO) (Lit_Other ':')} {(grammar)} {(pickle)})] spids: [367] ) spids: [363 366] ) (FuncDef name: compile-opy-tree body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:src) op: Equal rhs: {($ VSub_Name '$PWD')} spids: [391] ) ] spids: [389] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(find)} {($ VSub_Name '$src')} {(-name)} {(_tmp)} {(-a)} {(-prune)} {(-o)} {(-name)} {(SQ <'*.py'>)} {(-a)} {(-printf)} {(SQ <'%P\\n'>)} ) ] ) left_token: <Left_CommandSub '$('> spids: [400 432] ) } ] ) } spids: [397] ) ] spids: [395] ) (C {(_compile-tree)} {($ VSub_Name '$src')} {(_tmp/opy-ccompile/)} {(ccompile)} { (DQ (BracedVarSub token: <VSub_Name files> bracket_op: (WholeArray op_id:Lit_At) spids: [464 469] ) ) } ) (C {(_compile-tree)} {($ VSub_Name '$src')} {(_tmp/opy-opy/)} {(opy)} { (DQ (BracedVarSub token: <VSub_Name files> bracket_op: (WholeArray op_id:Lit_At) spids: [482 487] ) ) } ) ] spids: [386] ) spids: [382 385] ) (FuncDef name: _fill-osh-tree body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dir) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(_tmp) (Lit_Slash /) (osh-stdlib)} ) spids: [503 509] ) } spids: [502] ) ] spids: [500] ) (C {(cp)} {(-v)} {(../osh/osh.asdl)} {($ VSub_Name '$dir') (/osh)}) (C {(cp)} {(-v)} {(../core/runtime.asdl)} {($ VSub_Name '$dir') (/core)}) (C {(cp)} {(-v)} {(../asdl/arith.asdl)} {($ VSub_Name '$dir') (/asdl)}) (C {(ln)} {(-v)} {(-s)} {(-f)} {($ VSub_Name '$PWD') (/../core/libc.so)} {($ VSub_Name '$dir') (/core)} ) ] spids: [497] ) spids: [493 496] ) (FuncDef name: compile-osh-tree body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:src) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (AndOr ops: [Op_DAmp] children: [(C {(cd)} {(..)}) (C {(echo)} {($ VSub_Name '$PWD')})] ) ] ) left_token: <Left_CommandSub '$('> spids: [569 579] ) } spids: [568] ) ] spids: [566] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:files) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(find)} {($ VSub_Name '$src')} {(-name)} {(_tmp)} {(-a)} {(-prune)} {(-o)} {(-name)} {(opy)} {(-a)} {(-prune)} {(-o)} {(-name)} {(tests)} {(-a)} {(-prune)} {(-o)} {(-name)} {(SQ <'*.py'>)} {(-a)} {(-printf)} {(SQ <'%P\\n'>)} ) ] ) left_token: <Left_CommandSub '$('> spids: [587 643] ) } ] ) } spids: [584] ) ] spids: [582] ) (C {(_compile-tree)} {($ VSub_Name '$src')} {(_tmp/osh-ccompile/)} {(ccompile)} { (DQ (BracedVarSub token: <VSub_Name files> bracket_op: (WholeArray op_id:Lit_At) spids: [658 663] ) ) } ) (C {(_compile-tree)} {($ VSub_Name '$src')} {(_tmp/osh-opy/)} {(opy)} { (DQ (BracedVarSub token: <VSub_Name files> bracket_op: (WholeArray op_id:Lit_At) spids: [676 681] ) ) } ) (C {(_fill-osh-tree)} {(_tmp/osh-ccompile/)}) (C {(_fill-osh-tree)} {(_tmp/osh-opy/)}) ] spids: [563] ) spids: [559 562] ) (FuncDef name: zip-oil-tree body: (BraceGroup children: [ (C {(rm)} {(-f)} {(_tmp/oil.zip)}) (C {(pushd)} {(_tmp/osh-ccompile)}) (C {(zip)} {(../oil.zip)} {(-r)} {(.)}) (C {(popd)}) ] spids: [721] ) spids: [717 720] ) (FuncDef name: test-osh-tree body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dir) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(_tmp) (Lit_Slash /) (osh-opy)} ) spids: [764 770] ) } spids: [763] ) ] spids: [761] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:vm) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(byterun)}) spids: [776 780] ) } spids: [775] ) ] spids: [773] ) (C {(pushd)} {($ VSub_Name '$dir')}) (C {(mkdir)} {(-p)} {(_tmp)}) (ForEach iter_name: t iter_words: [ (BracedWordTree parts: [ (BracedAltPart words:[{(asdl)} {(core)} {(osh)}]) (/) (Lit_Other '*') (_test.pyc) ] ) ] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$t')} right: {(Lit_Other '*') (arith_parse_test.pyc)} ) ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [16777215 834] ) ] spids: [16777215 840] ) (C {(echo)} {($ VSub_Name '$t')}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$vm')} {(Lit_Other '=')} {(byterun)}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(opy_)} {(run)} {($ VSub_Name '$t')}] more_env: [(env_pair name:PYTHONPATH val:{(.)} spids:[875])] ) ] spids: [16777215 872] ) ] else_action: [ (SimpleCommand words: [{(python)} {($ VSub_Name '$t')}] more_env: [(env_pair name:PYTHONPATH val:{(.)} spids:[888])] ) ] spids: [885 896] ) ] spids: [817 899] ) spids: [804 815] ) (C {(popd)}) ] spids: [758] ) spids: [754 757] ) (FuncDef name: write-speed body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(_tmp/speed.py)} spids: [916] ) (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ('def do_sum(n):\n') (' sum = 0\n') (' for i in xrange(n):\n') (' sum += i\n') (' print(sum)\n') ('\n') ("if __name__ == '__main__':\n") (' import sys\n') (' n = int(sys.argv[1])\n') (' do_sum(n)\n') ('\n') ) } do_expansion: True here_end: EOF was_filled: T spids: [919] ) ] ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(_tmp/speed_main.py)} spids: [937] ) (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ('import sys \n') ('import speed\n') ('\n') ('n = int(sys.argv[1])\n') ('speed.do_sum(n)\n') ) } do_expansion: True here_end: EOF was_filled: T spids: [940] ) ] ) ] spids: [911] ) spids: [907 910] ) (FuncDef name: opy-speed-test body: (BraceGroup children: [ (C {(write-speed)}) (C {(_compile-one)} {(_tmp/speed.py)} {(_tmp/speed.pyc)}) (C {(_compile-one)} {(_tmp/speed_main.py)} {(_tmp/speed_main.pyc)}) (C {(cp)} {(_tmp/speed.pyc)} {(_tmp/speed.opyc)}) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:n) op:Equal rhs:{(10000)} spids:[992])] spids: [990] ) (C {(echo)} {(PYTHON)}) (TimeBlock pipeline:(C {(python)} {(_tmp/speed.opyc)} {($ VSub_Name '$n')})) (C {(echo)} {(OPY)}) (TimeBlock pipeline: (C {(opy_)} {(run)} {(_tmp/speed.opyc)} {($ VSub_Name '$n')}) ) (C {(echo)} {(PYTHON)}) (TimeBlock pipeline:(C {(python)} {(_tmp/speed_main.pyc)} {($ VSub_Name '$n')})) (C {(echo)} {(OPY)}) (TimeBlock pipeline: (C {(opy_)} {(run)} {(_tmp/speed_main.pyc)} {($ VSub_Name '$n')}) ) ] spids: [956] ) spids: [952 955] ) (FuncDef name: byterun-speed-test body: (BraceGroup children: [ (C {(write-speed)}) (C {(echo)} {(OLD)} {(BYTERUN)}) (TimeBlock pipeline: (C {(_byterun)} {($ VSub_Name '$PWD') (/_tmp/speed_main.py)} {(10000)}) ) (TimeBlock pipeline: (C {(_byterun)} {($ VSub_Name '$PWD') (/_tmp/speed.py)} {(10000)}) ) ] spids: [1086] ) spids: [1082 1085] ) (FuncDef name: _byterun body: (BraceGroup children: [ (C {(pushd)} {(TildeSubPart prefix:'') (/git/other/byterun)}) (C {(python)} {(-m)} {(byterun.__main__)} {(DQ ($ VSub_At '$@'))}) (C {(popd)}) ] spids: [1127] ) spids: [1123 1126] ) (FuncDef name: opy-parse-on-byterun body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:arg) op: Equal rhs: {($ VSub_Name '$PWD') (/testdata/hello_py2.py)} spids: [1208] ) ] spids: [1206] ) (C {(pushd)} {(_tmp/opy-opy)}) (C {(opyg)} {(run)} {(opy_main.pyc)} {(-g)} {($ VSub_Name '$GRAMMAR')} {(parse)} {($ VSub_Name '$arg')} ) (C {(popd)}) ] spids: [1203] ) spids: [1199 1202] ) (FuncDef name: osh-parse-on-byterun body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cmd) op: Equal rhs: { (ArrayLiteralPart words: [ {(osh)} {(--ast-output)} {(-)} {(--no-exec)} {(-c)} {(SQ <'echo "hello world"'>)} ] ) } spids: [1245] ) ] spids: [1245] ) (C {(../bin/oil.py)} { (DQ (BracedVarSub token: <VSub_Name cmd> bracket_op: (WholeArray op_id:Lit_At) spids: [1267 1272] ) ) } ) (C {(echo)} {(---)}) (C {(opyg)} {(run)} {(_tmp/osh-opy/bin/oil.pyc)} { (DQ (BracedVarSub token: <VSub_Name cmd> bracket_op: (WholeArray op_id:Lit_At) spids: [1288 1293] ) ) } ) ] spids: [1242] ) spids: [1238 1241] ) (FuncDef name: opy-hello2 body: (BraceGroup children:[(C {(opyg)} {(run)} {(testdata/hello_py2.py)})] spids:[1303]) spids: [1299 1302] ) (FuncDef name: opy-hello3 body: (BraceGroup children:[(C {(opyg)} {(run)} {(testdata/hello_py3.py)})] spids:[1319]) spids: [1315 1318] ) (FuncDef name: inspect-pyc body: (BraceGroup children: [ (SimpleCommand words: [{(misc/inspect_pyc.py)} {(DQ ($ VSub_At '$@'))}] more_env: [(env_pair name:PYTHONPATH val:{(.)} spids:[1364])] ) ] spids: [1361] ) spids: [1357 1360] ) (FuncDef name: compare-bytecode body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:left) op: Equal rhs: {($ VSub_Number '$1')} spids: [1388] ) ] spids: [1386] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:right) op: Equal rhs: {($ VSub_Number '$2')} spids: [1394] ) ] spids: [1392] ) (C {(md5sum)} {(DQ ($ VSub_At '$@'))}) (C {(ls)} {(-l)} {(DQ ($ VSub_At '$@'))}) (SimpleCommand words: [{(inspect-pyc)} {($ VSub_Name '$left')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(_tmp/pyc-left.txt)} spids: [1420] ) ] ) (SimpleCommand words: [{(inspect-pyc)} {($ VSub_Name '$right')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(_tmp/pyc-right.txt)} spids: [1429] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {($ VSub_Name '$DIFF')} (BracedWordTree parts: [(_tmp/pyc-) (BracedAltPart words:[{(left)} {(right)}]) (.txt)] ) ) (C {(true)}) ] ) (ControlFlow token:<ControlFlow_Return return>) (SimpleCommand words: [{(strings)} {($ VSub_Name '$left')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(_tmp/str-left.txt)} spids: [1457] ) ] ) (SimpleCommand words: [{(strings)} {($ VSub_Name '$right')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(_tmp/str-right.txt)} spids: [1466] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(diff)} {(-u)} (BracedWordTree parts: [(_tmp/str-) (BracedAltPart words:[{(left)} {(right)}]) (.txt)] ) ) (C {(true)}) ] ) (C {(echo)} {(KW_Done done)}) ] spids: [1383] ) spids: [1379 1382] ) (FuncDef name: determinism-loop body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:func) op: Equal rhs: {($ VSub_Number '$1')} spids: [1543] ) ] spids: [1541] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(.) (Lit_Slash /) (opy_main.py)} ) spids: [1550 1556] ) } spids: [1549] ) ] spids: [1547] ) (C {(mkdir)} {(-p)} {(_tmp/det)}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {($ VSub_Name '$file')})] ) left_token: <Left_CommandSub '$('> spids: [1571 1575] ) } spids: [1570] ) ] spids: [1568] ) (ForEach iter_name: i iter_words: [ { (CommandSubPart command_list: (CommandList children:[(C {(seq)} {(100)})]) left_token: <Left_CommandSub '$('> spids: [1584 1588] ) } ] do_arg_iter: F body: (DoGroup children: [ (C {(echo)} {(DQ ('--- ') ($ VSub_Name '$i') (' ---'))}) (C {($ VSub_Name '$func')} {($ VSub_Name '$file')} {(_tmp/det/) ($ VSub_Name '$name') (.1)} ) (C {($ VSub_Name '$func')} {($ VSub_Name '$file')} {(_tmp/det/) ($ VSub_Name '$name') (.2)} ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:size1) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(stat)} {(--format)} {(SQ <'%s'>)} {(_tmp/det/) ($ VSub_Name '$name') (.1)} ) ] ) left_token: <Left_CommandSub '$('> spids: [1625 1637] ) } spids: [1624] ) ] spids: [1622] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:size2) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(stat)} {(--format)} {(SQ <'%s'>)} {(_tmp/det/) ($ VSub_Name '$name') (.2)} ) ] ) left_token: <Left_CommandSub '$('> spids: [1643 1655] ) } spids: [1642] ) ] spids: [1640] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {($ VSub_Name '$size1')} {(KW_Bang '!') (Lit_Other '=')} {($ VSub_Name '$size2')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ('mismatched sizes: ') ($ VSub_Name '$size1') (' ') ($ VSub_Name '$size2') ) } ) (C {(compare-bytecode)} (BracedWordTree parts: [ (_tmp/det/) ($ VSub_Name '$name') (.) (BracedAltPart words: [{(1)} {(2)}] ) ] ) ) (C {(echo)} {(DQ ('Found problem after ') ($ VSub_Name '$i') (' iterations'))} ) (ControlFlow token:<ControlFlow_Break break>) ] spids: [16777215 1670] ) ] spids: [16777215 1711] ) ] spids: [1591 1714] ) spids: [1583 1589] ) ] spids: [1538] ) spids: [1534 1537] ) (FuncDef name: opy-determinism-loop body: (BraceGroup children: [(C {(determinism-loop)} {(_compile-one)} {(../core/lexer.py)})] spids: [1723] ) spids: [1719 1722] ) (FuncDef name: hash-determinism body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:in) op: Equal rhs: {($ VSub_Number '$1')} spids: [1747] ) ] spids: [1745] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:out) op: Equal rhs: {($ VSub_Number '$2')} spids: [1753] ) ] spids: [1751] ) (SimpleCommand words: [{(misc/determinism.py)} {($ VSub_Name '$in')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$out')} spids: [1774] ) ] ) ] spids: [1742] ) spids: [1738 1741] ) (FuncDef name: hash-determinism-loop body: (BraceGroup children:[(C {(determinism-loop)} {(hash-determinism)})] spids:[1785]) spids: [1781 1784] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} { (CommandSubPart command_list: (CommandList children:[(C {(basename)} {($ VSub_Number '$0')})]) left_token: <Left_CommandSub '$('> spids: [1799 1803] ) } {(Lit_Other '=')} {(SQ <smoke.sh>)} ) terminator: <Op_Semi ';'> ) ] action: [(C {(DQ ($ VSub_At '$@'))})] spids: [16777215 1812] ) ] spids: [16777215 1819] ) ] )