(command.CommandList children: [ (C {<typeset>} {<_Dbg_last_search_pat>}) (C {<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_listline='> <0>}) (C {<typeset>} {<_Dbg_source_line>}) (command.ShFunction name: _Dbg_print_location_and_command body: (BraceGroup children: [ (C {<typeset>} {<Id.Lit_VarLike 'line_number='> (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {($ Id.VSub_DollarName '$_Dbg_frame_last_lineno')} ) ) } ) (C {<typeset>} {<Id.Lit_VarLike 'filename='> (braced_var_sub token: <Id.VSub_Number 2> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {($ Id.VSub_DollarName '$_Dbg_frame_last_filename')} ) ) } ) (C {<_Dbg_get_source_line>} {($ Id.VSub_DollarName '$line_number')} {(DQ ($ Id.VSub_DollarName '$filename'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:filename) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<_Dbg_adjust_filename>} {(DQ ($ Id.VSub_DollarName '$filename'))}) ) } spids: [137] ) ] ) (C {<_Dbg_msg>} { (DQ <'('> (${ Id.VSub_Name filename) <':'> (${ Id.VSub_Name line_number) <'):\n'> (${ Id.VSub_Name line_number) <':'> <Id.Lit_BadBackslash '\\'> <t> (${ Id.VSub_Name _Dbg_source_line) ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$_Dbg_set_show_command')} right: {(DQ <on>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<_Dbg_msg>} {(DQ ($ Id.VSub_DollarName '$_Dbg_bash_command'))})] spids: [184 200] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$_Dbg_last_lineno')} right: {($ Id.VSub_DollarName '$_Dbg_frame_last_lineno')} ) ) (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$_Dbg_last_source_file')} right: {($ Id.VSub_DollarName '$_Dbg_frame_last_filename')} ) ) (command.DBracket expr: (bool_expr.LogicalAnd left: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {($ Id.VSub_DollarName '$_Dbg_last_bash_command')} right: {($ Id.VSub_DollarName '$_Dbg_bash_command')} ) right: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$_Dbg_set_show_command')} right: {(DQ <auto>)} ) ) ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<_Dbg_msg>} {(DQ ($ Id.VSub_DollarName '$_Dbg_bash_command'))})] spids: [210 264] ) ] ) ] ) ) (command.ShFunction name: _Dbg_print_linetrace body: (BraceGroup children: [ (C {<typeset>} {<Id.Lit_VarLike 'line_number='> (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {($ Id.VSub_DollarName '$_Dbg_frame_last_lineno')} ) ) } ) (C {<typeset>} {<Id.Lit_VarLike 'filename='> (braced_var_sub token: <Id.VSub_Number 2> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} ) ) } ) (C {<typeset>} {<-i>} {<Id.Lit_VarLike 'depth='> (braced_var_sub token: <Id.VSub_Name FUNCNAME> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) <-3> } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName '$_Dbg_script')} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.DParen child: (arith_expr.UnaryAssign op_id: Id.Node_PostDMinus child: <Id.Lit_ArithVarLike depth> ) ) ] spids: [343 355] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike depth> right: {<Id.Lit_Digits 0>} ) ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (C {<_Dbg_get_source_line>} {($ Id.VSub_DollarName '$line_number')} {(DQ ($ Id.VSub_DollarName '$filename'))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:filename) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<_Dbg_adjust_filename>} {(DQ ($ Id.VSub_DollarName '$filename'))}) ) } spids: [395] ) ] ) (C {<_Dbg_msg>} { (DQ <'('> (${ Id.VSub_Name filename) <':'> (${ Id.VSub_Name line_number) <'):\n'> <'level '> ($ Id.VSub_DollarName '$_Dbg_DEBUGGER_LEVEL') <', subshell '> ($ Id.VSub_DollarName '$BASH_SUBSHELL') <', depth '> ($ Id.VSub_DollarName '$depth') <':'> <Id.Lit_BadBackslash '\\'> <t> (${ Id.VSub_Name _Dbg_source_line) ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$_Dbg_set_show_command')} right: {(DQ <on>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<_Dbg_msg>} {(DQ ($ Id.VSub_DollarName '$_Dbg_bash_command'))})] spids: [469 485] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: <Id.Lit_ArithVarLike _Dbg_last_lineno> right: <Id.Lit_ArithVarLike _Dbg_frame_last_lineno> ) ) (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$_Dbg_last_source_file')} right: {($ Id.VSub_DollarName '$_Dbg_frame_last_filename')} ) ) (command.DBracket expr: (bool_expr.LogicalAnd left: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {($ Id.VSub_DollarName '$_Dbg_last_bash_command')} right: {($ Id.VSub_DollarName '$_Dbg_bash_command')} ) right: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$_Dbg_set_show_command')} right: {(DQ <auto>)} ) ) ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<_Dbg_msg>} {(DQ ($ Id.VSub_DollarName '$_Dbg_bash_command'))})] spids: [495 550] ) ] ) ] ) ) (command.ShFunction name: _Dbg_parse_list_args body: (BraceGroup children: [ (C {<typeset>} {<-i>} {<max_line>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_Pound '$#')} right: {<Id.Lit_Digits 3>} ) right: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_Pound '$#')} right: {<Id.Lit_Digits 5>} ) ) ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (C {<typeset>} {<-i>} {<center_line>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:center_line) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [635] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:max_line) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [640] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:filename) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$3'))} spids: [644] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_Number '$4')} right: {(SQ <.>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike _Dbg_listline> right: <Id.Lit_ArithVarLike _Dbg_frame_last_lineno> ) ) ] spids: [655 670] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_Number '$4')} right: {(SQ <->)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike _Dbg_listline> right: (arith_expr.Binary op_id: Id.Arith_Minus left: <Id.Lit_ArithVarLike _Dbg_listline> right: (arith_expr.Binary op_id: Id.Arith_Star left: {<Id.Lit_Digits 2>} right: <Id.Lit_ArithVarLike _Dbg_set_listsize> ) ) ) ) ] spids: [681 696] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_Number '$4')} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_Number '$4')} right: {<Id.Lit_Digits 0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike _Dbg_listline> right: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.Binary op_id: Id.Arith_Plus left: {($ Id.VSub_Number '$2')} right: {($ Id.VSub_Number '$4')} ) right: {<Id.Lit_Digits 1>} ) ) ) ] spids: [726 739] ) ] else_action: [ (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike _Dbg_listline> right: {($ Id.VSub_Number '$4')} ) ) ] ) ] spids: [711 723] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {<Id.Lit_Digits 0>} right: <Id.Lit_ArithVarLike _Dbg_listline> ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_listline) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_Dbg_frame_last_lineno')} spids: [786] ) ] ) ] spids: [768 783] ) ] ) (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DAmp left: (arith_expr.Binary op_id: Id.Arith_DEqual left: <Id.Lit_ArithVarLike _Dbg_listline> right: {<Id.Lit_Digits 0>} ) right: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: <Id.Lit_ArithVarLike _Dbg_listline> ) ) ) (C {<typeset>} {<-i>} {<count>}) (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike count> right: { (braced_var_sub token: <Id.VSub_Number 5> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<_Dbg_set_listsize>} ) ) } ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike count> right: {<Id.Lit_Digits 0>} ) ) (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike count> right: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.Binary op_id: Id.Arith_Plus left: {($ Id.VSub_Number '$2')} right: {($ Id.VSub_Number '$5')} ) right: {<Id.Lit_Digits 1>} ) ) ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_Number '$5')} ) ) (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike count> right: <Id.Lit_ArithVarLike _Dbg_listline> ) ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: <Id.Lit_ArithVarLike center_line> ) (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_MinusEqual left: <Id.Lit_ArithVarLike _Dbg_listline> right: (arith_expr.Binary op_id: Id.Arith_Slash left: <Id.Lit_ArithVarLike count> right: {<Id.Lit_Digits 2>} ) ) ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_LessEqual left: <Id.Lit_ArithVarLike _Dbg_listline> right: {<Id.Lit_Digits 0>} ) ) (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike _Dbg_listline> right: {<Id.Lit_Digits 1>} ) ) ] ) (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike end_line> right: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.Binary op_id: Id.Arith_Plus left: <Id.Lit_ArithVarLike _Dbg_listline> right: <Id.Lit_ArithVarLike count> ) right: {<Id.Lit_Digits 1>} ) ) ) ] spids: [851 874] ) ] else_action: [ (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike end_line> right: <Id.Lit_ArithVarLike count> ) ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) (command.ShFunction name: _Dbg_list body: (BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_Pound '$#')} right: {<Id.Lit_Digits 3>} ) right: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_Pound '$#')} right: {<Id.Lit_Digits 5>} ) ) ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (C {<typeset>} {<filename>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:filename) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [987] ) ] ) (C {<typeset>} {<end_line>}) (C {<_Dbg_readin_if_new>} {(DQ ($ Id.VSub_DollarName '$filename'))}) (C {<typeset>} {<-i>} {<max_line>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:max_line) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<_Dbg_get_maxline>} {(DQ ($ Id.VSub_DollarName '$filename'))}) ) } spids: [1012] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_QMark '$?')} right: {<Id.Lit_Digits 0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<_Dbg_errmsg>} { (DQ <'internal error getting number of lines in '> ($ Id.VSub_DollarName '$filename') ) } ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [1023 1038] ) ] ) (C {<_Dbg_parse_list_args>} {(DQ ($ Id.VSub_DollarName '$max_line'))} {(DQ ($ Id.VSub_At '$@'))} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: <Id.Lit_ArithVarLike _Dbg_listline> right: <Id.Lit_ArithVarLike max_line> ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<_Dbg_errmsg>} { (DQ <'Line number '> ($ Id.VSub_DollarName '$_Dbg_listline') <' out of range;'>) } {(DQ ($ Id.VSub_DollarName '$filename') <' has '> ($ Id.VSub_DollarName '$max_line') <' lines.'>)} ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [1070 1085] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: <Id.Lit_ArithVarLike end_line> right: <Id.Lit_ArithVarLike max_line> ) ) (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike end_line> right: <Id.Lit_ArithVarLike max_line> ) ) ] ) (C {<typeset>} {<frame_fullfile>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:frame_fullfile) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name _Dbg_file2canonic> bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName '$_Dbg_frame_last_filename')} ) ) } spids: [1144] ) ] ) (command.ForExpr cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: <Id.Lit_ArithVarLike _Dbg_listline> right: <Id.Lit_ArithVarLike end_line> ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: <Id.Lit_ArithVarLike _Dbg_listline> ) body: (command.DoGroup children: [ (C {<typeset>} {<Id.Lit_VarLike 'prefix='> (SQ <' '>)}) (C {<_Dbg_get_source_line>} {($ Id.VSub_DollarName '$_Dbg_listline')} {(DQ ($ Id.VSub_DollarName '$filename'))} ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: <Id.Lit_ArithVarLike _Dbg_listline> right: <Id.Lit_ArithVarLike _Dbg_frame_last_lineno> ) ) (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$fullname')} right: {($ Id.VSub_DollarName '$frame_fullfile')} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:prefix) op: assign_op.Equal rhs: {(SQ <' => '>)} spids: [1224] ) ] ) ] ) (C {<_Dbg_printf>} {(DQ <'%3d:%s%s'>)} {($ Id.VSub_DollarName '$_Dbg_listline')} {(DQ ($ Id.VSub_DollarName '$prefix'))} {(DQ ($ Id.VSub_DollarName '$_Dbg_source_line'))} ) ] ) ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) (command.ShFunction name: _Dbg_list_columns body: (BraceGroup children: [ (C {<typeset>} {<Id.Lit_VarLike 'colsep='> (SQ <' '>)}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_Pound '$#')} right: {<Id.Lit_Digits 0>} ) ) (BraceGroup children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:colsep) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$1'))} spids: [1286] ) ] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<shift>}) terminator: <Id.Op_Semi _> ) ] ) ] ) (C {<typeset>} {<-i>} {<linewidth>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_Pound '$#')} right: {<Id.Lit_Digits 0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Sentence child: (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike linewidth> right: (arith_expr.Binary op_id: Id.Arith_Minus left: {($ Id.VSub_Number '$1')} right: {<Id.Lit_Digits 2>} ) ) ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [1309 1323] ) ] else_action: [ (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike linewidth> right: (arith_expr.Binary op_id: Id.Arith_Minus left: <Id.Lit_ArithVarLike _Dbg_set_linewidth> right: {<Id.Lit_Digits 2>} ) ) ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_Pound '$#')} right: {<Id.Lit_Digits 0>} ) ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) (command.Sentence child: (C {<typeset>} {<-a>} {<columnized>}) terminator: <Id.Op_Semi _> ) (C {<columnize>} {($ Id.VSub_DollarName '$linewidth')} {(DQ ($ Id.VSub_DollarName '$colsep'))} ) (C {<typeset>} {<-i>} {<i>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike i> right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike i> right: { (braced_var_sub token: <Id.VSub_Name columnized> prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike i>) body: (command.DoGroup children: [ (C {<_Dbg_msg>} { (DQ <' '> (braced_var_sub token: <Id.VSub_Name columnized> bracket_op: (bracket_op.ArrayIndex expr:<Id.Lit_ArithVarLike i>) ) ) } ) ] ) ) ] ) ) ] )