fl hex { PF4.6 01/10/2011 01:29:55 } 0 _crf W! 122c wconstant chk_wd1 \ branch 125a wconstant chk_wd2 \ dovarw 1352 wconstant chk_wd3 \ (loop) 135e wconstant chk_wd4 \ (+loop)) 1346 wconstant chk_wd5 \ 0branch 1242 wconstant chk_wd6 \ doconw 129a wconstant chk_wd7 \ litw 1136 wconstant chk_wd8 \ _execasm2>1 1156 wconstant chk_wd9 \ _execasm2>0 1146 wconstant chk_wd10 \ _execasm1>1 12a4 wconstant chk_wd11 \ litl 124e wconstant chk_wd12 \ doconl 1E6a wconstant chk_wd13 \ dq 2f56 wconstant chk_wd14 \ cq \ ( nfa_addr -- 0|1|2|3|4|5|6|7|8|9 ) compare nfa_addr and value : comp_wd chk_wd1 over = if 1 else chk_wd2 over = if 2 else chk_wd3 over = if 3 else chk_wd4 over = if 4 else chk_wd5 over = if 5 else chk_wd6 over = if 6 else chk_wd7 over = if 7 else chk_wd8 over = if 8 else chk_wd9 over = if 9 else chk_wd10 over = if a else chk_wd11 over = if b else chk_wd12 over = if c else chk_wd13 over = if d else chk_wd14 over = if e else 0 thens swap drop ; : dictDump dup .word _ecs dup .strname cr cr ." Addr" 2 spaces ." pfa" 2 spaces ." nfa" 2 spaces ." WORD name" cr nfa>pfa do i dup .word _ecs W@ dup .word space pfa>nfa dup .word space dup comp_wd dup if dup c < if drop .strname cr i 2+ dup seti dup .word _ecs W@ .word cr else c = if .strname cr i 2 0 do 2+ dup dup .word _ecs W@ .word cr loop drop i 4 + seti i 2+ 3 and if i 2+ dup seti dup .word _ecs W@ .word cr then else .strname cr i 2+ dup dup dup C@ 1+ bounds do dup dup .word 3a emit space C@ dup .byte space emit cr 1+ loop drop dup C@ + dup 1 and if 1- then seti then then else drop .strname cr then 2 +loop cr ; \ (cstr -- ) : _wordDump \ here W@ -- last address for dictionary \ lastnfa -- last WORD's nfa here W@ lastnfa rot dup if begin \ check if WORD-name(dictionary) has WORD-name(cstr) 2dup swap npfx if drop dictDump 1 else \ drop [here W@] after push cstr >r nip dup 2- \ update [here W@] swap nfa>next \ previous nfa dup r> swap 0= then until else drop here W@ wlastnfa W@ begin 2dup dictDump nip nfa>lfa dup W@ dup 0= until 2drop 2drop then ; : wordDump parsenw _wordDump ; decimal