(command.CommandList children: [ (C {(typeset)} {(-r)} {(Lit_VarLike '_Dbg_info_cmds=') (SQ < 'args breakpoints display files functions line program signals source stack variables warranty' > ) } ) (command.ShFunction name: _Dbg_info_help body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Arith_DEqual left: (arith_expr.ArithWord w:{($ VSub_Pound '$#')}) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(typeset)} {(-a)} {(list)}) (C {(_Dbg_section)} {(SQ <'List of info subcommands:'>)}) (command.ForEach iter_name: thing iter_words: [{($ VSub_DollarName '$_Dbg_info_cmds')}] do_arg_iter: F body: (command.DoGroup children: [(C {(_Dbg_info_help)} {($ VSub_DollarName '$thing')} {(1)})] ) ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) ] ) (C {(typeset)} {(Lit_VarLike 'subcmd=') (DQ ($ VSub_Number '$1'))}) (C {(typeset)} {(Lit_VarLike 'label=') (DQ ($ VSub_Number '$2'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: BoolUnary_n child: { (DQ (braced_var_sub token: <VSub_Name _Dbg_command_help_info> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ VSub_DollarName '$subcmd')} ) ) ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: BoolUnary_z child: {($ VSub_DollarName '$label')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_msg_rst)} { (DQ (braced_var_sub token: <VSub_Name _Dbg_command_help_info> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ VSub_DollarName '$subcmd')}) ) ) ) } ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:label) op: Equal rhs: { (command_sub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {(builtin)} {(printf)} {(DQ ('info %-12s-- '))} {($ VSub_DollarName '$subcmd')} ) ] ) ) } ) ] ) ] ) ] ) ] ) (command.Case to_match: {($ VSub_DollarName '$subcmd')} arms: [ (case_arm pat_list: [{(ar)} {(arg)} {(args)}] action: [ (C {(_Dbg_msg)} { (DQ ('info args -- Argument variables (e.g. ') (word_part.EscapedLiteral token: <Lit_EscapedChar '\\$'> ) ('1, ') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) ('2, ...) of the current stack frame.') ) } ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [ {(b)} {(br)} {(bre)} {(brea)} {(SQ <break>)} {(breakp)} {(breakpo)} {(breakpoints)} {(w)} {(wa)} {(wat)} {(watc)} {(SQ <watch>)} {(watchp)} {(watchpo)} {(watchpoints)} ] action: [ (C {(_Dbg_msg)} {(SQ <'info breakpoints -- Status of user-settable breakpoints'>)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [{(disp)} {(displ)} {(displa)} {(display)}] action: [ (C {(_Dbg_msg)} {(SQ <'info display -- Show all display expressions'>)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [{(KW_Fi fi)} {(file)} {(files)} {(sources)}] action: [ (C {(_Dbg_msg)} {(SQ <'info files -- Source files in the program'>)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [ {(fu)} {(fun)} {(KW_Func func)} {(funct)} {(functi)} {(functio)} {(KW_Function function)} {(functions)} ] action: [ (C {(_Dbg_msg)} {(SQ <'info functions -- All function names'>)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [{(l)} {(li)} {(lin)} {(line)}] action: [ (C {(_Dbg_msg)} {(SQ <'info line -- list current line number and and file name'>)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [{(p)} {(pr)} {(pro)} {(prog)} {(progr)} {(progra)} {(program)}] action: [ (C {(_Dbg_msg)} {(SQ <'info program -- Execution status of the program.'>)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [ {(h)} {(ha)} {(han)} {(hand)} {(handl)} {(handle)} {(si)} {(sig)} {(sign)} {(signa)} {(signal)} {(signals)} ] action: [ (C {(_Dbg_msg)} {(SQ <'info signals -- What debugger does when program gets various signals'>)} ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [{(so)} {(sou)} {(sourc)} {(source)}] action: [ (C {(_Dbg_msg)} {(SQ <'info source -- Information about the current source file'>)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [{(st)} {(sta)} {(stac)} {(stack)}] action: [ (C {(_Dbg_msg)} {(SQ <'info stack -- Backtrace of the stack'>)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [ {(tr)} {(tra)} {(trac)} {(trace)} {(tracep)} {(tracepo)} {(tracepoi)} {(tracepoint)} {(tracepoints)} ] action: [ (C {(_Dbg_msg)} {(SQ <'info tracepoints -- Status of tracepoints'>)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [ {(v)} {(va)} {(KW_Var var)} {(vari)} {(varia)} {(variab)} {(variabl)} {(variable)} {(variables)} ] action: [ (C {(_Dbg_msg)} {(SQ <'info variables -- All global and static variable names'>)}) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [{(w)} {(wa)} {(war)} {(warr)} {(warra)} {(warran)} {(warrant)} {(warranty)}] action: [ (C {(_Dbg_msg)} {(SQ <'info warranty -- Various kinds of warranty you do not have'>)} ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (case_arm pat_list: [{(Lit_Star '*')}] action: [ (C {(_Dbg_errmsg)} { (DQ ('Undefined info command: ') (word_part.EscapedLiteral token: <Lit_EscapedChar '\\"'> ) ($ VSub_DollarName '$subcmd') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\"'>) ('. Try ') (word_part.EscapedLiteral token: <Lit_EscapedChar '\\"'> ) ('help info') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\"'>) (.) ) } ) ] ) ] ) ] ) ) ] )