(List (If (Com {[LIT_OTHER "["]} {[VarSub @ transform_ops=[(#len)]]} {[LIT_CHARS -lt]} {[LIT_CHARS 4]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub 0][LIT_CHARS ": Error: need 4 arguments"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('ARCH_MODE', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('OUTDIR', {[VarSub 2]})]) (= scope= flags=0 words=[] bindings=[('HOST_V8', {[VarSub 3]})]) (= scope= flags=0 words=[] bindings=[('ANDROID_V8', {[VarSub 4]})]) (FunctionDef LINUX_MD5 [] (List (= scope= flags=0 words=[] bindings=[('HASH', {[ComSub (Com {[LIT_CHARS md5sum]} {[VarSub 1]})]})]) (Com {[LIT_CHARS echo]} {[VarSub HASH transform_ops=[VS_UNARY_DPERCENT {[LIT_CHARS " *"]}]]}) ) ) (FunctionDef DARWIN_MD5 [] (List (= scope= flags=0 words=[] bindings=[('HASH', {[ComSub (Com {[LIT_CHARS md5]} {[VarSub 1]})]})]) (Pipeline (Com {[LIT_CHARS echo]} {[VarSub HASH]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -f2]} {[LIT_CHARS -d]} {[DQ [LIT_CHARS "="]]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -f2]} {[LIT_CHARS -d]} {[DQ [LIT_CHARS " "]]}) ) ) ) (= scope= flags=0 words=[] bindings=[('host_os', {[ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]})]})]) (Case to_match={[DQ [VarSub host_os]]}, pat_word_list=[[{[DQ [LIT_CHARS Linux]]}], [{[DQ [LIT_CHARS Darwin]]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('MD5', {[LIT_CHARS LINUX_MD5]})]) (= scope= flags=0 words=[] bindings=[('MD5', {[LIT_CHARS DARWIN_MD5]})]) (List (Com {[LIT_CHARS echo]} {[DQ [VarSub 0][LIT_CHARS ": Host platform "][VarSub host_os][LIT_CHARS " is not supported"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (FunctionDef sync_file [] (List (= scope= flags=0 words=[] bindings=[('FILE', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('ANDROID_HASH', {[ComSub (Com {[LIT_CHARS adb]} {[LIT_CHARS shell]} {[DQ [LIT_CHARS "md5 "][\ LIT_ESCAPED_CHAR "\\\""][VarSub ANDROID_V8][LIT_CHARS /][VarSub FILE][\ LIT_ESCAPED_CHAR "\\\""]]})]})]) (= scope= flags=0 words=[] bindings=[('HOST_HASH', {[ComSub (Com {[VarSub MD5]} {[DQ [VarSub HOST_V8][LIT_CHARS /][VarSub FILE]]})]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub ANDROID_HASH transform_ops=[VS_UNARY_DPERCENT {[LIT_CHARS " *"]}]]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub HOST_HASH]]} {[LIT_OTHER "]"]}) (List (Fork (Com {[LIT_CHARS adb]} {[LIT_CHARS push]} {[DQ [VarSub HOST_V8][LIT_CHARS /][VarSub FILE]]} {[DQ [VarSub ANDROID_V8][LIT_CHARS /][VarSub FILE]]}) ) (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS .]]}) ) ) (FunctionDef sync_dir [] (List (= scope= flags=0 words=[] bindings=[('DIR', {[VarSub 1]})]) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "sync to "][VarSub ANDROID_V8][LIT_CHARS /][VarSub DIR]]}) (For FILE [{[ComSub (Com {[LIT_CHARS find]} {[DQ [VarSub HOST_V8][LIT_CHARS /][VarSub DIR]]} {[LIT_CHARS -not]} {[LIT_CHARS -path]} {[DQ [LIT_CHARS "*.svn*"]]} {[LIT_CHARS -type]} {[LIT_CHARS f]})]}]) (List (= scope= flags=0 words=[] bindings=[('RELATIVE_FILE', {[VarSub FILE transform_ops=[Slice {A Atom NODE_ARITH_WORD {[VarSub HOST_V8 transform_ops=[(#len)]]}} None]]})]) (Com {[LIT_CHARS sync_file]} {[DQ [VarSub RELATIVE_FILE]]}) ) ) (Com {[LIT_CHARS echo]} {[DQ ]}) ) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "sync to "][VarSub ANDROID_V8][LIT_CHARS /][VarSub OUTDIR][LIT_CHARS /][VarSub ARCH_MODE]]}) (Com {[LIT_CHARS sync_file]} {[DQ [VarSub OUTDIR][LIT_CHARS /][VarSub ARCH_MODE][LIT_CHARS /cctest]]}) (Com {[LIT_CHARS sync_file]} {[DQ [VarSub OUTDIR][LIT_CHARS /][VarSub ARCH_MODE][LIT_CHARS /d8]]}) (Com {[LIT_CHARS sync_file]} {[DQ [VarSub OUTDIR][LIT_CHARS /][VarSub ARCH_MODE][LIT_CHARS /unittests]]}) (Com {[LIT_CHARS echo]} {[DQ ]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [LIT_CHARS "sync to "][VarSub ANDROID_V8][LIT_CHARS /tools]]}) (Com {[LIT_CHARS sync_file]} {[LIT_CHARS tools/consarray.js]}) (Com {[LIT_CHARS sync_file]} {[LIT_CHARS tools/codemap.js]}) (Com {[LIT_CHARS sync_file]} {[LIT_CHARS tools/csvparser.js]}) (Com {[LIT_CHARS sync_file]} {[LIT_CHARS tools/profile.js]}) (Com {[LIT_CHARS sync_file]} {[LIT_CHARS tools/splaytree.js]}) (Com {[LIT_CHARS sync_file]} {[LIT_CHARS tools/profile_view.js]}) (Com {[LIT_CHARS sync_file]} {[LIT_CHARS tools/logreader.js]}) (Com {[LIT_CHARS sync_file]} {[LIT_CHARS tools/tickprocessor.js]}) (Com {[LIT_CHARS echo]} {[DQ ]}) (Com {[LIT_CHARS sync_dir]} {[LIT_CHARS tools/profviz]}) (Com {[LIT_CHARS sync_dir]} {[LIT_CHARS test/intl]}) (Com {[LIT_CHARS sync_dir]} {[LIT_CHARS test/message]}) (Com {[LIT_CHARS sync_dir]} {[LIT_CHARS test/mjsunit]}) (Com {[LIT_CHARS sync_dir]} {[LIT_CHARS test/preparser]}) )