(command.CommandList children: [ (command.If arms: [ (if_arm cond: [ (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Pound '$#'))} {<-ne>} {<3>} {<Id.Lit_RBracket ']'>}) ] action: [ (C {<echo>} { (DQ <'Usage: '> ($ Id.VSub_Number '$0') <' dart_binary benchmark_directory output_directory'> ) } ) (C {<echo>} { (DQ <'Example: '> ($ Id.VSub_Number '$0') <' out/ReleaseIA32/dart ../golem4/benchmarks /tmp/bmu'> ) } ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [23 37] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DART_BIN) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [65] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BENCH_DIR) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [68] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OUT_DIR) op: assign_op.Equal rhs: {($ Id.VSub_Number '$3')} spids: [71] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:VERBOSE_GC_TO_BMU) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<dirname>} {(DQ ($ Id.VSub_Number '$0'))})] ) ) </verbose_gc_to_bmu.dart> } spids: [75] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INDEX_FILE) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$OUT_DIR') </index.html>} spids: [85] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TMP) op: assign_op.Equal rhs: {</tmp/bmu_benchmark_gallery>} spids: [89] ) ] ) (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$OUT_DIR')}) (command.Simple words: [{<echo>} {(DQ <'<html><body>'>)}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$INDEX_FILE')} ) ] ) (command.Simple words: [{($ Id.VSub_DollarName '$DART_BIN')} {<--version>}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '2>>'> fd: 2 arg_word: {($ Id.VSub_DollarName '$INDEX_FILE')} ) ] ) (command.Simple words: [{<echo>} {(DQ <'<br>'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$INDEX_FILE')} ) ] ) (command.ForEach iter_name: NAME iter_words: [ { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [(C {<ls>} {($ Id.VSub_DollarName '$BENCH_DIR')})] ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp] children: [ (command.Simple words: [ {($ Id.VSub_DollarName '$DART_BIN')} {<--verbose_gc>} {($ Id.VSub_DollarName '$BENCH_DIR') </> ($ Id.VSub_DollarName '$NAME') </dart/> ($ Id.VSub_DollarName '$NAME') <.dart> } ] redirects: [ (redir.Redir op: <Id.Redir_Great '2>'> fd: 2 arg_word: {($ Id.VSub_DollarName '$TMP') <.gclog>} ) ] ) (command.Simple words: [ {($ Id.VSub_DollarName '$DART_BIN')} {($ Id.VSub_DollarName '$VERBOSE_GC_TO_BMU')} ] redirects: [ (redir.Redir op: <Id.Redir_Less '<'> fd: -1 arg_word: {($ Id.VSub_DollarName '$TMP') <.gclog>} ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$TMP') <.dat>} ) ] ) (C {<gnuplot>} {<-e>} { (DQ <"set term png; set output '"> ($ Id.VSub_DollarName '$TMP') <".png'; set title '"> ($ Id.VSub_DollarName '$NAME') < "'; set ylabel 'BMU'; set xlabel 'Window size (ms)'; unset key; set yr [0:1]; set logscale x; plot '" > ($ Id.VSub_DollarName '$TMP') <".dat' with linespoints"> ) } ) (C {<mv>} {<-f>} {($ Id.VSub_DollarName '$TMP') <.png>} {($ Id.VSub_DollarName '$OUT_DIR') </> ($ Id.VSub_DollarName '$NAME') <.png>} ) (C {<mv>} {<-f>} {($ Id.VSub_DollarName '$TMP') <.gclog>} {($ Id.VSub_DollarName '$OUT_DIR') </> ($ Id.VSub_DollarName '$NAME') <.txt>} ) (command.Simple words: [ {<echo>} { (DQ <"<a href='"> ($ Id.VSub_DollarName '$NAME') <".txt'><img src='"> ($ Id.VSub_DollarName '$NAME') <".png'></a>"> ) } ] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$INDEX_FILE')} ) ] ) ] ) ] ) ) (command.Simple words: [{<echo>} {(DQ <'</body></html>'>)}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$INDEX_FILE')} ) ] ) ] )