(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {(Id.Lit_Other ':')} spids: [109] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:read) op: assign_op.Equal rhs: {(DQ ('class returntype function formal actual attrib'))} spids: [113] ) ] ) (command.ShFunction name: function_list body: (command.BraceGroup children: [ (command.Pipeline children: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:177) fd: -1 here_begin: {(EOF)} here_end_span_id: 230 stdin_parts: [ ('f:void:breakpoint_create:int b:b\n') ('f:void:breakpoint_delete:int b:b\n') ('f:void:breakpoint_modify:int b:b\n') ('f:void:tracepoint_create:int number:number\n') ('f:void:tracepoint_delete:int number:number\n') ('f:void:tracepoint_modify:int number:number\n') ('f:void:architecture_changed:void\n') ('f:void:target_changed:void\n') ('f:void:selected_frame_level_changed:int level:level\n') ('f:void:selected_thread_changed:int thread_num:thread_num\n') ('#*:void:annotate_starting_hook:void\n') ('#*:void:annotate_stopped_hook:void\n') ('#*:void:annotate_signalled_hook:void\n') ('#*:void:annotate_signal_hook:void\n') ('#*:void:annotate_exited_hook:void\n') ('##*:void:print_register_hook:int\n') ('##*:CORE_ADDR:find_toc_address_hook:CORE_ADDR\n') ('##*:void:sparc_print_register_hook:int regno:regno\n') ('#*:void:target_resume_hook:void\n') ('#*:void:target_wait_loop_hook:void\n') ('#*:void:init_gdb_hook:char *argv0:argv0\n') ('#*:void:command_loop_hook:void\n') ( '#*:void:fputs_unfiltered_hook:const char *linebuff,struct ui_file *stream:linebuff, stream\n' ) ( '#*:void:print_frame_info_listing_hook:struct symtab *s, int line, int stopline, int noerror:s, line, stopline, noerror\n' ) ('#*:int:query_hook:const char *query, va_list args:query, args\n') ('#*:void:warning_hook:const char *string, va_list args:string, args\n') ('#*:void:target_output_hook:char *b:b\n') ('#*:void:interactive_hook:void\n') ('#*:void:registers_changed_hook:void\n') ('#*:void:readline_begin_hook:char *format, ...:format\n') ('#*:char *:readline_hook:char *prompt:prompt\n') ('#*:void:readline_end_hook:void\n') ( '#*:int:target_wait_hook:int pid, struct target_waitstatus *status:pid, status\n' ) ( '#*:void:call_command_hook:struct cmd_list_element *c, char *cmd, int from_tty:c, cmd, from_tty\n' ) ('#*:NORETURN void:error_hook:void:: ATTR_NORETURN\n') ('#*:void:error_begin_hook:void\n') ('##*:int:target_architecture_hook:const struct bfd_arch_info *\n') ('#*:void:exec_file_display_hook:char *filename:filename\n') ('#*:void:file_changed_hook:char *filename:filename\n') ('##*:void:specify_exec_file_hook:\n') ( '#*:int:gdb_load_progress_hook:char *section, unsigned long num:section, num\n' ) ('#*:void:pre_add_symbol_hook:char *name:name\n') ('#*:void:post_add_symbol_hook:void\n') ('#*:void:selected_frame_level_changed_hook:int level:level\n') ('#*:int:gdb_loop_hook:int signo:signo\n') ('##*:void:solib_create_inferior_hook:void\n') ('##*:void:xcoff_relocate_symtab_hook:unsigned int\n') ] ) ] ) (C {(grep)} {(-v)} {(SQ (Token id:Id.Lit_Chars val:'^#' span_id:237))}) ] negated: F ) ] ) ) (command.ShFunction name: copyright body: (command.BraceGroup children: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:253) fd: -1 here_begin: {(EOF)} here_end_span_id: 308 stdin_parts: [ ('/* User Interface Events.\n') ('\n') (' Copyright 1999, 2001, 2002 Free Software Foundation, Inc.\n') ('\n') (' Contributed by Cygnus Solutions.\n') ('\n') (' This file is part of GDB.\n') ('\n') (' This program is free software; you can redistribute it and/or modify\n') (' it under the terms of the GNU General Public License as published by\n') (' the Free Software Foundation; either version 2 of the License, or\n') (' (at your option) any later version.\n') ('\n') (' This program is distributed in the hope that it will be useful,\n') (' but WITHOUT ANY WARRANTY; without even the implied warranty of\n') (' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n') (' GNU General Public License for more details.\n') ('\n') (' You should have received a copy of the GNU General Public License\n') (' along with this program; if not, write to the Free Software\n') ( ' Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */\n' ) ('\n') ('/* Work in progress */\n') ('\n') ('/* This file was created with the aid of ') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\`' span_id:281) ) (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\`' span_id:282) ) ("gdb-events.sh''.\n") ('\n') (' The bourn shell script ') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\`' span_id:286) ) (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\`' span_id:287) ) ("gdb-events.sh'' creates the files\n") (' ') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\`' span_id:290) ) (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\`' span_id:291) ) ("new-gdb-events.c'' and ") (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\`' span_id:293) ) (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\`' span_id:294) ) ('new-gdb-events.h and then compares\n') (' them against the existing ') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\`' span_id:297) ) (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\`' span_id:298) ) ("gdb-events.[hc]''. Any differences\n") (' found being reported.\n') ('\n') (' If editing this file, please also run gdb-events.sh and merge any\n') (' changes into that script. Conversely, when making sweeping changes\n') (' to this file, modifying gdb-events.sh and using its output may\n') (' prove easier. */\n') ('\n') ] ) ] ) ] ) ) (command.Simple words: [{(exec)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:324) fd: -1 arg_word: {(new-gdb-events.h)} ) ] ) (C {(copyright)}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:332) fd: -1 here_begin: {(EOF)} here_end_span_id: 343 stdin_parts: [ ('\n') ('#ifndef GDB_EVENTS_H\n') ('#define GDB_EVENTS_H\n') ('\n') ('#ifndef WITH_GDB_EVENTS\n') ('#define WITH_GDB_EVENTS 1\n') ('#endif\n') ] ) ] ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ )}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:360) fd: -1 here_begin: {(EOF)} here_end_span_id: 366 stdin_parts: [ ('/* COMPAT: pointer variables for old, unconverted events.\n') (' A call to set_gdb_events() will automatically update these. */\n') ] ) ] ) (C {(echo)} {(DQ )}) (command.Pipeline children: [ (C {(function_list)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:376) cond: [(C {(eval)} {(read)} {($ Id.VSub_DollarName '$read')})] body: (command.DoGroup children: [ (command.Case to_match: {(DQ (${ Id.VSub_Name class))} arms: [ (case_arm pat_list: [{(DQ ('*'))}] action: [ (C {(echo)} { (DQ ('extern ') (${ Id.VSub_Name returntype) (' (*') (${ Id.VSub_Name function) ('_event) (') (${ Id.VSub_Name formal) (')') (${ Id.VSub_Name attrib) (';') ) } ) ] spids: [398 402 428 -1] ) ] ) ] ) ) ] negated: F ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ )}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:451) fd: -1 here_begin: {(EOF)} here_end_span_id: 458 stdin_parts: [ ('/* Type definition of all hook functions.\n') (' Recommended pratice is to first declare each hook function using\n') (' the below ftype and then define it. */\n') ] ) ] ) (C {(echo)} {(DQ )}) (command.Pipeline children: [ (C {(function_list)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:468) cond: [(C {(eval)} {(read)} {($ Id.VSub_DollarName '$read')})] body: (command.DoGroup children: [ (C {(echo)} { (DQ ('typedef ') (${ Id.VSub_Name returntype) (' (gdb_events_') (${ Id.VSub_Name function) ('_ftype) (') (${ Id.VSub_Name formal) (');') ) } ) ] ) ) ] negated: F ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ )}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:515) fd: -1 here_begin: {(EOF)} here_end_span_id: 520 stdin_parts: [('/* gdb-events: object. */\n')] ) ] ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('struct gdb_events'))}) (C {(echo)} {(DQ (' {'))}) (command.Pipeline children: [ (C {(function_list)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:542) cond: [(C {(eval)} {(read)} {($ Id.VSub_DollarName '$read')})] body: (command.DoGroup children: [ (C {(echo)} { (DQ (' gdb_events_') (${ Id.VSub_Name function) ('_ftype *') (${ Id.VSub_Name function) (${ Id.VSub_Name attrib) (';') ) } ) ] ) ) ] negated: F ) (C {(echo)} {(DQ (' };'))}) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ )}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:594) fd: -1 here_begin: {(EOF)} here_end_span_id: 601 stdin_parts: [ ('/* Interface into events functions.\n') (' Where a *_p() predicate is present, it must be called before\n') (' calling the hook proper. */\n') ] ) ] ) (command.Pipeline children: [ (C {(function_list)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:606) cond: [(C {(eval)} {(read)} {($ Id.VSub_DollarName '$read')})] body: (command.DoGroup children: [ (command.Case to_match: {(DQ (${ Id.VSub_Name class))} arms: [ (case_arm pat_list: [{(DQ ('*'))}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Continue val:continue span_id:634) ) ] spids: [628 632 636 -1] ) (case_arm pat_list: [{(DQ ('?'))}] action: [ (C {(echo)} {(DQ ('extern int ') (${ Id.VSub_Name function) ('_p (void);'))}) (C {(echo)} { (DQ ('extern ') (${ Id.VSub_Name returntype) (' ') (${ Id.VSub_Name function) ('_event (') (${ Id.VSub_Name formal) (')') (${ Id.VSub_Name attrib) (';') ) } ) ] spids: [639 643 680 -1] ) (case_arm pat_list: [{(DQ (f))}] action: [ (C {(echo)} { (DQ ('extern ') (${ Id.VSub_Name returntype) (' ') (${ Id.VSub_Name function) ('_event (') (${ Id.VSub_Name formal) (')') (${ Id.VSub_Name attrib) (';') ) } ) ] spids: [683 687 713 -1] ) ] ) ] ) ) ] negated: F ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ )}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:736) fd: -1 here_begin: {(EOF)} here_end_span_id: 741 stdin_parts: [('/* When GDB_EVENTS are not being used, completely disable them. */\n')] ) ] ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('#if !WITH_GDB_EVENTS'))}) (command.Pipeline children: [ (C {(function_list)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:757) cond: [(C {(eval)} {(read)} {($ Id.VSub_DollarName '$read')})] body: (command.DoGroup children: [ (command.Case to_match: {(DQ (${ Id.VSub_Name class))} arms: [ (case_arm pat_list: [{(DQ ('*'))}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Continue val:continue span_id:785) ) ] spids: [779 783 787 -1] ) (case_arm pat_list: [{(DQ ('?'))}] action: [ (C {(echo)} {(DQ ('#define ') (${ Id.VSub_Name function) ('_event_p() 0'))}) (C {(echo)} { (DQ ('#define ') (${ Id.VSub_Name function) ('_event(') (${ Id.VSub_Name actual) (') 0') ) } ) ] spids: [790 794 823 -1] ) (case_arm pat_list: [{(DQ (f))}] action: [ (C {(echo)} { (DQ ('#define ') (${ Id.VSub_Name function) ('_event(') (${ Id.VSub_Name actual) (') 0') ) } ) ] spids: [826 830 848 -1] ) ] ) ] ) ) ] negated: F ) (C {(echo)} {(DQ ('#endif'))}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:867) fd: -1 here_begin: {(EOF)} here_end_span_id: 886 stdin_parts: [ ('\n') ('/* Install custom gdb-events hooks. */\n') ('extern struct gdb_events *set_gdb_event_hooks (struct gdb_events *vector);\n') ('\n') ('/* Deliver any pending events. */\n') ('extern void gdb_events_deliver (struct gdb_events *vector);\n') ('\n') ('/* Clear event handlers */\n') ('extern void clear_gdb_event_hooks (void);\n') ('\n') ('#if !WITH_GDB_EVENTS\n') ('#define set_gdb_events(x) 0\n') ('#define set_gdb_event_hooks(x) 0\n') ('#define gdb_events_deliver(x) 0\n') ('#endif\n') ] ) ] ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('#endif'))}) (command.Simple words: [{(exec)}] redirects: [ (redir.Redir op:(Token id:Id.Redir_GreatAnd val:'1>&' span_id:904) fd:1 arg_word:{(2)}) ] ) (command.If arms: [ (if_arm cond: [(C {(test)} {(-r)} {(gdb-events.h)})] action: [ (C {(diff)} {(-c)} {(gdb-events.h)} {(new-gdb-events.h)}) (command.If arms: [ (if_arm cond: [ (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(Id.Lit_Equals '=')} {(1)} {(Id.Lit_RBracket ']')} ) ] action: [ (command.Simple words: [{(echo)} {(DQ ('gdb-events.h changed? cp new-gdb-events.h gdb-events.h'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:952) fd: 1 arg_word: {(2)} ) ] ) ] spids: [930 943] ) ] ) ] spids: [910 918] ) ] else_action: [ (command.Simple words: [{(echo)} {(DQ ('File missing? mv new-gdb-events.h gdb-events.h'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:967) fd: 1 arg_word: {(2)} ) ] ) ] ) (command.Simple words: [{(exec)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:987) fd: -1 arg_word: {(new-gdb-events.c)} ) ] ) (C {(copyright)}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:995) fd: -1 here_begin: {(EOF)} here_end_span_id: 1023 stdin_parts: [ ('\n') ('#include ') (Id.Right_DoubleQuote '"') (defs.h) (Id.Right_DoubleQuote '"') ('\n') ('#include ') (Id.Right_DoubleQuote '"') (gdb-events.h) (Id.Right_DoubleQuote '"') ('\n') ('#include ') (Id.Right_DoubleQuote '"') (gdbcmd.h) (Id.Right_DoubleQuote '"') ('\n') ('\n') ('#if WITH_GDB_EVENTS\n') ('static struct gdb_events null_event_hooks;\n') ('static struct gdb_events queue_event_hooks;\n') ('static struct gdb_events *current_event_hooks = &null_event_hooks;\n') ('#endif\n') ('\n') ('int gdb_events_debug;\n') ] ) ] ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('#if WITH_GDB_EVENTS'))}) (command.Pipeline children: [ (C {(function_list)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:1074) cond: [(C {(eval)} {(read)} {($ Id.VSub_DollarName '$read')})] body: (command.DoGroup children: [ (command.Case to_match: {(DQ (${ Id.VSub_Name class))} arms: [ (case_arm pat_list: [{(DQ ('*'))}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Continue val:continue span_id:1102) ) ] spids: [1096 1100 1104 -1] ) (case_arm pat_list: [{(DQ ('?'))}] action: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1115) fd: -1 here_begin: {(EOF)} here_end_span_id: 1160 stdin_parts: [ ('\n') ('int\n') (${ Id.VSub_Name function) ('_event_p (') (${ Id.VSub_Name formal) (')\n') ('{\n') (' return current_event_hooks->') (${ Id.VSub_Name function) (';\n') ('}\n') ('\n') (${ Id.VSub_Name returntype) ('\n') (${ Id.VSub_Name function) ('_event (') (${ Id.VSub_Name formal) (')\n') ('{\n') (' return current_events->') (${ Id.VSub_Name function) (' (') (${ Id.VSub_Name actual) (');\n') ('}\n') ] ) ] ) ] spids: [1107 1111 1162 -1] ) (case_arm pat_list: [{(DQ (f))}] action: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1173) fd: -1 here_begin: {(EOF)} here_end_span_id: 1215 stdin_parts: [ ('\n') ('void\n') (${ Id.VSub_Name function) ('_event (') (${ Id.VSub_Name formal) (')\n') ('{\n') (' if (gdb_events_debug)\n') (' fprintf_unfiltered (gdb_stdlog, ') (Id.Right_DoubleQuote '"') (${ Id.VSub_Name function) (_event) (Id.Lit_Other '\\') (n) (Id.Right_DoubleQuote '"') (');\n') (' if (!current_event_hooks->') (${ Id.VSub_Name function) (')\n') (' return;\n') (' current_event_hooks->') (${ Id.VSub_Name function) (' (') (${ Id.VSub_Name actual) (');\n') ('}\n') ] ) ] ) ] spids: [1165 1169 1217 -1] ) ] ) ] ) ) ] negated: F ) (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('#endif'))}) (C {(echo)} {(DQ )}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1246) fd: -1 here_begin: {(EOF)} here_end_span_id: 1260 stdin_parts: [ ('#if WITH_GDB_EVENTS\n') ('struct gdb_events *\n') ('set_gdb_event_hooks (struct gdb_events *vector)\n') ('{\n') (' struct gdb_events *old_events = current_event_hooks;\n') (' if (vector == NULL)\n') (' current_event_hooks = &queue_event_hooks;\n') (' else\n') (' current_event_hooks = vector;\n') (' return old_events;\n') ] ) ] ) (command.Pipeline children: [ (C {(function_list)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:1265) cond: [(C {(eval)} {(read)} {($ Id.VSub_DollarName '$read')})] body: (command.DoGroup children: [ (command.Case to_match: {(DQ (${ Id.VSub_Name class))} arms: [ (case_arm pat_list: [{(DQ ('*'))}] action: [ (C {(echo)} { (DQ (' ') (${ Id.VSub_Name function) ('_event = hooks->') (${ Id.VSub_Name function) (';') ) } ) ] spids: [1287 1291 1309 -1] ) ] ) ] ) ) ] negated: F ) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1318) fd: -1 here_begin: {(EOF)} here_end_span_id: 1324 stdin_parts: [('}\n') ('#endif\n')] ) ] ) (C {(echo)} {(DQ )}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1336) fd: -1 here_begin: {(EOF)} here_end_span_id: 1347 stdin_parts: [ ('#if WITH_GDB_EVENTS\n') ('void\n') ('clear_gdb_event_hooks (void)\n') ('{\n') (' set_gdb_event_hooks (&null_event_hooks);\n') ('}\n') ('#endif\n') ] ) ] ) (C {(echo)} {(DQ )}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1359) fd: -1 here_begin: {(EOF)} here_end_span_id: 1365 stdin_parts: [('enum gdb_event\n') ('{\n')] ) ] ) (command.Pipeline children: [ (C {(function_list)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:1370) cond: [(C {(eval)} {(read)} {($ Id.VSub_DollarName '$read')})] body: (command.DoGroup children: [ (command.Case to_match: {(DQ (${ Id.VSub_Name class))} arms: [ (case_arm pat_list: [{(DQ (f))}] action: [(C {(echo)} {(DQ (' ') (${ Id.VSub_Name function) (','))})] spids: [1392 1396 1410 -1] ) ] ) ] ) ) ] negated: F ) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1419) fd: -1 here_begin: {(EOF)} here_end_span_id: 1425 stdin_parts: [(' nr_gdb_events\n') ('};\n')] ) ] ) (C {(echo)} {(DQ )}) (command.Pipeline children: [ (C {(function_list)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:1439) cond: [(C {(eval)} {(read)} {($ Id.VSub_DollarName '$read')})] body: (command.DoGroup children: [ (command.Case to_match: {(DQ (${ Id.VSub_Name class))} arms: [ (case_arm pat_list: [{(DQ (f))}] action: [ (command.If arms: [ (if_arm cond: [(C {(test)} {(${ Id.VSub_Name actual)})] action: [ (C {(echo)} {(DQ ('struct ') (${ Id.VSub_Name function))}) (C {(echo)} {(DQ (' {'))}) (C {(echo)} { (DQ (' ') (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:1501) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(${ Id.VSub_Name formal)}) (C {(tr)} { (SQ (Token id: Id.Lit_Chars val: '[,]' span_id: 1515 ) ) } {(SQ (Token id:Id.Lit_Chars val:'[;]' span_id:1519))} ) ] negated: F ) ] ) ) (';') ) } ) (C {(echo)} {(DQ (' };'))}) (C {(echo)} {(DQ )}) ] spids: [1468 1477] ) ] ) ] spids: [1461 1465 1542 -1] ) ] ) ] ) ) ] negated: F ) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1555) fd: -1 here_begin: {(EOF)} here_end_span_id: 1565 stdin_parts: [ ('struct event\n') (' {\n') (' enum gdb_event type;\n') (' struct event *next;\n') (' union\n') (' {\n') ] ) ] ) (command.Pipeline children: [ (C {(function_list)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:1570) cond: [(C {(eval)} {(read)} {($ Id.VSub_DollarName '$read')})] body: (command.DoGroup children: [ (command.Case to_match: {(DQ (${ Id.VSub_Name class))} arms: [ (case_arm pat_list: [{(DQ (f))}] action: [ (command.If arms: [ (if_arm cond: [(C {(test)} {(${ Id.VSub_Name actual)})] action: [ (C {(echo)} { (DQ (' struct ') (${ Id.VSub_Name function) (' ') (${ Id.VSub_Name function) (';') ) } ) ] spids: [1599 1608] ) ] ) ] spids: [1592 1596 1629 -1] ) ] ) ] ) ) ] negated: F ) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1638) fd: -1 here_begin: {(EOF)} here_end_span_id: 1647 stdin_parts: [ (' }\n') (' data;\n') (' };\n') ('struct event *pending_events;\n') ('struct event *delivering_events;\n') ] ) ] ) (C {(echo)} {(DQ )}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1659) fd: -1 here_begin: {(EOF)} here_end_span_id: 1672 stdin_parts: [ ('static void\n') ('append (struct event *new_event)\n') ('{\n') (' struct event **event = &pending_events;\n') (' while ((*event) != NULL)\n') (' event = &((*event)->next);\n') (' (*event) = new_event;\n') (' (*event)->next = NULL;\n') ('}\n') ] ) ] ) (command.Pipeline children: [ (C {(function_list)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:1681) cond: [(C {(eval)} {(read)} {($ Id.VSub_DollarName '$read')})] body: (command.DoGroup children: [ (command.Case to_match: {(DQ (${ Id.VSub_Name class))} arms: [ (case_arm pat_list: [{(DQ (f))}] action: [ (C {(echo)} {(DQ )}) (C {(echo)} {(DQ ('static void'))}) (C {(echo)} { (DQ (queue_) (${ Id.VSub_Name function) (' (') (${ Id.VSub_Name formal) (')')) } ) (C {(echo)} {(DQ ('{'))}) (C {(echo)} {(DQ (' struct event *event = XMALLOC (struct event);'))}) (C {(echo)} {(DQ (' event->type = ') (${ Id.VSub_Name function) (';'))}) (command.ForEach iter_name: arg iter_words: [ { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:1769) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(${ Id.VSub_Name actual)}) (C {(tr)} {(SQ (Token id:Id.Lit_Chars val:'[,]' span_id:1783))} {(SQ (Token id:Id.Lit_Chars val:'[:]' span_id:1787))} ) (C {(tr)} {(-d)} {(SQ (Token id:Id.Lit_Chars val:'[ ]' span_id:1797))} ) ] negated: F ) ] ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (C {(echo)} { (DQ (' event->data.') (${ Id.VSub_Name function) (.) (${ Id.VSub_Name arg) (' = ') (${ Id.VSub_Name arg) (';') ) } ) ] ) ) (C {(echo)} {(DQ (' append (event);'))}) (C {(echo)} {(DQ ('}'))}) ] spids: [1703 1707 1841 -1] ) ] ) ] ) ) ] negated: F ) (C {(echo)} {(DQ )}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1859) fd: -1 here_begin: {(EOF)} here_end_span_id: 1884 stdin_parts: [ ('void\n') ('gdb_events_deliver (struct gdb_events *vector)\n') ('{\n') (' /* Just zap any events left around from last time. */\n') (' while (delivering_events != NULL)\n') (' {\n') (' struct event *event = delivering_events;\n') (' delivering_events = event->next;\n') (' xfree (event);\n') (' }\n') (' /* Process any pending events. Because one of the deliveries could\n') (' bail out we move everything off of the pending queue onto an\n') (' in-progress queue where it can, later, be cleaned up if\n') (' necessary. */\n') (' delivering_events = pending_events;\n') (' pending_events = NULL;\n') (' while (delivering_events != NULL)\n') (' {\n') (' struct event *event = delivering_events;\n') (' switch (event->type)\n') (' {\n') ] ) ] ) (command.Pipeline children: [ (C {(function_list)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:1889) cond: [(C {(eval)} {(read)} {($ Id.VSub_DollarName '$read')})] body: (command.DoGroup children: [ (command.Case to_match: {(DQ (${ Id.VSub_Name class))} arms: [ (case_arm pat_list: [{(DQ (f))}] action: [ (C {(echo)} {(DQ (' case ') (${ Id.VSub_Name function) (':'))}) (command.If arms: [ (if_arm cond: [(C {(test)} {(${ Id.VSub_Name actual)})] action: [ (C {(echo)} {(DQ (' vector->') (${ Id.VSub_Name function))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sep) op: assign_op.Equal rhs: {(DQ (' ('))} spids: [1951] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ass) op: assign_op.Equal rhs: {(DQ )} spids: [1957] ) ] ) (command.ForEach iter_name: arg iter_words: [ { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:1968) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(${ Id.VSub_Name actual)}) (C {(tr)} { (SQ (Token id: Id.Lit_Chars val: '[,]' span_id: 1982 ) ) } {(SQ (Token id:Id.Lit_Chars val:'[:]' span_id:1986))} ) (C {(tr)} {(-d)} { (SQ (Token id: Id.Lit_Chars val: '[ ]' span_id: 1996 ) ) } ) ] negated: F ) ] ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ass) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name ass) (${ Id.VSub_Name sep) ('event->data.') (${ Id.VSub_Name function) (.) (${ Id.VSub_Name arg) ) } spids: [2004] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sep) op: assign_op.Equal rhs: {(DQ (',\n') (' '))} spids: [2023] ) ] ) ] ) ) (C {(echo)} {(DQ (${ Id.VSub_Name ass) (');'))}) ] spids: [1929 1938] ) ] else_action: [ (C {(echo)} {(DQ (' vector->') (${ Id.VSub_Name function) (' ();'))} ) ] ) (C {(echo)} {(DQ (' break;'))}) ] spids: [1911 1915 2067 -1] ) ] ) ] ) ) ] negated: F ) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:2076) fd: -1 here_begin: {(EOF)} here_end_span_id: 2085 stdin_parts: [ (' }\n') (' delivering_events = event->next;\n') (' xfree (event);\n') (' }\n') ('}\n') ] ) ] ) (C {(echo)} {(DQ )}) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:2097) fd: -1 here_begin: {(EOF)} here_end_span_id: 2107 stdin_parts: [ ('void _initialize_gdb_events (void);\n') ('void\n') ('_initialize_gdb_events (void)\n') ('{\n') (' struct cmd_list_element *c;\n') ('#if WITH_GDB_EVENTS\n') ] ) ] ) (command.Pipeline children: [ (C {(function_list)}) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:2112) cond: [(C {(eval)} {(read)} {($ Id.VSub_DollarName '$read')})] body: (command.DoGroup children: [ (command.Case to_match: {(DQ (${ Id.VSub_Name class))} arms: [ (case_arm pat_list: [{(DQ (f))}] action: [ (C {(echo)} { (DQ (' queue_event_hooks.') (${ Id.VSub_Name function) (' = queue_') (${ Id.VSub_Name function) (';') ) } ) ] spids: [2134 2138 2156 -1] ) ] ) ] ) ) ] negated: F ) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:2165) fd: -1 here_begin: {(EOF)} here_end_span_id: 2217 stdin_parts: [ ('#endif\n') ('\n') (' c = add_set_cmd (') (Id.Right_DoubleQuote '"') (eventdebug) (Id.Right_DoubleQuote '"') (', class_maintenance, var_zinteger,\n') ('\t\t (char *) (&gdb_events_debug), ') (Id.Right_DoubleQuote '"') ('Set event debugging.') (Id.Lit_Other '\\') (n) (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\\\' span_id:2180) ) ('\n') ('When non-zero, event/notify debugging is enabled.') (Id.Right_DoubleQuote '"') (', &setlist);\n') (' deprecate_cmd (c, ') (Id.Right_DoubleQuote '"') ('set debug event') (Id.Right_DoubleQuote '"') (');\n') (' deprecate_cmd (add_show_from_set (c, &showlist), ') (Id.Right_DoubleQuote '"') ('show debug event') (Id.Right_DoubleQuote '"') (');\n') ('\n') (' add_show_from_set (add_set_cmd (') (Id.Right_DoubleQuote '"') (event) (Id.Right_DoubleQuote '"') (',\n') (' class_maintenance,\n') (' var_zinteger,\n') (' (char *) (&gdb_events_debug),\n') (' ') (Id.Right_DoubleQuote '"') ('Set event debugging.') (Id.Lit_Other '\\') (n) (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\\\' span_id:2209) ) ('\n') ('When non-zero, event/notify debugging is enabled.') (Id.Right_DoubleQuote '"') (', &setdebuglist),\n') ('\t\t &showdebuglist);\n') ('}\n') ] ) ] ) (command.Simple words: [{(exec)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:2224) fd: 1 arg_word: {(2)} ) ] ) (command.Simple words: [ {(sed)} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'s/\\(\t\\)* /\\1\t/g' span_id:2248))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:2235) fd: -1 arg_word: {(new-gdb-events.c)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:2239) fd: -1 arg_word: {(tmp-gdb-events.c)} ) ] ) (C {(mv)} {(tmp-gdb-events.c)} {(new-gdb-events.c)}) (command.If arms: [ (if_arm cond: [(C {(test)} {(-r)} {(gdb-events.c)})] action: [ (C {(diff)} {(-c)} {(gdb-events.c)} {(new-gdb-events.c)}) (command.If arms: [ (if_arm cond: [ (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(Id.Lit_Equals '=')} {(1)} {(Id.Lit_RBracket ']')} ) ] action: [ (command.Simple words: [{(echo)} {(DQ ('gdb-events.c changed? cp new-gdb-events.c gdb-events.c'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:2302) fd: 1 arg_word: {(2)} ) ] ) ] spids: [2280 2293] ) ] ) ] spids: [2260 2268] ) ] else_action: [ (command.Simple words: [{(echo)} {(DQ ('File missing? mv new-gdb-events.c gdb-events.c'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:2317) fd: 1 arg_word: {(2)} ) ] ) ] ) ] )