Differences From Artifact [a0f30a6955738c75]:
File debug.rx part of check-in [f797a21c8c] - Add start of debug words ("see"; "nav") in debug.rx by charleschilders on 2010-08-18 10:14:37. [annotate] [view]
To Artifact [d8bd82a4f91dc27e]:
File debug.rx part of check-in [c44b785881] - initial update to debug.rx by crc on 2010-09-15 19:34:46. [annotate] [view]
@@ -1,8 +1,8 @@
( Copyright [c] 2010, Charles Childers )
( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )
-global with console
+global with console'
{{
( Helpers to make the code easier to read ~~~~~~~~~~~~~~~~~ )
: case: ( nn- ) ` over ` =if ` space ; immediate
@@ -10,44 +10,44 @@
( Resolve addresses to headers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )
: header? ( a-af ) dup xt->d ;
: xt->name ( a-$ ) xt->d d->name ;
- : .name ( a- ) xt->name type space ;
- : resolve ( n- ) header? if .name ;then red ." <call " (.) '> emit space ;
+ : .name ( a- ) xt->name print space ;
+ : resolve ( n- ) header? if .name ;then red "<call " print (.) '> emit space ;
: (resolve) ( n- ) header? if red dup . yellow '( emit space .name ') emit space ;then red . ;
: instr? ( n-f )
- 0 case: ." nop" 0 ;case
- 1 case: ." lit" -1 ;case
- 2 case: ." dup" 0 ;case
- 3 case: ." drop" 0 ;case
- 4 case: ." swap" 0 ;case
- 5 case: ." push" 0 ;case
- 6 case: ." pop" 0 ;case
- 7 case: ." call" -1 ;case
- 8 case: ." jump" -1 ;case
- 9 case: ." ;" 0 ;case
- 10 case: ." >jump" -1 ;case
- 11 case: ." <jump" -1 ;case
- 12 case: ." !jump" -1 ;case
- 13 case: ." =jump" -1 ;case
- 14 case: ." @" 0 ;case
- 15 case: ." !" 0 ;case
- 16 case: ." +" 0 ;case
- 17 case: ." -" 0 ;case
- 18 case: ." *" 0 ;case
- 19 case: ." /mod" 0 ;case
- 20 case: ." and" 0 ;case
- 21 case: ." or" 0 ;case
- 22 case: ." xor" 0 ;case
- 23 case: ." <<" 0 ;case
- 24 case: ." >>" 0 ;case
- 25 case: ." 0;" 0 ;case
- 26 case: ." 1+" 0 ;case
- 27 case: ." 1-" 0 ;case
- 28 case: ." in" 0 ;case
- 29 case: ." out" 0 ;case
- 30 case: ." wait" 0 ;case
+ 0 case: "nop" print 0 ;case
+ 1 case: "lit" print -1 ;case
+ 2 case: "dup" print 0 ;case
+ 3 case: "drop" print 0 ;case
+ 4 case: "swap" print 0 ;case
+ 5 case: "push" print 0 ;case
+ 6 case: "pop" print 0 ;case
+ 7 case: "call" print -1 ;case
+ 8 case: "jump" print -1 ;case
+ 9 case: ";" print 0 ;case
+ 10 case: ">jump" print -1 ;case
+ 11 case: "<jump" print -1 ;case
+ 12 case: "!jump" print -1 ;case
+ 13 case: "=jump" print -1 ;case
+ 14 case: "@" print 0 ;case
+ 15 case: "!" print 0 ;case
+ 16 case: "+" print 0 ;case
+ 17 case: "-" print 0 ;case
+ 18 case: "*" print 0 ;case
+ 19 case: "/mod" print 0 ;case
+ 20 case: "and" print 0 ;case
+ 21 case: "or" print 0 ;case
+ 22 case: "xor" print 0 ;case
+ 23 case: "<<" print 0 ;case
+ 24 case: ">>" print 0 ;case
+ 25 case: "0;" print 0 ;case
+ 26 case: "1+" print 0 ;case
+ 27 case: "1-" print 0 ;case
+ 28 case: "in" print 0 ;case
+ 29 case: "out" print 0 ;case
+ 30 case: "wait" print 0 ;case
space resolve 0 ;
: end? ( a-a || a- )
( First, see if we have a ; followed by a header ~~~~~~~~~~ )