(command.ShFunction name: _Dbg_debugger body: (command.BraceGroup children: [ (C {(KW_Set set)} {(-o)} {(functrace)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Arith_Great left: (arith_expr.ArithWord w:{($ VSub_Pound '$#')}) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:step_ignore) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) (C {(shift)}) ] ) ] else_action: [ (C {(typeset)} {(Lit_VarLike 'step_ignore=') (braced_var_sub token: <VSub_Name _Dbg_step_ignore> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:{(SQ )}) ) } ) ] ) (command.WhileUntil keyword: <KW_While while> cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Arith_Great left: (arith_expr.ArithWord w:{($ VSub_Pound '$#')}) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] body: (command.DoGroup children:[(C {(eval)} {($ VSub_Number '$1')}) (C {(shift)})]) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: BoolUnary_z child: {($ VSub_DollarName '$_Dbg_set_trace_init')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_set_trace_init) op: Equal rhs: {(1)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_step_ignore) op: Equal rhs: { (braced_var_sub token: <VSub_Name step_ignore> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:{(0)}) ) } ) ] ) (C {(_Dbg_write_journal)} {(DQ ('_Dbg_step_ignore=0'))}) ] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_step_ignore) op: Equal rhs: { (braced_var_sub token: <VSub_Number 1> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:{(1)}) ) } ) ] ) ] ) (C {(trap)} {(SQ <'_Dbg_debug_trap_handler 0 "$BASH_COMMAND" "$@"'>)} {(DEBUG)}) ] ) )