(CommandList children: [ (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_keep) op:Equal spids:[69])] spids: [65] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_keep) op: Equal rhs: {(ArrayLiteralPart words:[{(SQ <keep>)} {(SQ <del>)}])} spids: [71] ) ] spids: [71] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_brkpt_line) op:Equal spids:[104])] spids: [100] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_brkpt_line) op: Equal rhs: {(ArrayLiteralPart)} spids: [107] ) ] spids: [107] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:_Dbg_brkpt_count) op:Equal rhs:{(0)} spids:[119])] spids: [115] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_brkpt_file) op:Equal spids:[130])] spids: [126] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_brkpt_file) op: Equal rhs: {(ArrayLiteralPart)} spids: [133] ) ] spids: [133] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_brkpt_enable) op:Equal spids:[145])] spids: [141] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_brkpt_enable) op: Equal rhs: {(ArrayLiteralPart)} spids: [148] ) ] spids: [148] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_brkpt_counts) op:Equal spids:[160])] spids: [156] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_brkpt_counts) op: Equal rhs: {(ArrayLiteralPart)} spids: [163] ) ] spids: [163] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_brkpt_onetime) op:Equal spids:[175])] spids: [171] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_brkpt_onetime) op: Equal rhs: {(ArrayLiteralPart)} spids: [178] ) ] spids: [178] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_brkpt_cond) op:Equal spids:[190])] spids: [186] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_brkpt_cond) op: Equal rhs: {(ArrayLiteralPart)} spids: [193] ) ] spids: [193] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:_Dbg_brkpt_max) op:Equal rhs:{(0)} spids:[208])] spids: [204] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-A] pairs: [(assign_pair lhs:(LhsName name:_Dbg_brkpt_file2linenos) op:Equal spids:[219])] spids: [215] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_brkpt_file2linenos) op: Equal rhs: {(ArrayLiteralPart)} spids: [222] ) ] spids: [222] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-A] pairs: [(assign_pair lhs:(LhsName name:_Dbg_brkpt_file2brkpt) op:Equal spids:[234])] spids: [230] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_brkpt_file2brkpt) op: Equal rhs: {(ArrayLiteralPart)} spids: [237] ) ] spids: [237] ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:_Dbg_watch_exp) op: Equal rhs: {(ArrayLiteralPart)} spids: [259] ) ] spids: [255] ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:_Dbg_watch_val) op: Equal rhs: {(ArrayLiteralPart)} spids: [270] ) ] spids: [266] ) (Assignment keyword: Assign_Typeset flags: [-ai] pairs: [ (assign_pair lhs: (LhsName name:_Dbg_watch_arith) op: Equal rhs: {(ArrayLiteralPart)} spids: [281] ) ] spids: [277] ) (Assignment keyword: Assign_Typeset flags: [-ai] pairs: [ (assign_pair lhs: (LhsName name:_Dbg_watch_count) op: Equal rhs: {(ArrayLiteralPart)} spids: [292] ) ] spids: [288] ) (Assignment keyword: Assign_Typeset flags: [-ai] pairs: [ (assign_pair lhs: (LhsName name:_Dbg_watch_enable) op: Equal rhs: {(ArrayLiteralPart)} spids: [303] ) ] spids: [299] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:_Dbg_watch_max) op:Equal rhs:{(0)} spids:[314])] spids: [310] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:_Dbg_watch_pat) op: Equal rhs: {(DQ (${ VSub_Name int_pat) ('[wW]'))} spids: [327] ) ] spids: [325] ) (FuncDef name: _Dbg_save_breakpoints body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:file) op:Equal spids:[349])] spids: [347] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_brkpt_line)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [358] ) ] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_brkpt_file)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [369] ) ] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_brkpt_cond)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [380] ) ] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_brkpt_count)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [391] ) ] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_brkpt_enable)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [402] ) ] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_brkpt_onetime)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [413] ) ] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_brkpt_max)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [424] ) ] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_brkpt_file2linenos)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [435] ) ] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_brkpt_file2brkpt)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [446] ) ] ) ] spids: [344] ) spids: [340 343] ) (FuncDef name: _Dbg_save_watchpoints body: (BraceGroup children: [ (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_watch_exp)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [467] ) ] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_watch_val)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [478] ) ] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_watch_arith)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [489] ) ] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_watch_count)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [500] ) ] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_watch_enable)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [511] ) ] ) (SimpleCommand words: [{(Assign_Typeset typeset)} {(-p)} {(_Dbg_watch_max)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_statefile')} spids: [522] ) ] ) ] spids: [458] ) spids: [454 457] ) (FuncDef name: _Dbg_enable_disable body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_LessEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 2)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_errmsg)} { (DQ ('_Dbg_enable_disable error - need at least 2 args, got ') ($ VSub_Pound '$#') ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 556] ) ] spids: [16777215 572] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:on) op: Equal rhs: {($ VSub_Number '$1')} spids: [579] ) ] spids: [575] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:en_dis) op: Equal rhs: {($ VSub_Number '$2')} spids: [585] ) ] spids: [583] ) (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (C {(shift)}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Number '$1')} right: {(SQ <display>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(shift)}) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:to_go) op: Equal rhs: {(DQ ($ VSub_At '$@'))} spids: [620] ) ] spids: [618] ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[628])] spids: [626] ) (C {(eval)} {(DQ ($ VSub_Name '$_seteglob'))}) (ForEach iter_name: i iter_words: [{($ VSub_Name '$to_go')}] do_arg_iter: F body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$i')} arms: [ (case_arm pat_list: [{($ VSub_Name '$int_pat')}] action: [ (C {(_Dbg_enable_disable_display)} {($ VSub_Name '$on')} {($ VSub_Name '$en_dis')} {($ VSub_Name '$i')} ) ] spids: [658 660 672 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(_Dbg_errmsg)} {(DQ ('Invalid entry number skipped: ') ($ VSub_Name '$i'))} ) ] spids: [675 677 16777215 688] ) ] spids: [651 655 688] ) ] spids: [648 691] ) spids: [643 646] ) (C {(eval)} {(DQ ($ VSub_Name '$_resteglob'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [16777215 612] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Number '$1')} right: {(SQ <action>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(shift)}) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:to_go) op: Equal rhs: {(DQ ($ VSub_At '$@'))} spids: [730] ) ] spids: [728] ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[738])] spids: [736] ) (C {(eval)} {(DQ ($ VSub_Name '$_seteglob'))}) (ForEach iter_name: i iter_words: [{($ VSub_Name '$to_go')}] do_arg_iter: F body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$i')} arms: [ (case_arm pat_list: [{($ VSub_Name '$int_pat')}] action: [ (C {(_Dbg_enable_disable_action)} {($ VSub_Name '$on')} {($ VSub_Name '$en_dis')} {($ VSub_Name '$i')} ) ] spids: [768 770 782 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(_Dbg_errmsg)} {(DQ ('Invalid entry number skipped: ') ($ VSub_Name '$i'))} ) ] spids: [785 787 16777215 798] ) ] spids: [761 765 798] ) ] spids: [758 801] ) spids: [753 756] ) (C {(eval)} {(DQ ($ VSub_Name '$_resteglob'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [706 722] ) ] spids: [16777215 816] ) (Sentence child: (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:to_go) op:Equal spids:[822])] spids: [820] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:to_go) op: Equal rhs: {(DQ ($ VSub_At '$@'))} spids: [825] ) ] spids: [825] ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[833])] spids: [831] ) (C {(eval)} {(DQ ($ VSub_Name '$_seteglob'))}) (ForEach iter_name: i iter_words: [{($ VSub_Name '$to_go')}] do_arg_iter: F body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$i')} arms: [ (case_arm pat_list: [{($ VSub_Name '$_Dbg_watch_pat')}] action: [ (C {(_Dbg_enable_disable_watch)} {($ VSub_Name '$on')} {($ VSub_Name '$en_dis')} { (BracedVarSub token: <VSub_Name del> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithBinary op_id: Arith_Minus left: (ArithWord w: { (BracedVarSub token: <VSub_Name del> prefix_op: VSub_Pound spids: [879 882] ) } ) right: (ArithWord w:{(Lit_Digits 1)}) ) ) spids: [874 885] ) } ) ] spids: [863 865 888 16777215] ) (case_arm pat_list: [{($ VSub_Name '$int_pat')}] action: [ (C {(_Dbg_enable_disable_brkpt)} {($ VSub_Name '$on')} {($ VSub_Name '$en_dis')} {($ VSub_Name '$i')} ) ] spids: [891 893 905 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(_Dbg_errmsg)} {(DQ ('Invalid entry number skipped: ') ($ VSub_Name '$i'))} ) ] spids: [908 910 16777215 921] ) ] spids: [856 860 921] ) ] spids: [853 924] ) spids: [848 851] ) (C {(eval)} {(DQ ($ VSub_Name '$_resteglob'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [540] ) spids: [536 539] ) (FuncDef name: _Dbg_print_brkpt_count body: (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[961])] spids: [957] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {($ VSub_Number '$1')} spids: [964] ) ] spids: [964] ) (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: (ArithVarRef name:i) ) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:_Dbg_brkpt_counts) right: (ArithVarRef name:i) ) right: (ArithWord w:{(Lit_Digits 1)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_printf)} {(DQ (Lit_Other '\\') ('tbreakpoint already hit 1 time'))} ) ] spids: [16777215 1007] ) ] else_action: [ (C {(_Dbg_printf)} {(DQ (Lit_Other '\\') ('tbreakpoint already hit %d times'))} { (BracedVarSub token: <VSub_Name _Dbg_brkpt_counts> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')})) spids: [1028 1033] ) } ) ] spids: [1018 1036] ) ] spids: [16777215 986] ) ] spids: [16777215 1039] ) ] spids: [954] ) spids: [950 953] ) (FuncDef name: _Dbg_clear_all_brkpt body: (BraceGroup children: [ (C {(_Dbg_write_journal_eval)} {(DQ ('_Dbg_brkpt_file2linenos=()'))}) (C {(_Dbg_write_journal_eval)} {(DQ ('_Dbg_brkpt_file2brkpt=()'))}) (C {(_Dbg_write_journal_eval)} {(DQ ('_Dbg_brkpt_line=()'))}) (C {(_Dbg_write_journal_eval)} {(DQ ('_Dbg_brkpt_cond=()'))}) (C {(_Dbg_write_journal_eval)} {(DQ ('_Dbg_brkpt_file=()'))}) (C {(_Dbg_write_journal_eval)} {(DQ ('_Dbg_brkpt_enable=()'))}) (C {(_Dbg_write_journal_eval)} {(DQ ('_Dbg_brkpt_counts=()'))}) (C {(_Dbg_write_journal_eval)} {(DQ ('_Dbg_brkpt_onetime=()'))}) (C {(_Dbg_write_journal_eval)} {(DQ ('_Dbg_brkpt_count=0'))}) ] spids: [1055] ) spids: [1051 1054] ) (FuncDef name: _Dbg_set_brkpt body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_DPipe left: (ArithBinary op_id: Arith_Less left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 3)}) ) right: (ArithBinary op_id: Arith_Great left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 4)}) ) ) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:source_file) op:Equal spids:[1162])] spids: [1160] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source_file) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_expand_filename)} {(DQ ($ VSub_Number '$1'))})] ) left_token: <Left_CommandSub '$('> spids: [1166 1172] ) } spids: [1165] ) ] spids: [1165] ) (Assignment keyword: Assign_Typeset flags: [-ri] pairs: [ (assign_pair lhs: (LhsName name:lineno) op: Equal rhs: {($ VSub_Number '$2')} spids: [1179] ) ] spids: [1175] ) (Assignment keyword: Assign_Typeset flags: [-ri] pairs: [ (assign_pair lhs: (LhsName name:is_temp) op: Equal rhs: {($ VSub_Number '$3')} spids: [1187] ) ] spids: [1183] ) (Assignment keyword: Assign_Typeset flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:condition) op: Equal rhs: { (BracedVarSub token: <VSub_Number 4> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(1)}) spids: [1196 1200] ) } spids: [1195] ) ] spids: [1191] ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:_Dbg_brkpt_max)) ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:_Dbg_brkpt_count)) ) (C {(_Dbg_brkpt_line) (Lit_Other '[') ($ VSub_Name '$_Dbg_brkpt_max') (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$lineno') } ) (C {(_Dbg_brkpt_file) (Lit_Other '[') ($ VSub_Name '$_Dbg_brkpt_max') (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$source_file')) } ) (C {(_Dbg_brkpt_cond) (Lit_Other '[') ($ VSub_Name '$_Dbg_brkpt_max') (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$condition')) } ) (C {(_Dbg_brkpt_onetime) (Lit_Other '[') ($ VSub_Name '$_Dbg_brkpt_max') (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$is_temp') } ) (C {(_Dbg_brkpt_counts) (Lit_Other '[') ($ VSub_Name '$_Dbg_brkpt_max') (Lit_Other ']') (Lit_Other '=') (0) } ) (C {(_Dbg_brkpt_enable) (Lit_Other '[') ($ VSub_Name '$_Dbg_brkpt_max') (Lit_Other ']') (Lit_Other '=') (1) } ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:dq_source_file) op:Equal spids:[1278])] spids: [1276] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dq_source_file) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_esc_dq)} {(DQ ($ VSub_Name '$source_file'))})] ) left_token: <Left_CommandSub '$('> spids: [1282 1288] ) } spids: [1281] ) ] spids: [1281] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:dq_condition) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_esc_dq)} {(DQ ($ VSub_Name '$condition'))})] ) left_token: <Left_CommandSub '$('> spids: [1294 1300] ) } spids: [1293] ) ] spids: [1291] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_old_set_opts) op: Equal rhs: {(DQ ($ VSub_Name '$_Dbg_old_set_opts') (' -o functrace'))} spids: [1308] ) ] spids: [1308] ) (C {(_Dbg_write_journal_eval)} {(DQ ("_Dbg_old_set_opts='") ($ VSub_Name '$_Dbg_old_set_opts') ("'"))} ) (C {(_Dbg_write_journal_eval)} { (DQ ('_Dbg_brkpt_line[') ($ VSub_Name '$_Dbg_brkpt_max') (']=') ($ VSub_Name '$lineno')) } ) (C {(_Dbg_write_journal_eval)} { (DQ ('_Dbg_brkpt_file[') ($ VSub_Name '$_Dbg_brkpt_max') (']=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$dq_source_file') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) (C {(_Dbg_write_journal)} { (DQ ('_Dbg_brkpt_cond[') ($ VSub_Name '$_Dbg_brkpt_max') (']=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$dq_condition') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) (C {(_Dbg_write_journal)} { (DQ ('_Dbg_brkpt_onetime[') ($ VSub_Name '$_Dbg_brkpt_max') (']=') ($ VSub_Name '$is_temp') ) } ) (C {(_Dbg_write_journal)} { (DQ ('_Dbg_brkpt_counts[') ($ VSub_Name '$_Dbg_brkpt_max') (']=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (0) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) (C {(_Dbg_write_journal)} {(DQ ('_Dbg_brkpt_enable[') ($ VSub_Name '$_Dbg_brkpt_max') (']=1'))} ) (C {(_Dbg_write_journal_eval)} { (DQ ('_Dbg_brkpt_file2linenos[') ($ VSub_Name '$source_file') (']+=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') ($ VSub_Name '$lineno') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) (C {(_Dbg_write_journal_eval)} { (DQ ('_Dbg_brkpt_file2brkpt[') ($ VSub_Name '$source_file') (']+=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') ($ VSub_Name '$_Dbg_brkpt_max') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) (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: [1429 1435] ) } spids: [1428] ) ] spids: [1428] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithVarRef name:is_temp) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_msg)} { (DQ ('Breakpoint ') ($ VSub_Name '$_Dbg_brkpt_max') (' set in file ') (${ VSub_Name source_file) (', line ') ($ VSub_Name '$lineno') (.) ) } ) ] spids: [16777215 1453] ) ] else_action: [ (C {(_Dbg_msg)} { (DQ ('One-time breakpoint ') ($ VSub_Name '$_Dbg_brkpt_max') (' set in file ') (${ VSub_Name source_file) (', line ') ($ VSub_Name '$lineno') (.) ) } ) ] spids: [1471 1489] ) (C {(_Dbg_write_journal)} {(DQ ('_Dbg_brkpt_max=') ($ VSub_Name '$_Dbg_brkpt_max'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [1131] ) spids: [1127 1130] ) (FuncDef name: _Dbg_unset_brkpt_arrays body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:del) op: Equal rhs: {($ VSub_Number '$1')} spids: [1542] ) ] spids: [1538] ) (C {(_Dbg_write_journal_eval)} {(DQ ('unset _Dbg_brkpt_line[') ($ VSub_Name '$del') (']'))}) (C {(_Dbg_write_journal_eval)} {(DQ ('unset _Dbg_brkpt_counts[') ($ VSub_Name '$del') (']'))} ) (C {(_Dbg_write_journal_eval)} {(DQ ('unset _Dbg_brkpt_file[') ($ VSub_Name '$del') (']'))}) (C {(_Dbg_write_journal_eval)} {(DQ ('unset _Dbg_brkpt_enable[') ($ VSub_Name '$del') (']'))} ) (C {(_Dbg_write_journal_eval)} {(DQ ('unset _Dbg_brkpt_cond[') ($ VSub_Name '$del') (']'))}) (C {(_Dbg_write_journal_eval)} {(DQ ('unset _Dbg_brkpt_onetime[') ($ VSub_Name '$del') (']'))} ) (DParen child: (UnaryAssign op_id:Node_PostDMinus child:(LhsName name:_Dbg_brkpt_count)) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [1517] ) spids: [1513 1516] ) (FuncDef name: _Dbg_unset_brkpt body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 2)}) ) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: {($ VSub_Number '$1')} spids: [1651] ) ] spids: [1649] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:lineno) op: Equal rhs: {($ VSub_Number '$2')} spids: [1659] ) ] spids: [1655] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:found) op:Equal rhs:{(0)} spids:[1667])] spids: [1663] ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:fullname) op:Equal spids:[1673])] spids: [1671] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fullname) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_expand_filename)} {(DQ ($ VSub_Name '$filename'))})] ) left_token: <Left_CommandSub '$('> spids: [1677 1683] ) } spids: [1676] ) ] spids: [1676] ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:linenos) op:Equal spids:[1695])] spids: [1691] ) (C {(eval)} { (DQ ('linenos=(') (BracedVarSub token: <VSub_Name _Dbg_brkpt_file2linenos> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$fullname')})) spids: [1702 1707] ) (')') ) } ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:brkpt_nos) op:Equal spids:[1716])] spids: [1712] ) (C {(eval)} { (DQ ('brkpt_nos=(') (BracedVarSub token: <VSub_Name _Dbg_brkpt_file2brkpt> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$fullname')})) spids: [1723 1728] ) (')') ) } ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[1738])] spids: [1734] ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 0)}) ) cond: (ArithBinary op_id: Arith_LessEqual left: (ArithVarRef name:i) right: (ArithWord w: { (BracedVarSub token: <VSub_Name linenos> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [1757 1763] ) } ) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:linenos) right: (ArithVarRef name:i) ) right: (ArithVarRef name:lineno) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:brkpt_num) op: Equal spids: [1804] ) ] spids: [1800] ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:brkpt_num) right: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:brkpt_nos) right: (ArithVarRef name:i) ) ) ) (C {(_Dbg_unset_brkpt_arrays)} {($ VSub_Name '$brkpt_num')}) (C {(unset)} {(linenos) (Lit_Other '[') (i) (Lit_Other ']')}) (C {(_Dbg_brkpt_file2linenos) (Lit_Other '[') ($ VSub_Name '$fullname') (Lit_Other ']') (Lit_Other '=') (BracedVarSub token: <VSub_Name linenos> bracket_op: (WholeArray op_id:Lit_At) spids: [1840 1845] ) } ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:brkpt_nos) op: Equal spids: [1852] ) ] spids: [1848] ) (C {(eval)} { (DQ ('brkpt_nos=(') (BracedVarSub token: <VSub_Name _Dbg_brkpt_file2brkpt> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$filename')}) ) spids: [1859 1864] ) (')') ) } ) (C {(unset)} {(brkpt_nos) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']')} ) (C {(_Dbg_brkpt_file2brkpt) (Lit_Other '[') ($ VSub_Name '$filename') (Lit_Other ']') (Lit_Other '=') (BracedVarSub token: <VSub_Name brkpt_nos> bracket_op: (WholeArray op_id:Lit_At) spids: [1882 1887] ) } ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:found)) ) ] spids: [16777215 1793] ) ] spids: [16777215 1900] ) ] spids: [1772 1903] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithVarRef name:found) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(_Dbg_file_canonic)} {(DQ ($ VSub_Name '$filename'))}) ] ) left_token: <Left_CommandSub '$('> spids: [1925 1931] ) } spids: [1924] ) ] spids: [1924] ) (C {(_Dbg_errmsg)} { (DQ ('No breakpoint found at ') ($ VSub_Name '$filename') (', line ') (${ VSub_Name lineno) (.) ) } ) ] spids: [16777215 1921] ) ] spids: [16777215 1947] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name '$found')} ) ] spids: [1627] ) spids: [1623 1626] ) (FuncDef name: _Dbg_delete_brkpt_entry body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 0)}) ) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (Assignment keyword: Assign_Typeset flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:del) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1992] ) ] spids: [1988] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[2002])] spids: [1998] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:found) op:Equal rhs:{(0)} spids:[2009])] spids: [2005] ) (If arms: [ (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 '$del')})) spids: [2020 2025] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_errmsg)} {(DQ ('No breakpoint number ') ($ VSub_Name '$del') (.))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 2031] ) ] spids: [16777215 2048] ) (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 '$del')})) spids: [2054 2059] ) } spids: [2053] ) ] spids: [2051] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:lineno) op: Equal rhs: { (BracedVarSub token: <VSub_Name _Dbg_brkpt_line> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$del')})) spids: [2067 2072] ) } spids: [2066] ) ] spids: [2062] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:try) op:Equal spids:[2079])] spids: [2075] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:new_lineno_val) op: Equal rhs: {(SQ )} spids: [2084] ) ] spids: [2082] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:new_brkpt_nos) op: Equal rhs: {(SQ )} spids: [2091] ) ] spids: [2089] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(-1)} spids:[2100])] spids: [2096] ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:brkpt_nos) op:Equal spids:[2108])] spids: [2104] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:brkpt_nos) op: Equal rhs: { (ArrayLiteralPart words: [ { (BracedVarSub token: <VSub_Name _Dbg_brkpt_file2brkpt> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$source_file')})) spids: [2113 2118] ) } ] ) } spids: [2111] ) ] spids: [2111] ) (ForEach iter_name: try iter_words: [ { (BracedVarSub token: <VSub_Name _Dbg_brkpt_file2linenos> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$source_file')})) spids: [2128 2133] ) } ] do_arg_iter: F body: (DoGroup children: [ (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:brkpt_nos) right: (ArithVarRef name:i) ) right: (ArithVarRef name:del) ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithVarRef name:try) right: (ArithVarRef name:lineno) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_errmsg)} {(SQ <'internal brkpt structure inconsistency'>)}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 2183] ) ] spids: [16777215 2198] ) (C {(_Dbg_unset_brkpt_arrays)} {($ VSub_Name '$del')}) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:found)) ) ] spids: [16777215 2165] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:new_lineno_val) op: PlusEqual rhs: {(DQ (' ') ($ VSub_Name '$try') (' '))} spids: [2216] ) ] spids: [2216] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:new_brkpt_nos) op: PlusEqual rhs: { (DQ (' ') (BracedVarSub token: <VSub_Name brkpt_nos> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')})) spids: [2227 2232] ) (' ') ) } spids: [2224] ) ] spids: [2224] ) ] spids: [2213 2237] ) ] spids: [2137 2240] ) spids: [2127 2135] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:found) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w: { (BracedVarSub token: <VSub_Name new_lineno_val> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [2265 2271] ) } ) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_write_journal_eval)} { (DQ ("unset '_Dbg_brkpt_file2linenos[") ($ VSub_Name '$source_file') ("]'") ) } ) (C {(_Dbg_write_journal_eval)} { (DQ ("unset '_Dbg_brkpt_file2brkpt[") ($ VSub_Name '$source_file') ("]'") ) } ) ] spids: [16777215 2282] ) ] else_action: [ (C {(_Dbg_write_journal_eval)} { (DQ ('_Dbg_brkpt_file2linenos[') ($ VSub_Name '$source_file') (']=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (${ VSub_Name new_lineno_val) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) (C {(_Dbg_write_journal_eval)} { (DQ ('_Dbg_brkpt_file2brkpt[') ($ VSub_Name '$source_file') (']=') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ($ VSub_Name '$new_brkpt_nos') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) ] spids: [2307 2340] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [16777215 2258] ) ] spids: [16777215 2348] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [1967] ) spids: [1963 1966] ) (FuncDef name: _Dbg_enable_disable_action body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 3)}) ) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:on) op: Equal rhs: {($ VSub_Number '$1')} spids: [2388] ) ] spids: [2384] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:en_dis) op: Equal rhs: {($ VSub_Number '$2')} spids: [2394] ) ] spids: [2392] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {($ VSub_Number '$3')} spids: [2402] ) ] spids: [2398] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name _Dbg_brkpt_file> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')})) spids: [2413 2418] ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name _Dbg_action_enable> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$i')}) ) spids: [2432 2437] ) } right: {($ VSub_Name '$on')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_errmsg)} { (DQ ('Breakpoint entry ') ($ VSub_Name '$i') (' already ') (${ VSub_Name en_dis) (', so nothing done.') ) } ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 2447] ) ] else_action: [ (C {(_Dbg_write_journal_eval)} {(DQ ('_Dbg_brkpt_enable[') ($ VSub_Name '$i') (']=') ($ VSub_Name '$on'))} ) (C {(_Dbg_msg)} { (DQ ('Action entry ') ($ VSub_Name '$i') (' ') ($ VSub_Name '$en_dis') (.)) } ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [2468 2497] ) ] spids: [16777215 2425] ) ] else_action: [ (C {(_Dbg_errmsg)} {(DQ ('Action entry ') ($ VSub_Name '$i') (" doesn't exist, so nothing done."))} ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [2500 2517] ) ] spids: [2365] ) spids: [2361 2364] ) (FuncDef name: _Dbg_enable_disable_brkpt body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 3)}) ) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:on) op: Equal rhs: {($ VSub_Number '$1')} spids: [2552] ) ] spids: [2548] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:en_dis) op: Equal rhs: {($ VSub_Number '$2')} spids: [2558] ) ] spids: [2556] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {($ VSub_Number '$3')} spids: [2566] ) ] spids: [2562] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name _Dbg_brkpt_file> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')})) spids: [2577 2582] ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name _Dbg_brkpt_enable> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$i')}) ) spids: [2596 2601] ) } right: {($ VSub_Name '$on')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_errmsg)} { (DQ ('Breakpoint entry ') ($ VSub_Name '$i') (' already ') (${ VSub_Name en_dis) (', so nothing done.') ) } ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 2611] ) ] else_action: [ (C {(_Dbg_write_journal_eval)} {(DQ ('_Dbg_brkpt_enable[') ($ VSub_Name '$i') (']=') ($ VSub_Name '$on'))} ) (C {(_Dbg_msg)} { (DQ ('Breakpoint entry ') ($ VSub_Name '$i') (' ') ($ VSub_Name '$en_dis') (.) ) } ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [2632 2661] ) ] spids: [16777215 2589] ) ] else_action: [ (C {(_Dbg_errmsg)} { (DQ ('Breakpoint entry ') ($ VSub_Name '$i') (" doesn't exist, so nothing done.")) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [2664 2681] ) ] spids: [2529] ) spids: [2525 2528] ) (FuncDef name: _Dbg_get_watch_exp_eval body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {($ VSub_Number '$1')} spids: [2701] ) ] spids: [2697] ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:new_val) op:Equal spids:[2707])] spids: [2705] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (CommandSubPart command_list: (CommandList children: [ (C {(eval)} {(echo)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (BracedVarSub token: <VSub_Name _Dbg_watch_exp> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$i')}) ) spids: [2721 2726] ) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2715 2728] ) } right: {(DQ )} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:new_val) op: Equal rhs: {(SQ )} spids: [2741] ) ] spids: [2741] ) ] spids: [16777215 2738] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithBinary op_id: Arith_LBracket left: (ArithVarRef name:_Dbg_watch_arith) right: (ArithWord w:{($ VSub_Name '$i')}) ) right: (ArithWord w:{(Lit_Digits 1)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(.)} {(${ VSub_Name _Dbg_libdir) (/dbg-set-d-vars.inc)}) (C {(eval)} {(let)} {(Lit_VarLike 'new_val=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (BracedVarSub token: <VSub_Name _Dbg_watch_exp> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')})) spids: [2781 2786] ) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) } ) ] spids: [2746 2764] ) ] else_action: [ (C {(.)} {(${ VSub_Name _Dbg_libdir) (/dbg-set-d-vars.inc)}) (C {(eval)} {(Lit_VarLike 'new_val=') (DQ (BracedVarSub token: <VSub_Name _Dbg_watch_exp> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')})) spids: [2805 2810] ) ) } ) ] spids: [2790 2814] ) (C {(echo)} {($ VSub_Name '$new_val')}) ] spids: [2694] ) spids: [2690 2693] ) (FuncDef name: _Dbg_enable_disable_watch body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:on) op: Equal rhs: {($ VSub_Number '$1')} spids: [2838] ) ] spids: [2834] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:en_dis) op: Equal rhs: {($ VSub_Number '$2')} spids: [2844] ) ] spids: [2842] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {($ VSub_Number '$3')} spids: [2852] ) ] spids: [2848] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} { (DQ (BracedVarSub token: <VSub_Name _Dbg_watch_exp> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')})) spids: [2863 2868] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name _Dbg_watch_enable> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$i')}) ) spids: [2882 2887] ) } right: {($ VSub_Name '$on')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_msg)} { (DQ ('Watchpoint entry ') ($ VSub_Name '$i') (' already ') ($ VSub_Name '$en_dis') (' so nothing done.') ) } ) ] spids: [16777215 2897] ) ] else_action: [ (C {(_Dbg_write_journal_eval)} {(DQ ('_Dbg_watch_enable[') ($ VSub_Name '$i') (']=') ($ VSub_Name '$on'))} ) (C {(_Dbg_msg)} { (DQ ('Watchpoint entry ') ($ VSub_Name '$i') (' ') ($ VSub_Name '$en_dis') (.) ) } ) ] spids: [2911 2935] ) ] spids: [16777215 2875] ) ] else_action: [ (C {(_Dbg_msg)} {(DQ ('Watchpoint entry ') ($ VSub_Name '$i') (" doesn't exist so nothing done."))} ) ] spids: [2938 2950] ) ] spids: [2831] ) spids: [2827 2830] ) (FuncDef name: _Dbg_list_watch body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (BracedVarSub token: <VSub_Name _Dbg_watch_exp> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [2966 2972] ) } {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {(0)} spids: [2987] ) (assign_pair lhs: (LhsName name:j) op: Equal spids: [2990] ) ] spids: [2985] ) (C {(_Dbg_section)} {(DQ ('Num Type Enb Expression'))}) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 0)}) ) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithVarRef name:_Dbg_watch_max) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} { (DQ (BracedVarSub token: <VSub_Name _Dbg_watch_exp> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$i')}) ) spids: [3040 3045] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_printf)} {(SQ <'%-3d watchpoint %-4s %s'>)} {($ VSub_Name '$i')} { (BracedVarSub token: <VSub_Name _Dbg_yn> bracket_op: (ArrayIndex expr: (ArithWord w: { (BracedVarSub token: <VSub_Name _Dbg_watch_enable> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$i')}) ) spids: [3067 3072] ) } ) ) spids: [3064 3074] ) } { (DQ (BracedVarSub token: <VSub_Name _Dbg_watch_exp> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$i')}) ) spids: [3079 3084] ) ) } ) (C {(_Dbg_print_brkpt_count)} { (BracedVarSub token: <VSub_Name _Dbg_watch_count> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$i')}) ) spids: [3090 3095] ) } ) ] spids: [16777215 3051] ) ] spids: [16777215 3098] ) ] spids: [3030 3101] ) ) ] spids: [16777215 2982] ) ] else_action: [(C {(_Dbg_msg)} {(DQ ('No watch expressions have been set.'))})] spids: [3104 3114] ) ] spids: [2959] ) spids: [2955 2958] ) (FuncDef name: _Dbg_delete_watch_entry body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:del) op: Equal rhs: {($ VSub_Number '$1')} spids: [3130] ) ] spids: [3126] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} { (DQ (BracedVarSub token: <VSub_Name _Dbg_watch_exp> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$del')})) spids: [3142 3147] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_write_journal_eval)} {(DQ ('unset _Dbg_watch_exp[') ($ VSub_Name '$del') (']'))} ) (C {(_Dbg_write_journal_eval)} {(DQ ('unset _Dbg_watch_val[') ($ VSub_Name '$del') (']'))} ) (C {(_Dbg_write_journal_eval)} {(DQ ('unset _Dbg_watch_enable[') ($ VSub_Name '$del') (']'))} ) (C {(_Dbg_write_journal_eval)} {(DQ ('unset _Dbg_watch_count[') ($ VSub_Name '$del') (']'))} ) ] spids: [16777215 3154] ) ] else_action: [ (C {(_Dbg_msg)} { (DQ ('Watchpoint entry ') ($ VSub_Name '$del') (" doesn't exist so nothing done.")) } ) ] spids: [3193 3205] ) ] spids: [3123] ) spids: [3119 3122] ) (FuncDef name: _Dbg_clear_watch body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Less left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 1)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:_Dbg_prompt_output) op: Equal rhs: { (BracedVarSub token: <VSub_Name _Dbg_tty> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(Lit_Slash /) (dev) (Lit_Slash /) (null)} ) spids: [3238 3245] ) } spids: [3237] ) ] spids: [3235] ) (SimpleCommand words: [ {(read)} {($ VSub_Name '$_Dbg_edit')} {(-p)} {(DQ ('Delete all watchpoints? (y/n): '))} ] redirects: [ (Redir op_id: Redir_LessAnd fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_input_desc')} spids: [3260] ) (Redir op_id: Redir_DGreat fd: 2 arg_word: {($ VSub_Name '$_Dbg_prompt_output')} spids: [3263] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$REPLY')} right: {(Lit_Other '[') (Yy) (Lit_Other ']') (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_write_journal_eval)} {(unset)} {(_Dbg_watch_exp) (Lit_Other '[') (Lit_Other '@') (Lit_Other ']')} ) (C {(_Dbg_write_journal_eval)} {(unset)} {(_Dbg_watch_val) (Lit_Other '[') (Lit_Other '@') (Lit_Other ']')} ) (C {(_Dbg_write_journal_eval)} {(unset)} {(_Dbg_watch_enable) (Lit_Other '[') (Lit_Other '@') (Lit_Other ']')} ) (C {(_Dbg_write_journal_eval)} {(unset)} {(_Dbg_watch_count) (Lit_Other '[') (Lit_Other '@') (Lit_Other ']')} ) (C {(_Dbg_msg)} {(DQ ('All Watchpoints have been cleared'))}) ] spids: [16777215 3285] ) ] spids: [16777215 3335] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [16777215 3232] ) ] spids: [16777215 3343] ) (C {(eval)} {(DQ ($ VSub_Name '$_seteglob'))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Number '$1')} right: {($ VSub_Name '$int_pat')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_write_journal_eval)} {(DQ ('unset _Dbg_watch_exp[') ($ VSub_Number '$1') (']'))} ) (C {(_msg)} {(DQ ('Watchpoint ') ($ VSub_Name '$i') (' has been cleared'))}) ] spids: [16777215 3367] ) ] else_action: [ (C {(_Dbg_list_watch)}) (C {(_basdhb_msg)} {(DQ ('Please specify a numeric watchpoint number'))}) ] spids: [3388 3401] ) (C {(eval)} {(DQ ($ VSub_Name '$_resteglob'))}) ] spids: [3214] ) spids: [3210 3213] ) ] )