- New script which allows to devug SICS scripts from a plain SICS
interpreter
This commit is contained in:
38
tcl/sicstcldebug.tcl
Normal file
38
tcl/sicstcldebug.tcl
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#------------------------------------------------------------------
|
||||||
|
# This is a helper file in order to debug SICS Tcl scripts. The idea
|
||||||
|
# is that a connection to a SICS interpreter at localhost:2911 is opened.
|
||||||
|
# Then unknown is reimplemented to send unknown commands (which must be
|
||||||
|
# SICS commands) to the SICS interpreter for evaluation. This is done
|
||||||
|
# with transact in order to figure out when SICS finished processing.
|
||||||
|
# Thus is should be possible to debug SICS Tcl scripts in a normal
|
||||||
|
# standalone interpreter without the overhead of restarting SICS
|
||||||
|
# all the time. It may even be possible to use one of the normal
|
||||||
|
# Tcl debugfgers then....
|
||||||
|
#
|
||||||
|
# Mark Koennecke, February 2006
|
||||||
|
#------------------------------------------------------------------
|
||||||
|
|
||||||
|
set socke [socket localhost 2911]
|
||||||
|
gets $socke
|
||||||
|
puts $socke "Spy 007"
|
||||||
|
flush $socke
|
||||||
|
gets $socke
|
||||||
|
#------------------------------------------------------------------
|
||||||
|
proc unknown args {
|
||||||
|
global socke
|
||||||
|
append com "transact " [join $args]
|
||||||
|
puts $socke $com
|
||||||
|
flush $socke
|
||||||
|
while {1} {
|
||||||
|
set line [gets $socke]
|
||||||
|
if {[string first TRANSACTIONFINISHED $line] >= 0} {
|
||||||
|
return $reply
|
||||||
|
} else {
|
||||||
|
append reply $line
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#------------------------------------------------------------------
|
||||||
|
proc clientput args {
|
||||||
|
puts stdout [join $args]
|
||||||
|
}
|
Reference in New Issue
Block a user