(CommandList
  children: [
    (C {(_Dbg_help_add)} {(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"'>
        )
      }
    )
    (C {(_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.'>
        )
      }
    )
    (FuncDef
      name: _Dbg_do_tbreak
      body: 
        (BraceGroup
          children: [
            (C {(_Dbg_do_break_common)} {(1)} {($ VSub_At '$@')})
            (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [95]
        )
      spids: [91 94]
    )
    (FuncDef
      name: _Dbg_do_break
      body: 
        (BraceGroup
          children: [
            (C {(_Dbg_do_break_common)} {(0)} {($ VSub_At '$@')})
            (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [116]
        )
      spids: [112 115]
    )
    (FuncDef
      name: _Dbg_do_break_common
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Typeset
              flags: [-i]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:is_temp)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [154]
                )
              ]
              spids: [150]
            )
            (C {(shift)})
            (Assignment
              keyword: Assign_Typeset
              pairs: [(assign_pair lhs:(LhsName name:linespec) op:Equal spids:[164])]
              spids: [162]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_Great
                              left: (ArithWord w:{($ VSub_Pound '$#')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [169 178]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linespec)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [185]
                        )
                      ]
                      spids: [185]
                    )
                  ]
                  spids: [16777215 182]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:linespec)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$_Dbg_frame_last_lineno'))}
                      spids: [194]
                    )
                  ]
                  spids: [194]
                )
              ]
              spids: [191 200]
            )
            (C {(shift)})
            (Assignment
              keyword: Assign_Typeset
              pairs: [
                (assign_pair
                  lhs: (LhsName name:condition)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                        spids: [210 215]
                      )
                    }
                  spids: [209]
                )
              ]
              spids: [207]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(DQ ($ VSub_Name '$linespec'))}
                              right: {(SQ <if>)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linespec)
                          op: Equal
                          rhs: {($ VSub_Name '$_Dbg_frame_last_lineno')}
                          spids: [238]
                        )
                      ]
                      spids: [238]
                    )
                  ]
                  spids: [16777215 235]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$condition')})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:condition)
                          op: Equal
                          rhs: {(1)}
                          spids: [257]
                        )
                      ]
                      spids: [257]
                    )
                  ]
                  spids: [242 254]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {($ VSub_Name '$condition')}
                              right: {(SQ <if>)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(shift)})]
                  spids: [261 277]
                )
              ]
              spids: [16777215 283]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$condition')})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:condition)
                          op: Equal
                          rhs: {(1)}
                          spids: [301]
                        )
                      ]
                      spids: [301]
                    )
                  ]
                  spids: [16777215 298]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:condition)
                      op: Equal
                      rhs: {(DQ ($ VSub_Star '$*'))}
                      spids: [308]
                    )
                  ]
                  spids: [308]
                )
              ]
              spids: [305 314]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [(assign_pair lhs:(LhsName name:filename) op:Equal spids:[320])]
              spids: [318]
            )
            (Assignment
              keyword: Assign_Typeset
              flags: [-i]
              pairs: [(assign_pair lhs:(LhsName name:line_number) op:Equal spids:[327])]
              spids: [323]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [(assign_pair lhs:(LhsName name:full_filename) op:Equal spids:[332])]
              spids: [330]
            )
            (C {(_Dbg_linespec_setup)} {(DQ ($ VSub_Name '$linespec'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: {(DQ ($ VSub_Name '$full_filename'))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithVarRef name:line_number)
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                  spids: [363 372]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(_Dbg_errmsg)} {(SQ <'There is no line 0 to break at.'>)})
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 376]
                        )
                      ]
                      else_action: [
                        (C {(_Dbg_check_line)} {($ VSub_Name '$line_number')} 
                          {(DQ ($ VSub_Name '$full_filename'))}
                        )
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_QMark '$?')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                              spids: [403 412]
                            )
                            (C {(_Dbg_set_brkpt)} {(DQ ($ VSub_Name '$full_filename'))} 
                              {(DQ ($ VSub_Name '$line_number'))} {($ VSub_Name '$is_temp')} {(DQ ($ VSub_Name '$condition'))}
                            )
                          ]
                        )
                      ]
                      spids: [391 435]
                    )
                  ]
                  spids: [16777215 358]
                )
              ]
              else_action: [
                (C {(_Dbg_file_not_read_in)} {(DQ ($ VSub_Name '$full_filename'))})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)})
              ]
              spids: [438 453]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [146]
        )
      spids: [142 145]
    )
    (FuncDef
      name: _Dbg_do_clear_brkpt
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Typeset
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:n)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {($ VSub_Name '$_Dbg_frame_lineno')}
                          )
                        spids: [481 485]
                      )
                    }
                  spids: [480]
                )
              ]
              spids: [476]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [(assign_pair lhs:(LhsName name:filename) op:Equal spids:[491])]
              spids: [489]
            )
            (Assignment
              keyword: Assign_Typeset
              flags: [-i]
              pairs: [(assign_pair lhs:(LhsName name:line_number) op:Equal spids:[498])]
              spids: [494]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [(assign_pair lhs:(LhsName name:full_filename) op:Equal spids:[503])]
              spids: [501]
            )
            (C {(_Dbg_linespec_setup)} {($ VSub_Name '$n')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$full_filename')})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithVarRef name:line_number)
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                  spids: [530 539]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(_Dbg_msg)} {(DQ ('There is no line 0 to clear.'))})
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(0)}
                            )
                          ]
                          spids: [16777215 543]
                        )
                      ]
                      else_action: [
                        (C {(_Dbg_check_line)} {($ VSub_Name '$line_number')} 
                          {(DQ ($ VSub_Name '$full_filename'))}
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_QMark '$?')})
                                          right: (ArithWord w:{(Lit_Digits 0)})
                                        )
                                      spids: [572 581]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(_Dbg_unset_brkpt)} {(DQ ($ VSub_Name '$full_filename'))} 
                                  {(DQ ($ VSub_Name '$line_number'))}
                                )
                                (Assignment
                                  keyword: Assign_Typeset
                                  flags: [-r]
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:found)
                                      op: Equal
                                      rhs: {($ VSub_QMark '$?')}
                                      spids: [603]
                                    )
                                  ]
                                  spids: [599]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DBracket
                                              expr: 
                                                (BoolBinary
                                                  op_id: BoolBinary_GlobNEqual
                                                  left: {($ VSub_Name '$found')}
                                                  right: {(0)}
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(_Dbg_msg)} 
                                          {
                                            (DQ ('Removed ') ($ VSub_Name '$found') (' breakpoint(s).'))
                                          }
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {($ VSub_Name '$found')}
                                        )
                                      ]
                                      spids: [16777215 621]
                                    )
                                  ]
                                  spids: [16777215 638]
                                )
                              ]
                              spids: [16777215 585]
                            )
                          ]
                          spids: [16777215 641]
                        )
                      ]
                      spids: [558 644]
                    )
                  ]
                  spids: [16777215 525]
                )
              ]
              else_action: [
                (C {(_Dbg_file_not_read_in)} {(DQ ($ VSub_Name '$full_filename'))})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
              ]
              spids: [647 662]
            )
          ]
          spids: [473]
        )
      spids: [469 472]
    )
    (FuncDef
      name: _Dbg_do_list_brkpt
      body: 
        (BraceGroup
          children: [
            (C {(eval)} {(DQ ($ VSub_Name '$_seteglob'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_NEqual
                              left: (ArithWord w:{($ VSub_Pound '$#')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [690 699]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Typeset
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:brkpt_num)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [708]
                        )
                      ]
                      spids: [706]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobNEqual
                                      left: {($ VSub_Name '$brkpt_num')}
                                      right: {($ VSub_Name '$int_pat')}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(_Dbg_errmsg)} 
                              {(DQ ('Bad breakpoint number ') ($ VSub_Name '$brkpt_num') (.))}
                            )
                          ]
                          spids: [16777215 727]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name _Dbg_brkpt_file>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$brkpt_num')})
                                              )
                                            spids: [745 750]
                                          )
                                        }
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(_Dbg_errmsg)} 
                              {
                                (DQ ('Breakpoint entry ') ($ VSub_Name '$brkpt_num') (' is not set.'))
                              }
                            )
                          ]
                          spids: [739 756]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_Typeset
                          flags: [-r -i]
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:i)
                              op: Equal
                              rhs: {($ VSub_Name '$brkpt_num')}
                              spids: [777]
                            )
                          ]
                          spids: [771]
                        )
                        (Assignment
                          keyword: Assign_Typeset
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:source_file)
                              op: Equal
                              rhs: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name _Dbg_brkpt_file>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                    spids: [784 789]
                                  )
                                }
                              spids: [783]
                            )
                          ]
                          spids: [781]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:source_file)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(_Dbg_adjust_filename)} 
                                            {(DQ ($ VSub_Name '$source_file'))}
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [793 799]
                                  )
                                }
                              spids: [792]
                            )
                          ]
                          spids: [792]
                        )
                        (C {(_Dbg_section)} {(DQ ('Num Type       Disp Enb What'))})
                        (C {(_Dbg_printf)} {(DQ ('%-3d breakpoint %-4s %-3s %s:%s'))} 
                          {($ VSub_Name '$i')} 
                          {
                            (BracedVarSub
                              token: <VSub_Name _Dbg_keep>
                              bracket_op: 
                                (ArrayIndex
                                  expr: 
                                    (ArithWord
                                      w: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name _Dbg_brkpt_onetime>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [822 827]
                                          )
                                        }
                                    )
                                )
                              spids: [819 829]
                            )
                          } 
                          {
                            (BracedVarSub
                              token: <VSub_Name _Dbg_yn>
                              bracket_op: 
                                (ArrayIndex
                                  expr: 
                                    (ArithWord
                                      w: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name _Dbg_brkpt_enable>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [836 841]
                                          )
                                        }
                                    )
                                )
                              spids: [833 843]
                            )
                          } {(DQ ($ VSub_Name '$source_file'))} 
                          {
                            (BracedVarSub
                              token: <VSub_Name _Dbg_brkpt_line>
                              bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                              spids: [851 856]
                            )
                          }
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DBracket
                                      expr: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobNEqual
                                          left: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name _Dbg_brkpt_cond>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [863 868]
                                              )
                                            }
                                          right: {(SQ <1>)}
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(_Dbg_printf)} {(DQ (Lit_Other '\\') ('tstop only if %s'))} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name _Dbg_brkpt_cond>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                        spids: [891 896]
                                      )
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 880]
                            )
                          ]
                          spids: [16777215 900]
                        )
                        (C {(_Dbg_print_brkpt_count)} 
                          {
                            (BracedVarSub
                              token: <VSub_Name _Dbg_brkpt_count>
                              bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                              spids: [905 910]
                            )
                          }
                        )
                      ]
                      spids: [768 913]
                    )
                    (C {(eval)} {(DQ ($ VSub_Name '$_resteglob'))})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [16777215 703]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_NEqual
                              left: 
                                (ArithWord
                                  w: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name _Dbg_brkpt_line>
                                        prefix_op: VSub_Pound
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [932 938]
                                      )
                                    }
                                )
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          spids: [930 945]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Typeset
                      flags: [-i]
                      pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[955])]
                      spids: [951]
                    )
                    (C {(_Dbg_section)} {(DQ ('Num Type       Disp Enb What'))})
                    (ForExpr
                      init: 
                        (BinaryAssign
                          op_id: Arith_Equal
                          left: (LhsName name:i)
                          right: (ArithWord w:{(Lit_Digits 1)})
                        )
                      cond: 
                        (ArithBinary
                          op_id: Arith_LessEqual
                          left: (ArithVarRef name:i)
                          right: (ArithVarRef name:_Dbg_brkpt_max)
                        )
                      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_Typeset
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:source_file)
                                  op: Equal
                                  rhs: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name _Dbg_brkpt_file>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                        spids: [996 1001]
                                      )
                                    }
                                  spids: [995]
                                )
                              ]
                              spids: [993]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolUnary
                                              op_id: BoolUnary_n
                                              child: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name _Dbg_brkpt_line>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: (ArithWord w:{($ VSub_Name '$i')})
                                                      )
                                                    spids: [1010 1015]
                                                  )
                                                }
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:source_file)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(_Dbg_adjust_filename)} 
                                                        {(DQ ($ VSub_Name '$source_file'))}
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub '$('>
                                                spids: [1025 1031]
                                              )
                                            }
                                          spids: [1024]
                                        )
                                      ]
                                      spids: [1024]
                                    )
                                    (C {(_Dbg_printf)} {(DQ ('%-3d breakpoint %-4s %-3s %s:%s'))} 
                                      {($ VSub_Name '$i')} 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name _Dbg_keep>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: 
                                                (ArithWord
                                                  w: 
                                                    {
                                                      (BracedVarSub
                                                        token: <VSub_Name _Dbg_brkpt_onetime>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [1047 1052]
                                                      )
                                                    }
                                                )
                                            )
                                          spids: [1044 1054]
                                        )
                                      } 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name _Dbg_yn>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: 
                                                (ArithWord
                                                  w: 
                                                    {
                                                      (BracedVarSub
                                                        token: <VSub_Name _Dbg_brkpt_enable>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [1061 1066]
                                                      )
                                                    }
                                                )
                                            )
                                          spids: [1058 1068]
                                        )
                                      } {(DQ ($ VSub_Name '$source_file'))} 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name _Dbg_brkpt_line>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                            )
                                          spids: [1076 1081]
                                        )
                                      }
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DBracket
                                                  expr: 
                                                    (BoolBinary
                                                      op_id: BoolBinary_GlobNEqual
                                                      left: 
                                                        {
                                                          (BracedVarSub
                                                            token: <VSub_Name _Dbg_brkpt_cond>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [1088 1093]
                                                          )
                                                        }
                                                      right: {(SQ <1>)}
                                                    )
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(_Dbg_printf)} 
                                              {(DQ (Lit_Other '\\') ('tstop only if %s'))} 
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name _Dbg_brkpt_cond>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: (ArithWord w:{($ VSub_Name '$i')})
                                                      )
                                                    spids: [1116 1121]
                                                  )
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 1105]
                                        )
                                      ]
                                      spids: [16777215 1125]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithBinary
                                                      op_id: Arith_NEqual
                                                      left: 
                                                        (ArithBinary
                                                          op_id: Arith_LBracket
                                                          left: (ArithVarRef name:_Dbg_brkpt_counts)
                                                          right: (ArithWord w:{($ VSub_Name '$i')})
                                                        )
                                                      right: (ArithWord w:{(Lit_Digits 0)})
                                                    )
                                                  spids: [1130 1142]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(_Dbg_print_brkpt_count)} 
                                              {
                                                (BracedVarSub
                                                  token: <VSub_Name _Dbg_brkpt_counts>
                                                  bracket_op: 
                                                    (ArrayIndex
                                                      expr: (ArithWord w:{($ VSub_Name '$i')})
                                                    )
                                                  spids: [1151 1156]
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 1146]
                                        )
                                      ]
                                      spids: [16777215 1159]
                                    )
                                  ]
                                  spids: [16777215 1021]
                                )
                              ]
                              spids: [16777215 1162]
                            )
                          ]
                          spids: [990 1165]
                        )
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [928 948]
                )
              ]
              else_action: [
                (C {(_Dbg_msg)} {(SQ <'No breakpoints have been set.'>)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              spids: [1173 1188]
            )
          ]
          spids: [677]
        )
      spids: [673 676]
    )
    (C {(_Dbg_alias_add)} {(b)} {(ControlFlow_Break break)})
  ]
)