(command.CommandList children: [ (command.Simple blame_tok: <_Dbg_help_add> more_env: [] words: [ {<_Dbg_help_add>} {<Id.ControlFlow_Break break>} { (SQ <'**break** [*loc-spec*]\n'> <'\n'> <'Set a breakpoint at *loc-spec*.\n'> <'\n'> <'If no location specification is given, use the current line.\n'> <'\n'> <'Multiple breakpoints at one place are permitted, and useful if conditional.\n'> <'\n'> <'See also:\n'> <'---------\n'> <'\n'> <'"tbreak" and "continue"'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_help_add> more_env: [] words: [ {<_Dbg_help_add>} {<tbreak>} { (SQ <'**tbreak* [*loc-spec*]\n'> <'\n'> <'Set a one-time breakpoint at *loc-spec*.\n'> <'\n'> <'Like "break" except the breakpoint is only temporary,\n'> <'so it will be deleted when hit. Equivalent to "break" followed\n'> <'by using "delete" on the breakpoint number.\n'> <'\n'> <'If no location specification is given, use the current line.'> ) } ] redirects: [] do_fork: T ) (command.ShFunction name_tok: <_Dbg_do_tbreak> name: _Dbg_do_tbreak body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <_Dbg_do_break_common> more_env: [] words: [{<_Dbg_do_break_common>} {<1>} {($ Id.VSub_At '@')}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {($ Id.VSub_QMark '?')} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_do_break> name: _Dbg_do_break body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <_Dbg_do_break_common> more_env: [] words: [{<_Dbg_do_break_common>} {<0>} {($ Id.VSub_At '@')}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {($ Id.VSub_QMark '?')} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_do_break_common> name: _Dbg_do_break_common body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike 'is_temp='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<linespec>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_Pound '#')} right: {<Id.Lit_Digits 0>} ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'linespec='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linespec='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'linespec='> name:linespec) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 1))} ) ] redirects: [] ) ] spids: [167 182] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'linespec='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linespec='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'linespec='> name:linespec) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName _Dbg_frame_last_lineno))} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<Id.Lit_VarLike 'condition='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{(SQ )}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName linespec))} right: {(SQ <if>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'linespec='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linespec='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'linespec='> name:linespec) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _Dbg_frame_last_lineno)} ) ] redirects: [] ) ] spids: [218 235] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName condition)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'condition='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'condition='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'condition='> name:condition) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] spids: [242 254] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName condition)} right: {(SQ <if>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) ] spids: [261 277] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName condition)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'condition='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'condition='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'condition='> name:condition) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] spids: [286 298] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'condition='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'condition='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'condition='> name:condition) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Star '*'))} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<filename>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<line_number>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<full_filename>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_linespec_setup> more_env: [] words: [{<_Dbg_linespec_setup>} {(DQ ($ Id.VSub_DollarName linespec))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {(DQ ($ Id.VSub_DollarName full_filename))} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DEqual left: ($ Id.Lit_ArithVarLike line_number) right: {<Id.Lit_Digits 0>} ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_errmsg> more_env: [] words: [{<_Dbg_errmsg>} {(SQ <'There is no line 0 to break at.'>)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [361 376] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_Dbg_check_line> more_env: [] words: [ {<_Dbg_check_line>} {($ Id.VSub_DollarName line_number)} {(DQ ($ Id.VSub_DollarName full_filename))} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 0>} ) right: <Id.Op_DRightParen _> redirects: [] ) (command.Simple blame_tok: <_Dbg_set_brkpt> more_env: [] words: [ {<_Dbg_set_brkpt>} {(DQ ($ Id.VSub_DollarName full_filename))} {(DQ ($ Id.VSub_DollarName line_number))} {($ Id.VSub_DollarName is_temp)} {(DQ ($ Id.VSub_DollarName condition))} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [344 358] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_Dbg_file_not_read_in> more_env: [] words: [{<_Dbg_file_not_read_in>} {(DQ ($ Id.VSub_DollarName full_filename))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<2>} ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_do_clear_brkpt> name: _Dbg_do_clear_brkpt body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<-r>} {<Id.Lit_VarLike 'n='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {($ Id.VSub_DollarName _Dbg_frame_lineno)} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<filename>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<line_number>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<full_filename>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_linespec_setup> more_env: [] words: [{<_Dbg_linespec_setup>} {($ Id.VSub_DollarName n)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName full_filename)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DEqual left: ($ Id.Lit_ArithVarLike line_number) right: {<Id.Lit_Digits 0>} ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [{<_Dbg_msg>} {(DQ <'There is no line 0 to clear.'>)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [528 543] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_Dbg_check_line> more_env: [] words: [ {<_Dbg_check_line>} {($ Id.VSub_DollarName line_number)} {(DQ ($ Id.VSub_DollarName full_filename))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 0>} ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_unset_brkpt> more_env: [] words: [ {<_Dbg_unset_brkpt>} {(DQ ($ Id.VSub_DollarName full_filename))} {(DQ ($ Id.VSub_DollarName line_number))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<-r>} {<Id.Lit_VarLike 'found='> ($ Id.VSub_QMark '?')} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {($ Id.VSub_DollarName found)} right: {<0>} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [ {<_Dbg_msg>} { (DQ <'Removed '> ($ Id.VSub_DollarName found) <' breakpoint(s).'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {($ Id.VSub_DollarName found)} ) ] spids: [607 621] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [570 585] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [513 525] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_Dbg_file_not_read_in> more_env: [] words: [{<_Dbg_file_not_read_in>} {(DQ ($ Id.VSub_DollarName full_filename))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_do_list_brkpt> name: _Dbg_do_list_brkpt body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName _seteglob))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_Pound '#')} right: {<Id.Lit_Digits 0>} ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike 'brkpt_num='> (DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {($ Id.VSub_DollarName brkpt_num)} right: {($ Id.VSub_DollarName int_pat)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_errmsg> more_env: [] words: [ {<_Dbg_errmsg>} {(DQ <'Bad breakpoint number '> ($ Id.VSub_DollarName brkpt_num) <.>)} ] redirects: [] do_fork: T ) ] spids: [714 727] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_file> var_name: _Dbg_brkpt_file bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName brkpt_num)} ) right: <Id.Right_DollarBrace '}'> ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_errmsg> more_env: [] words: [ {<_Dbg_errmsg>} { (DQ <'Breakpoint entry '> ($ Id.VSub_DollarName brkpt_num) <' is not set.'> ) } ] redirects: [] do_fork: T ) ] spids: [739 756] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<-r>} {<-i>} {<Id.Lit_VarLike 'i='> ($ Id.VSub_DollarName brkpt_num)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<Id.Lit_VarLike 'source_file='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_file> var_name: _Dbg_brkpt_file bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName i)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'source_file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'source_file='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'source_file='> name: source_file ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_adjust_filename> more_env: [] words: [ {<_Dbg_adjust_filename>} {(DQ ($ Id.VSub_DollarName source_file))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <_Dbg_section> more_env: [] words: [{<_Dbg_section>} {(DQ <'Num Type Disp Enb What'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_printf> more_env: [] words: [ {<_Dbg_printf>} {(DQ <'%-3d breakpoint %-4s %-3s %s:%s'>)} {($ Id.VSub_DollarName i)} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_keep> var_name: _Dbg_keep bracket_op: (bracket_op.ArrayIndex expr: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_onetime> var_name: _Dbg_brkpt_onetime bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ) right: <Id.Right_DollarBrace '}'> ) } { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_yn> var_name: _Dbg_yn bracket_op: (bracket_op.ArrayIndex expr: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_enable> var_name: _Dbg_brkpt_enable bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ) right: <Id.Right_DollarBrace '}'> ) } {(DQ ($ Id.VSub_DollarName source_file))} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_line> var_name: _Dbg_brkpt_line bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName i)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_cond> var_name: _Dbg_brkpt_cond bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {(SQ <1>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_printf> more_env: [] words: [ {<_Dbg_printf>} {(DQ <Id.Lit_BadBackslash '\\'> <'tstop only if %s'>)} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_cond> var_name: _Dbg_brkpt_cond bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] spids: [859 880] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <_Dbg_print_brkpt_count> more_env: [] words: [ {<_Dbg_print_brkpt_count>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_count> var_name: _Dbg_brkpt_count bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName i)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName _resteglob))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [688 703] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_NEqual left: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_line> var_name: _Dbg_brkpt_line prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 0>} ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<i>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_section> more_env: [] words: [{<_Dbg_section>} {(DQ <'Num Type Disp Enb What'>)}] redirects: [] do_fork: T ) (command.ForExpr keyword: <Id.KW_For for> init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 1>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: ($ Id.Lit_ArithVarLike _Dbg_brkpt_max) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<Id.Lit_VarLike 'source_file='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_file> var_name: _Dbg_brkpt_file bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName i)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_line> var_name: _Dbg_brkpt_line bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'source_file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'source_file='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'source_file='> name: source_file ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_adjust_filename> more_env: [] words: [ {<_Dbg_adjust_filename>} {(DQ ($ Id.VSub_DollarName source_file))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <_Dbg_printf> more_env: [] words: [ {<_Dbg_printf>} {(DQ <'%-3d breakpoint %-4s %-3s %s:%s'>)} {($ Id.VSub_DollarName i)} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_keep> var_name: _Dbg_keep bracket_op: (bracket_op.ArrayIndex expr: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_onetime> var_name: _Dbg_brkpt_onetime bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ) right: <Id.Right_DollarBrace '}'> ) } { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_yn> var_name: _Dbg_yn bracket_op: (bracket_op.ArrayIndex expr: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_enable> var_name: _Dbg_brkpt_enable bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ) right: <Id.Right_DollarBrace '}'> ) } {(DQ ($ Id.VSub_DollarName source_file))} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_line> var_name: _Dbg_brkpt_line bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_cond> var_name: _Dbg_brkpt_cond bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } right: {(SQ <1>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_printf> more_env: [] words: [ {<_Dbg_printf>} {(DQ <Id.Lit_BadBackslash '\\'> <'tstop only if %s'>)} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_cond> var_name: _Dbg_brkpt_cond bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] spids: [1084 1105] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.Binary op_id: Id.Arith_LBracket left: ($ Id.Lit_ArithVarLike _Dbg_brkpt_counts ) right: {($ Id.VSub_DollarName i)} ) right: {<Id.Lit_Digits 0>} ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_print_brkpt_count> more_env: [] words: [ {<_Dbg_print_brkpt_count>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_counts> var_name: _Dbg_brkpt_counts bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] spids: [1128 1146] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [1004 1021] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [928 948] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [{<_Dbg_msg>} {(SQ <'No breakpoints have been set.'>)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <_Dbg_alias_add> more_env: [] words: [{<_Dbg_alias_add>} {<b>} {<Id.ControlFlow_Break break>}] redirects: [] do_fork: T ) ] )