(CommandList children: [ (FuncDef name: _Dbg_usage body: (BraceGroup children: [ (C {(printf)} { (DQ ("Usage:\n") (" ") (${ VSub_Name _Dbg_pname) (" [OPTIONS] <script_file>\n") ("\n") ("Runs ") ($ VSub_Name "$_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: " ) ($ VSub_Name "$_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") ) } ) (C {(exit)} {(100)}) ] spids: [62] ) spids: [58 61] ) (FuncDef name: _Dbg_show_version body: (BraceGroup children: [ (C {(printf)} { (DQ ("There is absolutely no warranty for ") ($ VSub_Name "$_Dbg_debugger_name") (". Type ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("show warranty") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" for details.\n") ) } ) (C {(exit)} {(101)}) ] spids: [125] ) spids: [121 124] ) (C {(typeset)} {(-xa)} {(_Dbg_orig_script_args)}) (C {(eval)} { (DQ ("_Dbg_orig_script_args=(") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (")") ) } ) (C {(typeset)} {(-xa)} {(_Dbg_script_args)}) (C {(typeset)} {(-i)} {(Lit_VarLike "_Dbg_set_annotate=") (0)}) (C {(typeset)} {(-i)} {(Lit_VarLike "_Dbg_set_linetrace=") (0)}) (C {(typeset)} {(-i)} {(Lit_VarLike "_Dbg_set_basename=") (0)}) (C {(typeset)} {(Lit_VarLike "_Dbg_set_highlight=") (SQ )}) (Sentence child:(C {(typeset)} {(-a)} {(_Dbg_o_init_files)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_o_init_files) op: Equal rhs: {(ArrayLiteralPart)} spids: [237] ) ] spids: [237] ) (C {(typeset)} {(-i)} {(Lit_VarLike "_Dbg_o_nx=") (0)}) (C {(typeset)} {(-ix)} {(_Dbg_working_term_highlight)}) (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(${ VSub_Name _Dbg_libdir) (/lib/term-highlight.py)} {(-V)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [265] ) (Redir op_id: Redir_Great fd: 1 arg_word: {(/dev/null)} spids: [268] ) ] ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_working_term_highlight) op: Equal rhs: {(1)} spids: [276] ) ] spids: [276] ) ] spids: [-1 273] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_working_term_highlight) op: Equal rhs: {(0)} spids: [282] ) ] spids: [282] ) ] spids: [279 285] ) (C {(typeset)} {(-x)} {(Lit_VarLike "_Dbg_set_style=") (SQ )}) (AndOr children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{($ VSub_Name "$_Dbg_tmpdir")})) (C {(typeset)} {(Lit_VarLike "_Dbg_tmpdir=") (/tmp)}) ] op_id: Op_DAmp ) (FuncDef name: _Dbg_check_tty body: (BraceGroup children: [ (AndOr children: [ (DParen child: (ArithBinary op_id: Arith_Less left: (ArithWord w:{($ VSub_Pound "$#")}) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] op_id: Op_DAmp ) (C {(typeset)} {(Lit_VarLike "tty=") ($ VSub_Number "$1")}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {($ VSub_Name "$tty")} right: {(SQ <"&1">)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(touch)} {($ VSub_Name "$tty")}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [374] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [377] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [369 379] ) } ) ] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (C {(_Dbg_errmsg)} {(DQ ("Can't access ") ($ VSub_Name "$tty") (" for writing."))} ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [-1 382] ) ] spids: [-1 399] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolUnary op_id:BoolUnary_w child:{($ VSub_Name "$tty")}) ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(_Dbg_errmsg)} {(DQ ("tty ") ($ VSub_Name "$tty") (" needs to be writable"))} ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [-1 416] ) ] spids: [-1 433] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_tty) op: Equal rhs: {($ VSub_Name "$tty")} spids: [436] ) ] spids: [436] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_prompt_output) op: Equal rhs: {($ VSub_Name "$_Dbg_tty")} spids: [440] ) ] spids: [440] ) ] spids: [-1 362] ) ] spids: [-1 444] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [319] ) spids: [315 318] ) (FuncDef name: _Dbg_parse_options body: (BraceGroup children: [ (C {(.)} {(${ VSub_Name _Dbg_libdir) (/getopts_long.sh)}) (C {(typeset)} {(-i)} {(Lit_VarLike "_Dbg_o_quiet=") (0)}) (C {(typeset)} {(-i)} {(Lit_VarLike "_Dbg_o_version=") (0)}) (While cond: [ (C {(getopts_long)} {(A) (Lit_Other ":") (Bc) (Lit_Other ":") (x) (Lit_Other ":") (hL) (Lit_Other ":") (nqTt) (Lit_Other ":") (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 ($ VSub_At "$@"))} ) ] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name "$opt"))} arms: [ (case_arm pat_list: [{(A)} {(annotate)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_o_annotate) op: Equal rhs: {($ VSub_Name "$OPTLARG")} spids: [639] ) ] spids: [639] ) ] spids: [630 636 641 -1] ) (case_arm pat_list: [{(B)} {(basename)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_basename) op: Equal rhs: {(1)} spids: [653] ) ] spids: [653] ) ] spids: [644 650 656 -1] ) (case_arm pat_list: [{(c)} {(command)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_EXECUTION_STRING) op: Equal rhs: {(DQ ($ VSub_Name "$OPTLARG"))} spids: [668] ) ] spids: [668] ) ] spids: [659 665 673 -1] ) (case_arm pat_list: [{(debugger)}] spids: [676 678 685 -1] ) (case_arm pat_list: [{(h)} {(help)}] action: [(C {(_Dbg_usage)})] spids: [688 694 699 -1] ) (case_arm pat_list: [{(highlight)}] action: [ (Case to_match: {(DQ ($ VSub_Name "$OPTLARG"))} arms: [ (case_arm pat_list: [{(light)} {(dark)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_highlight) op: Equal rhs: {($ VSub_Name "$OPTLARG")} spids: [725] ) ] spids: [725] ) ] spids: [716 722 729 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (SimpleCommand words: [ {(print)} { (DQ ("Expecting 'dark' or 'light', got ") (EscapedLiteralPart token: <Lit_EscapedChar "\\\""> ) (${ VSub_Name OPTLARG) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ) } ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [748] ) ] ) (C {(exit)} {(2)}) ] spids: [732 734 -1 757] ) ] spids: [707 713 757] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (Subshell child: (AndOr children: [ (C {(pygmentize)} {(--version)}) (C {(pygmentize)} {(-V)}) ] op_id: Op_DPipe ) redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [779] ) (Redir op_id: Redir_Great fd: 1 arg_word: {(/dev/null)} spids: [782] ) ] spids: [765 777] ) ] negated: True ) terminator: <Op_Semi ";"> ) ] action: [ (SimpleCommand words: [ {(print)} {(DQ ("Can't run pygmentize. --highight forced off"))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [796] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_highlight) op: Equal rhs: {(SQ )} spids: [800] ) ] spids: [800] ) ] spids: [-1 787] ) ] spids: [-1 806] ) ] spids: [702 704 809 -1] ) (case_arm pat_list: [{(no-highlight)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_highlight) op: Equal rhs: {(SQ )} spids: [817] ) ] spids: [817] ) ] spids: [812 814 821 -1] ) (case_arm pat_list: [{(init-file)}] action: [ (C {(set)} {(-x)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_o_init_files) op: PlusEqual rhs: {(DQ ($ VSub_Name "$OPTLARG"))} spids: [834] ) ] spids: [834] ) (C {(set)} {(Lit_Other "+") (x)}) ] spids: [824 826 846 -1] ) (case_arm pat_list: [{(L)} {(library)}] spids: [849 855 857 -1] ) (case_arm pat_list: [{(V)} {(version)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_o_version) op: Equal rhs: {(1)} spids: [869] ) ] spids: [869] ) ] spids: [860 866 872 -1] ) (case_arm pat_list: [{(n)} {(nx)} {(no-init)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_o_nx) op: Equal rhs: {(1)} spids: [888] ) ] spids: [888] ) ] spids: [875 885 891 -1] ) (case_arm pat_list: [{(q)} {(quiet)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_o_quiet) op: Equal rhs: {(1)} spids: [903] ) ] spids: [903] ) ] spids: [894 900 906 -1] ) (case_arm pat_list: [{(tempdir)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_tmpdir) op: Equal rhs: {($ VSub_Name "$OPTLARG")} spids: [913] ) ] spids: [913] ) ] spids: [909 910 916 -1] ) (case_arm pat_list: [{(terminal)} {(tty)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(_Dbg_check_tty)} {($ VSub_Name "$OPTLARG")}) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_tty) op: Equal rhs: {($ VSub_Name "$OPTLARG")} spids: [939] ) ] spids: [939] ) ] spids: [-1 936] ) ] else_action: [(C {(_Dbg_errmsg)} {(SQ <"--tty option ignored">)})] spids: [943 953] ) ] spids: [919 925 956 -1] ) (case_arm pat_list: [{(x)} {(eval-command)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DBG_INPUT) op: Equal rhs: {($ VSub_Name "$OPTLARG")} spids: [968] ) ] spids: [968] ) ] spids: [959 965 971 -1] ) (case_arm pat_list: [{(X)} {(trace)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_linetrace) op: Equal rhs: {(1)} spids: [983] ) ] spids: [983] ) ] spids: [974 980 986 -1] ) (case_arm pat_list: [{(SQ <"?">)}] action: [ (SimpleCommand words: [{(echo)} {(SQ <"Use -h or --help to see options.">)}] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [1001] ) ] ) (C {(exit)} {(2)}) ] spids: [990 993 1013 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (SimpleCommand words: [ {(echo)} { (DQ ("Unknown option ") ($ VSub_Name "$opt") (". Use -h or --help to see options.") ) } ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [1029] ) ] ) (C {(exit)} {(2)}) ] spids: [1016 1018 1037 -1] ) ] spids: [621 627 1040] ) ] spids: [618 1043] ) ) (C {(shift)} { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Minus left: (ArithWord w:{($ VSub_Name "$OPTLIND")}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [1049 1056] ) ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child:(ArithVarRef name:_Dbg_o_version)) terminator: <Op_Semi ";"> ) ] action: [(C {(_Dbg_do_show_version)}) (C {(exit)} {(0)})] spids: [-1 1072] ) (if_arm cond: [ (Sentence child: (AndOr children: [ (DParen child: (ArithUnary op_id: Arith_Bang child: (ArithVarRef name:_Dbg_o_quiet) ) ) (AndOr children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name "$_Dbg_shell_name")} ) ) (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name "$_Dbg_release")} ) ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (DQ ($ VSub_Name "$_Dbg_shell_name") (" debugger, ") ($ VSub_Name "$_Dbg_debugger_name") (", release ") ($ VSub_Name "$_Dbg_release") ) } ) (C {(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"> ) } ) ] spids: [1083 1118] ) ] spids: [-1 1143] ) (AndOr children: [(DParen child:(ArithVarRef name:_Dbg_o_version)) (C {(_Dbg_show_version)})] op_id: Op_DAmp ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name "$_Dbg_o_annotate")}) ) terminator: <Op_Semi ";"> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name _Dbg_o_annotate)} right: {(Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "*")} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_annotate) op: Equal rhs: {($ VSub_Name "$_Dbg_o_annotate")} spids: [1196] ) ] spids: [1196] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DPipe left: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:_Dbg_set_annotate) right: (ArithWord w:{(Lit_Digits 3)}) ) right: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:_Dbg_set_annotate) right: (ArithWord w:{(Lit_Digits 0)}) ) ) ) terminator: <Op_Semi ";"> ) ] action: [ (SimpleCommand words: [ {(echo)} { (DQ ( "Annotation level must be less between 0 and 3. Got: " ) ($ VSub_Name "$_Dbg_set_annotate") (.) ) } ] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [1232] ) ] ) (SimpleCommand words: [{(echo)} {(DQ ("Setting Annotation level to 0."))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: -1 arg_word: {(2)} spids: [1242] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_annotate) op: Equal rhs: {(0)} spids: [1246] ) ] spids: [1246] ) ] spids: [-1 1221] ) ] spids: [-1 1250] ) ] spids: [-1 1193] ) ] else_action: [ (SimpleCommand words: [ {(echo)} { (DQ ("Annotate option should be an integer, got ") (${ VSub_Name _Dbg_o_annotate) (.) ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1266])] ) (SimpleCommand words: [{(echo)} {(DQ ("Setting annotation level to 0."))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1276])] ) ] spids: [1253 1280] ) ] spids: [-1 1171] ) ] spids: [-1 1283] ) (C {(unset)} {(_Dbg_o_annotate)} {(_Dbg_o_version)} {(_Dbg_o_quiet)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_script_args) op: Equal rhs: {(ArrayLiteralPart words:[{(DQ ($ VSub_At "$@"))}])} spids: [1295] ) ] spids: [1295] ) ] spids: [458] ) spids: [454 457] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(DQ ($ VSub_Name "$_Dbg_dbg_opts_test"))}) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:OPTLIND) op:Equal rhs:{(1)} spids:[1326])] spids: [1326] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_libdir) op: Equal rhs: {(SQ <.>)} spids: [1330] ) ] spids: [1330] ) (AndOr children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name "$_Dbg_input")}) ) (C {(typeset)} {(-p)} {(_Dbg_input)}) ] op_id: Op_DAmp ) (C {(_Dbg_parse_options)} {(DQ ($ VSub_At "$@"))}) (C {(typeset)} {(-p)} {(_Dbg_set_highlight)}) (C {(typeset)} {(-p)} {(_Dbg_set_annotate)}) (C {(typeset)} {(-p)} {(_Dbg_set_linetrace)}) (C {(typeset)} {(-p)} {(_Dbg_set_basename)}) ] spids: [-1 1323] ) ] spids: [-1 1387] ) ] )