(command.CommandList children: [ (command.ShFunction name_tok: <_Dbg_usage> name: _Dbg_usage body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} { (DQ <'Usage:\n'> <' '> (${ Id.VSub_Name _Dbg_pname) <' [OPTIONS] <script_file>\n'> <'\n'> <'Runs '> ($ Id.VSub_DollarName _Dbg_shell_name) <' <script_file> under a debugger.\n'> <'\n'> <'options:\n'> <' -h | --help Print this help.\n'> <' -q | --quiet Do not print introductory and quiet messages.\n'> <' -A | --annotate LEVEL Set the annotation level.\n'> <' -B | --basename Show basename only on source file listings.\n'> <' (Needed in regression tests)\n'> < ' --highlight {dark|light} Use dark or light background ANSI terminal sequence\n' > <' syntax highlighting\n'> <' | --no-highlight\n'> <' Don\'t use ANSI terminal sequences for syntax\n'> <' highlight\n'> <' --highlight | --no-highlight\n'> < ' Use or don\'t use ANSI terminal sequences for syntax\n' > <' highlight\n'> <' --init-file FILE Source script file FILE. Similar to bash\'s\n'> <' corresponding option. This option can be given\n'> <' several times with different files.\n'> <' -L | --library DIRECTORY\n'> < ' Set the directory location of library helper file: ' > ($ Id.VSub_DollarName _Dbg_main) <'\n'> <' -c | --command STRING Run STRING instead of a script file\n'> <' -n | --nx | --no-init Don\'t run initialization files.\n'> < ' -S | --style STYLE Run use pygments STYLE for formatting source code\n' > <' --tty | --terminal DEV Set to terminal in debugger output to DEV\n'> <' DEV can also be &1 for STDOUT\n'> <' -T | --tempdir DIRECTORY\n'> <' Use DIRECTORY to store temporary files\n'> <' -V | --version Print the debugger version number.\n'> <' -X | --trace Set line tracing similar to set -x\n'> <' -x | --eval-command CMDFILE\n'> <' Execute debugger commands from CMDFILE.\n'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<100>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_show_version> name: _Dbg_show_version body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} { (DQ <'There is absolutely no warranty for '> ($ Id.VSub_DollarName _Dbg_debugger_name) <'. Type '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'show warranty'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' for details.\n'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<101>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-xa>} {<_Dbg_orig_script_args>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'_Dbg_orig_script_args=('> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'@'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <')'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-xa>} {<_Dbg_script_args>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_set_annotate='> <0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_set_linetrace='> <0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_set_basename='> <0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_set_highlight='> (SQ )}] redirects: [] do_fork: T ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-a>} {<_Dbg_o_init_files>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_o_init_files='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_o_init_files='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_o_init_files='> name: _Dbg_o_init_files ) 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_o_nx='> <0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-ix>} {<_Dbg_working_term_highlight>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [{(${ Id.VSub_Name _Dbg_libdir) <'/lib/term-highlight.py'>} {<-V>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) (Redir op: <Id.Redir_Great '1>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_working_term_highlight='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_working_term_highlight='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_working_term_highlight='> name: _Dbg_working_term_highlight ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] spids: [256 273] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_working_term_highlight='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_working_term_highlight='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_working_term_highlight='> name: _Dbg_working_term_highlight ) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-x>} {<Id.Lit_VarLike '_Dbg_set_style='> (SQ )}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id:Id.BoolUnary_z child:{($ Id.VSub_DollarName _Dbg_tmpdir)}) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_tmpdir='> <'/tmp'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShFunction name_tok: <_Dbg_check_tty> name: _Dbg_check_tty body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_Less 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>} {<Id.Lit_VarLike 'tty='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {($ Id.VSub_DollarName tty)} right: {(SQ <'&1'>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <Id.Left_DollarParen '$('> more_env: [] words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <touch> more_env: [] words: [{<touch>} {($ Id.VSub_DollarName tty)}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_errmsg> more_env: [] words: [ {<_Dbg_errmsg>} {(DQ <'Can\'t access '> ($ Id.VSub_DollarName tty) <' for writing.'>)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [365 382] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id: Id.BoolUnary_w child: {($ Id.VSub_DollarName tty)} ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_errmsg> more_env: [] words: [ {<_Dbg_errmsg>} {(DQ <'tty '> ($ Id.VSub_DollarName tty) <' needs to be writable'>)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [402 416] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_tty='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_tty='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_tty='> name:_Dbg_tty) op: assign_op.Equal rhs: {($ Id.VSub_DollarName tty)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_prompt_output='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_prompt_output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_prompt_output='> name: _Dbg_prompt_output ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _Dbg_tty)} ) ] redirects: [] ) ] spids: [346 362] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_parse_options> name: _Dbg_parse_options body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {(${ Id.VSub_Name _Dbg_libdir) <'/getopts_long.sh'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_o_quiet='> <0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_o_version='> <0>}] redirects: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Simple blame_tok: <getopts_long> more_env: [] words: [ {<getopts_long>} {<A> <Id.Lit_Colon ':'> <Bc> <Id.Lit_Colon ':'> <x> <Id.Lit_Colon ':'> <hL> <Id.Lit_Colon ':'> <nqTt> <Id.Lit_Colon ':'> <VX> } {<opt>} {<annotate>} {<required_argument>} {<basename>} {<no_argument>} {<command>} {<required_argument>} {<debugger>} {<no_argument>} {<eval-command>} {<required_argument>} {<help>} {<no_argument>} {<highlight>} {<required_argument>} {<init-file>} {<required_argument>} {<library>} {<required_argument>} {<no-highlight>} {<no_argument>} {<no-init>} {<no_argument>} {<nx>} {<no_argument>} {<quiet>} {<no_argument>} {<tempdir>} {<required_argument>} {<tty>} {<required_argument>} {<terminal>} {<required_argument>} {<version>} {<no_argument>} {(SQ )} {(DQ ($ Id.VSub_At '@'))} ] redirects: [] do_fork: T ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName opt))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <A> pattern: (pat.Words words:[{<A>} {<annotate>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_o_annotate='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_o_annotate='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_o_annotate='> name: _Dbg_o_annotate ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTLARG)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <B> pattern: (pat.Words words:[{<B>} {<basename>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_set_basename='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_set_basename='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_set_basename='> name: _Dbg_set_basename ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <c> pattern: (pat.Words words:[{<c>} {<command>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_EXECUTION_STRING='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_EXECUTION_STRING='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_EXECUTION_STRING='> name: _Dbg_EXECUTION_STRING ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName OPTLARG))} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <debugger> pattern: (pat.Words words:[{<debugger>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <h> pattern: (pat.Words words:[{<h>} {<help>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_usage> more_env: [] words: [{<_Dbg_usage>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <highlight> pattern: (pat.Words words:[{<highlight>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName OPTLARG))}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <light> pattern: (pat.Words words:[{<light>} {<dark>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_set_highlight='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_set_highlight='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_set_highlight='> name: _Dbg_set_highlight ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTLARG)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <print> more_env: [] words: [ {<print>} { (DQ <'Expecting \'dark\' or \'light\', got '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (${ Id.VSub_Name OPTLARG) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [ (Redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Subshell left: <Id.Op_LParen _> child: (command.AndOr children: [ (command.Simple blame_tok: <pygmentize> more_env: [] words: [{<pygmentize>} {<--version>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <pygmentize> more_env: [] words: [{<pygmentize>} {<-V>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) right: <Id.Right_Subshell _> redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) (Redir op: <Id.Redir_Great '1>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <print> more_env: [] words: [ {<print>} {(DQ <'Can\'t run pygmentize. --highight forced off'>)} ] redirects: [ (Redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_set_highlight='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_set_highlight='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_set_highlight='> name: _Dbg_set_highlight ) op: assign_op.Equal rhs: {(SQ )} ) ] redirects: [] ) ] spids: [761 787] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <no-highlight> pattern: (pat.Words words:[{<no-highlight>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_set_highlight='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_set_highlight='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_set_highlight='> name: _Dbg_set_highlight ) op: assign_op.Equal rhs: {(SQ )} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <init-file> pattern: (pat.Words words:[{<init-file>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-x>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_o_init_files+='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_o_init_files+='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_o_init_files+='> name: _Dbg_o_init_files ) op: assign_op.PlusEqual rhs: {(DQ ($ Id.VSub_DollarName OPTLARG))} ) ] redirects: [] ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<Id.Lit_Other '+'> <x>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <L> pattern: (pat.Words words:[{<L>} {<library>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <V> pattern: (pat.Words words:[{<V>} {<version>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_o_version='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_o_version='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_o_version='> name: _Dbg_o_version ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <n> pattern: (pat.Words words:[{<n>} {<nx>} {<no-init>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_o_nx='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_o_nx='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_o_nx='> name: _Dbg_o_nx ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <q> pattern: (pat.Words words:[{<q>} {<quiet>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_o_quiet='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_o_quiet='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_o_quiet='> name: _Dbg_o_quiet ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <tempdir> pattern: (pat.Words words:[{<tempdir>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_tmpdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_tmpdir='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_tmpdir='> name: _Dbg_tmpdir ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTLARG)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <terminal> pattern: (pat.Words words:[{<terminal>} {<tty>}]) middle: <Id.Right_CasePat _> action: [ (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: <_Dbg_check_tty> more_env: [] words: [ {<_Dbg_check_tty>} {($ Id.VSub_DollarName OPTLARG)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_tty='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_tty='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_tty='> name: _Dbg_tty ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTLARG)} ) ] redirects: [] ) ] spids: [928 936] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_Dbg_errmsg> more_env: [] words: [{<_Dbg_errmsg>} {(SQ <'--tty option ignored'>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <x> pattern: (pat.Words words:[{<x>} {<eval-command>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'DBG_INPUT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DBG_INPUT='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'DBG_INPUT='> name: DBG_INPUT ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTLARG)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <X> pattern: (pat.Words words:[{<X>} {<trace>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_set_linetrace='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_set_linetrace='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_set_linetrace='> name: _Dbg_set_linetrace ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Left_SingleQuote '\''> pattern: (pat.Words words:[{(SQ <'?'>)}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ <'Use -h or --help to see options.'>)}] redirects: [ (Redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Unknown option '> ($ Id.VSub_DollarName opt) <'. Use -h or --help to see options.'> ) } ] redirects: [ (Redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [ {<shift>} { (DQ (word_part.ArithSub left: <Id.Left_DollarDParen '$(('> anode: (arith_expr.Binary op_id: Id.Arith_Minus left: {($ Id.VSub_DollarName OPTLIND)} right: {<Id.Lit_Digits 1>} ) right: <Id.Right_DollarDParen _> ) ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: ($ Id.Lit_ArithVarLike _Dbg_o_version) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_do_show_version> more_env: [] words: [{<_Dbg_do_show_version>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<0>} ) ] spids: [1061 1072] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr children: [ (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Unary op_id: Id.Arith_Bang child: ($ Id.Lit_ArithVarLike _Dbg_o_quiet) ) right: <Id.Op_DRightParen _> redirects: [] ) (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName _Dbg_shell_name)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName _Dbg_release)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ ($ Id.VSub_DollarName _Dbg_shell_name) <' debugger, '> ($ Id.VSub_DollarName _Dbg_debugger_name) <', release '> ($ Id.VSub_DollarName _Dbg_release) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <printf> more_env: [] words: [ {<printf>} { (SQ <'\n'> <'Copyright 2002, 2003, 2004, 2006-2012, 2014, 2016 Rocky Bernstein\n'> <'This is free software, covered by the GNU General Public License, and you are\n'> < 'welcome to change it and/or distribute copies of it under certain conditions.\n' > <'\n'> ) } ] redirects: [] do_fork: T ) ] spids: [1083 1118] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.DParen left: <Id.Op_DLeftParen _> child: ($ Id.Lit_ArithVarLike _Dbg_o_version) right: <Id.Op_DRightParen _> redirects: [] ) (command.Simple blame_tok: <_Dbg_show_version> more_env: [] words: [{<_Dbg_show_version>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName _Dbg_o_annotate)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(${ Id.VSub_Name _Dbg_o_annotate)} right: {<Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '*'> } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_set_annotate='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_set_annotate='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_set_annotate='> name: _Dbg_set_annotate ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _Dbg_o_annotate)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_Great left: ($ Id.Lit_ArithVarLike _Dbg_set_annotate) right: {<Id.Lit_Digits 3>} ) right: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike _Dbg_set_annotate) right: {<Id.Lit_Digits 0>} ) ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Annotation level must be less between 0 and 3. Got: '> ($ Id.VSub_DollarName _Dbg_set_annotate) <.> ) } ] redirects: [ (Redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Setting Annotation level to 0.'>)}] redirects: [ (Redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_set_annotate='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_set_annotate='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_set_annotate='> name: _Dbg_set_annotate ) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] spids: [1200 1221] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [1174 1193] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'Annotate option should be an integer, got '> (${ Id.VSub_Name _Dbg_o_annotate) <.> ) } ] redirects: [ (Redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Setting annotation level to 0.'>)}] redirects: [ (Redir op: <Id.Redir_GreatAnd '>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [1159 1171] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<_Dbg_o_annotate>} {<_Dbg_o_version>} {<_Dbg_o_quiet>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_script_args='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_script_args='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_script_args='> name: _Dbg_script_args ) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [{(DQ ($ Id.VSub_At '@'))}] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {(DQ ($ Id.VSub_DollarName _Dbg_dbg_opts_test))} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'OPTLIND='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'OPTLIND='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTLIND='> name:OPTLIND) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_libdir='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_libdir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_libdir='> name:_Dbg_libdir) op: assign_op.Equal rhs: {(SQ <.>)} ) ] redirects: [] ) (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName _Dbg_input)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-p>} {<_Dbg_input>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <_Dbg_parse_options> more_env: [] words: [{<_Dbg_parse_options>} {(DQ ($ Id.VSub_At '@'))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-p>} {<_Dbg_set_highlight>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-p>} {<_Dbg_set_annotate>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-p>} {<_Dbg_set_linetrace>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-p>} {<_Dbg_set_basename>}] redirects: [] do_fork: T ) ] spids: [1309 1323] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] )