(command.CommandList children: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_action_count='> <0>}] redirects: [] do_fork: T ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-a>} {<_Dbg_action_enable>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_action_enable='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_action_enable='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_action_enable='> name: _Dbg_action_enable ) op: assign_op.Equal rhs: {(ShArrayLiteral left:<Id.Op_LParen _> words:[] right:<Id.Right_ShArrayLiteral _>)} ) ] redirects: [] ) ] ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-a>} {<_Dbg_action_file>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_action_file='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_action_file='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_action_file='> name:_Dbg_action_file) op: assign_op.Equal rhs: {(ShArrayLiteral left:<Id.Op_LParen _> words:[] right:<Id.Right_ShArrayLiteral _>)} ) ] redirects: [] ) ] ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-a>} {<_Dbg_action_line>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_action_line='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_action_line='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_action_line='> name:_Dbg_action_line) op: assign_op.Equal rhs: {(ShArrayLiteral left:<Id.Op_LParen _> words:[] right:<Id.Right_ShArrayLiteral _>)} ) ] redirects: [] ) ] ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-a>} {<_Dbg_action_stmt>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_action_stmt='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_action_stmt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_action_stmt='> name:_Dbg_action_stmt) op: assign_op.Equal rhs: {(ShArrayLiteral left:<Id.Op_LParen _> words:[] right:<Id.Right_ShArrayLiteral _>)} ) ] redirects: [] ) ] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_action_max='> <0>}] redirects: [] do_fork: T ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-A>} {<_Dbg_action_file2action>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_action_file2action='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_action_file2action='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_action_file2action='> name: _Dbg_action_file2action ) op: assign_op.Equal rhs: {(ShArrayLiteral left:<Id.Op_LParen _> words:[] right:<Id.Right_ShArrayLiteral _>)} ) ] redirects: [] ) ] ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-A>} {<_Dbg_action_file2linenos>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_action_file2linenos='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_action_file2linenos='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_action_file2linenos='> name: _Dbg_action_file2linenos ) op: assign_op.Equal rhs: {(ShArrayLiteral left:<Id.Op_LParen _> words:[] right:<Id.Right_ShArrayLiteral _>)} ) ] redirects: [] ) ] ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <_Dbg_save_actions> name: _Dbg_save_actions body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-p>} {<_Dbg_action_line>}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName _Dbg_statefile)} ) ] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-p>} {<_Dbg_action_file>}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName _Dbg_statefile)} ) ] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-p>} {<_Dbg_action_enable>}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName _Dbg_statefile)} ) ] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-p>} {<_Dbg_action_stmt>}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName _Dbg_statefile)} ) ] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-p>} {<_Dbg_action_max>}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName _Dbg_statefile)} ) ] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-p>} {<_Dbg_action_file2linenos>}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName _Dbg_statefile)} ) ] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-p>} {<_Dbg_action_file2action>}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName _Dbg_statefile)} ) ] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_list_action> name: _Dbg_list_action body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_action_line> var_name: _Dbg_action_line prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [{<_Dbg_msg>} {(DQ <'Actions at following places:'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<i>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_section> more_env: [] words: [{<_Dbg_section>} {(DQ <'Num Enb Stmt file:line'>)}] redirects: [] do_fork: T ) (command.ForExpr keyword: <Id.KW_For for> init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 1>} ) cond: (arith_expr.Binary op_id: Id.Arith_LessEqual left: ($ Id.Lit_ArithVarLike i) right: ($ Id.Lit_ArithVarLike _Dbg_action_max) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike i) ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_action_line> var_name: _Dbg_action_line bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<Id.Lit_VarLike 'source_file='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_action_file> var_name: _Dbg_action_file bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'source_file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'source_file='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'source_file='> name: source_file ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_adjust_filename> more_env: [] words: [ {<_Dbg_adjust_filename>} {(DQ ($ Id.VSub_DollarName source_file))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <_Dbg_printf> more_env: [] words: [ {<_Dbg_printf>} {(DQ <'%-3d %3d %-18s %s:%s'>)} {($ Id.VSub_DollarName i)} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_action_enable> var_name: _Dbg_action_enable bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_action_stmt> var_name: _Dbg_action_stmt bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) ) } {($ Id.VSub_DollarName source_file)} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_action_line> var_name: _Dbg_action_line bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName i)} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] spids: [364 381] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [285 305] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [{<_Dbg_msg>} {(DQ <'No actions have been set.'>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_set_action> name: _Dbg_set_action body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_Pound '#')} right: {<Id.Lit_Digits 3>} ) right: <Id.Op_DRightParen _> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<source_file>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'source_file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'source_file='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'source_file='> name:source_file) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_expand_filename> more_env: [] words: [{<_Dbg_expand_filename>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Left_DollarParen '$('> more_env: [] words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_is_int> more_env: [] words: [{<_Dbg_is_int>} {($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-ri>} {<Id.Lit_VarLike 'lineno='> ($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-r>} {<Id.Lit_VarLike 'stmt='> ($ Id.VSub_Number 3)}] redirects: [] do_fork: T ) (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike _Dbg_action_max) ) right: <Id.Op_DRightParen _> redirects: [] ) (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike _Dbg_action_count) ) right: <Id.Op_DRightParen _> redirects: [] ) (command.ShAssignment left: <Id.Lit_ArrayLhsOpen '_Dbg_action_line['> pairs: [ (AssignPair left: <Id.Lit_ArrayLhsOpen '_Dbg_action_line['> lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen '_Dbg_action_line['> name: _Dbg_action_line index: {($ Id.VSub_DollarName _Dbg_action_max)} ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName lineno)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_ArrayLhsOpen '_Dbg_action_file['> pairs: [ (AssignPair left: <Id.Lit_ArrayLhsOpen '_Dbg_action_file['> lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen '_Dbg_action_file['> name: _Dbg_action_file index: {($ Id.VSub_DollarName _Dbg_action_max)} ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName source_file))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_ArrayLhsOpen '_Dbg_action_stmt['> pairs: [ (AssignPair left: <Id.Lit_ArrayLhsOpen '_Dbg_action_stmt['> lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen '_Dbg_action_stmt['> name: _Dbg_action_stmt index: {($ Id.VSub_DollarName _Dbg_action_max)} ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName stmt))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_ArrayLhsOpen '_Dbg_action_enable['> pairs: [ (AssignPair left: <Id.Lit_ArrayLhsOpen '_Dbg_action_enable['> lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen '_Dbg_action_enable['> name: _Dbg_action_enable index: {($ Id.VSub_DollarName _Dbg_action_max)} ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<dq_source_file>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<Id.Lit_VarLike 'dq_source_file='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_esc_dq> more_env: [] words: [{<_Dbg_esc_dq>} {(DQ ($ Id.VSub_DollarName source_file))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<Id.Lit_VarLike 'dq_stmt='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_esc_dq> more_env: [] words: [{<_Dbg_esc_dq>} {(DQ ($ Id.VSub_DollarName stmt))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_write_journal> more_env: [] words: [ {<_Dbg_write_journal>} { (DQ <'_Dbg_action_line['> ($ Id.VSub_DollarName _Dbg_action_max) <']='> ($ Id.VSub_DollarName lineno) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_write_journal> more_env: [] words: [ {<_Dbg_write_journal>} { (DQ <'_Dbg_action_file['> ($ Id.VSub_DollarName _Dbg_action_max) <']='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName dq_source_file) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_write_journal> more_env: [] words: [ {<_Dbg_write_journal>} { (DQ <'_Dbg_action_stmt['> ($ Id.VSub_DollarName _Dbg_action_max) <']='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName dq_stmt) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_write_journal> more_env: [] words: [ {<_Dbg_write_journal>} {(DQ <'_Dbg_action_enable['> ($ Id.VSub_DollarName _Dbg_action_max) <']=1'>)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_ArrayLhsOpen '_Dbg_action_file2linenos['> pairs: [ (AssignPair left: <Id.Lit_ArrayLhsOpen '_Dbg_action_file2linenos['> lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen '_Dbg_action_file2linenos['> name: _Dbg_action_file2linenos index: {($ Id.VSub_DollarName source_file)} ) op: assign_op.PlusEqual rhs: {(DQ <' '> ($ Id.VSub_DollarName lineno) <' '>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_ArrayLhsOpen '_Dbg_action_file2action['> pairs: [ (AssignPair left: <Id.Lit_ArrayLhsOpen '_Dbg_action_file2action['> lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen '_Dbg_action_file2action['> name: _Dbg_action_file2action index: {($ Id.VSub_DollarName source_file)} ) op: assign_op.PlusEqual rhs: {(DQ <' '> ($ Id.VSub_DollarName _Dbg_action_max) <' '>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'source_file='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'source_file='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'source_file='> name:source_file) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_adjust_filename> more_env: [] words: [{<_Dbg_adjust_filename>} {(DQ ($ Id.VSub_DollarName source_file))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [ {<_Dbg_msg>} { (DQ <'Action '> ($ Id.VSub_DollarName _Dbg_action_max) <' set in file '> (${ Id.VSub_Name source_file) <', line '> ($ Id.VSub_DollarName lineno) <.> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_write_journal> more_env: [] words: [ {<_Dbg_write_journal>} {(DQ <'_Dbg_action_max='> ($ Id.VSub_DollarName _Dbg_action_max))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_unset_action> name: _Dbg_unset_action body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Pound '#')} right: {<Id.Lit_Digits 2>} ) right: <Id.Op_DRightParen _> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-r>} {<Id.Lit_VarLike 'filename='> (DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Left_DollarParen '$('> more_env: [] words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_is_int> more_env: [] words: [{<_Dbg_is_int>} {(DQ ($ Id.VSub_Number 2))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike 'lineno='> ($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<fullname>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fullname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fullname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fullname='> name:fullname) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_expand_filename> more_env: [] words: [{<_Dbg_expand_filename>} {(DQ ($ Id.VSub_DollarName filename))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-a>} {<linenos>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'linenos=('> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_action_file2linenos> var_name: _Dbg_action_file2linenos bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName fullname)}) right: <Id.Right_DollarBrace '}'> ) <')'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-a>} {<action_nos>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'action_nos=('> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_action_file2action> var_name: _Dbg_action_file2action bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName fullname)}) right: <Id.Right_DollarBrace '}'> ) <')'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<i>}] redirects: [] do_fork: T ) (command.ForExpr keyword: <Id.KW_For for> init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name linenos> var_name: linenos prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DEqual left: (arith_expr.Binary op_id: Id.Arith_LBracket left: ($ Id.Lit_ArithVarLike linenos) right: ($ Id.Lit_ArithVarLike i) ) right: ($ Id.Lit_ArithVarLike lineno) ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<action_num>}] redirects: [] do_fork: T ) (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike action_num) right: (arith_expr.Binary op_id: Id.Arith_LBracket left: ($ Id.Lit_ArithVarLike action_nos) right: ($ Id.Lit_ArithVarLike i) ) ) right: <Id.Op_DRightParen _> redirects: [] ) (command.Simple blame_tok: <_Dbg_unset_action_arrays> more_env: [] words: [{<_Dbg_unset_action_arrays>} {($ Id.VSub_DollarName action_num)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [ {<unset>} {<Id.Lit_ArrayLhsOpen 'linenos['> <i> <Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_ArrayLhsOpen '_Dbg_action_file2linenos['> pairs: [ (AssignPair left: <Id.Lit_ArrayLhsOpen '_Dbg_action_file2linenos['> lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen '_Dbg_action_file2linenos['> name: _Dbg_action_file2linenos index: {($ Id.VSub_DollarName fullname)} ) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name linenos> var_name: linenos bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [909 927] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <_Dbg_errmsg> more_env: [] words: [ {<_Dbg_errmsg>} { (DQ <'No action found in file '> (${ Id.VSub_Name filename) <', line '> ($ Id.VSub_DollarName lineno) <.> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<1>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_unset_action_arrays> name: _Dbg_unset_action_arrays body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_Pound '#')} right: {<Id.Lit_Digits 1>} ) right: <Id.Op_DRightParen _> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike 'del='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_write_journal_eval> more_env: [] words: [ {<_Dbg_write_journal_eval>} {(DQ <'unset _Dbg_action_enable['> ($ Id.VSub_DollarName del) <']'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_write_journal_eval> more_env: [] words: [ {<_Dbg_write_journal_eval>} {(DQ <'unset _Dbg_action_file['> ($ Id.VSub_DollarName del) <']'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_write_journal_eval> more_env: [] words: [ {<_Dbg_write_journal_eval>} {(DQ <'unset _Dbg_action_line['> ($ Id.VSub_DollarName del) <']'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_write_journal_eval> more_env: [] words: [ {<_Dbg_write_journal_eval>} {(DQ <'unset _Dbg_action_stmt['> ($ Id.VSub_DollarName del) <']'>)} ] redirects: [] do_fork: T ) (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.UnaryAssign op_id: Id.Node_PostDMinus child: ($ Id.Lit_ArithVarLike _Dbg_action_count) ) right: <Id.Op_DRightParen _> redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] )