Generated classes for MI commands.
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 12 Jun 2014 01:21:45 +0100
changeset 12 568a2971c977
parent 11 474fbb650afe
child 13 45ec9353003f
Generated classes for MI commands. List of command as well as documentation was taken directly from GDB sources.
GDB.st
GDBAsyncEvent.st
GDBCommandEvent.st
GDBMICommand.st
GDBMI_ada_task_info.st
GDBMI_add_inferior.st
GDBMI_break_after.st
GDBMI_break_commands.st
GDBMI_break_condition.st
GDBMI_break_delete.st
GDBMI_break_disable.st
GDBMI_break_enable.st
GDBMI_break_info.st
GDBMI_break_insert.st
GDBMI_break_list.st
GDBMI_break_passcount.st
GDBMI_break_watch.st
GDBMI_catch_assert.st
GDBMI_catch_exception.st
GDBMI_catch_load.st
GDBMI_catch_unload.st
GDBMI_data_disassemble.st
GDBMI_data_evaluate_expression.st
GDBMI_data_list_changed_registers.st
GDBMI_data_list_register_names.st
GDBMI_data_list_register_values.st
GDBMI_data_read_memory.st
GDBMI_data_read_memory_bytes.st
GDBMI_data_write_memory.st
GDBMI_data_write_memory_bytes.st
GDBMI_data_write_register_values.st
GDBMI_dprintf_insert.st
GDBMI_enable_frame_filters.st
GDBMI_enable_pretty_printing.st
GDBMI_enable_timings.st
GDBMI_environment_cd.st
GDBMI_environment_directory.st
GDBMI_environment_path.st
GDBMI_environment_pwd.st
GDBMI_exec_arguments.st
GDBMI_exec_continue.st
GDBMI_exec_finish.st
GDBMI_exec_interrupt.st
GDBMI_exec_jump.st
GDBMI_exec_next.st
GDBMI_exec_next_instruction.st
GDBMI_exec_return.st
GDBMI_exec_run.st
GDBMI_exec_step.st
GDBMI_exec_step_instruction.st
GDBMI_exec_until.st
GDBMI_file_exec_and_symbols.st
GDBMI_file_exec_file.st
GDBMI_file_list_exec_source_file.st
GDBMI_file_list_exec_source_files.st
GDBMI_file_symbol_file.st
GDBMI_gdb_exit.st
GDBMI_gdb_set.st
GDBMI_gdb_show.st
GDBMI_gdb_version.st
GDBMI_inferior_tty_set.st
GDBMI_inferior_tty_show.st
GDBMI_info_ada_exceptions.st
GDBMI_info_gdb_mi_command.st
GDBMI_info_os.st
GDBMI_interpreter_exec.st
GDBMI_list_features.st
GDBMI_list_target_features.st
GDBMI_list_thread_groups.st
GDBMI_remove_inferior.st
GDBMI_stack_info_depth.st
GDBMI_stack_info_frame.st
GDBMI_stack_list_arguments.st
GDBMI_stack_list_frames.st
GDBMI_stack_list_locals.st
GDBMI_stack_list_variables.st
GDBMI_stack_select_frame.st
GDBMI_symbol_list_lines.st
GDBMI_target_attach.st
GDBMI_target_detach.st
GDBMI_target_disconnect.st
GDBMI_target_download.st
GDBMI_target_file_delete.st
GDBMI_target_file_get.st
GDBMI_target_file_put.st
GDBMI_target_select.st
GDBMI_thread_info.st
GDBMI_thread_list_ids.st
GDBMI_thread_select.st
GDBMI_trace_define_variable.st
GDBMI_trace_find.st
GDBMI_trace_frame_collected.st
GDBMI_trace_list_variables.st
GDBMI_trace_save.st
GDBMI_trace_start.st
GDBMI_trace_status.st
GDBMI_trace_stop.st
GDBMI_var_assign.st
GDBMI_var_create.st
GDBMI_var_delete.st
GDBMI_var_evaluate_expression.st
GDBMI_var_info_expression.st
GDBMI_var_info_num_children.st
GDBMI_var_info_path_expression.st
GDBMI_var_info_type.st
GDBMI_var_list_children.st
GDBMI_var_set_format.st
GDBMI_var_set_frozen.st
GDBMI_var_set_update_range.st
GDBMI_var_set_visualizer.st
GDBMI_var_show_attributes.st
GDBMI_var_show_format.st
GDBMI_var_update.st
GDBStreamOutputEvent.st
Make.proto
Make.spec
abbrev.stc
bc.mak
jv_libgdbs.st
libInit.cc
libgdbs.rc
tests/jv_libgdbs_tests.st
tests/tests.rc
--- a/GDB.st	Mon Jun 09 21:28:52 2014 +0100
+++ b/GDB.st	Thu Jun 12 01:21:45 2014 +0100
@@ -143,10 +143,11 @@
     driver eventPumpStart.
     driver eventDispatchStart.
 
-    self send: (GDBMICommand inferiorTtySet: driver inferiorPTY name).
+"/    self send: (GDBMICommand inferiorTtySet: driver inferiorPTY name).
+    self send: (GDBMI_inferior_tty_set arguments: { driver inferiorPTY name })
 
     "Created: / 26-05-2014 / 21:23:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 09-06-2014 / 21:18:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-06-2014 / 01:11:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 release
--- a/GDBAsyncEvent.st	Mon Jun 09 21:28:52 2014 +0100
+++ b/GDBAsyncEvent.st	Thu Jun 12 01:21:45 2014 +0100
@@ -38,6 +38,14 @@
     type := aString.
 ! !
 
+!GDBAsyncEvent methodsFor:'displaying'!
+
+displayString
+    ^ type
+
+    "Created: / 12-06-2014 / 01:15:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !GDBAsyncEvent class methodsFor:'documentation'!
 
 version_HG
--- a/GDBCommandEvent.st	Mon Jun 09 21:28:52 2014 +0100
+++ b/GDBCommandEvent.st	Thu Jun 12 01:21:45 2014 +0100
@@ -20,3 +20,11 @@
     "Modified: / 04-06-2014 / 09:07:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!GDBCommandEvent methodsFor:'displaying'!
+
+displayString
+    ^ command asString
+
+    "Created: / 11-06-2014 / 12:49:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/GDBMICommand.st	Mon Jun 09 21:28:52 2014 +0100
+++ b/GDBMICommand.st	Thu Jun 12 01:21:45 2014 +0100
@@ -7,19 +7,205 @@
 	category:'GDB-Core-Commands'
 !
 
