(command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.ArithWord w:{($ Id.VSub_Pound '$#')}) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 2)}) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:14) ) ] action: [ (C {(echo)} {(DQ ('Usage: ') ($ Id.VSub_Number '$0') (' compilerlist.txt benchfile.cpp'))}) ] spids: [4 16] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:compilerlist) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [30] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:benchfile) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [33] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:g) op:assign_op.Equal rhs:{(0)} spids:[37])] ) (C {(source)} {($ Id.VSub_DollarName '$compilerlist')}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 0)}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:(Token id:Id.Lit_ArithVarLike val:i span_id:58)) right: (arith_expr.VarRef token:(Token id:Id.Lit_ArithVarLike val:g span_id:60)) ) update: (arith_expr.UnaryAssign op_id:Id.Arith_DPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:compiler) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:80) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} { (braced_var_sub token: (Token id:Id.VSub_Name val:CLIST span_id:86) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$i')} ) ) ) } ) (C {(cut)} {(-d)} {(DQ (' '))} {(-f)} {(1)}) ] negated: F ) ] ) ) } spids: [79] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Id.Lit_LBracket '[')} {(-e)} { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:114) command_list: (command.CommandList children: [(C {(which)} {($ Id.VSub_DollarName '$compiler')})] ) ) } {(Id.Lit_RBracket ']')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:123) ) ] action: [ (C {(echo)} { (DQ (braced_var_sub token: (Token id:Id.VSub_Name val:CLIST span_id:132) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) ) } ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C { (braced_var_sub token: (Token id:Id.VSub_Name val:CLIST span_id:147) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$i')}) ) ) } {($ Id.VSub_DollarName '$benchfile')} {(-I..)} {(-o)} {(.bench)} ) (command.Simple words: [{(./.bench)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:165) fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) (C {(echo)} {(DQ )}) ] spids: [108 125] ) ] else_action: [ (C {(echo)} {(DQ ('compiler not found: ') ($ Id.VSub_DollarName '$compiler'))}) ] ) ] ) ) ] )