tools.annotations: now prints a table of values

db4
Slava Pestov 2009-05-13 17:03:41 -05:00
parent 977a6e0455
commit ca6cbbb2f9
1 changed files with 8 additions and 20 deletions

View File

@ -43,29 +43,17 @@ PRIVATE>
<PRIVATE <PRIVATE
: word-inputs ( word -- seq ) : stack-values ( names -- alist )
stack-effect [ [ datastack ] dip [ nip ] [ length tail* ] 2bi zip ;
[ datastack ] dip in>> length tail*
] [
datastack
] if* ;
: entering ( str -- ) : trace-message ( word quot str -- )
"/-- Entering: " write dup . "--- " write write bl over .
word-inputs stack. [ stack-effect ] dip '[ @ stack-values ] [ f ] if*
"\\--" print flush ; [ simple-table. ] unless-empty flush ; inline
: word-outputs ( word -- seq ) : entering ( str -- ) [ in>> ] "Entering" trace-message ;
stack-effect [
[ datastack ] dip out>> length tail*
] [
datastack
] if* ;
: leaving ( str -- ) : leaving ( str -- ) [ out>> ] "Leaving" trace-message ;
"/-- Leaving: " write dup .
word-outputs stack.
"\\--" print flush ;
: (watch) ( word def -- def ) : (watch) ( word def -- def )
over '[ _ entering @ _ leaving ] ; over '[ _ entering @ _ leaving ] ;