-GDBMICommand subclass:#inferior_tty_set
-	instanceVariableNames:''
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:GDBMICommand
+!GDBMICommand class methodsFor:'instance creation'!
+
+arguments: anArray
+    ^ self new arguments: anArray
+
+    "Created: / 12-06-2014 / 01:10:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!GDBMICommand class methodsFor:'utilities'!
+
+commands
+    "A list if MI command recognized by GDB.
+     Extracted from gdb sourcefile gdb/mi/mi-cmds.c
+
+     See https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gdb/mi/mi-cmds.c
+
+     "
+
+    ^ #(
+        'ada-task-info'
+        'add-inferior'
+        'break-after'
+        'break-condition'
+        'break-commands'
+        'break-delete'
+        'break-disable'
+        'break-enable'
+        'break-info'
+        'break-insert'
+        'dprintf-insert'
+        'break-list'
+        'break-passcount'
+        'break-watch'
+        'catch-assert'
+        'catch-exception'
+        'catch-load'
+        'catch-unload'
+        'data-disassemble'
+        'data-evaluate-expression'
+        'data-list-changed-registers'
+        'data-list-register-names'
+        'data-list-register-values'
+        'data-read-memory'
+        'data-read-memory-bytes'
+        'data-write-memory'
+        'data-write-memory-bytes'
+        'data-write-register-values'
+        'enable-timings'
+        'enable-pretty-printing'
+        'enable-frame-filters'
+        'environment-cd'
+        'environment-directory'
+        'environment-path'
+        'environment-pwd'
+        'exec-arguments'
+        'exec-continue'
+        'exec-finish'
+        'exec-jump'
+        'exec-interrupt'
+        'exec-next'
+        'exec-next-instruction'
+        'exec-return'
+        'exec-run'
+        'exec-step'
+        'exec-step-instruction'
+        'exec-until'
+        'file-exec-and-symbols'
+        'file-exec-file'
+        'file-list-exec-source-file'
+        'file-list-exec-source-files'
+        'file-symbol-file'
+        'gdb-exit'
+        'gdb-set'
+        'gdb-show'
+        'gdb-version'
+        'inferior-tty-set'
+        'inferior-tty-show'
+        'info-ada-exceptions'
+        'info-gdb-mi-command'
+        'info-os'
+        'interpreter-exec'
+        'list-features'
+        'list-target-features'
+        'list-thread-groups'
+        'remove-inferior'
+        'stack-info-depth'
+        'stack-info-frame'
+        'stack-list-arguments'
+        'stack-list-frames'
+        'stack-list-locals'
+        'stack-list-variables'
+        'stack-select-frame'
+        'symbol-list-lines'
+        'target-attach'
+        'target-detach'
+        'target-disconnect'
+        'target-download'
+        'target-file-delete'
+        'target-file-get'
+        'target-file-put'
+        'target-select'
+        'thread-info'
+        'thread-list-ids'
+        'thread-select'
+        'trace-define-variable'
+        'trace-find'
+        'trace-frame-collected'
+        'trace-list-variables'
+        'trace-save'
+        'trace-start'
+        'trace-status'
+        'trace-stop'
+        'var-assign'
+        'var-create'
+        'var-delete'
+        'var-evaluate-expression'
+        'var-info-path-expression'
+        'var-info-expression'
+        'var-info-num-children'
+        'var-info-type'
+        'var-list-children'
+        'var-set-format'
+        'var-set-frozen'
+        'var-set-update-range'
+        'var-set-visualizer'
+        'var-show-attributes'
+        'var-show-format'
+        'var-update'
+    )
+
+    "
+    GDBMICommand commands do:[:command | 
+        | commandClassName commandClass |
+
+        commandClassName := ('GDBMI_' , (command copyReplaceAll: $- with: $_)) asSymbol.
+        (Smalltalk at: commandClassName) isNil ifTrue:[ 
+            GDBMICommand subclass: commandClassName
+                instanceVariableNames:''
+                classVariableNames:''
+                poolDictionaries:''
+                category:'GDB-Core-Commands-MI'  
+        ].
+        commandClass := (Smalltalk at: commandClassName).
+        commandClass compile: (String streamContents:[ :s | s nextPutAll: 'operation'; cr; tab; nextPutAll: '^ '; nextPutAll: commnd storeString ].
+
+    ].
+    "
+
+    "Created: / 12-06-2014 / 00:28:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-!GDBMICommand class methodsFor:'instance creation'!
+generate
+    self commands do:[:command | self generate: command ]
+
+    "Created: / 12-06-2014 / 01:02:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+generate: command
+    | commandClassName commandClass commandDoc gdbDoc commandDocStartI commandDocEndI |
+
+    gdbDoc := '/tmp/gdb-doc.txt' asFilename contents.    
+
+    commandDocStartI := gdbDoc indexOf: 'The `-', command , ''' Command'.
+    commandDocStartI ~~ 0 ifTrue:[ 
+        | l |
+
 
-inferiorTtySet: ttyName
-    ^ inferior_tty_set new arguments: (Array with: ttyName)
+        commandDocEndI := commandDocStartI + 1.
+        l := gdbDoc at: commandDocEndI.
+        [ commandDocEndI > gdbDoc size or:[ #('The `-' '27.' '28.') anySatisfy:[:e | l startsWith: e] ] ] whileFalse:[            
+            commandDocEndI := commandDocEndI + 1.
+            l := gdbDoc at: commandDocEndI.
+        ].
+        commandDoc := (gdbDoc copyFrom: commandDocStartI to: commandDocEndI - 1) asString.
+        commandDoc replaceAll: $" with: $'.
+    ].
 
-    "Created: / 09-06-2014 / 18:44:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    commandClassName := ('GDBMI_' , (command copyReplaceAll: $- with: $_)) asSymbol.
+    (Smalltalk at: commandClassName) isNil ifTrue:[ 
+        GDBMICommand subclass: commandClassName
+            instanceVariableNames:''
+            classVariableNames:''
+            poolDictionaries:''
+            category:'GDB-Core-Commands-MI'  
+    ].
+    commandClass := (Smalltalk at: commandClassName).
+    commandClass compile: (String streamContents:[ :s | s nextPutAll: 'operation'; cr; tab; nextPutAll: '^ '; nextPutAll: command storeString ]) classified: 'accessing'.
+
+    commandDoc notNil ifTrue:[ 
+        commandClass class compile:(String streamContents:[ :s| s nextPutAll: 'documentation'; cr; nextPut: $"; cr; nextPutAll: commandDoc; cr; nextPut: $" ]) classified: 'documentation'.
+    ].
+
+
+"
+    GDBMICommand generate: 'file-exec-and-symbols'
+    GDBMICommand generate
+"
+
+    "Created: / 12-06-2014 / 00:56:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !GDBMICommand methodsFor:'accessing'!
@@ -33,9 +219,10 @@
 !
 
 operation   
-    ^ self class nameWithoutPrefix copyReplaceAll: $_ with: $-.
+    ^ self subclassResponsibility
 
     "Created: / 09-06-2014 / 18:40:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-06-2014 / 00:43:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !GDBMICommand methodsFor:'converting'!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_ada_task_info.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,96 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_ada_task_info
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_ada_task_info class methodsFor:'documentation'!
+
+documentation
+"
+The `-ada-task-info' Command
+----------------------------
+
+Synopsis
+........
+
+      -ada-task-info [ TASK-ID ]
+
+   Reports information about either a specific Ada task, if the TASK-ID
+parameter is present, or about all Ada tasks.
+
+{No value for `GDBN'} Command
+.............................
+
+The `info tasks' command prints the same information about all Ada
+tasks (*note Ada Tasks::).
+
+Result
+......
+
+The result is a table of Ada tasks.  The following columns are defined
+for each Ada task:
+
+`current'
+     This field exists only for the current thread.  It has the value
+     `*'.
+
+`id'
+     The identifier that {No value for `GDBN'} uses to refer to the Ada
+     task.
+
+`task-id'
+     The identifier that the target uses to refer to the Ada task.
+
+`thread-id'
+     The identifier of the thread corresponding to the Ada task.
+
+     This field should always exist, as Ada tasks are always implemented
+     on top of a thread.  But if {No value for `GDBN'} cannot find this
+     corresponding thread for any reason, the field is omitted.
+
+`parent-id'
+     This field exists only when the task was created by another task.
+     In this case, it provides the ID of the parent task.
+
+`priority'
+     The base priority of the task.
+
+`state'
+     The current state of the task.  For a detailed description of the
+     possible states, see *note Ada Tasks::.
+
+`name'
+     The name of the task.
+
+
+Example
+.......
+
+     -ada-task-info
+     ^done,tasks={nr_rows='3',nr_cols='8',
+     hdr=[{width='1',alignment='-1',col_name='current',colhdr=''},
+     {width='3',alignment='1',col_name='id',colhdr='ID'},
+     {width='9',alignment='1',col_name='task-id',colhdr='TID'},
+     {width='4',alignment='1',col_name='thread-id',colhdr=''},
+     {width='4',alignment='1',col_name='parent-id',colhdr='P-ID'},
+     {width='3',alignment='1',col_name='priority',colhdr='Pri'},
+     {width='22',alignment='-1',col_name='state',colhdr='State'},
+     {width='1',alignment='2',col_name='name',colhdr='Name'}],
+     body=[{current='*',id='1',task-id='   644010',thread-id='1',priority='48',
+     state='Child Termination Wait',name='main_task'}]}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_ada_task_info methodsFor:'accessing'!
+
+operation
+	^ 'ada-task-info'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_add_inferior.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,45 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_add_inferior
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_add_inferior class methodsFor:'documentation'!
+
+documentation
+"
+The `-add-inferior' Command
+---------------------------
+
+Synopsis
+--------
+
+     -add-inferior
+
+   Creates a new inferior (*note Inferiors and Programs::).  The created
+inferior is not associated with any executable.  Such association may
+be established with the `-file-exec-and-symbols' command (*note GDB/MI
+File Commands::).  The command response has a single field, `inferior',
+whose value is the identifier of the thread group corresponding to the
+new inferior.
+
+Example
+-------
+
+     {No value for `GDBP'}
+     -add-inferior
+     ^done,inferior='i3'
+
+
+"
+! !
+
+!GDBMI_add_inferior methodsFor:'accessing'!
+
+operation
+	^ 'add-inferior'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_break_after.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,68 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_break_after
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_break_after class methodsFor:'documentation'!
+
+documentation
+"
+The `-break-after' Command
+--------------------------
+
+Synopsis
+........
+
+      -break-after NUMBER COUNT
+
+   The breakpoint number NUMBER is not in effect until it has been hit
+COUNT times.  To see how this is reflected in the output of the
+`-break-list' command, see the description of the `-break-list' command
+below.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `ignore'.
+
+Example
+.......
+
+     (gdb)
+     -break-insert main
+     ^done,bkpt={number='1',type='breakpoint',disp='keep',
+     enabled='y',addr='0x000100d0',func='main',file='hello.c',
+     fullname='/home/foo/hello.c',line='5',thread-groups=['i1'],
+     times='0'}
+     (gdb)
+     -break-after 1 3
+     ~
+     ^done
+     (gdb)
+     -break-list
+     ^done,BreakpointTable={nr_rows='1',nr_cols='6',
+     hdr=[{width='3',alignment='-1',col_name='number',colhdr='Num'},
+     {width='14',alignment='-1',col_name='type',colhdr='Type'},
+     {width='4',alignment='-1',col_name='disp',colhdr='Disp'},
+     {width='3',alignment='-1',col_name='enabled',colhdr='Enb'},
+     {width='10',alignment='-1',col_name='addr',colhdr='Address'},
+     {width='40',alignment='2',col_name='what',colhdr='What'}],
+     body=[bkpt={number='1',type='breakpoint',disp='keep',enabled='y',
+     addr='0x000100d0',func='main',file='hello.c',fullname='/home/foo/hello.c',
+     line='5',thread-groups=['i1'],times='0',ignore='3'}]}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_break_after methodsFor:'accessing'!
+
+operation
+	^ 'break-after'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_break_commands.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,57 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_break_commands
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_break_commands class methodsFor:'documentation'!
+
+documentation
+"
+The `-break-commands' Command
+-----------------------------
+
+Synopsis
+........
+
+      -break-commands NUMBER [ COMMAND1 ... COMMANDN ]
+
+   Specifies the CLI commands that should be executed when breakpoint
+NUMBER is hit.  The parameters COMMAND1 to COMMANDN are the commands.
+If no command is specified, any previously-set commands are cleared.
+*Note Break Commands::.  Typical use of this functionality is tracing a
+program, that is, printing of values of some variables whenever
+breakpoint is hit and then continuing.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `commands'.
+
+Example
+.......
+
+     (gdb)
+     -break-insert main
+     ^done,bkpt={number='1',type='breakpoint',disp='keep',
+     enabled='y',addr='0x000100d0',func='main',file='hello.c',
+     fullname='/home/foo/hello.c',line='5',thread-groups=['i1'],
+     times='0'}
+     (gdb)
+     -break-commands 1 'print v' 'continue'
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_break_commands methodsFor:'accessing'!
+
+operation
+	^ 'break-commands'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_break_condition.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,60 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_break_condition
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_break_condition class methodsFor:'documentation'!
+
+documentation
+"
+The `-break-condition' Command
+------------------------------
+
+Synopsis
+........
+
+      -break-condition NUMBER EXPR
+
+   Breakpoint NUMBER will stop the program only if the condition in
+EXPR is true.  The condition becomes part of the `-break-list' output
+(see the description of the `-break-list' command below).
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `condition'.
+
+Example
+.......
+
+     (gdb)
+     -break-condition 1 1
+     ^done
+     (gdb)
+     -break-list
+     ^done,BreakpointTable={nr_rows='1',nr_cols='6',
+     hdr=[{width='3',alignment='-1',col_name='number',colhdr='Num'},
+     {width='14',alignment='-1',col_name='type',colhdr='Type'},
+     {width='4',alignment='-1',col_name='disp',colhdr='Disp'},
+     {width='3',alignment='-1',col_name='enabled',colhdr='Enb'},
+     {width='10',alignment='-1',col_name='addr',colhdr='Address'},
+     {width='40',alignment='2',col_name='what',colhdr='What'}],
+     body=[bkpt={number='1',type='breakpoint',disp='keep',enabled='y',
+     addr='0x000100d0',func='main',file='hello.c',fullname='/home/foo/hello.c',
+     line='5',cond='1',thread-groups=['i1'],times='0',ignore='3'}]}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_break_condition methodsFor:'accessing'!
+
+operation
+	^ 'break-condition'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_break_delete.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,57 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_break_delete
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_break_delete class methodsFor:'documentation'!
+
+documentation
+"
+The `-break-delete' Command
+---------------------------
+
+Synopsis
+........
+
+      -break-delete ( BREAKPOINT )+
+
+   Delete the breakpoint(s) whose number(s) are specified in the
+argument list.  This is obviously reflected in the breakpoint list.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `delete'.
+
+Example
+.......
+
+     (gdb)
+     -break-delete 1
+     ^done
+     (gdb)
+     -break-list
+     ^done,BreakpointTable={nr_rows='0',nr_cols='6',
+     hdr=[{width='3',alignment='-1',col_name='number',colhdr='Num'},
+     {width='14',alignment='-1',col_name='type',colhdr='Type'},
+     {width='4',alignment='-1',col_name='disp',colhdr='Disp'},
+     {width='3',alignment='-1',col_name='enabled',colhdr='Enb'},
+     {width='10',alignment='-1',col_name='addr',colhdr='Address'},
+     {width='40',alignment='2',col_name='what',colhdr='What'}],
+     body=[]}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_break_delete methodsFor:'accessing'!
+
+operation
+	^ 'break-delete'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_break_disable.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,59 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_break_disable
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_break_disable class methodsFor:'documentation'!
+
+documentation
+"
+The `-break-disable' Command
+----------------------------
+
+Synopsis
+........
+
+      -break-disable ( BREAKPOINT )+
+
+   Disable the named BREAKPOINT(s).  The field `enabled' in the break
+list is now set to `n' for the named BREAKPOINT(s).
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `disable'.
+
+Example
+.......
+
+     (gdb)
+     -break-disable 2
+     ^done
+     (gdb)
+     -break-list
+     ^done,BreakpointTable={nr_rows='1',nr_cols='6',
+     hdr=[{width='3',alignment='-1',col_name='number',colhdr='Num'},
+     {width='14',alignment='-1',col_name='type',colhdr='Type'},
+     {width='4',alignment='-1',col_name='disp',colhdr='Disp'},
+     {width='3',alignment='-1',col_name='enabled',colhdr='Enb'},
+     {width='10',alignment='-1',col_name='addr',colhdr='Address'},
+     {width='40',alignment='2',col_name='what',colhdr='What'}],
+     body=[bkpt={number='2',type='breakpoint',disp='keep',enabled='n',
+     addr='0x000100d0',func='main',file='hello.c',fullname='/home/foo/hello.c',
+     line='5',thread-groups=['i1'],times='0'}]}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_break_disable methodsFor:'accessing'!
+
+operation
+	^ 'break-disable'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_break_enable.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,58 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_break_enable
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_break_enable class methodsFor:'documentation'!
+
+documentation
+"
+The `-break-enable' Command
+---------------------------
+
+Synopsis
+........
+
+      -break-enable ( BREAKPOINT )+
+
+   Enable (previously disabled) BREAKPOINT(s).
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `enable'.
+
+Example
+.......
+
+     (gdb)
+     -break-enable 2
+     ^done
+     (gdb)
+     -break-list
+     ^done,BreakpointTable={nr_rows='1',nr_cols='6',
+     hdr=[{width='3',alignment='-1',col_name='number',colhdr='Num'},
+     {width='14',alignment='-1',col_name='type',colhdr='Type'},
+     {width='4',alignment='-1',col_name='disp',colhdr='Disp'},
+     {width='3',alignment='-1',col_name='enabled',colhdr='Enb'},
+     {width='10',alignment='-1',col_name='addr',colhdr='Address'},
+     {width='40',alignment='2',col_name='what',colhdr='What'}],
+     body=[bkpt={number='2',type='breakpoint',disp='keep',enabled='y',
+     addr='0x000100d0',func='main',file='hello.c',fullname='/home/foo/hello.c',
+     line='5',thread-groups=['i1'],times='0'}]}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_break_enable methodsFor:'accessing'!
+
+operation
+	^ 'break-enable'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_break_info.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,48 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_break_info
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_break_info class methodsFor:'documentation'!
+
+documentation
+"
+The `-break-info' Command
+-------------------------
+
+Synopsis
+........
+
+      -break-info BREAKPOINT
+
+   Get information about a single breakpoint.
+
+   The result is a table of breakpoints.  *Note GDB/MI Breakpoint
+Information::, for details on the format of each breakpoint in the
+table.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `info break
+BREAKPOINT'.
+
+Example
+.......
+
+N.A.
+
+
+"
+! !
+
+!GDBMI_break_info methodsFor:'accessing'!
+
+operation
+	^ 'break-info'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_break_insert.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,119 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_break_insert
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_break_insert class methodsFor:'documentation'!
+
+documentation
+"
+The `-break-insert' Command
+---------------------------
+
+Synopsis
+........
+
+      -break-insert [ -t ] [ -h ] [ -f ] [ -d ] [ -a ]
+         [ -c CONDITION ] [ -i IGNORE-COUNT ]
+         [ -p THREAD-ID ] [ LOCATION ]
+
+If specified, LOCATION, can be one of:
+
+   * function
+
+   * filename:linenum
+
+   * filename:function
+
+   * *address
+
+   The possible optional parameters of this command are:
+
+`-t'
+     Insert a temporary breakpoint.
+
+`-h'
+     Insert a hardware breakpoint.
+
+`-f'
+     If LOCATION cannot be parsed (for example if it refers to unknown
+     files or functions), create a pending breakpoint. Without this
+     flag, {No value for `GDBN'} will report an error, and won't create
+     a breakpoint, if LOCATION cannot be parsed.
+
+`-d'
+     Create a disabled breakpoint.
+
+`-a'
+     Create a tracepoint.  *Note Tracepoints::.  When this parameter is
+     used together with `-h', a fast tracepoint is created.
+
+`-c CONDITION'
+     Make the breakpoint conditional on CONDITION.
+
+`-i IGNORE-COUNT'
+     Initialize the IGNORE-COUNT.
+
+`-p THREAD-ID'
+     Restrict the breakpoint to the specified THREAD-ID.
+
+Result
+......
+
+*Note GDB/MI Breakpoint Information::, for details on the format of the
+resulting breakpoint.
+
+   Note: this format is open to change.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} commands are `break', `tbreak',
+`hbreak', and `thbreak'.
+
+Example
+.......
+
+     (gdb)
+     -break-insert main
+     ^done,bkpt={number='1',addr='0x0001072c',file='recursive2.c',
+     fullname='/home/foo/recursive2.c,line='4',thread-groups=['i1'],
+     times='0'}
+     (gdb)
+     -break-insert -t foo
+     ^done,bkpt={number='2',addr='0x00010774',file='recursive2.c',
+     fullname='/home/foo/recursive2.c,line='11',thread-groups=['i1'],
+     times='0'}
+     (gdb)
+     -break-list
+     ^done,BreakpointTable={nr_rows='2',nr_cols='6',
+     hdr=[{width='3',alignment='-1',col_name='number',colhdr='Num'},
+     {width='14',alignment='-1',col_name='type',colhdr='Type'},
+     {width='4',alignment='-1',col_name='disp',colhdr='Disp'},
+     {width='3',alignment='-1',col_name='enabled',colhdr='Enb'},
+     {width='10',alignment='-1',col_name='addr',colhdr='Address'},
+     {width='40',alignment='2',col_name='what',colhdr='What'}],
+     body=[bkpt={number='1',type='breakpoint',disp='keep',enabled='y',
+     addr='0x0001072c', func='main',file='recursive2.c',
+     fullname='/home/foo/recursive2.c,'line='4',thread-groups=['i1'],
+     times='0'},
+     bkpt={number='2',type='breakpoint',disp='del',enabled='y',
+     addr='0x00010774',func='foo',file='recursive2.c',
+     fullname='/home/foo/recursive2.c',line='11',thread-groups=['i1'],
+     times='0'}]}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_break_insert methodsFor:'accessing'!
+
+operation
+	^ 'break-insert'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_break_list.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,102 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_break_list
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_break_list class methodsFor:'documentation'!
+
+documentation
+"
+The `-break-list' Command
+-------------------------
+
+Synopsis
+........
+
+      -break-list
+
+   Displays the list of inserted breakpoints, showing the following
+fields:
+
+`Number'
+     number of the breakpoint
+
+`Type'
+     type of the breakpoint: `breakpoint' or `watchpoint'
+
+`Disposition'
+     should the breakpoint be deleted or disabled when it is hit: `keep'
+     or `nokeep'
+
+`Enabled'
+     is the breakpoint enabled or no: `y' or `n'
+
+`Address'
+     memory location at which the breakpoint is set
+
+`What'
+     logical location of the breakpoint, expressed by function name,
+     file name, line number
+
+`Thread-groups'
+     list of thread groups to which this breakpoint applies
+
+`Times'
+     number of times the breakpoint has been hit
+
+   If there are no breakpoints or watchpoints, the `BreakpointTable'
+`body' field is an empty list.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `info break'.
+
+Example
+.......
+
+     (gdb)
+     -break-list
+     ^done,BreakpointTable={nr_rows='2',nr_cols='6',
+     hdr=[{width='3',alignment='-1',col_name='number',colhdr='Num'},
+     {width='14',alignment='-1',col_name='type',colhdr='Type'},
+     {width='4',alignment='-1',col_name='disp',colhdr='Disp'},
+     {width='3',alignment='-1',col_name='enabled',colhdr='Enb'},
+     {width='10',alignment='-1',col_name='addr',colhdr='Address'},
+     {width='40',alignment='2',col_name='what',colhdr='What'}],
+     body=[bkpt={number='1',type='breakpoint',disp='keep',enabled='y',
+     addr='0x000100d0',func='main',file='hello.c',line='5',thread-groups=['i1'],
+     times='0'},
+     bkpt={number='2',type='breakpoint',disp='keep',enabled='y',
+     addr='0x00010114',func='foo',file='hello.c',fullname='/home/foo/hello.c',
+     line='13',thread-groups=['i1'],times='0'}]}
+     (gdb)
+
+   Here's an example of the result when there are no breakpoints:
+
+     (gdb)
+     -break-list
+     ^done,BreakpointTable={nr_rows='0',nr_cols='6',
+     hdr=[{width='3',alignment='-1',col_name='number',colhdr='Num'},
+     {width='14',alignment='-1',col_name='type',colhdr='Type'},
+     {width='4',alignment='-1',col_name='disp',colhdr='Disp'},
+     {width='3',alignment='-1',col_name='enabled',colhdr='Enb'},
+     {width='10',alignment='-1',col_name='addr',colhdr='Address'},
+     {width='40',alignment='2',col_name='what',colhdr='What'}],
+     body=[]}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_break_list methodsFor:'accessing'!
+
+operation
+	^ 'break-list'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_break_passcount.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,35 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_break_passcount
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_break_passcount class methodsFor:'documentation'!
+
+documentation
+"
+The `-break-passcount' Command
+------------------------------
+
+Synopsis
+........
+
+      -break-passcount TRACEPOINT-NUMBER PASSCOUNT
+
+   Set the passcount for tracepoint TRACEPOINT-NUMBER to PASSCOUNT.  If
+the breakpoint referred to by TRACEPOINT-NUMBER is not a tracepoint,
+error is emitted.  This corresponds to CLI command `passcount'.
+
+
+"
+! !
+
+!GDBMI_break_passcount methodsFor:'accessing'!
+
+operation
+	^ 'break-passcount'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_break_watch.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,166 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_break_watch
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_break_watch class methodsFor:'documentation'!
+
+documentation
+"
+The `-break-watch' Command
+--------------------------
+
+Synopsis
+........
+
+      -break-watch [ -a | -r ]
+
+   Create a watchpoint.  With the `-a' option it will create an
+'access' watchpoint, i.e., a watchpoint that triggers either on a read
+from or on a write to the memory location.  With the `-r' option, the
+watchpoint created is a 'read' watchpoint, i.e., it will trigger only
+when the memory location is accessed for reading.  Without either of
+the options, the watchpoint created is a regular watchpoint, i.e., it
+will trigger when the memory location is accessed for writing.  *Note
+Setting Watchpoints: Set Watchpoints.
+
+   Note that `-break-list' will report a single list of watchpoints and
+breakpoints inserted.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} commands are `watch', `awatch',
+and `rwatch'.
+
+Example
+.......
+
+Setting a watchpoint on a variable in the `main' function:
+
+     (gdb)
+     -break-watch x
+     ^done,wpt={number='2',exp='x'}
+     (gdb)
+     -exec-continue
+     ^running
+     (gdb)
+     *stopped,reason='watchpoint-trigger',wpt={number='2',exp='x'},
+     value={old='-268439212',new='55'},
+     frame={func='main',args=[],file='recursive2.c',
+     fullname='/home/foo/bar/recursive2.c',line='5'}
+     (gdb)
+
+   Setting a watchpoint on a variable local to a function.  {No value
+for `GDBN'} will stop the program execution twice: first for the
+variable changing value, then for the watchpoint going out of scope.
+
+     (gdb)
+     -break-watch C
+     ^done,wpt={number='5',exp='C'}
+     (gdb)
+     -exec-continue
+     ^running
+     (gdb)
+     *stopped,reason='watchpoint-trigger',
+     wpt={number='5',exp='C'},value={old='-276895068',new='3'},
+     frame={func='callee4',args=[],
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c',line='13'}
+     (gdb)
+     -exec-continue
+     ^running
+     (gdb)
+     *stopped,reason='watchpoint-scope',wpnum='5',
+     frame={func='callee3',args=[{name='strarg',
+     value='0x11940 \'A string argument.\''}],
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c',line='18'}
+     (gdb)
+
+   Listing breakpoints and watchpoints, at different points in the
+program execution.  Note that once the watchpoint goes out of scope, it
+is deleted.
+
+     (gdb)
+     -break-watch C
+     ^done,wpt={number='2',exp='C'}
+     (gdb)
+     -break-list
+     ^done,BreakpointTable={nr_rows='2',nr_cols='6',
+     hdr=[{width='3',alignment='-1',col_name='number',colhdr='Num'},
+     {width='14',alignment='-1',col_name='type',colhdr='Type'},
+     {width='4',alignment='-1',col_name='disp',colhdr='Disp'},
+     {width='3',alignment='-1',col_name='enabled',colhdr='Enb'},
+     {width='10',alignment='-1',col_name='addr',colhdr='Address'},
+     {width='40',alignment='2',col_name='what',colhdr='What'}],
+     body=[bkpt={number='1',type='breakpoint',disp='keep',enabled='y',
+     addr='0x00010734',func='callee4',
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/devo/gdb/testsuite/gdb.mi/basics.c'line='8',thread-groups=['i1'],
+     times='1'},
+     bkpt={number='2',type='watchpoint',disp='keep',
+     enabled='y',addr='',what='C',thread-groups=['i1'],times='0'}]}
+     (gdb)
+     -exec-continue
+     ^running
+     (gdb)
+     *stopped,reason='watchpoint-trigger',wpt={number='2',exp='C'},
+     value={old='-276895068',new='3'},
+     frame={func='callee4',args=[],
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c',line='13'}
+     (gdb)
+     -break-list
+     ^done,BreakpointTable={nr_rows='2',nr_cols='6',
+     hdr=[{width='3',alignment='-1',col_name='number',colhdr='Num'},
+     {width='14',alignment='-1',col_name='type',colhdr='Type'},
+     {width='4',alignment='-1',col_name='disp',colhdr='Disp'},
+     {width='3',alignment='-1',col_name='enabled',colhdr='Enb'},
+     {width='10',alignment='-1',col_name='addr',colhdr='Address'},
+     {width='40',alignment='2',col_name='what',colhdr='What'}],
+     body=[bkpt={number='1',type='breakpoint',disp='keep',enabled='y',
+     addr='0x00010734',func='callee4',
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/devo/gdb/testsuite/gdb.mi/basics.c',line='8',thread-groups=['i1'],
+     times='1'},
+     bkpt={number='2',type='watchpoint',disp='keep',
+     enabled='y',addr='',what='C',thread-groups=['i1'],times='-5'}]}
+     (gdb)
+     -exec-continue
+     ^running
+     ^done,reason='watchpoint-scope',wpnum='2',
+     frame={func='callee3',args=[{name='strarg',
+     value='0x11940 \'A string argument.\''}],
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c',line='18'}
+     (gdb)
+     -break-list
+     ^done,BreakpointTable={nr_rows='1',nr_cols='6',
+     hdr=[{width='3',alignment='-1',col_name='number',colhdr='Num'},
+     {width='14',alignment='-1',col_name='type',colhdr='Type'},
+     {width='4',alignment='-1',col_name='disp',colhdr='Disp'},
+     {width='3',alignment='-1',col_name='enabled',colhdr='Enb'},
+     {width='10',alignment='-1',col_name='addr',colhdr='Address'},
+     {width='40',alignment='2',col_name='what',colhdr='What'}],
+     body=[bkpt={number='1',type='breakpoint',disp='keep',enabled='y',
+     addr='0x00010734',func='callee4',
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/devo/gdb/testsuite/gdb.mi/basics.c',line='8',
+     thread-groups=['i1'],times='1'}]}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_break_watch methodsFor:'accessing'!
+
+operation
+	^ 'break-watch'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_catch_assert.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,59 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_catch_assert
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_catch_assert class methodsFor:'documentation'!
+
+documentation
+"
+The `-catch-assert' Command
+---------------------------
+
+Synopsis
+........
+
+      -catch-assert [ -c CONDITION] [ -d ] [ -t ]
+
+   Add a catchpoint for failed Ada assertions.
+
+   The possible optional parameters for this command are:
+
+`-c CONDITION'
+     Make the catchpoint conditional on CONDITION.
+
+`-d'
+     Create a disabled catchpoint.
+
+`-t'
+     Create a temporary catchpoint.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `catch assert'.
+
+Example
+.......
+
+     -catch-assert
+     ^done,bkptno='5',bkpt={number='5',type='breakpoint',disp='keep',
+     enabled='y',addr='0x0000000000404888',what='failed Ada assertions',
+     thread-groups=['i1'],times='0',
+     original-location='__gnat_debug_raise_assert_failure'}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_catch_assert methodsFor:'accessing'!
+
+operation
+	^ 'catch-assert'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_catch_exception.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,72 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_catch_exception
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_catch_exception class methodsFor:'documentation'!
+
+documentation
+"
+The `-catch-exception' Command
+------------------------------
+
+Synopsis
+........
+
+      -catch-exception [ -c CONDITION] [ -d ] [ -e EXCEPTION-NAME ]
+         [ -t ] [ -u ]
+
+   Add a catchpoint stopping when Ada exceptions are raised.  By
+default, the command stops the program when any Ada exception gets
+raised.  But it is also possible, by using some of the optional
+parameters described below, to create more selective catchpoints.
+
+   The possible optional parameters for this command are:
+
+`-c CONDITION'
+     Make the catchpoint conditional on CONDITION.
+
+`-d'
+     Create a disabled catchpoint.
+
+`-e EXCEPTION-NAME'
+     Only stop when EXCEPTION-NAME is raised.  This option cannot be
+     used combined with `-u'.
+
+`-t'
+     Create a temporary catchpoint.
+
+`-u'
+     Stop only when an unhandled exception gets raised.  This option
+     cannot be used combined with `-e'.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} commands are `catch exception'
+and `catch exception unhandled'.
+
+Example
+.......
+
+     -catch-exception -e Program_Error
+     ^done,bkptno='4',bkpt={number='4',type='breakpoint',disp='keep',
+     enabled='y',addr='0x0000000000404874',
+     what='`Program_Error' Ada exception', thread-groups=['i1'],
+     times='0',original-location='__gnat_debug_raise_exception'}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_catch_exception methodsFor:'accessing'!
+
+operation
+	^ 'catch-exception'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_catch_load.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,50 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_catch_load
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_catch_load class methodsFor:'documentation'!
+
+documentation
+"
+The `-catch-load' Command
+-------------------------
+
+Synopsis
+........
+
+      -catch-load [ -t ] [ -d ] REGEXP
+
+   Add a catchpoint for library load events.  If the `-t' option is
+used, the catchpoint is a temporary one (*note Setting Breakpoints: Set
+Breaks.).  If the `-d' option is used, the catchpoint is created in a
+disabled state.  The `regexp' argument is a regular expression used to
+match the name of the loaded library.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `catch load'.
+
+Example
+.......
+
+     -catch-load -t foo.so
+     ^done,bkpt={number='1',type='catchpoint',disp='del',enabled='y',
+     what='load of library matching foo.so',catch-type='load',times='0'}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_catch_load methodsFor:'accessing'!
+
+operation
+	^ 'catch-load'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_catch_unload.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,50 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_catch_unload
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_catch_unload class methodsFor:'documentation'!
+
+documentation
+"
+The `-catch-unload' Command
+---------------------------
+
+Synopsis
+........
+
+      -catch-unload [ -t ] [ -d ] REGEXP
+
+   Add a catchpoint for library unload events.  If the `-t' option is
+used, the catchpoint is a temporary one (*note Setting Breakpoints: Set
+Breaks.).  If the `-d' option is used, the catchpoint is created in a
+disabled state.  The `regexp' argument is a regular expression used to
+match the name of the unloaded library.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `catch unload'.
+
+Example
+.......
+
+     -catch-unload -d bar.so
+     ^done,bkpt={number='2',type='catchpoint',disp='keep',enabled='n',
+     what='load of library matching bar.so',catch-type='unload',times='0'}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_catch_unload methodsFor:'accessing'!
+
+operation
+	^ 'catch-unload'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_data_disassemble.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,192 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_data_disassemble
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_data_disassemble class methodsFor:'documentation'!
+
+documentation
+"
+The `-data-disassemble' Command
+-------------------------------
+
+Synopsis
+........
+
+      -data-disassemble
+         [ -s START-ADDR -e END-ADDR ]
+       | [ -f FILENAME -l LINENUM [ -n LINES ] ]
+       -- MODE
+
+Where:
+
+`START-ADDR'
+     is the beginning address (or `$pc')
+
+`END-ADDR'
+     is the end address
+
+`FILENAME'
+     is the name of the file to disassemble
+
+`LINENUM'
+     is the line number to disassemble around
+
+`LINES'
+     is the number of disassembly lines to be produced.  If it is -1,
+     the whole function will be disassembled, in case no END-ADDR is
+     specified.  If END-ADDR is specified as a non-zero value, and
+     LINES is lower than the number of disassembly lines between
+     START-ADDR and END-ADDR, only LINES lines are displayed; if LINES
+     is higher than the number of lines between START-ADDR and
+     END-ADDR, only the lines up to END-ADDR are displayed.
+
+`MODE'
+     is either 0 (meaning only disassembly), 1 (meaning mixed source and
+     disassembly), 2 (meaning disassembly with raw opcodes), or 3
+     (meaning mixed source and disassembly with raw opcodes).
+
+Result
+......
+
+The result of the `-data-disassemble' command will be a list named
+`asm_insns', the contents of this list depend on the MODE used with the
+`-data-disassemble' command.
+
+   For modes 0 and 2 the `asm_insns' list contains tuples with the
+following fields:
+
+`address'
+     The address at which this instruction was disassembled.
+
+`func-name'
+     The name of the function this instruction is within.
+
+`offset'
+     The decimal offset in bytes from the start of `func-name'.
+
+`inst'
+     The text disassembly for this `address'.
+
+`opcodes'
+     This field is only present for mode 2.  This contains the raw
+     opcode bytes for the `inst' field.
+
+
+   For modes 1 and 3 the `asm_insns' list contains tuples named
+`src_and_asm_line', each of which has the following fields:
+
+`line'
+     The line number within `file'.
+
+`file'
+     The file name from the compilation unit.  This might be an absolute
+     file name or a relative file name depending on the compile command
+     used.
+
+`fullname'
+     Absolute file name of `file'.  It is converted to a canonical form
+     using the source file search path (*note Specifying Source
+     Directories: Source Path.)  and after resolving all the symbolic
+     links.
+
+     If the source file is not found this field will contain the path as
+     present in the debug information.
+
+`line_asm_insn'
+     This is a list of tuples containing the disassembly for `line' in
+     `file'.  The fields of each tuple are the same as for
+     `-data-disassemble' in MODE 0 and 2, so `address', `func-name',
+     `offset', `inst', and optionally `opcodes'.
+
+
+   Note that whatever included in the `inst' field, is not manipulated
+directly by GDB/MI, i.e., it is not possible to adjust its format.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `disassemble'.
+
+Example
+.......
+
+Disassemble from the current value of `$pc' to `$pc + 20':
+
+     (gdb)
+     -data-disassemble -s $pc -e '$pc + 20' -- 0
+     ^done,
+     asm_insns=[
+     {address='0x000107c0',func-name='main',offset='4',
+     inst='mov  2, %o0'},
+     {address='0x000107c4',func-name='main',offset='8',
+     inst='sethi  %hi(0x11800), %o2'},
+     {address='0x000107c8',func-name='main',offset='12',
+     inst='or  %o2, 0x140, %o1\t!! 0x11940 <_lib_version+8>'},
+     {address='0x000107cc',func-name='main',offset='16',
+     inst='sethi  %hi(0x11800), %o2'},
+     {address='0x000107d0',func-name='main',offset='20',
+     inst='or  %o2, 0x168, %o4\t!! 0x11968 <_lib_version+48>'}]
+     (gdb)
+
+   Disassemble the whole `main' function.  Line 32 is part of `main'.
+
+     -data-disassemble -f basics.c -l 32 -- 0
+     ^done,asm_insns=[
+     {address='0x000107bc',func-name='main',offset='0',
+     inst='save  %sp, -112, %sp'},
+     {address='0x000107c0',func-name='main',offset='4',
+     inst='mov   2, %o0'},
+     {address='0x000107c4',func-name='main',offset='8',
+     inst='sethi %hi(0x11800), %o2'},
+     [...]
+     {address='0x0001081c',func-name='main',offset='96',inst='ret '},
+     {address='0x00010820',func-name='main',offset='100',inst='restore '}]
+     (gdb)
+
+   Disassemble 3 instructions from the start of `main':
+
+     (gdb)
+     -data-disassemble -f basics.c -l 32 -n 3 -- 0
+     ^done,asm_insns=[
+     {address='0x000107bc',func-name='main',offset='0',
+     inst='save  %sp, -112, %sp'},
+     {address='0x000107c0',func-name='main',offset='4',
+     inst='mov  2, %o0'},
+     {address='0x000107c4',func-name='main',offset='8',
+     inst='sethi  %hi(0x11800), %o2'}]
+     (gdb)
+
+   Disassemble 3 instructions from the start of `main' in mixed mode:
+
+     (gdb)
+     -data-disassemble -f basics.c -l 32 -n 3 -- 1
+     ^done,asm_insns=[
+     src_and_asm_line={line='31',
+     file='../../../src/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/absolute/path/to/src/gdb/testsuite/gdb.mi/basics.c',
+     line_asm_insn=[{address='0x000107bc',
+     func-name='main',offset='0',inst='save  %sp, -112, %sp'}]},
+     src_and_asm_line={line='32',
+     file='../../../src/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/absolute/path/to/src/gdb/testsuite/gdb.mi/basics.c',
+     line_asm_insn=[{address='0x000107c0',
+     func-name='main',offset='4',inst='mov  2, %o0'},
+     {address='0x000107c4',func-name='main',offset='8',
+     inst='sethi  %hi(0x11800), %o2'}]}]
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_data_disassemble methodsFor:'accessing'!
+
+operation
+	^ 'data-disassemble'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_data_evaluate_expression.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,62 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_data_evaluate_expression
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_data_evaluate_expression class methodsFor:'documentation'!
+
+documentation
+"
+The `-data-evaluate-expression' Command
+---------------------------------------
+
+Synopsis
+........
+
+      -data-evaluate-expression EXPR
+
+   Evaluate EXPR as an expression.  The expression could contain an
+inferior function call.  The function call will execute synchronously.
+If the expression contains spaces, it must be enclosed in double quotes.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} commands are `print', `output',
+and `call'.  In `gdbtk' only, there's a corresponding `gdb_eval'
+command.
+
+Example
+.......
+
+In the following example, the numbers that precede the commands are the
+'tokens' described in *note GDB/MI Command Syntax: GDB/MI Command
+Syntax.  Notice how GDB/MI returns the same tokens in its output.
+
+     211-data-evaluate-expression A
+     211^done,value='1'
+     (gdb)
+     311-data-evaluate-expression &A
+     311^done,value='0xefffeb7c'
+     (gdb)
+     411-data-evaluate-expression A+3
+     411^done,value='4'
+     (gdb)
+     511-data-evaluate-expression 'A + 3'
+     511^done,value='4'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_data_evaluate_expression methodsFor:'accessing'!
+
+operation
+	^ 'data-evaluate-expression'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_data_list_changed_registers.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,59 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_data_list_changed_registers
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_data_list_changed_registers class methodsFor:'documentation'!
+
+documentation
+"
+The `-data-list-changed-registers' Command
+------------------------------------------
+
+Synopsis
+........
+
+      -data-list-changed-registers
+
+   Display a list of the registers that have changed.
+
+{No value for `GDBN'} Command
+.............................
+
+{No value for `GDBN'} doesn't have a direct analog for this command;
+`gdbtk' has the corresponding command `gdb_changed_register_list'.
+
+Example
+.......
+
+On a PPC MBX board:
+
+     (gdb)
+     -exec-continue
+     ^running
+
+     (gdb)
+     *stopped,reason='breakpoint-hit',disp='keep',bkptno='1',frame={
+     func='main',args=[],file='try.c',fullname='/home/foo/bar/try.c',
+     line='5'}
+     (gdb)
+     -data-list-changed-registers
+     ^done,changed-registers=['0','1','2','4','5','6','7','8','9',
+     '10','11','13','14','15','16','17','18','19','20','21','22','23',
+     '24','25','26','27','28','30','31','64','65','66','67','69']
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_data_list_changed_registers methodsFor:'accessing'!
+
+operation
+	^ 'data-list-changed-registers'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_data_list_register_names.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,63 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_data_list_register_names
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_data_list_register_names class methodsFor:'documentation'!
+
+documentation
+"
+The `-data-list-register-names' Command
+---------------------------------------
+
+Synopsis
+........
+
+      -data-list-register-names [ ( REGNO )+ ]
+
+   Show a list of register names for the current target.  If no
+arguments are given, it shows a list of the names of all the registers.
+If integer numbers are given as arguments, it will print a list of the
+names of the registers corresponding to the arguments.  To ensure
+consistency between a register name and its number, the output list may
+include empty register names.
+
+{No value for `GDBN'} Command
+.............................
+
+{No value for `GDBN'} does not have a command which corresponds to
+`-data-list-register-names'.  In `gdbtk' there is a corresponding
+command `gdb_regnames'.
+
+Example
+.......
+
+For the PPC MBX board:
+     (gdb)
+     -data-list-register-names
+     ^done,register-names=['r0','r1','r2','r3','r4','r5','r6','r7',
+     'r8','r9','r10','r11','r12','r13','r14','r15','r16','r17','r18',
+     'r19','r20','r21','r22','r23','r24','r25','r26','r27','r28','r29',
+     'r30','r31','f0','f1','f2','f3','f4','f5','f6','f7','f8','f9',
+     'f10','f11','f12','f13','f14','f15','f16','f17','f18','f19','f20',
+     'f21','f22','f23','f24','f25','f26','f27','f28','f29','f30','f31',
+     '', 'pc','ps','cr','lr','ctr','xer']
+     (gdb)
+     -data-list-register-names 1 2 3
+     ^done,register-names=['r1','r2','r3']
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_data_list_register_names methodsFor:'accessing'!
+
+operation
+	^ 'data-list-register-names'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_data_list_register_values.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,115 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_data_list_register_values
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_data_list_register_values class methodsFor:'documentation'!
+
+documentation
+"
+The `-data-list-register-values' Command
+----------------------------------------
+
+Synopsis
+........
+
+      -data-list-register-values
+         [ `--skip-unavailable' ] FMT [ ( REGNO )*]
+
+   Display the registers' contents.  The format according to which the
+registers' contents are to be returned is given by FMT, followed by an
+optional list of numbers specifying the registers to display.  A
+missing list of numbers indicates that the contents of all the
+registers must be returned.  The `--skip-unavailable' option indicates
+that only the available registers are to be returned.
+
+   Allowed formats for FMT are:
+
+`x'
+     Hexadecimal
+
+`o'
+     Octal
+
+`t'
+     Binary
+
+`d'
+     Decimal
+
+`r'
+     Raw
+
+`N'
+     Natural
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} commands are `info reg', `info
+all-reg', and (in `gdbtk') `gdb_fetch_registers'.
+
+Example
+.......
+
+For a PPC MBX board (note: line breaks are for readability only, they
+don't appear in the actual output):
+
+     (gdb)
+     -data-list-register-values r 64 65
+     ^done,register-values=[{number='64',value='0xfe00a300'},
+     {number='65',value='0x00029002'}]
+     (gdb)
+     -data-list-register-values x
+     ^done,register-values=[{number='0',value='0xfe0043c8'},
+     {number='1',value='0x3fff88'},{number='2',value='0xfffffffe'},
+     {number='3',value='0x0'},{number='4',value='0xa'},
+     {number='5',value='0x3fff68'},{number='6',value='0x3fff58'},
+     {number='7',value='0xfe011e98'},{number='8',value='0x2'},
+     {number='9',value='0xfa202820'},{number='10',value='0xfa202808'},
+     {number='11',value='0x1'},{number='12',value='0x0'},
+     {number='13',value='0x4544'},{number='14',value='0xffdfffff'},
+     {number='15',value='0xffffffff'},{number='16',value='0xfffffeff'},
+     {number='17',value='0xefffffed'},{number='18',value='0xfffffffe'},
+     {number='19',value='0xffffffff'},{number='20',value='0xffffffff'},
+     {number='21',value='0xffffffff'},{number='22',value='0xfffffff7'},
+     {number='23',value='0xffffffff'},{number='24',value='0xffffffff'},
+     {number='25',value='0xffffffff'},{number='26',value='0xfffffffb'},
+     {number='27',value='0xffffffff'},{number='28',value='0xf7bfffff'},
+     {number='29',value='0x0'},{number='30',value='0xfe010000'},
+     {number='31',value='0x0'},{number='32',value='0x0'},
+     {number='33',value='0x0'},{number='34',value='0x0'},
+     {number='35',value='0x0'},{number='36',value='0x0'},
+     {number='37',value='0x0'},{number='38',value='0x0'},
+     {number='39',value='0x0'},{number='40',value='0x0'},
+     {number='41',value='0x0'},{number='42',value='0x0'},
+     {number='43',value='0x0'},{number='44',value='0x0'},
+     {number='45',value='0x0'},{number='46',value='0x0'},
+     {number='47',value='0x0'},{number='48',value='0x0'},
+     {number='49',value='0x0'},{number='50',value='0x0'},
+     {number='51',value='0x0'},{number='52',value='0x0'},
+     {number='53',value='0x0'},{number='54',value='0x0'},
+     {number='55',value='0x0'},{number='56',value='0x0'},
+     {number='57',value='0x0'},{number='58',value='0x0'},
+     {number='59',value='0x0'},{number='60',value='0x0'},
+     {number='61',value='0x0'},{number='62',value='0x0'},
+     {number='63',value='0x0'},{number='64',value='0xfe00a300'},
+     {number='65',value='0x29002'},{number='66',value='0x202f04b5'},
+     {number='67',value='0xfe0043b0'},{number='68',value='0xfe00b3e4'},
+     {number='69',value='0x20002b03'}]
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_data_list_register_values methodsFor:'accessing'!
+
+operation
+	^ 'data-list-register-values'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_data_read_memory.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,130 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_data_read_memory
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_data_read_memory class methodsFor:'documentation'!
+
+documentation
+"
+The `-data-read-memory' Command
+-------------------------------
+
+This command is deprecated, use `-data-read-memory-bytes' instead.
+
+Synopsis
+........
+
+      -data-read-memory [ -o BYTE-OFFSET ]
+        ADDRESS WORD-FORMAT WORD-SIZE
+        NR-ROWS NR-COLS [ ASCHAR ]
+
+where:
+
+`ADDRESS'
+     An expression specifying the address of the first memory word to be
+     read.  Complex expressions containing embedded white space should
+     be quoted using the C convention.
+
+`WORD-FORMAT'
+     The format to be used to print the memory words.  The notation is
+     the same as for {No value for `GDBN'}'s `print' command (*note
+     Output Formats: Output Formats.).
+
+`WORD-SIZE'
+     The size of each memory word in bytes.
+
+`NR-ROWS'
+     The number of rows in the output table.
+
+`NR-COLS'
+     The number of columns in the output table.
+
+`ASCHAR'
+     If present, indicates that each row should include an ASCII dump.
+     The value of ASCHAR is used as a padding character when a byte is
+     not a member of the printable ASCII character set (printable ASCII
+     characters are those whose code is between 32 and 126,
+     inclusively).
+
+`BYTE-OFFSET'
+     An offset to add to the ADDRESS before fetching memory.
+
+   This command displays memory contents as a table of NR-ROWS by
+NR-COLS words, each word being WORD-SIZE bytes.  In total, `NR-ROWS *
+NR-COLS * WORD-SIZE' bytes are read (returned as `total-bytes').
+Should less than the requested number of bytes be returned by the
+target, the missing words are identified using `N/A'.  The number of
+bytes read from the target is returned in `nr-bytes' and the starting
+address used to read memory in `addr'.
+
+   The address of the next/previous row or page is available in
+`next-row' and `prev-row', `next-page' and `prev-page'.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `x'.  `gdbtk' has
+`gdb_get_mem' memory read command.
+
+Example
+.......
+
+Read six bytes of memory starting at `bytes+6' but then offset by `-6'
+bytes.  Format as three rows of two columns.  One byte per word.
+Display each word in hex.
+
+     (gdb)
+     9-data-read-memory -o -6 -- bytes+6 x 1 3 2
+     9^done,addr='0x00001390',nr-bytes='6',total-bytes='6',
+     next-row='0x00001396',prev-row='0x0000138e',next-page='0x00001396',
+     prev-page='0x0000138a',memory=[
+     {addr='0x00001390',data=['0x00','0x01']},
+     {addr='0x00001392',data=['0x02','0x03']},
+     {addr='0x00001394',data=['0x04','0x05']}]
+     (gdb)
+
+   Read two bytes of memory starting at address `shorts + 64' and
+display as a single word formatted in decimal.
+
+     (gdb)
+     5-data-read-memory shorts+64 d 2 1 1
+     5^done,addr='0x00001510',nr-bytes='2',total-bytes='2',
+     next-row='0x00001512',prev-row='0x0000150e',
+     next-page='0x00001512',prev-page='0x0000150e',memory=[
+     {addr='0x00001510',data=['128']}]
+     (gdb)
+
+   Read thirty two bytes of memory starting at `bytes+16' and format as
+eight rows of four columns.  Include a string encoding with `x' used as
+the non-printable character.
+
+     (gdb)
+     4-data-read-memory bytes+16 x 1 8 4 x
+     4^done,addr='0x000013a0',nr-bytes='32',total-bytes='32',
+     next-row='0x000013c0',prev-row='0x0000139c',
+     next-page='0x000013c0',prev-page='0x00001380',memory=[
+     {addr='0x000013a0',data=['0x10','0x11','0x12','0x13'],ascii='xxxx'},
+     {addr='0x000013a4',data=['0x14','0x15','0x16','0x17'],ascii='xxxx'},
+     {addr='0x000013a8',data=['0x18','0x19','0x1a','0x1b'],ascii='xxxx'},
+     {addr='0x000013ac',data=['0x1c','0x1d','0x1e','0x1f'],ascii='xxxx'},
+     {addr='0x000013b0',data=['0x20','0x21','0x22','0x23'],ascii=' !!\'#'},
+     {addr='0x000013b4',data=['0x24','0x25','0x26','0x27'],ascii='$%&''},
+     {addr='0x000013b8',data=['0x28','0x29','0x2a','0x2b'],ascii='()*+'},
+     {addr='0x000013bc',data=['0x2c','0x2d','0x2e','0x2f'],ascii=',-./'}]
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_data_read_memory methodsFor:'accessing'!
+
+operation
+	^ 'data-read-memory'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_data_read_memory_bytes.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,99 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_data_read_memory_bytes
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_data_read_memory_bytes class methodsFor:'documentation'!
+
+documentation
+"
+The `-data-read-memory-bytes' Command
+-------------------------------------
+
+Synopsis
+........
+
+      -data-read-memory-bytes [ -o BYTE-OFFSET ]
+        ADDRESS COUNT
+
+where:
+
+`ADDRESS'
+     An expression specifying the address of the first memory word to be
+     read.  Complex expressions containing embedded white space should
+     be quoted using the C convention.
+
+`COUNT'
+     The number of bytes to read.  This should be an integer literal.
+
+`BYTE-OFFSET'
+     The offsets in bytes relative to ADDRESS at which to start
+     reading.  This should be an integer literal.  This option is
+     provided so that a frontend is not required to first evaluate
+     address and then perform address arithmetics itself.
+
+
+   This command attempts to read all accessible memory regions in the
+specified range.  First, all regions marked as unreadable in the memory
+map (if one is defined) will be skipped.  *Note Memory Region
+Attributes::.  Second, {No value for `GDBN'} will attempt to read the
+remaining regions.  For each one, if reading full region results in an
+errors, {No value for `GDBN'} will try to read a subset of the region.
+
+   In general, every single byte in the region may be readable or not,
+and the only way to read every readable byte is to try a read at every
+address, which is not practical.   Therefore, {No value for `GDBN'} will
+attempt to read all accessible bytes at either beginning or the end of
+the region, using a binary division scheme.  This heuristic works well
+for reading accross a memory map boundary.  Note that if a region has a
+readable range that is neither at the beginning or the end, {No value
+for `GDBN'} will not read it.
+
+   The result record (*note GDB/MI Result Records::) that is output of
+the command includes a field named `memory' whose content is a list of
+tuples.  Each tuple represent a successfully read memory block and has
+the following fields:
+
+`begin'
+     The start address of the memory block, as hexadecimal literal.
+
+`end'
+     The end address of the memory block, as hexadecimal literal.
+
+`offset'
+     The offset of the memory block, as hexadecimal literal, relative to
+     the start address passed to `-data-read-memory-bytes'.
+
+`contents'
+     The contents of the memory block, in hex.
+
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `x'.
+
+Example
+.......
+
+     (gdb)
+     -data-read-memory-bytes &a 10
+     ^done,memory=[{begin='0xbffff154',offset='0x00000000',
+                   end='0xbffff15e',
+                   contents='01000000020000000300'}]
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_data_read_memory_bytes methodsFor:'accessing'!
+
+operation
+	^ 'data-read-memory-bytes'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_data_write_memory.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,15 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_data_write_memory
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_data_write_memory methodsFor:'accessing'!
+
+operation
+	^ 'data-write-memory'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_data_write_memory_bytes.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,66 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_data_write_memory_bytes
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_data_write_memory_bytes class methodsFor:'documentation'!
+
+documentation
+"
+The `-data-write-memory-bytes' Command
+--------------------------------------
+
+Synopsis
+........
+
+      -data-write-memory-bytes ADDRESS CONTENTS
+      -data-write-memory-bytes ADDRESS CONTENTS [COUNT]
+
+where:
+
+`ADDRESS'
+     An expression specifying the address of the first memory word to be
+     read.  Complex expressions containing embedded white space should
+     be quoted using the C convention.
+
+`CONTENTS'
+     The hex-encoded bytes to write.
+
+`COUNT'
+     Optional argument indicating the number of bytes to be written.
+     If COUNT is greater than CONTENTS' length, {No value for `GDBN'}
+     will repeatedly write CONTENTS until it fills COUNT bytes.
+
+
+{No value for `GDBN'} Command
+.............................
+
+There's no corresponding {No value for `GDBN'} command.
+
+Example
+.......
+
+     (gdb)
+     -data-write-memory-bytes &a 'aabbccdd'
+     ^done
+     (gdb)
+
+     (gdb)
+     -data-write-memory-bytes &a 'aabbccdd' 16e
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_data_write_memory_bytes methodsFor:'accessing'!
+
+operation
+	^ 'data-write-memory-bytes'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_data_write_register_values.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,15 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_data_write_register_values
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_data_write_register_values methodsFor:'accessing'!
+
+operation
+	^ 'data-write-register-values'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_dprintf_insert.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,98 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_dprintf_insert
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_dprintf_insert class methodsFor:'documentation'!
+
+documentation
+"
+The `-dprintf-insert' Command
+-----------------------------
+
+Synopsis
+........
+
+      -dprintf-insert [ -t ] [ -f ] [ -d ]
+         [ -c CONDITION ] [ -i IGNORE-COUNT ]
+         [ -p THREAD-ID ] [ LOCATION ] [ FORMAT ]
+         [ ARGUMENT ]
+
+If specified, LOCATION, can be one of:
+
+   * FUNCTION
+
+   * FILENAME:LINENUM
+
+   * FILENAME:function
+
+   * *ADDRESS
+
+   The possible optional parameters of this command are:
+
+`-t'
+     Insert a temporary breakpoint.
+
+`-f'
+     If LOCATION cannot be parsed (for example, if it refers to unknown
+     files or functions), create a pending breakpoint.  Without this
+     flag, {No value for `GDBN'} will report an error, and won't create
+     a breakpoint, if LOCATION cannot be parsed.
+
+`-d'
+     Create a disabled breakpoint.
+
+`-c CONDITION'
+     Make the breakpoint conditional on CONDITION.
+
+`-i IGNORE-COUNT'
+     Set the ignore count of the breakpoint (*note ignore count:
+     Conditions.)  to IGNORE-COUNT.
+
+`-p THREAD-ID'
+     Restrict the breakpoint to the specified THREAD-ID.
+
+Result
+......
+
+*Note GDB/MI Breakpoint Information::, for details on the format of the
+resulting breakpoint.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `dprintf'.
+
+Example
+.......
+
+     (gdb)
+     4-dprintf-insert foo 'At foo entry\n'
+     4^done,bkpt={number='1',type='dprintf',disp='keep',enabled='y',
+     addr='0x000000000040061b',func='foo',file='mi-dprintf.c',
+     fullname='mi-dprintf.c',line='25',thread-groups=['i1'],
+     times='0',script={'printf \'At foo entry\\n\'','continue'},
+     original-location='foo'}
+     (gdb)
+     5-dprintf-insert 26 'arg=%d, g=%d\n' arg g
+     5^done,bkpt={number='2',type='dprintf',disp='keep',enabled='y',
+     addr='0x000000000040062a',func='foo',file='mi-dprintf.c',
+     fullname='mi-dprintf.c',line='26',thread-groups=['i1'],
+     times='0',script={'printf \'arg=%d, g=%d\\n\', arg, g','continue'},
+     original-location='mi-dprintf.c:26'}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_dprintf_insert methodsFor:'accessing'!
+
+operation
+	^ 'dprintf-insert'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_enable_frame_filters.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,38 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_enable_frame_filters
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_enable_frame_filters class methodsFor:'documentation'!
+
+documentation
+"
+The `-enable-frame-filters' Command
+-----------------------------------
+
+     -enable-frame-filters
+
+   {No value for `GDBN'} allows Python-based frame filters to affect
+the output of the MI commands relating to stack traces.  As there is no
+way to implement this in a fully backward-compatible way, a front end
+must request that this functionality be enabled.
+
+   Once enabled, this feature cannot be disabled.
+
+   Note that if Python support has not been compiled into {No value for
+`GDBN'}, this command will still succeed (and do nothing).
+
+
+"
+! !
+
+!GDBMI_enable_frame_filters methodsFor:'accessing'!
+
+operation
+	^ 'enable-frame-filters'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_enable_pretty_printing.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,42 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_enable_pretty_printing
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_enable_pretty_printing class methodsFor:'documentation'!
+
+documentation
+"
+The `-enable-pretty-printing' Command
+-------------------------------------
+
+     -enable-pretty-printing
+
+   {No value for `GDBN'} allows Python-based visualizers to affect the
+output of the MI variable object commands.  However, because there was
+no way to implement this in a fully backward-compatible way, a front
+end must request that this functionality be enabled.
+
+   Once enabled, this feature cannot be disabled.
+
+   Note that if Python support has not been compiled into {No value for
+`GDBN'}, this command will still succeed (and do nothing).
+
+   This feature is currently (as of {No value for `GDBN'} 7.0)
+experimental, and may work differently in future versions of {No value
+for `GDBN'}.
+
+
+"
+! !
+
+!GDBMI_enable_pretty_printing methodsFor:'accessing'!
+
+operation
+	^ 'enable-pretty-printing'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_enable_timings.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,78 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_enable_timings
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_enable_timings class methodsFor:'documentation'!
+
+documentation
+"
+The `-enable-timings' Command
+-----------------------------
+
+Synopsis
+--------
+
+     -enable-timings [yes | no]
+
+   Toggle the printing of the wallclock, user and system times for an MI
+command as a field in its output.  This command is to help frontend
+developers optimize the performance of their code.  No argument is
+equivalent to `yes'.
+
+{No value for `GDBN'} Command
+-----------------------------
+
+No equivalent.
+
+Example
+-------
+
+     (gdb)
+     -enable-timings
+     ^done
+     (gdb)
+     -break-insert main
+     ^done,bkpt={number='1',type='breakpoint',disp='keep',enabled='y',
+     addr='0x080484ed',func='main',file='myprog.c',
+     fullname='/home/nickrob/myprog.c',line='73',thread-groups=['i1'],
+     times='0'},
+     time={wallclock='0.05185',user='0.00800',system='0.00000'}
+     (gdb)
+     -enable-timings no
+     ^done
+     (gdb)
+     -exec-run
+     ^running
+     (gdb)
+     *stopped,reason='breakpoint-hit',disp='keep',bkptno='1',thread-id='0',
+     frame={addr='0x080484ed',func='main',args=[{name='argc',value='1'},
+     {name='argv',value='0xbfb60364'}],file='myprog.c',
+     fullname='/home/nickrob/myprog.c',line='73'}
+     (gdb)
+
+28 {No value for `GDBN'} Annotations
+************************************
+
+This chapter describes annotations in {No value for `GDBN'}.
+Annotations were designed to interface {No value for `GDBN'} to
+graphical user interfaces or other similar programs which want to
+interact with {No value for `GDBN'} at a relatively high level.
+
+   The annotation mechanism has largely been superseded by GDB/MI
+(*note GDB/MI::).
+
+
+"
+! !
+
+!GDBMI_enable_timings methodsFor:'accessing'!
+
+operation
+	^ 'enable-timings'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_environment_cd.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,46 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_environment_cd
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_environment_cd class methodsFor:'documentation'!
+
+documentation
+"
+The `-environment-cd' Command
+-----------------------------
+
+Synopsis
+........
+
+      -environment-cd PATHDIR
+
+   Set {No value for `GDBN'}'s working directory.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `cd'.
+
+Example
+.......
+
+     (gdb)
+     -environment-cd /kwikemart/marge/ezannoni/flathead-dev/devo/gdb
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_environment_cd methodsFor:'accessing'!
+
+operation
+	^ 'environment-cd'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_environment_directory.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,67 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_environment_directory
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_environment_directory class methodsFor:'documentation'!
+
+documentation
+"
+The `-environment-directory' Command
+------------------------------------
+
+Synopsis
+........
+
+      -environment-directory [ -r ] [ PATHDIR ]+
+
+   Add directories PATHDIR to beginning of search path for source files.
+If the `-r' option is used, the search path is reset to the default
+search path.  If directories PATHDIR are supplied in addition to the
+`-r' option, the search path is first reset and then addition occurs as
+normal.  Multiple directories may be specified, separated by blanks.
+Specifying multiple directories in a single command results in the
+directories added to the beginning of the search path in the same order
+they were presented in the command.  If blanks are needed as part of a
+directory name, double-quotes should be used around the name.  In the
+command output, the path will show up separated by the system
+directory-separator character.  The directory-separator character must
+not be used in any directory name.  If no directories are specified,
+the current search path is displayed.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `dir'.
+
+Example
+.......
+
+     (gdb)
+     -environment-directory /kwikemart/marge/ezannoni/flathead-dev/devo/gdb
+     ^done,source-path='/kwikemart/marge/ezannoni/flathead-dev/devo/gdb:$cdir:$cwd'
+     (gdb)
+     -environment-directory ''
+     ^done,source-path='/kwikemart/marge/ezannoni/flathead-dev/devo/gdb:$cdir:$cwd'
+     (gdb)
+     -environment-directory -r /home/jjohnstn/src/gdb /usr/src
+     ^done,source-path='/home/jjohnstn/src/gdb:/usr/src:$cdir:$cwd'
+     (gdb)
+     -environment-directory -r
+     ^done,source-path='$cdir:$cwd'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_environment_directory methodsFor:'accessing'!
+
+operation
+	^ 'environment-directory'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_environment_path.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,64 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_environment_path
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_environment_path class methodsFor:'documentation'!
+
+documentation
+"
+The `-environment-path' Command
+-------------------------------
+
+Synopsis
+........
+
+      -environment-path [ -r ] [ PATHDIR ]+
+
+   Add directories PATHDIR to beginning of search path for object files.
+If the `-r' option is used, the search path is reset to the original
+search path that existed at gdb start-up.  If directories PATHDIR are
+supplied in addition to the `-r' option, the search path is first reset
+and then addition occurs as normal.  Multiple directories may be
+specified, separated by blanks.  Specifying multiple directories in a
+single command results in the directories added to the beginning of the
+search path in the same order they were presented in the command.  If
+blanks are needed as part of a directory name, double-quotes should be
+used around the name.  In the command output, the path will show up
+separated by the system directory-separator character.  The
+directory-separator character must not be used in any directory name.
+If no directories are specified, the current path is displayed.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `path'.
+
+Example
+.......
+
+     (gdb)
+     -environment-path
+     ^done,path='/usr/bin'
+     (gdb)
+     -environment-path /kwikemart/marge/ezannoni/flathead-dev/ppc-eabi/gdb /bin
+     ^done,path='/kwikemart/marge/ezannoni/flathead-dev/ppc-eabi/gdb:/bin:/usr/bin'
+     (gdb)
+     -environment-path -r /usr/local/bin
+     ^done,path='/usr/local/bin:/usr/bin'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_environment_path methodsFor:'accessing'!
+
+operation
+	^ 'environment-path'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_environment_pwd.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,46 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_environment_pwd
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_environment_pwd class methodsFor:'documentation'!
+
+documentation
+"
+The `-environment-pwd' Command
+------------------------------
+
+Synopsis
+........
+
+      -environment-pwd
+
+   Show the current working directory.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `pwd'.
+
+Example
+.......
+
+     (gdb)
+     -environment-pwd
+     ^done,cwd='/kwikemart/marge/ezannoni/flathead-dev/devo/gdb'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_environment_pwd methodsFor:'accessing'!
+
+operation
+	^ 'environment-pwd'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_exec_arguments.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,47 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_exec_arguments
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_exec_arguments class methodsFor:'documentation'!
+
+documentation
+"
+The `-exec-arguments' Command
+-----------------------------
+
+Synopsis
+........
+
+      -exec-arguments ARGS
+
+   Set the inferior program arguments, to be used in the next
+`-exec-run'.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `set args'.
+
+Example
+.......
+
+     (gdb)
+     -exec-arguments -v word
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_exec_arguments methodsFor:'accessing'!
+
+operation
+	^ 'exec-arguments'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_exec_continue.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,66 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_exec_continue
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_exec_continue class methodsFor:'documentation'!
+
+documentation
+"
+The `-exec-continue' Command
+----------------------------
+
+Synopsis
+........
+
+      -exec-continue [--reverse] [--all|--thread-group N]
+
+   Resumes the execution of the inferior program, which will continue
+to execute until it reaches a debugger stop event.  If the `--reverse'
+option is specified, execution resumes in reverse until it reaches a
+stop event.  Stop events may include
+   * breakpoints or watchpoints
+
+   * signals or exceptions
+
+   * the end of the process (or its beginning under `--reverse')
+
+   * the end or beginning of a replay log if one is being used.
+   In all-stop mode (*note All-Stop Mode::), may resume only one
+thread, or all threads, depending on the value of the
+`scheduler-locking' variable.  If `--all' is specified, all threads (in
+all inferiors) will be resumed.  The `--all' option is ignored in
+all-stop mode.  If the `--thread-group' options is specified, then all
+threads in that thread group are resumed.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} corresponding is `continue'.
+
+Example
+.......
+
+     -exec-continue
+     ^running
+     (gdb)
+     @Hello world
+     *stopped,reason='breakpoint-hit',disp='keep',bkptno='2',frame={
+     func='foo',args=[],file='hello.c',fullname='/home/foo/bar/hello.c',
+     line='13'}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_exec_continue methodsFor:'accessing'!
+
+operation
+	^ 'exec-continue'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_exec_finish.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,67 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_exec_finish
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_exec_finish class methodsFor:'documentation'!
+
+documentation
+"
+The `-exec-finish' Command
+--------------------------
+
+Synopsis
+........
+
+      -exec-finish [--reverse]
+
+   Resumes the execution of the inferior program until the current
+function is exited.  Displays the results returned by the function.  If
+the `--reverse' option is specified, resumes the reverse execution of
+the inferior program until the point where current function was called.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `finish'.
+
+Example
+.......
+
+Function returning `void'.
+
+     -exec-finish
+     ^running
+     (gdb)
+     @hello from foo
+     *stopped,reason='function-finished',frame={func='main',args=[],
+     file='hello.c',fullname='/home/foo/bar/hello.c',line='7'}
+     (gdb)
+
+   Function returning other than `void'.  The name of the internal {No
+value for `GDBN'} variable storing the result is printed, together with
+the value itself.
+
+     -exec-finish
+     ^running
+     (gdb)
+     *stopped,reason='function-finished',frame={addr='0x000107b0',func='foo',
+     args=[{name='a',value='1'],{name='b',value='9'}},
+     file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'},
+     gdb-result-var='$1',return-value='0'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_exec_finish methodsFor:'accessing'!
+
+operation
+	^ 'exec-finish'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_exec_interrupt.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,73 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_exec_interrupt
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_exec_interrupt class methodsFor:'documentation'!
+
+documentation
+"
+The `-exec-interrupt' Command
+-----------------------------
+
+Synopsis
+........
+
+      -exec-interrupt [--all|--thread-group N]
+
+   Interrupts the background execution of the target.  Note how the
+token associated with the stop message is the one for the execution
+command that has been interrupted.  The token for the interrupt itself
+only appears in the `^done' output.  If the user is trying to interrupt
+a non-running program, an error message will be printed.
+
+   Note that when asynchronous execution is enabled, this command is
+asynchronous just like other execution commands.  That is, first the
+`^done' response will be printed, and the target stop will be reported
+after that using the `*stopped' notification.
+
+   In non-stop mode, only the context thread is interrupted by default.
+All threads (in all inferiors) will be interrupted if the `--all'
+option is specified.  If the `--thread-group' option is specified, all
+threads in that group will be interrupted.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `interrupt'.
+
+Example
+.......
+
+     (gdb)
+     111-exec-continue
+     111^running
+
+     (gdb)
+     222-exec-interrupt
+     222^done
+     (gdb)
+     111*stopped,signal-name='SIGINT',signal-meaning='Interrupt',
+     frame={addr='0x00010140',func='foo',args=[],file='try.c',
+     fullname='/home/foo/bar/try.c',line='13'}
+     (gdb)
+
+     (gdb)
+     -exec-interrupt
+     ^error,msg='mi_cmd_exec_interrupt: Inferior not executing.'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_exec_interrupt methodsFor:'accessing'!
+
+operation
+	^ 'exec-interrupt'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_exec_jump.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,47 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_exec_jump
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_exec_jump class methodsFor:'documentation'!
+
+documentation
+"
+The `-exec-jump' Command
+------------------------
+
+Synopsis
+........
+
+      -exec-jump LOCATION
+
+   Resumes execution of the inferior program at the location specified
+by parameter.  *Note Specify Location::, for a description of the
+different forms of LOCATION.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `jump'.
+
+Example
+.......
+
+     -exec-jump foo.c:10
+     *running,thread-id='all'
+     ^running
+
+
+"
+! !
+
+!GDBMI_exec_jump methodsFor:'accessing'!
+
+operation
+	^ 'exec-jump'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_exec_next.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,54 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_exec_next
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_exec_next class methodsFor:'documentation'!
+
+documentation
+"
+The `-exec-next' Command
+------------------------
+
+Synopsis
+........
+
+      -exec-next [--reverse]
+
+   Resumes execution of the inferior program, stopping when the
+beginning of the next source line is reached.
+
+   If the `--reverse' option is specified, resumes reverse execution of
+the inferior program, stopping at the beginning of the previous source
+line.  If you issue this command on the first line of a function, it
+will take you back to the caller of that function, to the source line
+where the function was called.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `next'.
+
+Example
+.......
+
+     -exec-next
+     ^running
+     (gdb)
+     *stopped,reason='end-stepping-range',line='8',file='hello.c'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_exec_next methodsFor:'accessing'!
+
+operation
+	^ 'exec-next'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_exec_next_instruction.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,59 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_exec_next_instruction
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_exec_next_instruction class methodsFor:'documentation'!
+
+documentation
+"
+The `-exec-next-instruction' Command
+------------------------------------
+
+Synopsis
+........
+
+      -exec-next-instruction [--reverse]
+
+   Executes one machine instruction.  If the instruction is a function
+call, continues until the function returns.  If the program stops at an
+instruction in the middle of a source line, the address will be printed
+as well.
+
+   If the `--reverse' option is specified, resumes reverse execution of
+the inferior program, stopping at the previous instruction.  If the
+previously executed instruction was a return from another function, it
+will continue to execute in reverse until the call to that function
+(from the current stack frame) is reached.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `nexti'.
+
+Example
+.......
+
+     (gdb)
+     -exec-next-instruction
+     ^running
+
+     (gdb)
+     *stopped,reason='end-stepping-range',
+     addr='0x000100d4',line='5',file='hello.c'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_exec_next_instruction methodsFor:'accessing'!
+
+operation
+	^ 'exec-next-instruction'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_exec_return.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,66 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_exec_return
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_exec_return class methodsFor:'documentation'!
+
+documentation
+"
+The `-exec-return' Command
+--------------------------
+
+Synopsis
+........
+
+      -exec-return
+
+   Makes current function return immediately.  Doesn't execute the
+inferior.  Displays the new current frame.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `return'.
+
+Example
+.......
+
+     (gdb)
+     200-break-insert callee4
+     200^done,bkpt={number='1',addr='0x00010734',
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',line='8'}
+     (gdb)
+     000-exec-run
+     000^running
+     (gdb)
+     000*stopped,reason='breakpoint-hit',disp='keep',bkptno='1',
+     frame={func='callee4',args=[],
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c',line='8'}
+     (gdb)
+     205-break-delete
+     205^done
+     (gdb)
+     111-exec-return
+     111^done,frame={level='0',func='callee3',
+     args=[{name='strarg',
+     value='0x11940 \'A string argument.\''}],
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c',line='18'}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_exec_return methodsFor:'accessing'!
+
+operation
+	^ 'exec-return'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_exec_run.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,93 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_exec_run
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_exec_run class methodsFor:'documentation'!
+
+documentation
+"
+The `-exec-run' Command
+-----------------------
+
+Synopsis
+........
+
+      -exec-run [ --all | --thread-group N ] [ --start ]
+
+   Starts execution of the inferior from the beginning.  The inferior
+executes until either a breakpoint is encountered or the program exits.
+In the latter case the output will include an exit code, if the program
+has exited exceptionally.
+
+   When neither the `--all' nor the `--thread-group' option is
+specified, the current inferior is started.  If the `--thread-group'
+option is specified, it should refer to a thread group of type
+`process', and that thread group will be started.  If the `--all'
+option is specified, then all inferiors will be started.
+
+   Using the `--start' option instructs the debugger to stop the
+execution at the start of the inferior's main subprogram, following the
+same behavior as the `start' command (*note Starting::).
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `run'.
+
+Examples
+........
+
+     (gdb)
+     -break-insert main
+     ^done,bkpt={number='1',addr='0x0001072c',file='recursive2.c',line='4'}
+     (gdb)
+     -exec-run
+     ^running
+     (gdb)
+     *stopped,reason='breakpoint-hit',disp='keep',bkptno='1',
+     frame={func='main',args=[],file='recursive2.c',
+     fullname='/home/foo/bar/recursive2.c',line='4'}
+     (gdb)
+
+Program exited normally:
+
+     (gdb)
+     -exec-run
+     ^running
+     (gdb)
+     x = 55
+     *stopped,reason='exited-normally'
+     (gdb)
+
+Program exited exceptionally:
+
+     (gdb)
+     -exec-run
+     ^running
+     (gdb)
+     x = 55
+     *stopped,reason='exited',exit-code='01'
+     (gdb)
+
+   Another way the program can terminate is if it receives a signal
+such as `SIGINT'.  In this case, GDB/MI displays this:
+
+     (gdb)
+     *stopped,reason='exited-signalled',signal-name='SIGINT',
+     signal-meaning='Interrupt'
+
+
+"
+! !
+
+!GDBMI_exec_run methodsFor:'accessing'!
+
+operation
+	^ 'exec-run'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_exec_step.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,65 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_exec_step
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_exec_step class methodsFor:'documentation'!
+
+documentation
+"
+The `-exec-step' Command
+------------------------
+
+Synopsis
+........
+
+      -exec-step [--reverse]
+
+   Resumes execution of the inferior program, stopping when the
+beginning of the next source line is reached, if the next source line
+is not a function call.  If it is, stop at the first instruction of the
+called function.  If the `--reverse' option is specified, resumes
+reverse execution of the inferior program, stopping at the beginning of
+the previously executed source line.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `step'.
+
+Example
+.......
+
+Stepping into a function:
+
+     -exec-step
+     ^running
+     (gdb)
+     *stopped,reason='end-stepping-range',
+     frame={func='foo',args=[{name='a',value='10'},
+     {name='b',value='0'}],file='recursive2.c',
+     fullname='/home/foo/bar/recursive2.c',line='11'}
+     (gdb)
+
+   Regular stepping:
+
+     -exec-step
+     ^running
+     (gdb)
+     *stopped,reason='end-stepping-range',line='14',file='recursive2.c'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_exec_step methodsFor:'accessing'!
+
+operation
+	^ 'exec-step'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_exec_step_instruction.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,65 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_exec_step_instruction
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_exec_step_instruction class methodsFor:'documentation'!
+
+documentation
+"
+The `-exec-step-instruction' Command
+------------------------------------
+
+Synopsis
+........
+
+      -exec-step-instruction [--reverse]
+
+   Resumes the inferior which executes one machine instruction.  If the
+`--reverse' option is specified, resumes reverse execution of the
+inferior program, stopping at the previously executed instruction.  The
+output, once {No value for `GDBN'} has stopped, will vary depending on
+whether we have stopped in the middle of a source line or not.  In the
+former case, the address at which the program stopped will be printed
+as well.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `stepi'.
+
+Example
+.......
+
+     (gdb)
+     -exec-step-instruction
+     ^running
+
+     (gdb)
+     *stopped,reason='end-stepping-range',
+     frame={func='foo',args=[],file='try.c',
+     fullname='/home/foo/bar/try.c',line='10'}
+     (gdb)
+     -exec-step-instruction
+     ^running
+
+     (gdb)
+     *stopped,reason='end-stepping-range',
+     frame={addr='0x000100f4',func='foo',args=[],file='try.c',
+     fullname='/home/foo/bar/try.c',line='10'}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_exec_step_instruction methodsFor:'accessing'!
+
+operation
+	^ 'exec-step-instruction'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_exec_until.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,53 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_exec_until
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_exec_until class methodsFor:'documentation'!
+
+documentation
+"
+The `-exec-until' Command
+-------------------------
+
+Synopsis
+........
+
+      -exec-until [ LOCATION ]
+
+   Executes the inferior until the LOCATION specified in the argument
+is reached.  If there is no argument, the inferior executes until a
+source line greater than the current one is reached.  The reason for
+stopping in this case will be `location-reached'.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `until'.
+
+Example
+.......
+
+     (gdb)
+     -exec-until recursive2.c:6
+     ^running
+     (gdb)
+     x = 55
+     *stopped,reason='location-reached',frame={func='main',args=[],
+     file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='6'}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_exec_until methodsFor:'accessing'!
+
+operation
+	^ 'exec-until'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_file_exec_and_symbols.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,51 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_file_exec_and_symbols
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_file_exec_and_symbols class methodsFor:'documentation'!
+
+documentation
+"
+The `-file-exec-and-symbols' Command
+------------------------------------
+
+Synopsis
+........
+
+      -file-exec-and-symbols FILE
+
+   Specify the executable file to be debugged.  This file is the one
+from which the symbol table is also read.  If no file is specified, the
+command clears the executable and symbol information.  If breakpoints
+are set when using this command with no arguments, {No value for
+`GDBN'} will produce error messages.  Otherwise, no output is produced,
+except a completion notification.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `file'.
+
+Example
+.......
+
+     (gdb)
+     -file-exec-and-symbols /kwikemart/marge/ezannoni/TRUNK/mbx/hello.mbx
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_file_exec_and_symbols methodsFor:'accessing'!
+
+operation
+	^ 'file-exec-and-symbols'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_file_exec_file.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,50 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_file_exec_file
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_file_exec_file class methodsFor:'documentation'!
+
+documentation
+"
+The `-file-exec-file' Command
+-----------------------------
+
+Synopsis
+........
+
+      -file-exec-file FILE
+
+   Specify the executable file to be debugged.  Unlike
+`-file-exec-and-symbols', the symbol table is _not_ read from this
+file.  If used without argument, {No value for `GDBN'} clears the
+information about the executable file.  No output is produced, except a
+completion notification.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `exec-file'.
+
+Example
+.......
+
+     (gdb)
+     -file-exec-file /kwikemart/marge/ezannoni/TRUNK/mbx/hello.mbx
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_file_exec_file methodsFor:'accessing'!
+
+operation
+	^ 'file-exec-file'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_file_list_exec_source_file.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,49 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_file_list_exec_source_file
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_file_list_exec_source_file class methodsFor:'documentation'!
+
+documentation
+"
+The `-file-list-exec-source-file' Command
+-----------------------------------------
+
+Synopsis
+........
+
+      -file-list-exec-source-file
+
+   List the line number, the current source file, and the absolute path
+to the current source file for the current executable.  The macro
+information field has a value of `1' or `0' depending on whether or not
+the file includes preprocessor macro information.
+
+{No value for `GDBN'} Command
+.............................
+
+The {No value for `GDBN'} equivalent is `info source'
+
+Example
+.......
+
+     (gdb)
+     123-file-list-exec-source-file
+     123^done,line='1',file='foo.c',fullname='/home/bar/foo.c,macro-info='1'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_file_list_exec_source_file methodsFor:'accessing'!
+
+operation
+	^ 'file-list-exec-source-file'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_file_list_exec_source_files.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,53 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_file_list_exec_source_files
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_file_list_exec_source_files class methodsFor:'documentation'!
+
+documentation
+"
+The `-file-list-exec-source-files' Command
+------------------------------------------
+
+Synopsis
+........
+
+      -file-list-exec-source-files
+
+   List the source files for the current executable.
+
+   It will always output both the filename and fullname (absolute file
+name) of a source file.
+
+{No value for `GDBN'} Command
+.............................
+
+The {No value for `GDBN'} equivalent is `info sources'.  `gdbtk' has an
+analogous command `gdb_listfiles'.
+
+Example
+.......
+
+     (gdb)
+     -file-list-exec-source-files
+     ^done,files=[
+     {file=foo.c,fullname=/home/foo.c},
+     {file=/home/bar.c,fullname=/home/bar.c},
+     {file=gdb_could_not_find_fullpath.c}]
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_file_list_exec_source_files methodsFor:'accessing'!
+
+operation
+	^ 'file-list-exec-source-files'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_file_symbol_file.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,48 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_file_symbol_file
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_file_symbol_file class methodsFor:'documentation'!
+
+documentation
+"
+The `-file-symbol-file' Command
+-------------------------------
+
+Synopsis
+........
+
+      -file-symbol-file FILE
+
+   Read symbol table info from the specified FILE argument.  When used
+without arguments, clears {No value for `GDBN'}'s symbol table info.
+No output is produced, except for a completion notification.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `symbol-file'.
+
+Example
+.......
+
+     (gdb)
+     -file-symbol-file /kwikemart/marge/ezannoni/TRUNK/mbx/hello.mbx
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_file_symbol_file methodsFor:'accessing'!
+
+operation
+	^ 'file-symbol-file'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_gdb_exit.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,45 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_gdb_exit
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_gdb_exit class methodsFor:'documentation'!
+
+documentation
+"
+The `-gdb-exit' Command
+-----------------------
+
+Synopsis
+........
+
+      -gdb-exit
+
+   Exit {No value for `GDBN'} immediately.
+
+{No value for `GDBN'} Command
+.............................
+
+Approximately corresponds to `quit'.
+
+Example
+.......
+
+     (gdb)
+     -gdb-exit
+     ^exit
+
+
+"
+! !
+
+!GDBMI_gdb_exit methodsFor:'accessing'!
+
+operation
+	^ 'gdb-exit'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_gdb_set.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,46 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_gdb_set
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_gdb_set class methodsFor:'documentation'!
+
+documentation
+"
+The `-gdb-set' Command
+----------------------
+
+Synopsis
+........
+
+      -gdb-set
+
+   Set an internal {No value for `GDBN'} variable.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `set'.
+
+Example
+.......
+
+     (gdb)
+     -gdb-set $foo=3
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_gdb_set methodsFor:'accessing'!
+
+operation
+	^ 'gdb-set'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_gdb_show.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,46 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_gdb_show
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_gdb_show class methodsFor:'documentation'!
+
+documentation
+"
+The `-gdb-show' Command
+-----------------------
+
+Synopsis
+........
+
+      -gdb-show
+
+   Show the current value of a {No value for `GDBN'} variable.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `show'.
+
+Example
+.......
+
+     (gdb)
+     -gdb-show annotate
+     ^done,value='0'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_gdb_show methodsFor:'accessing'!
+
+operation
+	^ 'gdb-show'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_gdb_version.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,59 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_gdb_version
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_gdb_version class methodsFor:'documentation'!
+
+documentation
+"
+The `-gdb-version' Command
+--------------------------
+
+Synopsis
+........
+
+      -gdb-version
+
+   Show version information for {No value for `GDBN'}.  Used mostly in
+testing.
+
+{No value for `GDBN'} Command
+.............................
+
+The {No value for `GDBN'} equivalent is `show version'.  {No value for
+`GDBN'} by default shows this information when you start an interactive
+session.
+
+Example
+.......
+
+     (gdb)
+     -gdb-version
+     ~GNU gdb 5.2.1
+     ~Copyright 2000 Free Software Foundation, Inc.
+     ~GDB is free software, covered by the GNU General Public License, and
+     ~you are welcome to change it and/or distribute copies of it under
+     ~ certain conditions.
+     ~Type 'show copying' to see the conditions.
+     ~There is absolutely no warranty for GDB.  Type 'show warranty' for
+     ~ details.
+     ~This GDB was configured as
+      '--host=sparc-sun-solaris2.5.1 --target=ppc-eabi'.
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_gdb_version methodsFor:'accessing'!
+
+operation
+	^ 'gdb-version'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_inferior_tty_set.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,47 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_inferior_tty_set
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_inferior_tty_set class methodsFor:'documentation'!
+
+documentation
+"
+The `-inferior-tty-set' Command
+-------------------------------
+
+Synopsis
+--------
+
+     -inferior-tty-set /dev/pts/1
+
+   Set terminal for future runs of the program being debugged.
+
+{No value for `GDBN'} Command
+-----------------------------
+
+The corresponding {No value for `GDBN'} command is `set inferior-tty'
+/dev/pts/1.
+
+Example
+-------
+
+     (gdb)
+     -inferior-tty-set /dev/pts/1
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_inferior_tty_set methodsFor:'accessing'!
+
+operation
+	^ 'inferior-tty-set'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_inferior_tty_show.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,49 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_inferior_tty_show
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_inferior_tty_show class methodsFor:'documentation'!
+
+documentation
+"
+The `-inferior-tty-show' Command
+--------------------------------
+
+Synopsis
+--------
+
+     -inferior-tty-show
+
+   Show terminal for future runs of program being debugged.
+
+{No value for `GDBN'} Command
+-----------------------------
+
+The corresponding {No value for `GDBN'} command is `show inferior-tty'.
+
+Example
+-------
+
+     (gdb)
+     -inferior-tty-set /dev/pts/1
+     ^done
+     (gdb)
+     -inferior-tty-show
+     ^done,inferior_tty_terminal='/dev/pts/1'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_inferior_tty_show methodsFor:'accessing'!
+
+operation
+	^ 'inferior-tty-show'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_info_ada_exceptions.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,70 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_info_ada_exceptions
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_info_ada_exceptions class methodsFor:'documentation'!
+
+documentation
+"
+The `-info-ada-exceptions' Command
+----------------------------------
+
+Synopsis
+........
+
+      -info-ada-exceptions [ REGEXP]
+
+   List all Ada exceptions defined within the program being debugged.
+With a regular expression REGEXP, only those exceptions whose names
+match REGEXP are listed.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `info exceptions'.
+
+Result
+......
+
+The result is a table of Ada exceptions.  The following columns are
+defined for each exception:
+
+`name'
+     The name of the exception.
+
+`address'
+     The address of the exception.
+
+
+Example
+.......
+
+     -info-ada-exceptions aint
+     ^done,ada-exceptions={nr_rows='2',nr_cols='2',
+     hdr=[{width='1',alignment='-1',col_name='name',colhdr='Name'},
+     {width='1',alignment='-1',col_name='address',colhdr='Address'}],
+     body=[{name='constraint_error',address='0x0000000000613da0'},
+     {name='const.aint_global_e',address='0x0000000000613b00'}]}
+
+Catching Ada Exceptions
+-----------------------
+
+The commands describing how to ask {No value for `GDBN'} to stop when a
+program raises an exception are described at *note Ada Exception GDB/MI
+Catchpoint Commands::.
+
+
+"
+! !
+
+!GDBMI_info_ada_exceptions methodsFor:'accessing'!
+
+operation
+	^ 'info-ada-exceptions'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_info_gdb_mi_command.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,67 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_info_gdb_mi_command
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_info_gdb_mi_command class methodsFor:'documentation'!
+
+documentation
+"
+The `-info-gdb-mi-command' Command
+----------------------------------
+
+Synopsis
+........
+
+      -info-gdb-mi-command CMD_NAME
+
+   Query support for the GDB/MI command named CMD_NAME.
+
+   Note that the dash (`-') starting all GDB/MI commands is technically
+not part of the command name (*note GDB/MI Input Syntax::), and thus
+should be omitted in CMD_NAME.  However, for ease of use, this command
+also accepts the form with the leading dash.
+
+{No value for `GDBN'} Command
+.............................
+
+There is no corresponding {No value for `GDBN'} command.
+
+Result
+......
+
+The result is a tuple.  There is currently only one field:
+
+`exists'
+     This field is equal to `'true'' if the GDB/MI command exists,
+     `'false'' otherwise.
+
+
+Example
+.......
+
+Here is an example where the GDB/MI command does not exist:
+
+     -info-gdb-mi-command unsupported-command
+     ^done,command={exists='false'}
+
+And here is an example where the GDB/MI command is known to the
+debugger:
+
+     -info-gdb-mi-command symbol-list-lines
+     ^done,command={exists='true'}
+
+
+"
+! !
+
+!GDBMI_info_gdb_mi_command methodsFor:'accessing'!
+
+operation
+	^ 'info-gdb-mi-command'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_info_os.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,95 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_info_os
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_info_os class methodsFor:'documentation'!
+
+documentation
+"
+The `-info-os' Command
+----------------------
+
+Synopsis
+........
+
+     -info-os [ TYPE ]
+
+   If no argument is supplied, the command returns a table of available
+operating-system-specific information types.  If one of these types is
+supplied as an argument TYPE, then the command returns a table of data
+of that type.
+
+   The types of information available depend on the target operating
+system.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `info os'.
+
+Example
+.......
+
+When run on a GNU/Linux system, the output will look something like
+this:
+
+     {No value for `GDBP'}
+     -info-os
+     ^done,OSDataTable={nr_rows='9',nr_cols='3',
+     hdr=[{width='10',alignment='-1',col_name='col0',colhdr='Type'},
+          {width='10',alignment='-1',col_name='col1',colhdr='Description'},
+          {width='10',alignment='-1',col_name='col2',colhdr='Title'}],
+     body=[item={col0='processes',col1='Listing of all processes',
+                 col2='Processes'},
+           item={col0='procgroups',col1='Listing of all process groups',
+                 col2='Process groups'},
+           item={col0='threads',col1='Listing of all threads',
+                 col2='Threads'},
+           item={col0='files',col1='Listing of all file descriptors',
+                 col2='File descriptors'},
+           item={col0='sockets',col1='Listing of all internet-domain sockets',
+                 col2='Sockets'},
+           item={col0='shm',col1='Listing of all shared-memory regions',
+                 col2='Shared-memory regions'},
+           item={col0='semaphores',col1='Listing of all semaphores',
+                 col2='Semaphores'},
+           item={col0='msg',col1='Listing of all message queues',
+                 col2='Message queues'},
+           item={col0='modules',col1='Listing of all loaded kernel modules',
+                 col2='Kernel modules'}]}
+     {No value for `GDBP'}
+     -info-os processes
+     ^done,OSDataTable={nr_rows='190',nr_cols='4',
+     hdr=[{width='10',alignment='-1',col_name='col0',colhdr='pid'},
+          {width='10',alignment='-1',col_name='col1',colhdr='user'},
+          {width='10',alignment='-1',col_name='col2',colhdr='command'},
+          {width='10',alignment='-1',col_name='col3',colhdr='cores'}],
+     body=[item={col0='1',col1='root',col2='/sbin/init',col3='0'},
+           item={col0='2',col1='root',col2='[kthreadd]',col3='1'},
+           item={col0='3',col1='root',col2='[ksoftirqd/0]',col3='0'},
+           ...
+           item={col0='26446',col1='stan',col2='bash',col3='0'},
+           item={col0='28152',col1='stan',col2='bash',col3='1'}]}
+     (gdb)
+
+   (Note that the MI output here includes a `'Title'' column that does
+not appear in command-line `info os'; this column is useful for MI
+clients that want to enumerate the types of data, such as in a popup
+menu, but is needless clutter on the command line, and `info os' omits
+it.)
+
+
+"
+! !
+
+!GDBMI_info_os methodsFor:'accessing'!
+
+operation
+	^ 'info-os'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_interpreter_exec.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,48 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_interpreter_exec
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_interpreter_exec class methodsFor:'documentation'!
+
+documentation
+"
+The `-interpreter-exec' Command
+-------------------------------
+
+Synopsis
+--------
+
+     -interpreter-exec INTERPRETER COMMAND
+Execute the specified COMMAND in the given INTERPRETER.
+
+{No value for `GDBN'} Command
+-----------------------------
+
+The corresponding {No value for `GDBN'} command is `interpreter-exec'.
+
+Example
+-------
+
+     (gdb)
+     -interpreter-exec console 'break main'
+     &'During symbol reading, couldn't parse type; debugger out of date?.\n'
+     &'During symbol reading, bad structure-type format.\n'
+     ~'Breakpoint 1 at 0x8074fc6: file ../../src/gdb/main.c, line 743.\n'
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_interpreter_exec methodsFor:'accessing'!
+
+operation
+	^ 'interpreter-exec'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_list_features.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,88 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_list_features
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_list_features class methodsFor:'documentation'!
+
+documentation
+"
+The `-list-features' Command
+----------------------------
+
+Returns a list of particular features of the MI protocol that this
+version of gdb implements.  A feature can be a command, or a new field
+in an output of some command, or even an important bugfix.  While a
+frontend can sometimes detect presence of a feature at runtime, it is
+easier to perform detection at debugger startup.
+
+   The command returns a list of strings, with each string naming an
+available feature.  Each returned string is just a name, it does not
+have any internal structure.  The list of possible feature names is
+given below.
+
+   Example output:
+
+     (gdb) -list-features
+     ^done,result=['feature1','feature2']
+
+   The current list of features is:
+
+`frozen-varobjs'
+     Indicates support for the `-var-set-frozen' command, as well as
+     possible presense of the `frozen' field in the output of
+     `-varobj-create'.
+
+`pending-breakpoints'
+     Indicates support for the `-f' option to the `-break-insert'
+     command.
+
+`python'
+     Indicates Python scripting support, Python-based pretty-printing
+     commands, and possible presence of the `display_hint' field in the
+     output of `-var-list-children'
+
+`thread-info'
+     Indicates support for the `-thread-info' command.
+
+`data-read-memory-bytes'
+     Indicates support for the `-data-read-memory-bytes' and the
+     `-data-write-memory-bytes' commands.
+
+`breakpoint-notifications'
+     Indicates that changes to breakpoints and breakpoints created via
+     the CLI will be announced via async records.
+
+`ada-task-info'
+     Indicates support for the `-ada-task-info' command.
+
+`language-option'
+     Indicates that all GDB/MI commands accept the `--language' option
+     (*note Context management::).
+
+`info-gdb-mi-command'
+     Indicates support for the `-info-gdb-mi-command' command.
+
+`undefined-command-error-code'
+     Indicates support for the 'undefined-command' error code in error
+     result records, produced when trying to execute an undefined
+     GDB/MI command (*note GDB/MI Result Records::).
+
+`exec-run-start-option'
+     Indicates that the `-exec-run' command supports the `--start'
+     option (*note GDB/MI Program Execution::).
+
+
+"
+! !
+
+!GDBMI_list_features methodsFor:'accessing'!
+
+operation
+	^ 'list-features'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_list_target_features.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,49 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_list_target_features
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_list_target_features class methodsFor:'documentation'!
+
+documentation
+"
+The `-list-target-features' Command
+-----------------------------------
+
+Returns a list of particular features that are supported by the target.
+Those features affect the permitted MI commands, but unlike the
+features reported by the `-list-features' command, the features depend
+on which target GDB is using at the moment.  Whenever a target can
+change, due to commands such as `-target-select', `-target-attach' or
+`-exec-run', the list of target features may change, and the frontend
+should obtain it again.  Example output:
+
+     (gdb) -list-target-features
+     ^done,result=['async']
+
+   The current list of features is:
+
+`async'
+     Indicates that the target is capable of asynchronous command
+     execution, which means that {No value for `GDBN'} will accept
+     further commands while the target is running.
+
+`reverse'
+     Indicates that the target is capable of reverse execution.  *Note
+     Reverse Execution::, for more information.
+
+
+
+"
+! !
+
+!GDBMI_list_target_features methodsFor:'accessing'!
+
+operation
+	^ 'list-target-features'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_list_thread_groups.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,131 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_list_thread_groups
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_list_thread_groups class methodsFor:'documentation'!
+
+documentation
+"
+The `-list-thread-groups' Command
+---------------------------------
+
+Synopsis
+--------
+
+     -list-thread-groups [ --available ] [ --recurse 1 ] [ GROUP ... ]
+
+   Lists thread groups (*note Thread groups::).  When a single thread
+group is passed as the argument, lists the children of that group.
+When several thread group are passed, lists information about those
+thread groups.  Without any parameters, lists information about all
+top-level thread groups.
+
+   Normally, thread groups that are being debugged are reported.  With
+the `--available' option, {No value for `GDBN'} reports thread groups
+available on the target.
+
+   The output of this command may have either a `threads' result or a
+`groups' result.  The `thread' result has a list of tuples as value,
+with each tuple describing a thread (*note GDB/MI Thread
+Information::).  The `groups' result has a list of tuples as value,
+each tuple describing a thread group.  If top-level groups are
+requested (that is, no parameter is passed), or when several groups are
+passed, the output always has a `groups' result.  The format of the
+`group' result is described below.
+
+   To reduce the number of roundtrips it's possible to list thread
+groups together with their children, by passing the `--recurse' option
+and the recursion depth.  Presently, only recursion depth of 1 is
+permitted.  If this option is present, then every reported thread group
+will also include its children, either as `group' or `threads' field.
+
+   In general, any combination of option and parameters is permitted,
+with the following caveats:
+
+   * When a single thread group is passed, the output will typically be
+     the `threads' result.  Because threads may not contain anything,
+     the `recurse' option will be ignored.
+
+   * When the `--available' option is passed, limited information may
+     be available.  In particular, the list of threads of a process
+     might be inaccessible.  Further, specifying specific thread groups
+     might not give any performance advantage over listing all thread
+     groups.  The frontend should assume that `-list-thread-groups
+     --available' is always an expensive operation and cache the
+     results.
+
+
+   The `groups' result is a list of tuples, where each tuple may have
+the following fields:
+
+`id'
+     Identifier of the thread group.  This field is always present.
+     The identifier is an opaque string; frontends should not try to
+     convert it to an integer, even though it might look like one.
+
+`type'
+     The type of the thread group.  At present, only `process' is a
+     valid type.
+
+`pid'
+     The target-specific process identifier.  This field is only present
+     for thread groups of type `process' and only if the process exists.
+
+`num_children'
+     The number of children this thread group has.  This field may be
+     absent for an available thread group.
+
+`threads'
+     This field has a list of tuples as value, each tuple describing a
+     thread.  It may be present if the `--recurse' option is specified,
+     and it's actually possible to obtain the threads.
+
+`cores'
+     This field is a list of integers, each identifying a core that one
+     thread of the group is running on.  This field may be absent if
+     such information is not available.
+
+`executable'
+     The name of the executable file that corresponds to this thread
+     group.  The field is only present for thread groups of type
+     `process', and only if there is a corresponding executable file.
+
+
+Example
+-------
+
+     {No value for `GDBP'}
+     -list-thread-groups
+     ^done,groups=[{id='17',type='process',pid='yyy',num_children='2'}]
+     -list-thread-groups 17
+     ^done,threads=[{id='2',target-id='Thread 0xb7e14b90 (LWP 21257)',
+        frame={level='0',addr='0xffffe410',func='__kernel_vsyscall',args=[]},state='running'},
+     {id='1',target-id='Thread 0xb7e156b0 (LWP 21254)',
+        frame={level='0',addr='0x0804891f',func='foo',args=[{name='i',value='10'}],
+                file='/tmp/a.c',fullname='/tmp/a.c',line='158'},state='running'}]]
+     -list-thread-groups --available
+     ^done,groups=[{id='17',type='process',pid='yyy',num_children='2',cores=[1,2]}]
+     -list-thread-groups --available --recurse 1
+      ^done,groups=[{id='17', types='process',pid='yyy',num_children='2',cores=[1,2],
+                     threads=[{id='1',target-id='Thread 0xb7e14b90',cores=[1]},
+                              {id='2',target-id='Thread 0xb7e14b90',cores=[2]}]},..]
+     -list-thread-groups --available --recurse 1 17 18
+     ^done,groups=[{id='17', types='process',pid='yyy',num_children='2',cores=[1,2],
+                    threads=[{id='1',target-id='Thread 0xb7e14b90',cores=[1]},
+                             {id='2',target-id='Thread 0xb7e14b90',cores=[2]}]},...]
+
+
+"
+! !
+
+!GDBMI_list_thread_groups methodsFor:'accessing'!
+
+operation
+	^ 'list-thread-groups'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_remove_inferior.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,15 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_remove_inferior
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_remove_inferior methodsFor:'accessing'!
+
+operation
+	^ 'remove-inferior'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_stack_info_depth.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,61 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_stack_info_depth
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_stack_info_depth class methodsFor:'documentation'!
+
+documentation
+"
+The `-stack-info-depth' Command
+-------------------------------
+
+Synopsis
+........
+
+      -stack-info-depth [ MAX-DEPTH ]
+
+   Return the depth of the stack.  If the integer argument MAX-DEPTH is
+specified, do not count beyond MAX-DEPTH frames.
+
+{No value for `GDBN'} Command
+.............................
+
+There's no equivalent {No value for `GDBN'} command.
+
+Example
+.......
+
+For a stack with frame levels 0 through 11:
+
+     (gdb)
+     -stack-info-depth
+     ^done,depth='12'
+     (gdb)
+     -stack-info-depth 4
+     ^done,depth='4'
+     (gdb)
+     -stack-info-depth 12
+     ^done,depth='12'
+     (gdb)
+     -stack-info-depth 11
+     ^done,depth='11'
+     (gdb)
+     -stack-info-depth 13
+     ^done,depth='12'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_stack_info_depth methodsFor:'accessing'!
+
+operation
+	^ 'stack-info-depth'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_stack_info_frame.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,49 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_stack_info_frame
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_stack_info_frame class methodsFor:'documentation'!
+
+documentation
+"
+The `-stack-info-frame' Command
+-------------------------------
+
+Synopsis
+........
+
+      -stack-info-frame
+
+   Get info on the selected frame.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `info frame' or
+`frame' (without arguments).
+
+Example
+.......
+
+     (gdb)
+     -stack-info-frame
+     ^done,frame={level='1',addr='0x0001076c',func='callee3',
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c',line='17'}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_stack_info_frame methodsFor:'accessing'!
+
+operation
+	^ 'stack-info-frame'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_stack_list_arguments.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,117 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_stack_list_arguments
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_stack_list_arguments class methodsFor:'documentation'!
+
+documentation
+"
+The `-stack-list-arguments' Command
+-----------------------------------
+
+Synopsis
+........
+
+      -stack-list-arguments [ --no-frame-filters ] [ --skip-unavailable ] PRINT-VALUES
+         [ LOW-FRAME HIGH-FRAME ]
+
+   Display a list of the arguments for the frames between LOW-FRAME and
+HIGH-FRAME (inclusive).  If LOW-FRAME and HIGH-FRAME are not provided,
+list the arguments for the whole call stack.  If the two arguments are
+equal, show the single frame at the corresponding level.  It is an
+error if LOW-FRAME is larger than the actual number of frames.  On the
+other hand, HIGH-FRAME may be larger than the actual number of frames,
+in which case only existing frames will be returned.
+
+   If PRINT-VALUES is 0 or `--no-values', print only the names of the
+variables; if it is 1 or `--all-values', print also their values; and
+if it is 2 or `--simple-values', print the name, type and value for
+simple data types, and the name and type for arrays, structures and
+unions.  If the option `--no-frame-filters' is supplied, then Python
+frame filters will not be executed.
+
+   If the `--skip-unavailable' option is specified, arguments that are
+not available are not listed.  Partially available arguments are still
+displayed, however.
+
+   Use of this command to obtain arguments in a single frame is
+deprecated in favor of the `-stack-list-variables' command.
+
+{No value for `GDBN'} Command
+.............................
+
+{No value for `GDBN'} does not have an equivalent command.  `gdbtk' has
+a `gdb_get_args' command which partially overlaps with the
+functionality of `-stack-list-arguments'.
+
+Example
+.......
+
+     (gdb)
+     -stack-list-frames
+     ^done,
+     stack=[
+     frame={level='0',addr='0x00010734',func='callee4',
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c',line='8'},
+     frame={level='1',addr='0x0001076c',func='callee3',
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c',line='17'},
+     frame={level='2',addr='0x0001078c',func='callee2',
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c',line='22'},
+     frame={level='3',addr='0x000107b4',func='callee1',
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c',line='27'},
+     frame={level='4',addr='0x000107e0',func='main',
+     file='../../../devo/gdb/testsuite/gdb.mi/basics.c',
+     fullname='/home/foo/bar/devo/gdb/testsuite/gdb.mi/basics.c',line='32'}]
+     (gdb)
+     -stack-list-arguments 0
+     ^done,
+     stack-args=[
+     frame={level='0',args=[]},
+     frame={level='1',args=[name='strarg']},
+     frame={level='2',args=[name='intarg',name='strarg']},
+     frame={level='3',args=[name='intarg',name='strarg',name='fltarg']},
+     frame={level='4',args=[]}]
+     (gdb)
+     -stack-list-arguments 1
+     ^done,
+     stack-args=[
+     frame={level='0',args=[]},
+     frame={level='1',
+      args=[{name='strarg',value='0x11940 \'A string argument.\''}]},
+     frame={level='2',args=[
+     {name='intarg',value='2'},
+     {name='strarg',value='0x11940 \'A string argument.\''}]},
+     {frame={level='3',args=[
+     {name='intarg',value='2'},
+     {name='strarg',value='0x11940 \'A string argument.\''},
+     {name='fltarg',value='3.5'}]},
+     frame={level='4',args=[]}]
+     (gdb)
+     -stack-list-arguments 0 2 2
+     ^done,stack-args=[frame={level='2',args=[name='intarg',name='strarg']}]
+     (gdb)
+     -stack-list-arguments 1 2 2
+     ^done,stack-args=[frame={level='2',
+     args=[{name='intarg',value='2'},
+     {name='strarg',value='0x11940 \'A string argument.\''}]}]
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_stack_list_arguments methodsFor:'accessing'!
+
+operation
+	^ 'stack-list-arguments'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_stack_list_frames.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,129 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_stack_list_frames
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_stack_list_frames class methodsFor:'documentation'!
+
+documentation
+"
+The `-stack-list-frames' Command
+--------------------------------
+
+Synopsis
+........
+
+      -stack-list-frames [ --no-frame-filters LOW-FRAME HIGH-FRAME ]
+
+   List the frames currently on the stack.  For each frame it displays
+the following info:
+
+`LEVEL'
+     The frame number, 0 being the topmost frame, i.e., the innermost
+     function.
+
+`ADDR'
+     The `$pc' value for that frame.
+
+`FUNC'
+     Function name.
+
+`FILE'
+     File name of the source file where the function lives.
+
+`FULLNAME'
+     The full file name of the source file where the function lives.
+
+`LINE'
+     Line number corresponding to the `$pc'.
+
+`FROM'
+     The shared library where this function is defined.  This is only
+     given if the frame's function is not known.
+
+   If invoked without arguments, this command prints a backtrace for the
+whole stack.  If given two integer arguments, it shows the frames whose
+levels are between the two arguments (inclusive).  If the two arguments
+are equal, it shows the single frame at the corresponding level.  It is
+an error if LOW-FRAME is larger than the actual number of frames.  On
+the other hand, HIGH-FRAME may be larger than the actual number of
+frames, in which case only existing frames will be returned.  If the
+option `--no-frame-filters' is supplied, then Python frame filters will
+not be executed.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} commands are `backtrace' and
+`where'.
+
+Example
+.......
+
+Full stack backtrace:
+
+     (gdb)
+     -stack-list-frames
+     ^done,stack=
+     [frame={level='0',addr='0x0001076c',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='11'},
+     frame={level='1',addr='0x000107a4',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'},
+     frame={level='2',addr='0x000107a4',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'},
+     frame={level='3',addr='0x000107a4',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'},
+     frame={level='4',addr='0x000107a4',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'},
+     frame={level='5',addr='0x000107a4',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'},
+     frame={level='6',addr='0x000107a4',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'},
+     frame={level='7',addr='0x000107a4',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'},
+     frame={level='8',addr='0x000107a4',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'},
+     frame={level='9',addr='0x000107a4',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'},
+     frame={level='10',addr='0x000107a4',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'},
+     frame={level='11',addr='0x00010738',func='main',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='4'}]
+     (gdb)
+
+   Show frames between LOW_FRAME and HIGH_FRAME:
+
+     (gdb)
+     -stack-list-frames 3 5
+     ^done,stack=
+     [frame={level='3',addr='0x000107a4',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'},
+     frame={level='4',addr='0x000107a4',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'},
+     frame={level='5',addr='0x000107a4',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'}]
+     (gdb)
+
+   Show a single frame:
+
+     (gdb)
+     -stack-list-frames 3 3
+     ^done,stack=
+     [frame={level='3',addr='0x000107a4',func='foo',
+       file='recursive2.c',fullname='/home/foo/bar/recursive2.c',line='14'}]
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_stack_list_frames methodsFor:'accessing'!
+
+operation
+	^ 'stack-list-frames'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_stack_list_locals.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,69 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_stack_list_locals
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_stack_list_locals class methodsFor:'documentation'!
+
+documentation
+"
+The `-stack-list-locals' Command
+--------------------------------
+
+Synopsis
+........
+
+      -stack-list-locals [ --no-frame-filters ] [ --skip-unavailable ] PRINT-VALUES
+
+   Display the local variable names for the selected frame.  If
+PRINT-VALUES is 0 or `--no-values', print only the names of the
+variables; if it is 1 or `--all-values', print also their values; and
+if it is 2 or `--simple-values', print the name, type and value for
+simple data types, and the name and type for arrays, structures and
+unions.  In this last case, a frontend can immediately display the
+value of simple data types and create variable objects for other data
+types when the user wishes to explore their values in more detail.  If
+the option `--no-frame-filters' is supplied, then Python frame filters
+will not be executed.
+
+   If the `--skip-unavailable' option is specified, local variables
+that are not available are not listed.  Partially available local
+variables are still displayed, however.
+
+   This command is deprecated in favor of the `-stack-list-variables'
+command.
+
+{No value for `GDBN'} Command
+.............................
+
+`info locals' in {No value for `GDBN'}, `gdb_get_locals' in `gdbtk'.
+
+Example
+.......
+
+     (gdb)
+     -stack-list-locals 0
+     ^done,locals=[name='A',name='B',name='C']
+     (gdb)
+     -stack-list-locals --all-values
+     ^done,locals=[{name='A',value='1'},{name='B',value='2'},
+       {name='C',value='{1, 2, 3}'}]
+     -stack-list-locals --simple-values
+     ^done,locals=[{name='A',type='int',value='1'},
+       {name='B',type='int',value='2'},{name='C',type='int [3]'}]
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_stack_list_locals methodsFor:'accessing'!
+
+operation
+	^ 'stack-list-locals'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_stack_list_variables.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,51 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_stack_list_variables
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_stack_list_variables class methodsFor:'documentation'!
+
+documentation
+"
+The `-stack-list-variables' Command
+-----------------------------------
+
+Synopsis
+........
+
+      -stack-list-variables [ --no-frame-filters ] [ --skip-unavailable ] PRINT-VALUES
+
+   Display the names of local variables and function arguments for the
+selected frame.  If PRINT-VALUES is 0 or `--no-values', print only the
+names of the variables; if it is 1 or `--all-values', print also their
+values; and if it is 2 or `--simple-values', print the name, type and
+value for simple data types, and the name and type for arrays,
+structures and unions.  If the option `--no-frame-filters' is supplied,
+then Python frame filters will not be executed.
+
+   If the `--skip-unavailable' option is specified, local variables and
+arguments that are not available are not listed.  Partially available
+arguments and local variables are still displayed, however.
+
+Example
+.......
+
+     (gdb)
+     -stack-list-variables --thread 1 --frame 0 --all-values
+     ^done,variables=[{name='x',value='11'},{name='s',value='{a = 1, b = 2}'}]
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_stack_list_variables methodsFor:'accessing'!
+
+operation
+	^ 'stack-list-variables'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_stack_select_frame.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,51 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_stack_select_frame
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_stack_select_frame class methodsFor:'documentation'!
+
+documentation
+"
+The `-stack-select-frame' Command
+---------------------------------
+
+Synopsis
+........
+
+      -stack-select-frame FRAMENUM
+
+   Change the selected frame.  Select a different frame FRAMENUM on the
+stack.
+
+   This command in deprecated in favor of passing the `--frame' option
+to every command.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} commands are `frame', `up',
+`down', `select-frame', `up-silent', and `down-silent'.
+
+Example
+.......
+
+     (gdb)
+     -stack-select-frame 2
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_stack_select_frame methodsFor:'accessing'!
+
+operation
+	^ 'stack-select-frame'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_symbol_list_lines.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,55 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_symbol_list_lines
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_symbol_list_lines class methodsFor:'documentation'!
+
+documentation
+"
+The `-symbol-list-lines' Command
+--------------------------------
+
+Synopsis
+........
+
+      -symbol-list-lines FILENAME
+
+   Print the list of lines that contain code and their associated
+program addresses for the given source filename.  The entries are
+sorted in ascending PC order.
+
+{No value for `GDBN'} Command
+.............................
+
+There is no corresponding {No value for `GDBN'} command.
+
+Example
+.......
+
+     (gdb)
+     -symbol-list-lines basics.c
+     ^done,lines=[{pc='0x08048554',line='7'},{pc='0x0804855a',line='8'}]
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_symbol_list_lines methodsFor:'accessing'!
+
+operation
+	^ 'symbol-list-lines'
+! !
+
+!GDBMI_symbol_list_lines class methodsFor:'documentation'!
+
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_target_attach.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,50 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_target_attach
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_target_attach class methodsFor:'documentation'!
+
+documentation
+"
+The `-target-attach' Command
+----------------------------
+
+Synopsis
+........
+
+      -target-attach PID | GID | FILE
+
+   Attach to a process PID or a file FILE outside of {No value for
+`GDBN'}, or a thread group GID.  If attaching to a thread group, the id
+previously returned by `-list-thread-groups --available' must be used.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `attach'.
+
+Example
+.......
+
+     (gdb)
+     -target-attach 34
+     =thread-created,id='1'
+     *stopped,thread-id='1',frame={addr='0xb7f7e410',func='bar',args=[]}
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_target_attach methodsFor:'accessing'!
+
+operation
+	^ 'target-attach'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_target_detach.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,48 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_target_detach
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_target_detach class methodsFor:'documentation'!
+
+documentation
+"
+The `-target-detach' Command
+----------------------------
+
+Synopsis
+........
+
+      -target-detach [ PID | GID ]
+
+   Detach from the remote target which normally resumes its execution.
+If either PID or GID is specified, detaches from either the specified
+process, or specified thread group.  There's no output.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `detach'.
+
+Example
+.......
+
+     (gdb)
+     -target-detach
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_target_detach methodsFor:'accessing'!
+
+operation
+	^ 'target-detach'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_target_disconnect.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,47 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_target_disconnect
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_target_disconnect class methodsFor:'documentation'!
+
+documentation
+"
+The `-target-disconnect' Command
+--------------------------------
+
+Synopsis
+........
+
+      -target-disconnect
+
+   Disconnect from the remote target.  There's no output and the target
+is generally not resumed.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `disconnect'.
+
+Example
+.......
+
+     (gdb)
+     -target-disconnect
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_target_disconnect methodsFor:'accessing'!
+
+operation
+	^ 'target-disconnect'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_target_download.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,136 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_target_download
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_target_download class methodsFor:'documentation'!
+
+documentation
+"
+The `-target-download' Command
+------------------------------
+
+Synopsis
+........
+
+      -target-download
+
+   Loads the executable onto the remote target.  It prints out an
+update message every half second, which includes the fields:
+
+`section'
+     The name of the section.
+
+`section-sent'
+     The size of what has been sent so far for that section.
+
+`section-size'
+     The size of the section.
+
+`total-sent'
+     The total size of what was sent so far (the current and the
+     previous sections).
+
+`total-size'
+     The size of the overall executable to download.
+
+Each message is sent as status record (*note GDB/MI Output Syntax:
+GDB/MI Output Syntax.).
+
+   In addition, it prints the name and size of the sections, as they are
+downloaded.  These messages include the following fields:
+
+`section'
+     The name of the section.
+
+`section-size'
+     The size of the section.
+
+`total-size'
+     The size of the overall executable to download.
+
+At the end, a summary is printed.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `load'.
+
+Example
+.......
+
+Note: each status message appears on a single line.  Here the messages
+have been broken down so that they can fit onto a page.
+
+     (gdb)
+     -target-download
+     +download,{section='.text',section-size='6668',total-size='9880'}
+     +download,{section='.text',section-sent='512',section-size='6668',
+     total-sent='512',total-size='9880'}
+     +download,{section='.text',section-sent='1024',section-size='6668',
+     total-sent='1024',total-size='9880'}
+     +download,{section='.text',section-sent='1536',section-size='6668',
+     total-sent='1536',total-size='9880'}
+     +download,{section='.text',section-sent='2048',section-size='6668',
+     total-sent='2048',total-size='9880'}
+     +download,{section='.text',section-sent='2560',section-size='6668',
+     total-sent='2560',total-size='9880'}
+     +download,{section='.text',section-sent='3072',section-size='6668',
+     total-sent='3072',total-size='9880'}
+     +download,{section='.text',section-sent='3584',section-size='6668',
+     total-sent='3584',total-size='9880'}
+     +download,{section='.text',section-sent='4096',section-size='6668',
+     total-sent='4096',total-size='9880'}
+     +download,{section='.text',section-sent='4608',section-size='6668',
+     total-sent='4608',total-size='9880'}
+     +download,{section='.text',section-sent='5120',section-size='6668',
+     total-sent='5120',total-size='9880'}
+     +download,{section='.text',section-sent='5632',section-size='6668',
+     total-sent='5632',total-size='9880'}
+     +download,{section='.text',section-sent='6144',section-size='6668',
+     total-sent='6144',total-size='9880'}
+     +download,{section='.text',section-sent='6656',section-size='6668',
+     total-sent='6656',total-size='9880'}
+     +download,{section='.init',section-size='28',total-size='9880'}
+     +download,{section='.fini',section-size='28',total-size='9880'}
+     +download,{section='.data',section-size='3156',total-size='9880'}
+     +download,{section='.data',section-sent='512',section-size='3156',
+     total-sent='7236',total-size='9880'}
+     +download,{section='.data',section-sent='1024',section-size='3156',
+     total-sent='7748',total-size='9880'}
+     +download,{section='.data',section-sent='1536',section-size='3156',
+     total-sent='8260',total-size='9880'}
+     +download,{section='.data',section-sent='2048',section-size='3156',
+     total-sent='8772',total-size='9880'}
+     +download,{section='.data',section-sent='2560',section-size='3156',
+     total-sent='9284',total-size='9880'}
+     +download,{section='.data',section-sent='3072',section-size='3156',
+     total-sent='9796',total-size='9880'}
+     ^done,address='0x10004',load-size='9880',transfer-rate='6586',
+     write-rate='429'
+     (gdb)
+
+{No value for `GDBN'} Command
+.............................
+
+No equivalent.
+
+Example
+.......
+
+N.A.
+
+
+"
+! !
+
+!GDBMI_target_download methodsFor:'accessing'!
+
+operation
+	^ 'target-download'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_target_file_delete.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,46 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_target_file_delete
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_target_file_delete class methodsFor:'documentation'!
+
+documentation
+"
+The `-target-file-delete' Command
+---------------------------------
+
+Synopsis
+........
+
+      -target-file-delete TARGETFILE
+
+   Delete TARGETFILE from the target system.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `remote delete'.
+
+Example
+.......
+
+     (gdb)
+     -target-file-delete remotefile
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_target_file_delete methodsFor:'accessing'!
+
+operation
+	^ 'target-file-delete'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_target_file_get.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,47 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_target_file_get
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_target_file_get class methodsFor:'documentation'!
+
+documentation
+"
+The `-target-file-get' Command
+------------------------------
+
+Synopsis
+........
+
+      -target-file-get TARGETFILE HOSTFILE
+
+   Copy file TARGETFILE from the target system to HOSTFILE on the host
+system.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `remote get'.
+
+Example
+.......
+
+     (gdb)
+     -target-file-get remotefile localfile
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_target_file_get methodsFor:'accessing'!
+
+operation
+	^ 'target-file-get'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_target_file_put.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,47 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_target_file_put
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_target_file_put class methodsFor:'documentation'!
+
+documentation
+"
+The `-target-file-put' Command
+------------------------------
+
+Synopsis
+........
+
+      -target-file-put HOSTFILE TARGETFILE
+
+   Copy file HOSTFILE from the host system (the machine running {No
+value for `GDBN'}) to TARGETFILE on the target system.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `remote put'.
+
+Example
+.......
+
+     (gdb)
+     -target-file-put localfile remotefile
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_target_file_put methodsFor:'accessing'!
+
+operation
+	^ 'target-file-put'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_target_select.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,60 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_target_select
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_target_select class methodsFor:'documentation'!
+
+documentation
+"
+The `-target-select' Command
+----------------------------
+
+Synopsis
+........
+
+      -target-select TYPE PARAMETERS ...
+
+   Connect {No value for `GDBN'} to the remote target.  This command
+takes two args:
+
+`TYPE'
+     The type of target, for instance `remote', etc.
+
+`PARAMETERS'
+     Device names, host names and the like.  *Note Commands for
+     Managing Targets: Target Commands, for more details.
+
+   The output is a connection notification, followed by the address at
+which the target program is, in the following form:
+
+     ^connected,addr='ADDRESS',func='FUNCTION NAME',
+       args=[ARG LIST]
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `target'.
+
+Example
+.......
+
+     (gdb)
+     -target-select remote /dev/ttya
+     ^connected,addr='0xfe00a300',func='??',args=[]
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_target_select methodsFor:'accessing'!
+
+operation
+	^ 'target-select'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_thread_info.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,106 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_thread_info
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_thread_info class methodsFor:'documentation'!
+
+documentation
+"
+The `-thread-info' Command
+--------------------------
+
+Synopsis
+........
+
+      -thread-info [ THREAD-ID ]
+
+   Reports information about either a specific thread, if the THREAD-ID
+parameter is present, or about all threads.  When printing information
+about all threads, also reports the current thread.
+
+{No value for `GDBN'} Command
+.............................
+
+The `info thread' command prints the same information about all threads.
+
+Result
+......
+
+The result is a list of threads.  The following attributes are defined
+for a given thread:
+
+`current'
+     This field exists only for the current thread.  It has the value
+     `*'.
+
+`id'
+     The identifier that {No value for `GDBN'} uses to refer to the
+     thread.
+
+`target-id'
+     The identifier that the target uses to refer to the thread.
+
+`details'
+     Extra information about the thread, in a target-specific format.
+     This field is optional.
+
+`name'
+     The name of the thread.  If the user specified a name using the
+     `thread name' command, then this name is given.  Otherwise, if {No
+     value for `GDBN'} can extract the thread name from the target,
+     then that name is given.  If {No value for `GDBN'} cannot find the
+     thread name, then this field is omitted.
+
+`frame'
+     The stack frame currently executing in the thread.
+
+`state'
+     The thread's state.  The `state' field may have the following
+     values:
+
+    `stopped'
+          The thread is stopped.  Frame information is available for
+          stopped threads.
+
+    `running'
+          The thread is running.  There's no frame information for
+          running threads.
+
+
+`core'
+     If {No value for `GDBN'} can find the CPU core on which this
+     thread is running, then this field is the core identifier.  This
+     field is optional.
+
+
+Example
+.......
+
+     -thread-info
+     ^done,threads=[
+     {id='2',target-id='Thread 0xb7e14b90 (LWP 21257)',
+        frame={level='0',addr='0xffffe410',func='__kernel_vsyscall',
+                args=[]},state='running'},
+     {id='1',target-id='Thread 0xb7e156b0 (LWP 21254)',
+        frame={level='0',addr='0x0804891f',func='foo',
+                args=[{name='i',value='10'}],
+                file='/tmp/a.c',fullname='/tmp/a.c',line='158'},
+                state='running'}],
+     current-thread-id='1'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_thread_info methodsFor:'accessing'!
+
+operation
+	^ 'thread-info'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_thread_list_ids.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,52 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_thread_list_ids
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_thread_list_ids class methodsFor:'documentation'!
+
+documentation
+"
+The `-thread-list-ids' Command
+------------------------------
+
+Synopsis
+........
+
+      -thread-list-ids
+
+   Produces a list of the currently known {No value for `GDBN'} thread
+ids.  At the end of the list it also prints the total number of such
+threads.
+
+   This command is retained for historical reasons, the `-thread-info'
+command should be used instead.
+
+{No value for `GDBN'} Command
+.............................
+
+Part of `info threads' supplies the same information.
+
+Example
+.......
+
+     (gdb)
+     -thread-list-ids
+     ^done,thread-ids={thread-id='3',thread-id='2',thread-id='1'},
+     current-thread-id='1',number-of-threads='3'
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_thread_list_ids methodsFor:'accessing'!
+
+operation
+	^ 'thread-list-ids'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_thread_select.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,64 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_thread_select
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_thread_select class methodsFor:'documentation'!
+
+documentation
+"
+The `-thread-select' Command
+----------------------------
+
+Synopsis
+........
+
+      -thread-select THREADNUM
+
+   Make THREADNUM the current thread.  It prints the number of the new
+current thread, and the topmost frame for that thread.
+
+   This command is deprecated in favor of explicitly using the
+`--thread' option to each command.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `thread'.
+
+Example
+.......
+
+     (gdb)
+     -exec-next
+     ^running
+     (gdb)
+     *stopped,reason='end-stepping-range',thread-id='2',line='187',
+     file='../../../devo/gdb/testsuite/gdb.threads/linux-dp.c'
+     (gdb)
+     -thread-list-ids
+     ^done,
+     thread-ids={thread-id='3',thread-id='2',thread-id='1'},
+     number-of-threads='3'
+     (gdb)
+     -thread-select 3
+     ^done,new-thread-id='3',
+     frame={level='0',func='vprintf',
+     args=[{name='format',value='0x8048e9c \'%*s%c %d %c\\n\''},
+     {name='arg',value='0x2'}],file='vprintf.c',line='31'}
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_thread_select methodsFor:'accessing'!
+
+operation
+	^ 'thread-select'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_trace_define_variable.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,15 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_trace_define_variable
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_trace_define_variable methodsFor:'accessing'!
+
+operation
+	^ 'trace-define-variable'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_trace_find.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,111 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_trace_find
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_trace_find class methodsFor:'documentation'!
+
+documentation
+"
+The `-trace-find' Command
+-------------------------
+
+Synopsis
+........
+
+      -trace-find MODE [PARAMETERS...]
+
+   Find a trace frame using criteria defined by MODE and PARAMETERS.
+The following table lists permissible modes and their parameters.  For
+details of operation, see *note tfind::.
+
+`none'
+     No parameters are required.  Stops examining trace frames.
+
+`frame-number'
+     An integer is required as parameter.  Selects tracepoint frame with
+     that index.
+
+`tracepoint-number'
+     An integer is required as parameter.  Finds next trace frame that
+     corresponds to tracepoint with the specified number.
+
+`pc'
+     An address is required as parameter.  Finds next trace frame that
+     corresponds to any tracepoint at the specified address.
+
+`pc-inside-range'
+     Two addresses are required as parameters.  Finds next trace frame
+     that corresponds to a tracepoint at an address inside the
+     specified range.  Both bounds are considered to be inside the
+     range.
+
+`pc-outside-range'
+     Two addresses are required as parameters.  Finds next trace frame
+     that corresponds to a tracepoint at an address outside the
+     specified range.  Both bounds are considered to be inside the
+     range.
+
+`line'
+     Line specification is required as parameter.  *Note Specify
+     Location::.  Finds next trace frame that corresponds to a
+     tracepoint at the specified location.
+
+
+   If `none' was passed as MODE, the response does not have fields.
+Otherwise, the response may have the following fields:
+
+`found'
+     This field has either `0' or `1' as the value, depending on
+     whether a matching tracepoint was found.
+
+`traceframe'
+     The index of the found traceframe.  This field is present iff the
+     `found' field has value of `1'.
+
+`tracepoint'
+     The index of the found tracepoint.  This field is present iff the
+     `found' field has value of `1'.
+
+`frame'
+     The information about the frame corresponding to the found trace
+     frame.  This field is present only if a trace frame was found.
+     *Note GDB/MI Frame Information::, for description of this field.
+
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `tfind'.
+
+-trace-define-variable
+----------------------
+
+Synopsis
+........
+
+      -trace-define-variable NAME [ VALUE ]
+
+   Create trace variable NAME if it does not exist.  If VALUE is
+specified, sets the initial value of the specified trace variable to
+that value.  Note that the NAME should start with the `$' character.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `tvariable'.
+
+
+"
+! !
+
+!GDBMI_trace_find methodsFor:'accessing'!
+
+operation
+	^ 'trace-find'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_trace_frame_collected.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,297 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_trace_frame_collected
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_trace_frame_collected class methodsFor:'documentation'!
+
+documentation
+"
+The `-trace-frame-collected' Command
+------------------------------------
+
+Synopsis
+........
+
+      -trace-frame-collected
+         [--var-print-values VAR_PVAL]
+         [--comp-print-values COMP_PVAL]
+         [--registers-format REGFORMAT]
+         [--memory-contents]
+
+   This command returns the set of collected objects, register names,
+trace state variable names, memory ranges and computed expressions that
+have been collected at a particular trace frame.  The optional
+parameters to the command affect the output format in different ways.
+See the output description table below for more details.
+
+   The reported names can be used in the normal manner to create
+varobjs and inspect the objects themselves.  The items returned by this
+command are categorized so that it is clear which is a variable, which
+is a register, which is a trace state variable, which is a memory range
+and which is a computed expression.
+
+   For instance, if the actions were
+     collect myVar, myArray[myIndex], myObj.field, myPtr->field, myCount + 2
+     collect *(int*)0xaf02bef0@40
+
+the object collected in its entirety would be `myVar'.  The object
+`myArray' would be partially collected, because only the element at
+index `myIndex' would be collected.  The remaining objects would be
+computed expressions.
+
+   An example output would be:
+
+     (gdb)
+     -trace-frame-collected
+     ^done,
+       explicit-variables=[{name='myVar',value='1'}],
+       computed-expressions=[{name='myArray[myIndex]',value='0'},
+                             {name='myObj.field',value='0'},
+                             {name='myPtr->field',value='1'},
+                             {name='myCount + 2',value='3'},
+                             {name='$tvar1 + 1',value='43970027'}],
+       registers=[{number='0',value='0x7fe2c6e79ec8'},
+                  {number='1',value='0x0'},
+                  {number='2',value='0x4'},
+                  ...
+                  {number='125',value='0x0'}],
+       tvars=[{name='$tvar1',current='43970026'}],
+       memory=[{address='0x0000000000602264',length='4'},
+               {address='0x0000000000615bc0',length='4'}]
+     (gdb)
+
+   Where:
+
+`explicit-variables'
+     The set of objects that have been collected in their entirety (as
+     opposed to collecting just a few elements of an array or a few
+     struct members).  For each object, its name and value are printed.
+     The `--var-print-values' option affects how or whether the value
+     field is output.  If VAR_PVAL is 0, then print only the names; if
+     it is 1, print also their values; and if it is 2, print the name,
+     type and value for simple data types, and the name and type for
+     arrays, structures and unions.
+
+`computed-expressions'
+     The set of computed expressions that have been collected at the
+     current trace frame.  The `--comp-print-values' option affects
+     this set like the `--var-print-values' option affects the
+     `explicit-variables' set.  See above.
+
+`registers'
+     The registers that have been collected at the current trace frame.
+     For each register collected, the name and current value are
+     returned.  The value is formatted according to the
+     `--registers-format' option.  See the `-data-list-register-values'
+     command for a list of the allowed formats.  The default is `x'.
+
+`tvars'
+     The trace state variables that have been collected at the current
+     trace frame.  For each trace state variable collected, the name and
+     current value are returned.
+
+`memory'
+     The set of memory ranges that have been collected at the current
+     trace frame.  Its content is a list of tuples.  Each tuple
+     represents a collected memory range and has the following fields:
+
+    `address'
+          The start address of the memory range, as hexadecimal literal.
+
+    `length'
+          The length of the memory range, as decimal literal.
+
+    `contents'
+          The contents of the memory block, in hex.  This field is only
+          present if the `--memory-contents' option is specified.
+
+
+
+{No value for `GDBN'} Command
+.............................
+
+There is no corresponding {No value for `GDBN'} command.
+
+Example
+.......
+
+-trace-list-variables
+---------------------
+
+Synopsis
+........
+
+      -trace-list-variables
+
+   Return a table of all defined trace variables.  Each element of the
+table has the following fields:
+
+`name'
+     The name of the trace variable.  This field is always present.
+
+`initial'
+     The initial value.  This is a 64-bit signed integer.  This field
+     is always present.
+
+`current'
+     The value the trace variable has at the moment.  This is a 64-bit
+     signed integer.  This field is absent iff current value is not
+     defined, for example if the trace was never run, or is presently
+     running.
+
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `tvariables'.
+
+Example
+.......
+
+     (gdb)
+     -trace-list-variables
+     ^done,trace-variables={nr_rows='1',nr_cols='3',
+     hdr=[{width='15',alignment='-1',col_name='name',colhdr='Name'},
+          {width='11',alignment='-1',col_name='initial',colhdr='Initial'},
+          {width='11',alignment='-1',col_name='current',colhdr='Current'}],
+     body=[variable={name='$trace_timestamp',initial='0'}
+           variable={name='$foo',initial='10',current='15'}]}
+     (gdb)
+
+-trace-save
+-----------
+
+Synopsis
+........
+
+      -trace-save [-r ] FILENAME
+
+   Saves the collected trace data to FILENAME.  Without the `-r'
+option, the data is downloaded from the target and saved in a local
+file.  With the `-r' option the target is asked to perform the save.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `tsave'.
+
+-trace-start
+------------
+
+Synopsis
+........
+
+      -trace-start
+
+   Starts a tracing experiments.  The result of this command does not
+have any fields.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `tstart'.
+
+-trace-status
+-------------
+
+Synopsis
+........
+
+      -trace-status
+
+   Obtains the status of a tracing experiment.  The result may include
+the following fields:
+
+`supported'
+     May have a value of either `0', when no tracing operations are
+     supported, `1', when all tracing operations are supported, or
+     `file' when examining trace file.  In the latter case, examining
+     of trace frame is possible but new tracing experiement cannot be
+     started.  This field is always present.
+
+`running'
+     May have a value of either `0' or `1' depending on whether tracing
+     experiement is in progress on target.  This field is present if
+     `supported' field is not `0'.
+
+`stop-reason'
+     Report the reason why the tracing was stopped last time.  This
+     field may be absent iff tracing was never stopped on target yet.
+     The value of `request' means the tracing was stopped as result of
+     the `-trace-stop' command.  The value of `overflow' means the
+     tracing buffer is full.  The value of `disconnection' means
+     tracing was automatically stopped when {No value for `GDBN'} has
+     disconnected.  The value of `passcount' means tracing was stopped
+     when a tracepoint was passed a maximal number of times for that
+     tracepoint.  This field is present if `supported' field is not `0'.
+
+`stopping-tracepoint'
+     The number of tracepoint whose passcount as exceeded.  This field
+     is present iff the `stop-reason' field has the value of
+     `passcount'.
+
+`frames'
+`frames-created'
+     The `frames' field is a count of the total number of trace frames
+     in the trace buffer, while `frames-created' is the total created
+     during the run, including ones that were discarded, such as when a
+     circular trace buffer filled up.  Both fields are optional.
+
+`buffer-size'
+`buffer-free'
+     These fields tell the current size of the tracing buffer and the
+     remaining space.  These fields are optional.
+
+`circular'
+     The value of the circular trace buffer flag.  `1' means that the
+     trace buffer is circular and old trace frames will be discarded if
+     necessary to make room, `0' means that the trace buffer is linear
+     and may fill up.
+
+`disconnected'
+     The value of the disconnected tracing flag.  `1' means that
+     tracing will continue after {No value for `GDBN'} disconnects, `0'
+     means that the trace run will stop.
+
+`trace-file'
+     The filename of the trace file being examined.  This field is
+     optional, and only present when examining a trace file.
+
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `tstatus'.
+
+-trace-stop
+-----------
+
+Synopsis
+........
+
+      -trace-stop
+
+   Stops a tracing experiment.  The result of this command has the same
+fields as `-trace-status', except that the `supported' and `running'
+fields are not output.
+
+{No value for `GDBN'} Command
+.............................
+
+The corresponding {No value for `GDBN'} command is `tstop'.
+
+
+"
+! !
+
+!GDBMI_trace_frame_collected methodsFor:'accessing'!
+
+operation
+	^ 'trace-frame-collected'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_trace_list_variables.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,15 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_trace_list_variables
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_trace_list_variables methodsFor:'accessing'!
+
+operation
+	^ 'trace-list-variables'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_trace_save.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,15 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_trace_save
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_trace_save methodsFor:'accessing'!
+
+operation
+	^ 'trace-save'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_trace_start.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,15 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_trace_start
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_trace_start methodsFor:'accessing'!
+
+operation
+	^ 'trace-start'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_trace_status.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,15 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_trace_status
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_trace_status methodsFor:'accessing'!
+
+operation
+	^ 'trace-status'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_trace_stop.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,15 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_trace_stop
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_trace_stop methodsFor:'accessing'!
+
+operation
+	^ 'trace-stop'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_assign.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,47 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_assign
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_assign class methodsFor:'documentation'!
+
+documentation
+"
+The `-var-assign' Command
+-------------------------
+
+Synopsis
+........
+
+      -var-assign NAME EXPRESSION
+
+   Assigns the value of EXPRESSION to the variable object specified by
+NAME.  The object must be `editable'.  If the variable's value is
+altered by the assign, the variable will show up in any subsequent
+`-var-update' list.
+
+Example
+.......
+
+     (gdb)
+     -var-assign var1 3
+     ^done,value='3'
+     (gdb)
+     -var-update *
+     ^done,changelist=[{name='var1',in_scope='true',type_changed='false'}]
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_var_assign methodsFor:'accessing'!
+
+operation
+	^ 'var-assign'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_create.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,112 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_create
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_create class methodsFor:'documentation'!
+
+documentation
+"
+The `-var-create' Command
+-------------------------
+
+Synopsis
+........
+
+      -var-create {NAME | '-'}
+         {FRAME-ADDR | '*' | '@'} EXPRESSION
+
+   This operation creates a variable object, which allows the
+monitoring of a variable, the result of an expression, a memory cell or
+a CPU register.
+
+   The NAME parameter is the string by which the object can be
+referenced.  It must be unique.  If `-' is specified, the varobj system
+will generate a string 'varNNNNNN' automatically.  It will be unique
+provided that one does not specify NAME of that format.  The command
+fails if a duplicate name is found.
+
+   The frame under which the expression should be evaluated can be
+specified by FRAME-ADDR.  A `*' indicates that the current frame should
+be used.  A `@' indicates that a floating variable object must be
+created.
+
+   EXPRESSION is any expression valid on the current language set (must
+not begin with a `*'), or one of the following:
+
+   * `*ADDR', where ADDR is the address of a memory cell
+
+   * `*ADDR-ADDR' -- a memory address range (TBD)
+
+   * `$REGNAME' -- a CPU register name
+
+   A varobj's contents may be provided by a Python-based
+pretty-printer.  In this case the varobj is known as a 'dynamic
+varobj'.  Dynamic varobjs have slightly different semantics in some
+cases.  If the `-enable-pretty-printing' command is not sent, then {No
+value for `GDBN'} will never create a dynamic varobj.  This ensures
+backward compatibility for existing clients.
+
+Result
+......
+
+This operation returns attributes of the newly-created varobj.  These
+are:
+
+`name'
+     The name of the varobj.
+
+`numchild'
+     The number of children of the varobj.  This number is not
+     necessarily reliable for a dynamic varobj.  Instead, you must
+     examine the `has_more' attribute.
+
+`value'
+     The varobj's scalar value.  For a varobj whose type is some sort of
+     aggregate (e.g., a `struct'), or for a dynamic varobj, this value
+     will not be interesting.
+
+`type'
+     The varobj's type.  This is a string representation of the type, as
+     would be printed by the {No value for `GDBN'} CLI.  If `print
+     object' (*note set print object: Print Settings.) is set to `on',
+     the _actual_ (derived) type of the object is shown rather than the
+     _declared_ one.
+
+`thread-id'
+     If a variable object is bound to a specific thread, then this is
+     the thread's identifier.
+
+`has_more'
+     For a dynamic varobj, this indicates whether there appear to be any
+     children available.  For a non-dynamic varobj, this will be 0.
+
+`dynamic'
+     This attribute will be present and have the value `1' if the
+     varobj is a dynamic varobj.  If the varobj is not a dynamic varobj,
+     then this attribute will not be present.
+
+`displayhint'
+     A dynamic varobj can supply a display hint to the front end.  The
+     value comes directly from the Python pretty-printer object's
+     `display_hint' method.  *Note Pretty Printing API::.
+
+   Typical output will look like this:
+
+      name='NAME',numchild='N',type='TYPE',thread-id='M',
+       has_more='HAS_MORE'
+
+
+"
+! !
+
+!GDBMI_var_create methodsFor:'accessing'!
+
+operation
+	^ 'var-create'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_delete.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,36 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_delete
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_delete class methodsFor:'documentation'!
+
+documentation
+"
+The `-var-delete' Command
+-------------------------
+
+Synopsis
+........
+
+      -var-delete [ -c ] NAME
+
+   Deletes a previously created variable object and all of its children.
+With the `-c' option, just deletes the children.
+
+   Returns an error if the object NAME is not found.
+
+
+"
+! !
+
+!GDBMI_var_delete methodsFor:'accessing'!
+
+operation
+	^ 'var-delete'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_evaluate_expression.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,44 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_evaluate_expression
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_evaluate_expression class methodsFor:'documentation'!
+
+documentation
+"
+The `-var-evaluate-expression' Command
+--------------------------------------
+
+Synopsis
+........
+
+      -var-evaluate-expression [-f FORMAT-SPEC] NAME
+
+   Evaluates the expression that is represented by the specified
+variable object and returns its value as a string.  The format of the
+string can be specified with the `-f' option.  The possible values of
+this option are the same as for `-var-set-format' (*note
+-var-set-format::).  If the `-f' option is not specified, the current
+display format will be used.  The current display format can be changed
+using the `-var-set-format' command.
+
+      value=VALUE
+
+   Note that one must invoke `-var-list-children' for a variable before
+the value of a child variable can be evaluated.
+
+
+"
+! !
+
+!GDBMI_var_evaluate_expression methodsFor:'accessing'!
+
+operation
+	^ 'var-evaluate-expression'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_info_expression.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,48 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_info_expression
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_info_expression class methodsFor:'documentation'!
+
+documentation
+"
+The `-var-info-expression' Command
+----------------------------------
+
+Synopsis
+........
+
+      -var-info-expression NAME
+
+   Returns a string that is suitable for presenting this variable
+object in user interface.  The string is generally not valid expression
+in the current language, and cannot be evaluated.
+
+   For example, if `a' is an array, and variable object `A' was created
+for `a', then we'll get this output:
+
+     (gdb) -var-info-expression A.1
+     ^done,lang='C',exp='1'
+
+Here, the value of `lang' is the language name, which can be found in
+*note Supported Languages::.
+
+   Note that the output of the `-var-list-children' command also
+includes those expressions, so the `-var-info-expression' command is of
+limited use.
+
+
+"
+! !
+
+!GDBMI_var_info_expression methodsFor:'accessing'!
+
+operation
+	^ 'var-info-expression'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_info_num_children.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,39 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_info_num_children
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_info_num_children class methodsFor:'documentation'!
+
+documentation
+"
+The `-var-info-num-children' Command
+------------------------------------
+
+Synopsis
+........
+
+      -var-info-num-children NAME
+
+   Returns the number of children of a variable object NAME:
+
+      numchild=N
+
+   Note that this number is not completely reliable for a dynamic
+varobj.  It will return the current number of children, but more
+children may be available.
+
+
+"
+! !
+
+!GDBMI_var_info_num_children methodsFor:'accessing'!
+
+operation
+	^ 'var-info-num-children'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_info_path_expression.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,47 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_info_path_expression
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_info_path_expression class methodsFor:'documentation'!
+
+documentation
+"
+The `-var-info-path-expression' Command
+---------------------------------------
+
+Synopsis
+........
+
+      -var-info-path-expression NAME
+
+   Returns an expression that can be evaluated in the current context
+and will yield the same value that a variable object has.  Compare this
+with the `-var-info-expression' command, which result can be used only
+for UI presentation.  Typical use of the `-var-info-path-expression'
+command is creating a watchpoint from a variable object.
+
+   This command is currently not valid for children of a dynamic varobj,
+and will give an error when invoked on one.
+
+   For example, suppose `C' is a C++ class, derived from class `Base',
+and that the `Base' class has a member called `m_size'.  Assume a
+variable `c' is has the type of `C' and a variable object `C' was
+created for variable `c'.  Then, we'll get this output:
+     (gdb) -var-info-path-expression C.Base.public.m_size
+     ^done,path_expr=((Base)c).m_size)
+
+
+"
+! !
+
+!GDBMI_var_info_path_expression methodsFor:'accessing'!
+
+operation
+	^ 'var-info-path-expression'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_info_type.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,37 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_info_type
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_info_type class methodsFor:'documentation'!
+
+documentation
+"
+The `-var-info-type' Command
+----------------------------
+
+Synopsis
+........
+
+      -var-info-type NAME
+
+   Returns the type of the specified variable NAME.  The type is
+returned as a string in the same format as it is output by the {No
+value for `GDBN'} CLI:
+
+      type=TYPENAME
+
+
+"
+! !
+
+!GDBMI_var_info_type methodsFor:'accessing'!
+
+operation
+	^ 'var-info-type'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_list_children.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,129 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_list_children
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_list_children class methodsFor:'documentation'!
+
+documentation
+"
+The `-var-list-children' Command
+--------------------------------
+
+Synopsis
+........
+
+      -var-list-children [PRINT-VALUES] NAME [FROM TO]
+Return a list of the children of the specified variable object and
+create variable objects for them, if they do not already exist.  With a
+single argument or if PRINT-VALUES has a value of 0 or `--no-values',
+print only the names of the variables; if PRINT-VALUES is 1 or
+`--all-values', also print their values; and if it is 2 or
+`--simple-values' print the name and value for simple data types and
+just the name for arrays, structures and unions.
+
+   FROM and TO, if specified, indicate the range of children to report.
+If FROM or TO is less than zero, the range is reset and all children
+will be reported.  Otherwise, children starting at FROM (zero-based)
+and up to and excluding TO will be reported.
+
+   If a child range is requested, it will only affect the current call
+to `-var-list-children', but not future calls to `-var-update'.  For
+this, you must instead use `-var-set-update-range'.  The intent of this
+approach is to enable a front end to implement any update approach it
+likes; for example, scrolling a view may cause the front end to request
+more children with `-var-list-children', and then the front end could
+call `-var-set-update-range' with a different range to ensure that
+future updates are restricted to just the visible items.
+
+   For each child the following results are returned:
+
+NAME
+     Name of the variable object created for this child.
+
+EXP
+     The expression to be shown to the user by the front end to
+     designate this child.  For example this may be the name of a
+     structure member.
+
+     For a dynamic varobj, this value cannot be used to form an
+     expression.  There is no way to do this at all with a dynamic
+     varobj.
+
+     For C/C++ structures there are several pseudo children returned to
+     designate access qualifiers.  For these pseudo children EXP is
+     `public', `private', or `protected'.  In this case the type and
+     value are not present.
+
+     A dynamic varobj will not report the access qualifying
+     pseudo-children, regardless of the language.  This information is
+     not available at all with a dynamic varobj.
+
+NUMCHILD
+     Number of children this child has.  For a dynamic varobj, this
+     will be 0.
+
+TYPE
+     The type of the child.  If `print object' (*note set print object:
+     Print Settings.) is set to `on', the _actual_ (derived) type of
+     the object is shown rather than the _declared_ one.
+
+VALUE
+     If values were requested, this is the value.
+
+THREAD-ID
+     If this variable object is associated with a thread, this is the
+     thread id.  Otherwise this result is not present.
+
+FROZEN
+     If the variable object is frozen, this variable will be present
+     with a value of 1.
+
+DISPLAYHINT
+     A dynamic varobj can supply a display hint to the front end.  The
+     value comes directly from the Python pretty-printer object's
+     `display_hint' method.  *Note Pretty Printing API::.
+
+DYNAMIC
+     This attribute will be present and have the value `1' if the
+     varobj is a dynamic varobj.  If the varobj is not a dynamic varobj,
+     then this attribute will not be present.
+
+
+   The result may have its own attributes:
+
+`displayhint'
+     A dynamic varobj can supply a display hint to the front end.  The
+     value comes directly from the Python pretty-printer object's
+     `display_hint' method.  *Note Pretty Printing API::.
+
+`has_more'
+     This is an integer attribute which is nonzero if there are children
+     remaining after the end of the selected range.
+
+Example
+.......
+
+     (gdb)
+      -var-list-children n
+      ^done,numchild=N,children=[child={name=NAME,exp=EXP,
+      numchild=N,type=TYPE},(repeats N times)]
+     (gdb)
+      -var-list-children --all-values n
+      ^done,numchild=N,children=[child={name=NAME,exp=EXP,
+      numchild=N,value=VALUE,type=TYPE},(repeats N times)]
+
+
+"
+! !
+
+!GDBMI_var_list_children methodsFor:'accessing'!
+
+operation
+	^ 'var-list-children'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_set_format.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,46 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_set_format
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_set_format class methodsFor:'documentation'!
+
+documentation
+"
+The `-var-set-format' Command
+-----------------------------
+
+Synopsis
+........
+
+      -var-set-format NAME FORMAT-SPEC
+
+   Sets the output format for the value of the object NAME to be
+FORMAT-SPEC.
+
+   The syntax for the FORMAT-SPEC is as follows:
+
+      FORMAT-SPEC ==>
+      {binary | decimal | hexadecimal | octal | natural}
+
+   The natural format is the default format choosen automatically based
+on the variable type (like decimal for an `int', hex for pointers,
+etc.).
+
+   For a variable with children, the format is set only on the variable
+itself, and the children are not affected.
+
+
+"
+! !
+
+!GDBMI_var_set_format methodsFor:'accessing'!
+
+operation
+	^ 'var-set-format'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_set_frozen.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,49 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_set_frozen
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_set_frozen class methodsFor:'documentation'!
+
+documentation
+"
+The `-var-set-frozen' Command
+-----------------------------
+
+Synopsis
+........
+
+      -var-set-frozen NAME FLAG
+
+   Set the frozenness flag on the variable object NAME.  The FLAG
+parameter should be either `1' to make the variable frozen or `0' to
+make it unfrozen.  If a variable object is frozen, then neither itself,
+nor any of its children, are implicitly updated by `-var-update' of a
+parent variable or by `-var-update *'.  Only `-var-update' of the
+variable itself will update its value and values of its children.
+After a variable object is unfrozen, it is implicitly updated by all
+subsequent `-var-update' operations.  Unfreezing a variable does not
+update it, only subsequent `-var-update' does.
+
+Example
+.......
+
+     (gdb)
+     -var-set-frozen V 1
+     ^done
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_var_set_frozen methodsFor:'accessing'!
+
+operation
+	^ 'var-set-frozen'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_set_update_range.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,15 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_set_update_range
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_set_update_range methodsFor:'accessing'!
+
+operation
+	^ 'var-set-update-range'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_set_visualizer.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,15 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_set_visualizer
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_set_visualizer methodsFor:'accessing'!
+
+operation
+	^ 'var-set-visualizer'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_show_attributes.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,37 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_show_attributes
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_show_attributes class methodsFor:'documentation'!
+
+documentation
+"
+The `-var-show-attributes' Command
+----------------------------------
+
+Synopsis
+........
+
+      -var-show-attributes NAME
+
+   List attributes of the specified variable object NAME:
+
+      status=ATTR [ ( ,ATTR )* ]
+
+where ATTR is `{ { editable | noneditable } | TBD }'.
+
+
+"
+! !
+
+!GDBMI_var_show_attributes methodsFor:'accessing'!
+
+operation
+	^ 'var-show-attributes'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_show_format.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,36 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_show_format
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_show_format class methodsFor:'documentation'!
+
+documentation
+"
+The `-var-show-format' Command
+------------------------------
+
+Synopsis
+........
+
+      -var-show-format NAME
+
+   Returns the format used to display the value of the object NAME.
+
+      FORMAT ==>
+      FORMAT-SPEC
+
+
+"
+! !
+
+!GDBMI_var_show_format methodsFor:'accessing'!
+
+operation
+	^ 'var-show-format'
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GDBMI_var_update.st	Thu Jun 12 01:21:45 2014 +0100
@@ -0,0 +1,143 @@
+"{ Package: 'jv:libgdbs' }"
+
+GDBMICommand subclass:#GDBMI_var_update
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'GDB-Core-Commands-MI'
+!
+
+!GDBMI_var_update class methodsFor:'documentation'!
+
+documentation
+"
+The `-var-update' Command
+-------------------------
+
+Synopsis
+........
+
+      -var-update [PRINT-VALUES] {NAME | '*'}
+
+   Reevaluate the expressions corresponding to the variable object NAME
+and all its direct and indirect children, and return the list of
+variable objects whose values have changed; NAME must be a root
+variable object.  Here, 'changed' means that the result of
+`-var-evaluate-expression' before and after the `-var-update' is
+different.  If `*' is used as the variable object names, all existing
+variable objects are updated, except for frozen ones (*note
+-var-set-frozen::).  The option PRINT-VALUES determines whether both
+names and values, or just names are printed.  The possible values of
+this option are the same as for `-var-list-children' (*note
+-var-list-children::).  It is recommended to use the `--all-values'
+option, to reduce the number of MI commands needed on each program stop.
+
+   With the `*' parameter, if a variable object is bound to a currently
+running thread, it will not be updated, without any diagnostic.
+
+   If `-var-set-update-range' was previously used on a varobj, then
+only the selected range of children will be reported.
+
+   `-var-update' reports all the changed varobjs in a tuple named
+`changelist'.
+
+   Each item in the change list is itself a tuple holding:
+
+`name'
+     The name of the varobj.
+
+`value'
+     If values were requested for this update, then this field will be
+     present and will hold the value of the varobj.
+
+`in_scope'
+     This field is a string which may take one of three values:
+
+    `'true''
+          The variable object's current value is valid.
+
+    `'false''
+          The variable object does not currently hold a valid value but
+          it may hold one in the future if its associated expression
+          comes back into scope.
+
+    `'invalid''
+          The variable object no longer holds a valid value.  This can
+          occur when the executable file being debugged has changed,
+          either through recompilation or by using the {No value for
+          `GDBN'} `file' command.  The front end should normally choose
+          to delete these variable objects.
+
+     In the future new values may be added to this list so the front
+     should be prepared for this possibility.  *Note GDB/MI Development
+     and Front Ends: GDB/MI Development and Front Ends.
+
+`type_changed'
+     This is only present if the varobj is still valid.  If the type
+     changed, then this will be the string `true'; otherwise it will be
+     `false'.
+
+     When a varobj's type changes, its children are also likely to have
+     become incorrect.  Therefore, the varobj's children are
+     automatically deleted when this attribute is `true'.  Also, the
+     varobj's update range, when set using the `-var-set-update-range'
+     command, is unset.
+
+`new_type'
+     If the varobj's type changed, then this field will be present and
+     will hold the new type.
+
+`new_num_children'
+     For a dynamic varobj, if the number of children changed, or if the
+     type changed, this will be the new number of children.
+
+     The `numchild' field in other varobj responses is generally not
+     valid for a dynamic varobj - it will show the number of children
+     that {No value for `GDBN'} knows about, but because dynamic
+     varobjs lazily instantiate their children, this will not reflect
+     the number of children which may be available.
+
+     The `new_num_children' attribute only reports changes to the
+     number of children known by {No value for `GDBN'}.  This is the
+     only way to detect whether an update has removed children (which
+     necessarily can only happen at the end of the update range).
+
+`displayhint'
+     The display hint, if any.
+
+`has_more'
+     This is an integer value, which will be 1 if there are more
+     children available outside the varobj's update range.
+
+`dynamic'
+     This attribute will be present and have the value `1' if the
+     varobj is a dynamic varobj.  If the varobj is not a dynamic varobj,
+     then this attribute will not be present.
+
+`new_children'
+     If new children were added to a dynamic varobj within the selected
+     update range (as set by `-var-set-update-range'), then they will
+     be listed in this attribute.
+
+Example
+.......
+
+     (gdb)
+     -var-assign var1 3
+     ^done,value='3'
+     (gdb)
+     -var-update --all-values var1
+     ^done,changelist=[{name='var1',value='3',in_scope='true',
+     type_changed='false'}]
+     (gdb)
+
+
+"
+! !
+
+!GDBMI_var_update methodsFor:'accessing'!
+
+operation
+	^ 'var-update'
+! !
+
--- a/GDBStreamOutputEvent.st	Mon Jun 09 21:28:52 2014 +0100
+++ b/GDBStreamOutputEvent.st	Thu Jun 12 01:21:45 2014 +0100
@@ -25,6 +25,14 @@
     value := aString.
 ! !
 
+!GDBStreamOutputEvent methodsFor:'displaying'!
+
+displayString
+    ^ value upTo: Character cr.
+
+    "Created: / 11-06-2014 / 12:51:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !GDBStreamOutputEvent methodsFor:'printing & storing'!
 
 printOn:aStream
--- a/Make.proto	Mon Jun 09 21:28:52 2014 +0100
+++ b/Make.proto	Thu Jun 12 01:21:45 2014 +0100
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/announcements -I$(INCLUDE_TOP)/stx/libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/announcements -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2
 
 
 # if you need any additional defines for embedded C code,
@@ -148,6 +148,115 @@
 $(OUTDIR)GDBExecutionEvent.$(O) GDBExecutionEvent.$(H): GDBExecutionEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBAsyncEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GDBExitEvent.$(O) GDBExitEvent.$(H): GDBExitEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBInternalEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GDBLogOutputEvent.$(O) GDBLogOutputEvent.$(H): GDBLogOutputEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBStreamOutputEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_ada_task_info.$(O) GDBMI_ada_task_info.$(H): GDBMI_ada_task_info.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_add_inferior.$(O) GDBMI_add_inferior.$(H): GDBMI_add_inferior.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_after.$(O) GDBMI_break_after.$(H): GDBMI_break_after.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_commands.$(O) GDBMI_break_commands.$(H): GDBMI_break_commands.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_condition.$(O) GDBMI_break_condition.$(H): GDBMI_break_condition.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_delete.$(O) GDBMI_break_delete.$(H): GDBMI_break_delete.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_disable.$(O) GDBMI_break_disable.$(H): GDBMI_break_disable.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_enable.$(O) GDBMI_break_enable.$(H): GDBMI_break_enable.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_info.$(O) GDBMI_break_info.$(H): GDBMI_break_info.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_insert.$(O) GDBMI_break_insert.$(H): GDBMI_break_insert.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_list.$(O) GDBMI_break_list.$(H): GDBMI_break_list.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_passcount.$(O) GDBMI_break_passcount.$(H): GDBMI_break_passcount.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_watch.$(O) GDBMI_break_watch.$(H): GDBMI_break_watch.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_catch_assert.$(O) GDBMI_catch_assert.$(H): GDBMI_catch_assert.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_catch_exception.$(O) GDBMI_catch_exception.$(H): GDBMI_catch_exception.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_catch_load.$(O) GDBMI_catch_load.$(H): GDBMI_catch_load.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_catch_unload.$(O) GDBMI_catch_unload.$(H): GDBMI_catch_unload.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_disassemble.$(O) GDBMI_data_disassemble.$(H): GDBMI_data_disassemble.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_evaluate_expression.$(O) GDBMI_data_evaluate_expression.$(H): GDBMI_data_evaluate_expression.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_list_changed_registers.$(O) GDBMI_data_list_changed_registers.$(H): GDBMI_data_list_changed_registers.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_list_register_names.$(O) GDBMI_data_list_register_names.$(H): GDBMI_data_list_register_names.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_list_register_values.$(O) GDBMI_data_list_register_values.$(H): GDBMI_data_list_register_values.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_read_memory.$(O) GDBMI_data_read_memory.$(H): GDBMI_data_read_memory.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_read_memory_bytes.$(O) GDBMI_data_read_memory_bytes.$(H): GDBMI_data_read_memory_bytes.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_write_memory.$(O) GDBMI_data_write_memory.$(H): GDBMI_data_write_memory.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_write_memory_bytes.$(O) GDBMI_data_write_memory_bytes.$(H): GDBMI_data_write_memory_bytes.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_write_register_values.$(O) GDBMI_data_write_register_values.$(H): GDBMI_data_write_register_values.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_dprintf_insert.$(O) GDBMI_dprintf_insert.$(H): GDBMI_dprintf_insert.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_enable_frame_filters.$(O) GDBMI_enable_frame_filters.$(H): GDBMI_enable_frame_filters.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_enable_pretty_printing.$(O) GDBMI_enable_pretty_printing.$(H): GDBMI_enable_pretty_printing.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_enable_timings.$(O) GDBMI_enable_timings.$(H): GDBMI_enable_timings.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_environment_cd.$(O) GDBMI_environment_cd.$(H): GDBMI_environment_cd.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_environment_directory.$(O) GDBMI_environment_directory.$(H): GDBMI_environment_directory.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_environment_path.$(O) GDBMI_environment_path.$(H): GDBMI_environment_path.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_environment_pwd.$(O) GDBMI_environment_pwd.$(H): GDBMI_environment_pwd.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_arguments.$(O) GDBMI_exec_arguments.$(H): GDBMI_exec_arguments.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_continue.$(O) GDBMI_exec_continue.$(H): GDBMI_exec_continue.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_finish.$(O) GDBMI_exec_finish.$(H): GDBMI_exec_finish.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_interrupt.$(O) GDBMI_exec_interrupt.$(H): GDBMI_exec_interrupt.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_jump.$(O) GDBMI_exec_jump.$(H): GDBMI_exec_jump.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_next.$(O) GDBMI_exec_next.$(H): GDBMI_exec_next.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_next_instruction.$(O) GDBMI_exec_next_instruction.$(H): GDBMI_exec_next_instruction.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_return.$(O) GDBMI_exec_return.$(H): GDBMI_exec_return.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_run.$(O) GDBMI_exec_run.$(H): GDBMI_exec_run.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_step.$(O) GDBMI_exec_step.$(H): GDBMI_exec_step.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_step_instruction.$(O) GDBMI_exec_step_instruction.$(H): GDBMI_exec_step_instruction.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_until.$(O) GDBMI_exec_until.$(H): GDBMI_exec_until.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_file_exec_and_symbols.$(O) GDBMI_file_exec_and_symbols.$(H): GDBMI_file_exec_and_symbols.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_file_exec_file.$(O) GDBMI_file_exec_file.$(H): GDBMI_file_exec_file.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_file_list_exec_source_file.$(O) GDBMI_file_list_exec_source_file.$(H): GDBMI_file_list_exec_source_file.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_file_list_exec_source_files.$(O) GDBMI_file_list_exec_source_files.$(H): GDBMI_file_list_exec_source_files.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_file_symbol_file.$(O) GDBMI_file_symbol_file.$(H): GDBMI_file_symbol_file.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_gdb_exit.$(O) GDBMI_gdb_exit.$(H): GDBMI_gdb_exit.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_gdb_set.$(O) GDBMI_gdb_set.$(H): GDBMI_gdb_set.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_gdb_show.$(O) GDBMI_gdb_show.$(H): GDBMI_gdb_show.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_gdb_version.$(O) GDBMI_gdb_version.$(H): GDBMI_gdb_version.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_inferior_tty_set.$(O) GDBMI_inferior_tty_set.$(H): GDBMI_inferior_tty_set.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_inferior_tty_show.$(O) GDBMI_inferior_tty_show.$(H): GDBMI_inferior_tty_show.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_info_ada_exceptions.$(O) GDBMI_info_ada_exceptions.$(H): GDBMI_info_ada_exceptions.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_info_gdb_mi_command.$(O) GDBMI_info_gdb_mi_command.$(H): GDBMI_info_gdb_mi_command.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_info_os.$(O) GDBMI_info_os.$(H): GDBMI_info_os.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_interpreter_exec.$(O) GDBMI_interpreter_exec.$(H): GDBMI_interpreter_exec.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_list_features.$(O) GDBMI_list_features.$(H): GDBMI_list_features.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_list_target_features.$(O) GDBMI_list_target_features.$(H): GDBMI_list_target_features.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_list_thread_groups.$(O) GDBMI_list_thread_groups.$(H): GDBMI_list_thread_groups.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_remove_inferior.$(O) GDBMI_remove_inferior.$(H): GDBMI_remove_inferior.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_stack_info_depth.$(O) GDBMI_stack_info_depth.$(H): GDBMI_stack_info_depth.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_stack_info_frame.$(O) GDBMI_stack_info_frame.$(H): GDBMI_stack_info_frame.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_stack_list_arguments.$(O) GDBMI_stack_list_arguments.$(H): GDBMI_stack_list_arguments.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_stack_list_frames.$(O) GDBMI_stack_list_frames.$(H): GDBMI_stack_list_frames.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_stack_list_locals.$(O) GDBMI_stack_list_locals.$(H): GDBMI_stack_list_locals.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_stack_list_variables.$(O) GDBMI_stack_list_variables.$(H): GDBMI_stack_list_variables.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_stack_select_frame.$(O) GDBMI_stack_select_frame.$(H): GDBMI_stack_select_frame.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_symbol_list_lines.$(O) GDBMI_symbol_list_lines.$(H): GDBMI_symbol_list_lines.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_attach.$(O) GDBMI_target_attach.$(H): GDBMI_target_attach.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_detach.$(O) GDBMI_target_detach.$(H): GDBMI_target_detach.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_disconnect.$(O) GDBMI_target_disconnect.$(H): GDBMI_target_disconnect.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_download.$(O) GDBMI_target_download.$(H): GDBMI_target_download.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_file_delete.$(O) GDBMI_target_file_delete.$(H): GDBMI_target_file_delete.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_file_get.$(O) GDBMI_target_file_get.$(H): GDBMI_target_file_get.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_file_put.$(O) GDBMI_target_file_put.$(H): GDBMI_target_file_put.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_select.$(O) GDBMI_target_select.$(H): GDBMI_target_select.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_thread_info.$(O) GDBMI_thread_info.$(H): GDBMI_thread_info.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_thread_list_ids.$(O) GDBMI_thread_list_ids.$(H): GDBMI_thread_list_ids.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_thread_select.$(O) GDBMI_thread_select.$(H): GDBMI_thread_select.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_define_variable.$(O) GDBMI_trace_define_variable.$(H): GDBMI_trace_define_variable.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_find.$(O) GDBMI_trace_find.$(H): GDBMI_trace_find.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_frame_collected.$(O) GDBMI_trace_frame_collected.$(H): GDBMI_trace_frame_collected.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_list_variables.$(O) GDBMI_trace_list_variables.$(H): GDBMI_trace_list_variables.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_save.$(O) GDBMI_trace_save.$(H): GDBMI_trace_save.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_start.$(O) GDBMI_trace_start.$(H): GDBMI_trace_start.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_status.$(O) GDBMI_trace_status.$(H): GDBMI_trace_status.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_stop.$(O) GDBMI_trace_stop.$(H): GDBMI_trace_stop.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_assign.$(O) GDBMI_var_assign.$(H): GDBMI_var_assign.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_create.$(O) GDBMI_var_create.$(H): GDBMI_var_create.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_delete.$(O) GDBMI_var_delete.$(H): GDBMI_var_delete.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_evaluate_expression.$(O) GDBMI_var_evaluate_expression.$(H): GDBMI_var_evaluate_expression.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_info_expression.$(O) GDBMI_var_info_expression.$(H): GDBMI_var_info_expression.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_info_num_children.$(O) GDBMI_var_info_num_children.$(H): GDBMI_var_info_num_children.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_info_path_expression.$(O) GDBMI_var_info_path_expression.$(H): GDBMI_var_info_path_expression.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_info_type.$(O) GDBMI_var_info_type.$(H): GDBMI_var_info_type.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_list_children.$(O) GDBMI_var_list_children.$(H): GDBMI_var_list_children.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_set_format.$(O) GDBMI_var_set_format.$(H): GDBMI_var_set_format.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_set_frozen.$(O) GDBMI_var_set_frozen.$(H): GDBMI_var_set_frozen.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_set_update_range.$(O) GDBMI_var_set_update_range.$(H): GDBMI_var_set_update_range.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_set_visualizer.$(O) GDBMI_var_set_visualizer.$(H): GDBMI_var_set_visualizer.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_show_attributes.$(O) GDBMI_var_show_attributes.$(H): GDBMI_var_show_attributes.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_show_format.$(O) GDBMI_var_show_format.$(H): GDBMI_var_show_format.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_update.$(O) GDBMI_var_update.$(H): GDBMI_var_update.st $(INCLUDE_TOP)/jv/libgdbs/GDBCommand.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBMICommand.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GDBNotificationEvent.$(O) GDBNotificationEvent.$(H): GDBNotificationEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBAsyncEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GDBStatusEvent.$(O) GDBStatusEvent.$(H): GDBStatusEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBAsyncEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)GDBTargetOutputEvent.$(O) GDBTargetOutputEvent.$(H): GDBTargetOutputEvent.st $(INCLUDE_TOP)/jv/libgdbs/GDBEvent.$(H) $(INCLUDE_TOP)/jv/libgdbs/GDBStreamOutputEvent.$(H) $(INCLUDE_TOP)/stx/goodies/announcements/Announcement.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/Make.spec	Mon Jun 09 21:28:52 2014 +0100
+++ b/Make.spec	Thu Jun 12 01:21:45 2014 +0100
@@ -76,6 +76,115 @@
 	GDBExecutionEvent \
 	GDBExitEvent \
 	GDBLogOutputEvent \
+	GDBMI_ada_task_info \
+	GDBMI_add_inferior \
+	GDBMI_break_after \
+	GDBMI_break_commands \
+	GDBMI_break_condition \
+	GDBMI_break_delete \
+	GDBMI_break_disable \
+	GDBMI_break_enable \
+	GDBMI_break_info \
+	GDBMI_break_insert \
+	GDBMI_break_list \
+	GDBMI_break_passcount \
+	GDBMI_break_watch \
+	GDBMI_catch_assert \
+	GDBMI_catch_exception \
+	GDBMI_catch_load \
+	GDBMI_catch_unload \
+	GDBMI_data_disassemble \
+	GDBMI_data_evaluate_expression \
+	GDBMI_data_list_changed_registers \
+	GDBMI_data_list_register_names \
+	GDBMI_data_list_register_values \
+	GDBMI_data_read_memory \
+	GDBMI_data_read_memory_bytes \
+	GDBMI_data_write_memory \
+	GDBMI_data_write_memory_bytes \
+	GDBMI_data_write_register_values \
+	GDBMI_dprintf_insert \
+	GDBMI_enable_frame_filters \
+	GDBMI_enable_pretty_printing \
+	GDBMI_enable_timings \
+	GDBMI_environment_cd \
+	GDBMI_environment_directory \
+	GDBMI_environment_path \
+	GDBMI_environment_pwd \
+	GDBMI_exec_arguments \
+	GDBMI_exec_continue \
+	GDBMI_exec_finish \
+	GDBMI_exec_interrupt \
+	GDBMI_exec_jump \
+	GDBMI_exec_next \
+	GDBMI_exec_next_instruction \
+	GDBMI_exec_return \
+	GDBMI_exec_run \
+	GDBMI_exec_step \
+	GDBMI_exec_step_instruction \
+	GDBMI_exec_until \
+	GDBMI_file_exec_and_symbols \
+	GDBMI_file_exec_file \
+	GDBMI_file_list_exec_source_file \
+	GDBMI_file_list_exec_source_files \
+	GDBMI_file_symbol_file \
+	GDBMI_gdb_exit \
+	GDBMI_gdb_set \
+	GDBMI_gdb_show \
+	GDBMI_gdb_version \
+	GDBMI_inferior_tty_set \
+	GDBMI_inferior_tty_show \
+	GDBMI_info_ada_exceptions \
+	GDBMI_info_gdb_mi_command \
+	GDBMI_info_os \
+	GDBMI_interpreter_exec \
+	GDBMI_list_features \
+	GDBMI_list_target_features \
+	GDBMI_list_thread_groups \
+	GDBMI_remove_inferior \
+	GDBMI_stack_info_depth \
+	GDBMI_stack_info_frame \
+	GDBMI_stack_list_arguments \
+	GDBMI_stack_list_frames \
+	GDBMI_stack_list_locals \
+	GDBMI_stack_list_variables \
+	GDBMI_stack_select_frame \
+	GDBMI_symbol_list_lines \
+	GDBMI_target_attach \
+	GDBMI_target_detach \
+	GDBMI_target_disconnect \
+	GDBMI_target_download \
+	GDBMI_target_file_delete \
+	GDBMI_target_file_get \
+	GDBMI_target_file_put \
+	GDBMI_target_select \
+	GDBMI_thread_info \
+	GDBMI_thread_list_ids \
+	GDBMI_thread_select \
+	GDBMI_trace_define_variable \
+	GDBMI_trace_find \
+	GDBMI_trace_frame_collected \
+	GDBMI_trace_list_variables \
+	GDBMI_trace_save \
+	GDBMI_trace_start \
+	GDBMI_trace_status \
+	GDBMI_trace_stop \
+	GDBMI_var_assign \
+	GDBMI_var_create \
+	GDBMI_var_delete \
+	GDBMI_var_evaluate_expression \
+	GDBMI_var_info_expression \
+	GDBMI_var_info_num_children \
+	GDBMI_var_info_path_expression \
+	GDBMI_var_info_type \
+	GDBMI_var_list_children \
+	GDBMI_var_set_format \
+	GDBMI_var_set_frozen \
+	GDBMI_var_set_update_range \
+	GDBMI_var_set_visualizer \
+	GDBMI_var_show_attributes \
+	GDBMI_var_show_format \
+	GDBMI_var_update \
 	GDBNotificationEvent \
 	GDBStatusEvent \
 	GDBTargetOutputEvent \
@@ -110,6 +219,115 @@
     $(OUTDIR_SLASH)GDBExecutionEvent.$(O) \
     $(OUTDIR_SLASH)GDBExitEvent.$(O) \
     $(OUTDIR_SLASH)GDBLogOutputEvent.$(O) \
+    $(OUTDIR_SLASH)GDBMI_ada_task_info.$(O) \
+    $(OUTDIR_SLASH)GDBMI_add_inferior.$(O) \
+    $(OUTDIR_SLASH)GDBMI_break_after.$(O) \
+    $(OUTDIR_SLASH)GDBMI_break_commands.$(O) \
+    $(OUTDIR_SLASH)GDBMI_break_condition.$(O) \
+    $(OUTDIR_SLASH)GDBMI_break_delete.$(O) \
+    $(OUTDIR_SLASH)GDBMI_break_disable.$(O) \
+    $(OUTDIR_SLASH)GDBMI_break_enable.$(O) \
+    $(OUTDIR_SLASH)GDBMI_break_info.$(O) \
+    $(OUTDIR_SLASH)GDBMI_break_insert.$(O) \
+    $(OUTDIR_SLASH)GDBMI_break_list.$(O) \
+    $(OUTDIR_SLASH)GDBMI_break_passcount.$(O) \
+    $(OUTDIR_SLASH)GDBMI_break_watch.$(O) \
+    $(OUTDIR_SLASH)GDBMI_catch_assert.$(O) \
+    $(OUTDIR_SLASH)GDBMI_catch_exception.$(O) \
+    $(OUTDIR_SLASH)GDBMI_catch_load.$(O) \
+    $(OUTDIR_SLASH)GDBMI_catch_unload.$(O) \
+    $(OUTDIR_SLASH)GDBMI_data_disassemble.$(O) \
+    $(OUTDIR_SLASH)GDBMI_data_evaluate_expression.$(O) \
+    $(OUTDIR_SLASH)GDBMI_data_list_changed_registers.$(O) \
+    $(OUTDIR_SLASH)GDBMI_data_list_register_names.$(O) \
+    $(OUTDIR_SLASH)GDBMI_data_list_register_values.$(O) \
+    $(OUTDIR_SLASH)GDBMI_data_read_memory.$(O) \
+    $(OUTDIR_SLASH)GDBMI_data_read_memory_bytes.$(O) \
+    $(OUTDIR_SLASH)GDBMI_data_write_memory.$(O) \
+    $(OUTDIR_SLASH)GDBMI_data_write_memory_bytes.$(O) \
+    $(OUTDIR_SLASH)GDBMI_data_write_register_values.$(O) \
+    $(OUTDIR_SLASH)GDBMI_dprintf_insert.$(O) \
+    $(OUTDIR_SLASH)GDBMI_enable_frame_filters.$(O) \
+    $(OUTDIR_SLASH)GDBMI_enable_pretty_printing.$(O) \
+    $(OUTDIR_SLASH)GDBMI_enable_timings.$(O) \
+    $(OUTDIR_SLASH)GDBMI_environment_cd.$(O) \
+    $(OUTDIR_SLASH)GDBMI_environment_directory.$(O) \
+    $(OUTDIR_SLASH)GDBMI_environment_path.$(O) \
+    $(OUTDIR_SLASH)GDBMI_environment_pwd.$(O) \
+    $(OUTDIR_SLASH)GDBMI_exec_arguments.$(O) \
+    $(OUTDIR_SLASH)GDBMI_exec_continue.$(O) \
+    $(OUTDIR_SLASH)GDBMI_exec_finish.$(O) \
+    $(OUTDIR_SLASH)GDBMI_exec_interrupt.$(O) \
+    $(OUTDIR_SLASH)GDBMI_exec_jump.$(O) \
+    $(OUTDIR_SLASH)GDBMI_exec_next.$(O) \
+    $(OUTDIR_SLASH)GDBMI_exec_next_instruction.$(O) \
+    $(OUTDIR_SLASH)GDBMI_exec_return.$(O) \
+    $(OUTDIR_SLASH)GDBMI_exec_run.$(O) \
+    $(OUTDIR_SLASH)GDBMI_exec_step.$(O) \
+    $(OUTDIR_SLASH)GDBMI_exec_step_instruction.$(O) \
+    $(OUTDIR_SLASH)GDBMI_exec_until.$(O) \
+    $(OUTDIR_SLASH)GDBMI_file_exec_and_symbols.$(O) \
+    $(OUTDIR_SLASH)GDBMI_file_exec_file.$(O) \
+    $(OUTDIR_SLASH)GDBMI_file_list_exec_source_file.$(O) \
+    $(OUTDIR_SLASH)GDBMI_file_list_exec_source_files.$(O) \
+    $(OUTDIR_SLASH)GDBMI_file_symbol_file.$(O) \
+    $(OUTDIR_SLASH)GDBMI_gdb_exit.$(O) \
+    $(OUTDIR_SLASH)GDBMI_gdb_set.$(O) \
+    $(OUTDIR_SLASH)GDBMI_gdb_show.$(O) \
+    $(OUTDIR_SLASH)GDBMI_gdb_version.$(O) \
+    $(OUTDIR_SLASH)GDBMI_inferior_tty_set.$(O) \
+    $(OUTDIR_SLASH)GDBMI_inferior_tty_show.$(O) \
+    $(OUTDIR_SLASH)GDBMI_info_ada_exceptions.$(O) \
+    $(OUTDIR_SLASH)GDBMI_info_gdb_mi_command.$(O) \
+    $(OUTDIR_SLASH)GDBMI_info_os.$(O) \
+    $(OUTDIR_SLASH)GDBMI_interpreter_exec.$(O) \
+    $(OUTDIR_SLASH)GDBMI_list_features.$(O) \
+    $(OUTDIR_SLASH)GDBMI_list_target_features.$(O) \
+    $(OUTDIR_SLASH)GDBMI_list_thread_groups.$(O) \
+    $(OUTDIR_SLASH)GDBMI_remove_inferior.$(O) \
+    $(OUTDIR_SLASH)GDBMI_stack_info_depth.$(O) \
+    $(OUTDIR_SLASH)GDBMI_stack_info_frame.$(O) \
+    $(OUTDIR_SLASH)GDBMI_stack_list_arguments.$(O) \
+    $(OUTDIR_SLASH)GDBMI_stack_list_frames.$(O) \
+    $(OUTDIR_SLASH)GDBMI_stack_list_locals.$(O) \
+    $(OUTDIR_SLASH)GDBMI_stack_list_variables.$(O) \
+    $(OUTDIR_SLASH)GDBMI_stack_select_frame.$(O) \
+    $(OUTDIR_SLASH)GDBMI_symbol_list_lines.$(O) \
+    $(OUTDIR_SLASH)GDBMI_target_attach.$(O) \
+    $(OUTDIR_SLASH)GDBMI_target_detach.$(O) \
+    $(OUTDIR_SLASH)GDBMI_target_disconnect.$(O) \
+    $(OUTDIR_SLASH)GDBMI_target_download.$(O) \
+    $(OUTDIR_SLASH)GDBMI_target_file_delete.$(O) \
+    $(OUTDIR_SLASH)GDBMI_target_file_get.$(O) \
+    $(OUTDIR_SLASH)GDBMI_target_file_put.$(O) \
+    $(OUTDIR_SLASH)GDBMI_target_select.$(O) \
+    $(OUTDIR_SLASH)GDBMI_thread_info.$(O) \
+    $(OUTDIR_SLASH)GDBMI_thread_list_ids.$(O) \
+    $(OUTDIR_SLASH)GDBMI_thread_select.$(O) \
+    $(OUTDIR_SLASH)GDBMI_trace_define_variable.$(O) \
+    $(OUTDIR_SLASH)GDBMI_trace_find.$(O) \
+    $(OUTDIR_SLASH)GDBMI_trace_frame_collected.$(O) \
+    $(OUTDIR_SLASH)GDBMI_trace_list_variables.$(O) \
+    $(OUTDIR_SLASH)GDBMI_trace_save.$(O) \
+    $(OUTDIR_SLASH)GDBMI_trace_start.$(O) \
+    $(OUTDIR_SLASH)GDBMI_trace_status.$(O) \
+    $(OUTDIR_SLASH)GDBMI_trace_stop.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_assign.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_create.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_delete.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_evaluate_expression.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_info_expression.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_info_num_children.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_info_path_expression.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_info_type.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_list_children.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_set_format.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_set_frozen.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_set_update_range.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_set_visualizer.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_show_attributes.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_show_format.$(O) \
+    $(OUTDIR_SLASH)GDBMI_var_update.$(O) \
     $(OUTDIR_SLASH)GDBNotificationEvent.$(O) \
     $(OUTDIR_SLASH)GDBStatusEvent.$(O) \
     $(OUTDIR_SLASH)GDBTargetOutputEvent.$(O) \
--- a/abbrev.stc	Mon Jun 09 21:28:52 2014 +0100
+++ b/abbrev.stc	Thu Jun 12 01:21:45 2014 +0100
@@ -27,6 +27,115 @@
 GDBExecutionEvent GDBExecutionEvent jv:libgdbs 'GDB-Core-Events' 0
 GDBExitEvent GDBExitEvent jv:libgdbs 'GDB-Core-Events' 0
 GDBLogOutputEvent GDBLogOutputEvent jv:libgdbs 'GDB-Core-Events' 0
+GDBMI_ada_task_info GDBMI_ada_task_info jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_add_inferior GDBMI_add_inferior jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_break_after GDBMI_break_after jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_break_commands GDBMI_break_commands jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_break_condition GDBMI_break_condition jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_break_delete GDBMI_break_delete jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_break_disable GDBMI_break_disable jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_break_enable GDBMI_break_enable jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_break_info GDBMI_break_info jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_break_insert GDBMI_break_insert jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_break_list GDBMI_break_list jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_break_passcount GDBMI_break_passcount jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_break_watch GDBMI_break_watch jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_catch_assert GDBMI_catch_assert jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_catch_exception GDBMI_catch_exception jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_catch_load GDBMI_catch_load jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_catch_unload GDBMI_catch_unload jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_data_disassemble GDBMI_data_disassemble jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_data_evaluate_expression GDBMI_data_evaluate_expression jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_data_list_changed_registers GDBMI_data_list_changed_registers jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_data_list_register_names GDBMI_data_list_register_names jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_data_list_register_values GDBMI_data_list_register_values jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_data_read_memory GDBMI_data_read_memory jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_data_read_memory_bytes GDBMI_data_read_memory_bytes jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_data_write_memory GDBMI_data_write_memory jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_data_write_memory_bytes GDBMI_data_write_memory_bytes jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_data_write_register_values GDBMI_data_write_register_values jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_dprintf_insert GDBMI_dprintf_insert jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_enable_frame_filters GDBMI_enable_frame_filters jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_enable_pretty_printing GDBMI_enable_pretty_printing jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_enable_timings GDBMI_enable_timings jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_environment_cd GDBMI_environment_cd jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_environment_directory GDBMI_environment_directory jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_environment_path GDBMI_environment_path jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_environment_pwd GDBMI_environment_pwd jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_exec_arguments GDBMI_exec_arguments jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_exec_continue GDBMI_exec_continue jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_exec_finish GDBMI_exec_finish jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_exec_interrupt GDBMI_exec_interrupt jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_exec_jump GDBMI_exec_jump jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_exec_next GDBMI_exec_next jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_exec_next_instruction GDBMI_exec_next_instruction jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_exec_return GDBMI_exec_return jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_exec_run GDBMI_exec_run jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_exec_step GDBMI_exec_step jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_exec_step_instruction GDBMI_exec_step_instruction jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_exec_until GDBMI_exec_until jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_file_exec_and_symbols GDBMI_file_exec_and_symbols jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_file_exec_file GDBMI_file_exec_file jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_file_list_exec_source_file GDBMI_file_list_exec_source_file jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_file_list_exec_source_files GDBMI_file_list_exec_source_files jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_file_symbol_file GDBMI_file_symbol_file jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_gdb_exit GDBMI_gdb_exit jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_gdb_set GDBMI_gdb_set jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_gdb_show GDBMI_gdb_show jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_gdb_version GDBMI_gdb_version jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_inferior_tty_set GDBMI_inferior_tty_set jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_inferior_tty_show GDBMI_inferior_tty_show jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_info_ada_exceptions GDBMI_info_ada_exceptions jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_info_gdb_mi_command GDBMI_info_gdb_mi_command jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_info_os GDBMI_info_os jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_interpreter_exec GDBMI_interpreter_exec jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_list_features GDBMI_list_features jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_list_target_features GDBMI_list_target_features jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_list_thread_groups GDBMI_list_thread_groups jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_remove_inferior GDBMI_remove_inferior jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_stack_info_depth GDBMI_stack_info_depth jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_stack_info_frame GDBMI_stack_info_frame jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_stack_list_arguments GDBMI_stack_list_arguments jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_stack_list_frames GDBMI_stack_list_frames jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_stack_list_locals GDBMI_stack_list_locals jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_stack_list_variables GDBMI_stack_list_variables jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_stack_select_frame GDBMI_stack_select_frame jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_symbol_list_lines GDBMI_symbol_list_lines jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_target_attach GDBMI_target_attach jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_target_detach GDBMI_target_detach jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_target_disconnect GDBMI_target_disconnect jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_target_download GDBMI_target_download jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_target_file_delete GDBMI_target_file_delete jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_target_file_get GDBMI_target_file_get jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_target_file_put GDBMI_target_file_put jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_target_select GDBMI_target_select jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_thread_info GDBMI_thread_info jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_thread_list_ids GDBMI_thread_list_ids jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_thread_select GDBMI_thread_select jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_trace_define_variable GDBMI_trace_define_variable jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_trace_find GDBMI_trace_find jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_trace_frame_collected GDBMI_trace_frame_collected jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_trace_list_variables GDBMI_trace_list_variables jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_trace_save GDBMI_trace_save jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_trace_start GDBMI_trace_start jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_trace_status GDBMI_trace_status jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_trace_stop GDBMI_trace_stop jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_assign GDBMI_var_assign jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_create GDBMI_var_create jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_delete GDBMI_var_delete jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_evaluate_expression GDBMI_var_evaluate_expression jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_info_expression GDBMI_var_info_expression jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_info_num_children GDBMI_var_info_num_children jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_info_path_expression GDBMI_var_info_path_expression jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_info_type GDBMI_var_info_type jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_list_children GDBMI_var_list_children jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_set_format GDBMI_var_set_format jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_set_frozen GDBMI_var_set_frozen jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_set_update_range GDBMI_var_set_update_range jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_set_visualizer GDBMI_var_set_visualizer jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_show_attributes GDBMI_var_show_attributes jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_show_format GDBMI_var_show_format jv:libgdbs 'GDB-Core-Commands-MI' 0
+GDBMI_var_update GDBMI_var_update jv:libgdbs 'GDB-Core-Commands-MI' 0
 GDBNotificationEvent GDBNotificationEvent jv:libgdbs 'GDB-Core-Events' 0
 GDBStatusEvent GDBStatusEvent jv:libgdbs 'GDB-Core-Events' 0
 GDBTargetOutputEvent GDBTargetOutputEvent jv:libgdbs 'GDB-Core-Events' 0
--- a/bc.mak	Mon Jun 09 21:28:52 2014 +0100
+++ b/bc.mak	Thu Jun 12 01:21:45 2014 +0100
@@ -34,7 +34,7 @@
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\announcements -I$(INCLUDE_TOP)\stx\libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\announcements -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -94,6 +94,115 @@
 $(OUTDIR)GDBExecutionEvent.$(O) GDBExecutionEvent.$(H): GDBExecutionEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBAsyncEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GDBExitEvent.$(O) GDBExitEvent.$(H): GDBExitEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBInternalEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GDBLogOutputEvent.$(O) GDBLogOutputEvent.$(H): GDBLogOutputEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBStreamOutputEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_ada_task_info.$(O) GDBMI_ada_task_info.$(H): GDBMI_ada_task_info.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_add_inferior.$(O) GDBMI_add_inferior.$(H): GDBMI_add_inferior.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_after.$(O) GDBMI_break_after.$(H): GDBMI_break_after.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_commands.$(O) GDBMI_break_commands.$(H): GDBMI_break_commands.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_condition.$(O) GDBMI_break_condition.$(H): GDBMI_break_condition.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_delete.$(O) GDBMI_break_delete.$(H): GDBMI_break_delete.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_disable.$(O) GDBMI_break_disable.$(H): GDBMI_break_disable.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_enable.$(O) GDBMI_break_enable.$(H): GDBMI_break_enable.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_info.$(O) GDBMI_break_info.$(H): GDBMI_break_info.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_insert.$(O) GDBMI_break_insert.$(H): GDBMI_break_insert.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_list.$(O) GDBMI_break_list.$(H): GDBMI_break_list.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_passcount.$(O) GDBMI_break_passcount.$(H): GDBMI_break_passcount.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_break_watch.$(O) GDBMI_break_watch.$(H): GDBMI_break_watch.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_catch_assert.$(O) GDBMI_catch_assert.$(H): GDBMI_catch_assert.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_catch_exception.$(O) GDBMI_catch_exception.$(H): GDBMI_catch_exception.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_catch_load.$(O) GDBMI_catch_load.$(H): GDBMI_catch_load.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_catch_unload.$(O) GDBMI_catch_unload.$(H): GDBMI_catch_unload.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_disassemble.$(O) GDBMI_data_disassemble.$(H): GDBMI_data_disassemble.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_evaluate_expression.$(O) GDBMI_data_evaluate_expression.$(H): GDBMI_data_evaluate_expression.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_list_changed_registers.$(O) GDBMI_data_list_changed_registers.$(H): GDBMI_data_list_changed_registers.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_list_register_names.$(O) GDBMI_data_list_register_names.$(H): GDBMI_data_list_register_names.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_list_register_values.$(O) GDBMI_data_list_register_values.$(H): GDBMI_data_list_register_values.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_read_memory.$(O) GDBMI_data_read_memory.$(H): GDBMI_data_read_memory.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_read_memory_bytes.$(O) GDBMI_data_read_memory_bytes.$(H): GDBMI_data_read_memory_bytes.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_write_memory.$(O) GDBMI_data_write_memory.$(H): GDBMI_data_write_memory.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_write_memory_bytes.$(O) GDBMI_data_write_memory_bytes.$(H): GDBMI_data_write_memory_bytes.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_data_write_register_values.$(O) GDBMI_data_write_register_values.$(H): GDBMI_data_write_register_values.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_dprintf_insert.$(O) GDBMI_dprintf_insert.$(H): GDBMI_dprintf_insert.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_enable_frame_filters.$(O) GDBMI_enable_frame_filters.$(H): GDBMI_enable_frame_filters.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_enable_pretty_printing.$(O) GDBMI_enable_pretty_printing.$(H): GDBMI_enable_pretty_printing.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_enable_timings.$(O) GDBMI_enable_timings.$(H): GDBMI_enable_timings.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_environment_cd.$(O) GDBMI_environment_cd.$(H): GDBMI_environment_cd.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_environment_directory.$(O) GDBMI_environment_directory.$(H): GDBMI_environment_directory.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_environment_path.$(O) GDBMI_environment_path.$(H): GDBMI_environment_path.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_environment_pwd.$(O) GDBMI_environment_pwd.$(H): GDBMI_environment_pwd.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_arguments.$(O) GDBMI_exec_arguments.$(H): GDBMI_exec_arguments.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_continue.$(O) GDBMI_exec_continue.$(H): GDBMI_exec_continue.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_finish.$(O) GDBMI_exec_finish.$(H): GDBMI_exec_finish.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_interrupt.$(O) GDBMI_exec_interrupt.$(H): GDBMI_exec_interrupt.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_jump.$(O) GDBMI_exec_jump.$(H): GDBMI_exec_jump.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_next.$(O) GDBMI_exec_next.$(H): GDBMI_exec_next.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_next_instruction.$(O) GDBMI_exec_next_instruction.$(H): GDBMI_exec_next_instruction.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_return.$(O) GDBMI_exec_return.$(H): GDBMI_exec_return.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_run.$(O) GDBMI_exec_run.$(H): GDBMI_exec_run.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_step.$(O) GDBMI_exec_step.$(H): GDBMI_exec_step.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_step_instruction.$(O) GDBMI_exec_step_instruction.$(H): GDBMI_exec_step_instruction.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_exec_until.$(O) GDBMI_exec_until.$(H): GDBMI_exec_until.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_file_exec_and_symbols.$(O) GDBMI_file_exec_and_symbols.$(H): GDBMI_file_exec_and_symbols.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_file_exec_file.$(O) GDBMI_file_exec_file.$(H): GDBMI_file_exec_file.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_file_list_exec_source_file.$(O) GDBMI_file_list_exec_source_file.$(H): GDBMI_file_list_exec_source_file.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_file_list_exec_source_files.$(O) GDBMI_file_list_exec_source_files.$(H): GDBMI_file_list_exec_source_files.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_file_symbol_file.$(O) GDBMI_file_symbol_file.$(H): GDBMI_file_symbol_file.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_gdb_exit.$(O) GDBMI_gdb_exit.$(H): GDBMI_gdb_exit.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_gdb_set.$(O) GDBMI_gdb_set.$(H): GDBMI_gdb_set.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_gdb_show.$(O) GDBMI_gdb_show.$(H): GDBMI_gdb_show.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_gdb_version.$(O) GDBMI_gdb_version.$(H): GDBMI_gdb_version.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_inferior_tty_set.$(O) GDBMI_inferior_tty_set.$(H): GDBMI_inferior_tty_set.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_inferior_tty_show.$(O) GDBMI_inferior_tty_show.$(H): GDBMI_inferior_tty_show.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_info_ada_exceptions.$(O) GDBMI_info_ada_exceptions.$(H): GDBMI_info_ada_exceptions.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_info_gdb_mi_command.$(O) GDBMI_info_gdb_mi_command.$(H): GDBMI_info_gdb_mi_command.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_info_os.$(O) GDBMI_info_os.$(H): GDBMI_info_os.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_interpreter_exec.$(O) GDBMI_interpreter_exec.$(H): GDBMI_interpreter_exec.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_list_features.$(O) GDBMI_list_features.$(H): GDBMI_list_features.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_list_target_features.$(O) GDBMI_list_target_features.$(H): GDBMI_list_target_features.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_list_thread_groups.$(O) GDBMI_list_thread_groups.$(H): GDBMI_list_thread_groups.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_remove_inferior.$(O) GDBMI_remove_inferior.$(H): GDBMI_remove_inferior.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_stack_info_depth.$(O) GDBMI_stack_info_depth.$(H): GDBMI_stack_info_depth.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_stack_info_frame.$(O) GDBMI_stack_info_frame.$(H): GDBMI_stack_info_frame.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_stack_list_arguments.$(O) GDBMI_stack_list_arguments.$(H): GDBMI_stack_list_arguments.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_stack_list_frames.$(O) GDBMI_stack_list_frames.$(H): GDBMI_stack_list_frames.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_stack_list_locals.$(O) GDBMI_stack_list_locals.$(H): GDBMI_stack_list_locals.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_stack_list_variables.$(O) GDBMI_stack_list_variables.$(H): GDBMI_stack_list_variables.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_stack_select_frame.$(O) GDBMI_stack_select_frame.$(H): GDBMI_stack_select_frame.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_symbol_list_lines.$(O) GDBMI_symbol_list_lines.$(H): GDBMI_symbol_list_lines.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_attach.$(O) GDBMI_target_attach.$(H): GDBMI_target_attach.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_detach.$(O) GDBMI_target_detach.$(H): GDBMI_target_detach.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_disconnect.$(O) GDBMI_target_disconnect.$(H): GDBMI_target_disconnect.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_download.$(O) GDBMI_target_download.$(H): GDBMI_target_download.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_file_delete.$(O) GDBMI_target_file_delete.$(H): GDBMI_target_file_delete.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_file_get.$(O) GDBMI_target_file_get.$(H): GDBMI_target_file_get.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_file_put.$(O) GDBMI_target_file_put.$(H): GDBMI_target_file_put.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_target_select.$(O) GDBMI_target_select.$(H): GDBMI_target_select.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_thread_info.$(O) GDBMI_thread_info.$(H): GDBMI_thread_info.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_thread_list_ids.$(O) GDBMI_thread_list_ids.$(H): GDBMI_thread_list_ids.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_thread_select.$(O) GDBMI_thread_select.$(H): GDBMI_thread_select.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_define_variable.$(O) GDBMI_trace_define_variable.$(H): GDBMI_trace_define_variable.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_find.$(O) GDBMI_trace_find.$(H): GDBMI_trace_find.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_frame_collected.$(O) GDBMI_trace_frame_collected.$(H): GDBMI_trace_frame_collected.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_list_variables.$(O) GDBMI_trace_list_variables.$(H): GDBMI_trace_list_variables.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_save.$(O) GDBMI_trace_save.$(H): GDBMI_trace_save.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_start.$(O) GDBMI_trace_start.$(H): GDBMI_trace_start.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_status.$(O) GDBMI_trace_status.$(H): GDBMI_trace_status.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_trace_stop.$(O) GDBMI_trace_stop.$(H): GDBMI_trace_stop.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_assign.$(O) GDBMI_var_assign.$(H): GDBMI_var_assign.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_create.$(O) GDBMI_var_create.$(H): GDBMI_var_create.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_delete.$(O) GDBMI_var_delete.$(H): GDBMI_var_delete.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_evaluate_expression.$(O) GDBMI_var_evaluate_expression.$(H): GDBMI_var_evaluate_expression.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_info_expression.$(O) GDBMI_var_info_expression.$(H): GDBMI_var_info_expression.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_info_num_children.$(O) GDBMI_var_info_num_children.$(H): GDBMI_var_info_num_children.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_info_path_expression.$(O) GDBMI_var_info_path_expression.$(H): GDBMI_var_info_path_expression.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_info_type.$(O) GDBMI_var_info_type.$(H): GDBMI_var_info_type.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_list_children.$(O) GDBMI_var_list_children.$(H): GDBMI_var_list_children.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_set_format.$(O) GDBMI_var_set_format.$(H): GDBMI_var_set_format.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_set_frozen.$(O) GDBMI_var_set_frozen.$(H): GDBMI_var_set_frozen.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_set_update_range.$(O) GDBMI_var_set_update_range.$(H): GDBMI_var_set_update_range.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_set_visualizer.$(O) GDBMI_var_set_visualizer.$(H): GDBMI_var_set_visualizer.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_show_attributes.$(O) GDBMI_var_show_attributes.$(H): GDBMI_var_show_attributes.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_show_format.$(O) GDBMI_var_show_format.$(H): GDBMI_var_show_format.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)GDBMI_var_update.$(O) GDBMI_var_update.$(H): GDBMI_var_update.st $(INCLUDE_TOP)\jv\libgdbs\GDBCommand.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBMICommand.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GDBNotificationEvent.$(O) GDBNotificationEvent.$(H): GDBNotificationEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBAsyncEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GDBStatusEvent.$(O) GDBStatusEvent.$(H): GDBStatusEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBAsyncEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)GDBTargetOutputEvent.$(O) GDBTargetOutputEvent.$(H): GDBTargetOutputEvent.st $(INCLUDE_TOP)\jv\libgdbs\GDBEvent.$(H) $(INCLUDE_TOP)\jv\libgdbs\GDBStreamOutputEvent.$(H) $(INCLUDE_TOP)\stx\goodies\announcements\Announcement.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/jv_libgdbs.st	Mon Jun 09 21:28:52 2014 +0100
+++ b/jv_libgdbs.st	Thu Jun 12 01:21:45 2014 +0100
@@ -23,7 +23,7 @@
     "list packages which are mandatory as a prerequisite.
      This are packages containing superclasses of my classes and classes which
      are extended by myself.
-     They are mandatory, beacuse we need these packages as a prerequisite for loading and compiling.
+     They are mandatory, because we need these packages as a prerequisite for loading and compiling.
      This method is generated automatically,
      by searching along the inheritance chain of all of my classes."
 
@@ -91,6 +91,115 @@
         GDBExecutionEvent
         GDBExitEvent
         GDBLogOutputEvent
+        #'GDBMI_ada_task_info'
+        #'GDBMI_add_inferior'
+        #'GDBMI_break_after'
+        #'GDBMI_break_commands'
+        #'GDBMI_break_condition'
+        #'GDBMI_break_delete'
+        #'GDBMI_break_disable'
+        #'GDBMI_break_enable'
+        #'GDBMI_break_info'
+        #'GDBMI_break_insert'
+        #'GDBMI_break_list'
+        #'GDBMI_break_passcount'
+        #'GDBMI_break_watch'
+        #'GDBMI_catch_assert'
+        #'GDBMI_catch_exception'
+        #'GDBMI_catch_load'
+        #'GDBMI_catch_unload'
+        #'GDBMI_data_disassemble'
+        #'GDBMI_data_evaluate_expression'
+        #'GDBMI_data_list_changed_registers'
+        #'GDBMI_data_list_register_names'
+        #'GDBMI_data_list_register_values'
+        #'GDBMI_data_read_memory'
+        #'GDBMI_data_read_memory_bytes'
+        #'GDBMI_data_write_memory'
+        #'GDBMI_data_write_memory_bytes'
+        #'GDBMI_data_write_register_values'
+        #'GDBMI_dprintf_insert'
+        #'GDBMI_enable_frame_filters'
+        #'GDBMI_enable_pretty_printing'
+        #'GDBMI_enable_timings'
+        #'GDBMI_environment_cd'
+        #'GDBMI_environment_directory'
+        #'GDBMI_environment_path'
+        #'GDBMI_environment_pwd'
+        #'GDBMI_exec_arguments'
+        #'GDBMI_exec_continue'
+        #'GDBMI_exec_finish'
+        #'GDBMI_exec_interrupt'
+        #'GDBMI_exec_jump'
+        #'GDBMI_exec_next'
+        #'GDBMI_exec_next_instruction'
+        #'GDBMI_exec_return'
+        #'GDBMI_exec_run'
+        #'GDBMI_exec_step'
+        #'GDBMI_exec_step_instruction'
+        #'GDBMI_exec_until'
+        #'GDBMI_file_exec_and_symbols'
+        #'GDBMI_file_exec_file'
+        #'GDBMI_file_list_exec_source_file'
+        #'GDBMI_file_list_exec_source_files'
+        #'GDBMI_file_symbol_file'
+        #'GDBMI_gdb_exit'
+        #'GDBMI_gdb_set'
+        #'GDBMI_gdb_show'
+        #'GDBMI_gdb_version'
+        #'GDBMI_inferior_tty_set'
+        #'GDBMI_inferior_tty_show'
+        #'GDBMI_info_ada_exceptions'
+        #'GDBMI_info_gdb_mi_command'
+        #'GDBMI_info_os'
+        #'GDBMI_interpreter_exec'
+        #'GDBMI_list_features'
+        #'GDBMI_list_target_features'
+        #'GDBMI_list_thread_groups'
+        #'GDBMI_remove_inferior'
+        #'GDBMI_stack_info_depth'
+        #'GDBMI_stack_info_frame'
+        #'GDBMI_stack_list_arguments'
+        #'GDBMI_stack_list_frames'
+        #'GDBMI_stack_list_locals'
+        #'GDBMI_stack_list_variables'
+        #'GDBMI_stack_select_frame'
+        #'GDBMI_symbol_list_lines'
+        #'GDBMI_target_attach'
+        #'GDBMI_target_detach'
+        #'GDBMI_target_disconnect'
+        #'GDBMI_target_download'
+        #'GDBMI_target_file_delete'
+        #'GDBMI_target_file_get'
+        #'GDBMI_target_file_put'
+        #'GDBMI_target_select'
+        #'GDBMI_thread_info'
+        #'GDBMI_thread_list_ids'
+        #'GDBMI_thread_select'
+        #'GDBMI_trace_define_variable'
+        #'GDBMI_trace_find'
+        #'GDBMI_trace_frame_collected'
+        #'GDBMI_trace_list_variables'
+        #'GDBMI_trace_save'
+        #'GDBMI_trace_start'
+        #'GDBMI_trace_status'
+        #'GDBMI_trace_stop'
+        #'GDBMI_var_assign'
+        #'GDBMI_var_create'
+        #'GDBMI_var_delete'
+        #'GDBMI_var_evaluate_expression'
+        #'GDBMI_var_info_expression'
+        #'GDBMI_var_info_num_children'
+        #'GDBMI_var_info_path_expression'
+        #'GDBMI_var_info_type'
+        #'GDBMI_var_list_children'
+        #'GDBMI_var_set_format'
+        #'GDBMI_var_set_frozen'
+        #'GDBMI_var_set_update_range'
+        #'GDBMI_var_set_visualizer'
+        #'GDBMI_var_show_attributes'
+        #'GDBMI_var_show_format'
+        #'GDBMI_var_update'
         GDBNotificationEvent
         GDBStatusEvent
         GDBTargetOutputEvent
--- a/libInit.cc	Mon Jun 09 21:28:52 2014 +0100
+++ b/libInit.cc	Thu Jun 12 01:21:45 2014 +0100
@@ -53,6 +53,115 @@
 _GDBExecutionEvent_Init(pass,__pRT__,snd);
 _GDBExitEvent_Init(pass,__pRT__,snd);
 _GDBLogOutputEvent_Init(pass,__pRT__,snd);
+_GDBMI_137ada_137task_137info_Init(pass,__pRT__,snd);
+_GDBMI_137add_137inferior_Init(pass,__pRT__,snd);
+_GDBMI_137break_137after_Init(pass,__pRT__,snd);
+_GDBMI_137break_137commands_Init(pass,__pRT__,snd);
+_GDBMI_137break_137condition_Init(pass,__pRT__,snd);
+_GDBMI_137break_137delete_Init(pass,__pRT__,snd);
+_GDBMI_137break_137disable_Init(pass,__pRT__,snd);
+_GDBMI_137break_137enable_Init(pass,__pRT__,snd);
+_GDBMI_137break_137info_Init(pass,__pRT__,snd);
+_GDBMI_137break_137insert_Init(pass,__pRT__,snd);
+_GDBMI_137break_137list_Init(pass,__pRT__,snd);
+_GDBMI_137break_137passcount_Init(pass,__pRT__,snd);
+_GDBMI_137break_137watch_Init(pass,__pRT__,snd);
+_GDBMI_137catch_137assert_Init(pass,__pRT__,snd);
+_GDBMI_137catch_137exception_Init(pass,__pRT__,snd);
+_GDBMI_137catch_137load_Init(pass,__pRT__,snd);
+_GDBMI_137catch_137unload_Init(pass,__pRT__,snd);
+_GDBMI_137data_137disassemble_Init(pass,__pRT__,snd);
+_GDBMI_137data_137evaluate_137expression_Init(pass,__pRT__,snd);
+_GDBMI_137data_137list_137changed_137registers_Init(pass,__pRT__,snd);
+_GDBMI_137data_137list_137register_137names_Init(pass,__pRT__,snd);
+_GDBMI_137data_137list_137register_137values_Init(pass,__pRT__,snd);
+_GDBMI_137data_137read_137memory_Init(pass,__pRT__,snd);
+_GDBMI_137data_137read_137memory_137bytes_Init(pass,__pRT__,snd);
+_GDBMI_137data_137write_137memory_Init(pass,__pRT__,snd);
+_GDBMI_137data_137write_137memory_137bytes_Init(pass,__pRT__,snd);
+_GDBMI_137data_137write_137register_137values_Init(pass,__pRT__,snd);
+_GDBMI_137dprintf_137insert_Init(pass,__pRT__,snd);
+_GDBMI_137enable_137frame_137filters_Init(pass,__pRT__,snd);
+_GDBMI_137enable_137pretty_137printing_Init(pass,__pRT__,snd);
+_GDBMI_137enable_137timings_Init(pass,__pRT__,snd);
+_GDBMI_137environment_137cd_Init(pass,__pRT__,snd);
+_GDBMI_137environment_137directory_Init(pass,__pRT__,snd);
+_GDBMI_137environment_137path_Init(pass,__pRT__,snd);
+_GDBMI_137environment_137pwd_Init(pass,__pRT__,snd);
+_GDBMI_137exec_137arguments_Init(pass,__pRT__,snd);
+_GDBMI_137exec_137continue_Init(pass,__pRT__,snd);
+_GDBMI_137exec_137finish_Init(pass,__pRT__,snd);
+_GDBMI_137exec_137interrupt_Init(pass,__pRT__,snd);
+_GDBMI_137exec_137jump_Init(pass,__pRT__,snd);
+_GDBMI_137exec_137next_Init(pass,__pRT__,snd);
+_GDBMI_137exec_137next_137instruction_Init(pass,__pRT__,snd);
+_GDBMI_137exec_137return_Init(pass,__pRT__,snd);
+_GDBMI_137exec_137run_Init(pass,__pRT__,snd);
+_GDBMI_137exec_137step_Init(pass,__pRT__,snd);
+_GDBMI_137exec_137step_137instruction_Init(pass,__pRT__,snd);
+_GDBMI_137exec_137until_Init(pass,__pRT__,snd);
+_GDBMI_137file_137exec_137and_137symbols_Init(pass,__pRT__,snd);
+_GDBMI_137file_137exec_137file_Init(pass,__pRT__,snd);
+_GDBMI_137file_137list_137exec_137source_137file_Init(pass,__pRT__,snd);
+_GDBMI_137file_137list_137exec_137source_137files_Init(pass,__pRT__,snd);
+_GDBMI_137file_137symbol_137file_Init(pass,__pRT__,snd);
+_GDBMI_137gdb_137exit_Init(pass,__pRT__,snd);
+_GDBMI_137gdb_137set_Init(pass,__pRT__,snd);
+_GDBMI_137gdb_137show_Init(pass,__pRT__,snd);
+_GDBMI_137gdb_137version_Init(pass,__pRT__,snd);
+_GDBMI_137inferior_137tty_137set_Init(pass,__pRT__,snd);
+_GDBMI_137inferior_137tty_137show_Init(pass,__pRT__,snd);
+_GDBMI_137info_137ada_137exceptions_Init(pass,__pRT__,snd);
+_GDBMI_137info_137gdb_137mi_137command_Init(pass,__pRT__,snd);
+_GDBMI_137info_137os_Init(pass,__pRT__,snd);
+_GDBMI_137interpreter_137exec_Init(pass,__pRT__,snd);
+_GDBMI_137list_137features_Init(pass,__pRT__,snd);
+_GDBMI_137list_137target_137features_Init(pass,__pRT__,snd);
+_GDBMI_137list_137thread_137groups_Init(pass,__pRT__,snd);
+_GDBMI_137remove_137inferior_Init(pass,__pRT__,snd);
+_GDBMI_137stack_137info_137depth_Init(pass,__pRT__,snd);
+_GDBMI_137stack_137info_137frame_Init(pass,__pRT__,snd);
+_GDBMI_137stack_137list_137arguments_Init(pass,__pRT__,snd);
+_GDBMI_137stack_137list_137frames_Init(pass,__pRT__,snd);
+_GDBMI_137stack_137list_137locals_Init(pass,__pRT__,snd);
+_GDBMI_137stack_137list_137variables_Init(pass,__pRT__,snd);
+_GDBMI_137stack_137select_137frame_Init(pass,__pRT__,snd);
+_GDBMI_137symbol_137list_137lines_Init(pass,__pRT__,snd);
+_GDBMI_137target_137attach_Init(pass,__pRT__,snd);
+_GDBMI_137target_137detach_Init(pass,__pRT__,snd);
+_GDBMI_137target_137disconnect_Init(pass,__pRT__,snd);
+_GDBMI_137target_137download_Init(pass,__pRT__,snd);
+_GDBMI_137target_137file_137delete_Init(pass,__pRT__,snd);
+_GDBMI_137target_137file_137get_Init(pass,__pRT__,snd);
+_GDBMI_137target_137file_137put_Init(pass,__pRT__,snd);
+_GDBMI_137target_137select_Init(pass,__pRT__,snd);
+_GDBMI_137thread_137info_Init(pass,__pRT__,snd);
+_GDBMI_137thread_137list_137ids_Init(pass,__pRT__,snd);
+_GDBMI_137thread_137select_Init(pass,__pRT__,snd);
+_GDBMI_137trace_137define_137variable_Init(pass,__pRT__,snd);
+_GDBMI_137trace_137find_Init(pass,__pRT__,snd);
+_GDBMI_137trace_137frame_137collected_Init(pass,__pRT__,snd);
+_GDBMI_137trace_137list_137variables_Init(pass,__pRT__,snd);
+_GDBMI_137trace_137save_Init(pass,__pRT__,snd);
+_GDBMI_137trace_137start_Init(pass,__pRT__,snd);
+_GDBMI_137trace_137status_Init(pass,__pRT__,snd);
+_GDBMI_137trace_137stop_Init(pass,__pRT__,snd);
+_GDBMI_137var_137assign_Init(pass,__pRT__,snd);
+_GDBMI_137var_137create_Init(pass,__pRT__,snd);
+_GDBMI_137var_137delete_Init(pass,__pRT__,snd);
+_GDBMI_137var_137evaluate_137expression_Init(pass,__pRT__,snd);
+_GDBMI_137var_137info_137expression_Init(pass,__pRT__,snd);
+_GDBMI_137var_137info_137num_137children_Init(pass,__pRT__,snd);
+_GDBMI_137var_137info_137path_137expression_Init(pass,__pRT__,snd);
+_GDBMI_137var_137info_137type_Init(pass,__pRT__,snd);
+_GDBMI_137var_137list_137children_Init(pass,__pRT__,snd);
+_GDBMI_137var_137set_137format_Init(pass,__pRT__,snd);
+_GDBMI_137var_137set_137frozen_Init(pass,__pRT__,snd);
+_GDBMI_137var_137set_137update_137range_Init(pass,__pRT__,snd);
+_GDBMI_137var_137set_137visualizer_Init(pass,__pRT__,snd);
+_GDBMI_137var_137show_137attributes_Init(pass,__pRT__,snd);
+_GDBMI_137var_137show_137format_Init(pass,__pRT__,snd);
+_GDBMI_137var_137update_Init(pass,__pRT__,snd);
 _GDBNotificationEvent_Init(pass,__pRT__,snd);
 _GDBStatusEvent_Init(pass,__pRT__,snd);
 _GDBTargetOutputEvent_Init(pass,__pRT__,snd);
--- a/libgdbs.rc	Mon Jun 09 21:28:52 2014 +0100
+++ b/libgdbs.rc	Thu Jun 12 01:21:45 2014 +0100
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
       VALUE "ProductName", "LibraryName\0"
       VALUE "ProductVersion", "6.2.4.0\0"
-      VALUE "ProductDate", "Mon, 09 Jun 2014 20:28:06 GMT\0"
+      VALUE "ProductDate", "Thu, 12 Jun 2014 00:19:29 GMT\0"
     END
 
   END
--- a/tests/jv_libgdbs_tests.st	Mon Jun 09 21:28:52 2014 +0100
+++ b/tests/jv_libgdbs_tests.st	Thu Jun 12 01:21:45 2014 +0100
@@ -23,7 +23,7 @@
     "list packages which are mandatory as a prerequisite.
      This are packages containing superclasses of my classes and classes which
      are extended by myself.
-     They are mandatory, beacuse we need these packages as a prerequisite for loading and compiling.
+     They are mandatory, because we need these packages as a prerequisite for loading and compiling.
      This method is generated automatically,
      by searching along the inheritance chain of all of my classes."
 
--- a/tests/tests.rc	Mon Jun 09 21:28:52 2014 +0100
+++ b/tests/tests.rc	Thu Jun 12 01:21:45 2014 +0100
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
       VALUE "ProductName", "LibraryName\0"
       VALUE "ProductVersion", "6.2.4.0\0"
-      VALUE "ProductDate", "Mon, 09 Jun 2014 20:28:09 GMT\0"
+      VALUE "ProductDate", "Thu, 12 Jun 2014 00:19:31 GMT\0"
     END
 
   END