( docforth JCB 07:31 11/23/10)
: parse-word
bl word count ;
: method>
postpone create postpone ,
postpone does> postpone @
; immediate
\ 0 link
\ 1 key
\ 2 value
: link ( root new -- )
over @ over !
swap !
;
: mapadd ( value key map )
method>
3 cells allocate throw
tuck link
cell+ tuck !
cell+
!
;
: mapfind ( key map -- key false | value true )
method>
begin
dup
while
2dup cell+ @ = if
nip cell+ cell+ @ true exit
then
@
repeat
;
: map
here 0 ,
dup mapadd mapfind
;
variable old>in
2variable jam
: preserve ( c-addr1 u -- c-addr )
dup 1+ allocate throw dup >r
2dup c! 1+
swap cmove r> ;
: moretib ( -- f ) >in @ #tib @ < ;
: skipsp ( -- ) \ skip spaces in TIB
begin
moretib
tib >in @ + c@ bl = and
while
1 >in +!
repeat
;
: wordstr ( "name" -- c-addr u )
skipsp
>in @ old>in !
>in @ >r bl word count r> >in !
;
: 2array
create 2* cells allot
does> swap 2* cells +
;
variable htmlfile
s" " preserve value htmlfilename
: >html ( c-addr u ) \ write string to html
htmlfile @ write-file throw ;
: >>html ( c-addr u ) \ write line to html
htmlfile @ write-line throw ;
: u>html ( u -- ) \ write decimal u to the HTML
base @ >r decimal
0 <# #s #> >html
r> base !
;
512 constant maxline
maxline 2array deco
map +xt->uniq xt->uniq
map +uniq->fn uniq->fn
map +uniq->comment uniq->comment
: counter
create 100 ,
does> 1 over +! @
;
counter uniq
: anchor ( u -- )
s" <a class=name name=" htmlfile @ write-file throw
xt->uniq drop u>html
s" >" htmlfile @ write-file throw
;
: anchor1 ( -- uniq )
uniq
htmlfilename over +uniq->fn
dup ['] anchor
old>in @ deco 2!
;
: anchor2 ( uniq c-addr u -- )
get-current search-wordlist
0= throw
+xt->uniq
;
: anchorit ( c-addr -- ) \ counted string
anchor1 swap count anchor2 ;
: create-html ( caddr u -- )
2dup preserve to htmlfilename
w/o create-file throw htmlfile !
s" <html>" >>html
s" <head>" >>html
s" <style type=text/css>" >>html
s" div.code {" >>html
s" padding:0.5em;" >>html
s" font-size:large;" >>html
s" line-height:110%;" >>html
s" }" >>html
s" div.code a.name {" >>html
s" font-weight:bold;" >>html
s" }" >>html
s" div.code a.name:target {" >>html
s" background-color:#ff7" >>html
s" }" >>html
s" div.code a.ref {" >>html
s" text-decoration:none;" >>html
s" color:#007" >>html
s" }" >>html
s" div.code a.ref:hover {" >>html
s" text-decoration:underline;" >>html
s" }" >>html
s" .footer {" >>html
s" font-size:x-small;" >>html
s" line-height:110%;" >>html
s" }" >>html
s" </style>" >>html
s" </head>" >>html
s" <body>" >>html
s" <div class=code>" >>html
;
: close-html
s" </div>" >>html
s" <p class=footer>Created with <a href=http://excamera.com/sphinx/docforth.html>docforth</a>" >>html
s" </body></html>" >>html
htmlfile @ close-file throw
;
\ --STANDARD-- \ Wil Baden 2003-02-22
\ *******************************************************************
\ * *
\ * ONLY STANDARD DEFINITIONS *
\ * *
\ *******************************************************************
WORDLIST CONSTANT STANDARD
STANDARD SET-CURRENT
FORTH-WORDLIST STANDARD FORTH-WORDLIST 3 SET-ORDER
\ Standard-Clone
: TIB TIB ;
: ! ! ;
: # # ;
: #> #> ;
: #S #S ;
: #TIB #TIB ;
: ' ' ;
: ( POSTPONE ( ; IMMEDIATE
: (LOCAL) POSTPONE (LOCAL) ; IMMEDIATE
: * * ;
: */ */ ;
: */MOD */MOD ;
: + + ;
: +! +! ;
: +LOOP POSTPONE +LOOP ; IMMEDIATE
: , , ;
: - - ;
: -TRAILING -TRAILING ;
: . . ;
: ." POSTPONE ." ; IMMEDIATE
: .( POSTPONE .( ; IMMEDIATE
: .R .R ;
: .S .S ;
: / / ;
: /MOD /MOD ;
: /STRING /STRING ;
: 0< 0< ;
: 0<> 0<> ;
: 0= 0= ;
: 0> 0> ;
: 1+ 1+ ;
: 1- 1- ;
: 2! 2! ;
: 2* 2* ;
: 2/ 2/ ;
: 2>R POSTPONE 2>R ; IMMEDIATE
: 2@ 2@ ;
: 2CONSTANT wordstr preserve >r 2CONSTANT r> anchorit ;
: 2DROP 2DROP ;
: 2DUP 2DUP ;
: 2LITERAL POSTPONE 2LITERAL ; IMMEDIATE
: 2OVER 2OVER ;
: 2R> POSTPONE 2R> ; IMMEDIATE
: 2R@ POSTPONE 2R@ ; IMMEDIATE
: 2ROT 2ROT ;
: 2SWAP 2SWAP ;
: 2VARIABLE wordstr preserve >r 2VARIABLE r> anchorit ;
: : wordstr preserve anchor1 swap jam 2! : ;
: :NONAME :NONAME ;
: ; POSTPONE ; jam 2@ count anchor2 ; IMMEDIATE
: ;CODE POSTPONE ;CODE ; IMMEDIATE
: < < ;
: <# <# ;
: <> <> ;
: = = ;
: > > ;
: >BODY >BODY ;
: >FLOAT >FLOAT ;
: >IN >IN ;
: >NUMBER >NUMBER ;
: >R POSTPONE >R ; IMMEDIATE
: ? POSTPONE ? ; IMMEDIATE
: ?DO POSTPONE ?DO ; IMMEDIATE
: ?DUP ?DUP ;
: @ @ ;
: ABORT ABORT ;
: ABORT" POSTPONE ABORT" ; IMMEDIATE
: ABS ABS ;
: ACCEPT ACCEPT ;
: AGAIN POSTPONE AGAIN ; IMMEDIATE
: AHEAD POSTPONE AHEAD ; IMMEDIATE
: ALIGN ALIGN ;
: ALIGNED ALIGNED ;
: ALLOCATE ALLOCATE ;
: ALLOT ALLOT ;
: ALSO ALSO ;
: AND AND ;
: ASSEMBLER ASSEMBLER ;
: AT-XY AT-XY ;
: BASE BASE ;
: BEGIN POSTPONE BEGIN ; IMMEDIATE
: BIN BIN ;
: BL BL ;
: BLANK BLANK ;
: BLK BLK ;
: BLOCK BLOCK ;
\ BUFFER
: BYE BYE ;
: C! C! ;
: C" POSTPONE C" ; IMMEDIATE
: C, C, ;
: C@ C@ ;
: CASE POSTPONE CASE ; IMMEDIATE
: CATCH CATCH ;
: CELL+ CELL+ ;
: CELLS CELLS ;
: CHAR CHAR ;
: CHAR+ CHAR+ ;
: CHARS CHARS ;
: CLOSE-FILE CLOSE-FILE ;
: CMOVE CMOVE ;
: CMOVE> CMOVE> ;
: CODE CODE ;
: COMPARE COMPARE ;
: COMPILE, COMPILE, ;
: CONSTANT wordstr preserve >r CONSTANT r> anchorit ;
: COUNT COUNT ;
: CR CR ;
: CREATE wordstr preserve >r CREATE r> anchorit ;
: CREATE-FILE CREATE-FILE ;
: CS-PICK CS-PICK ;
: CS-ROLL CS-ROLL ;
: D+ D+ ;
: D- D- ;
: D. D. ;
: D.R D.R ;
: D0< D0< ;
: D0= D0= ;
: D2* D2* ;
: D2/ D2/ ;
: D< D< ;
: D= D= ;
: D>F D>F ;
: D>S D>S ;
: DABS DABS ;
: DECIMAL DECIMAL ;
: DEFINITIONS DEFINITIONS ;
: DELETE-FILE DELETE-FILE ;
: DEPTH DEPTH ;
: DF! DF! ;
: DF@ DF@ ;
: DFALIGN DFALIGN ;
: DFALIGNED DFALIGNED ;
: DFLOAT+ DFLOAT+ ;
: DFLOATS DFLOATS ;
: DMAX DMAX ;
: DMIN DMIN ;
: DNEGATE DNEGATE ;
: DO POSTPONE DO ; IMMEDIATE
: DOES> POSTPONE DOES> ; IMMEDIATE
: DROP DROP ;
: DU< DU< ;
: DUMP DUMP ;
: DUP DUP ;
\ : EDITOR EDITOR ;
: EKEY EKEY ;
: EKEY>CHAR EKEY>CHAR ;
: EKEY? EKEY? ;
: ELSE POSTPONE ELSE ; IMMEDIATE
: EMIT EMIT ;
\ : EMIT? EMIT? ;
\ EMPTY-BUFFERS
: ENDCASE POSTPONE ENDCASE ; IMMEDIATE
: ENDOF POSTPONE ENDOF ; IMMEDIATE
: ENVIRONMENT? ENVIRONMENT? ;
: ERASE ERASE ;
: EVALUATE EVALUATE ;
: EXECUTE EXECUTE ;
: EXIT POSTPONE EXIT ; IMMEDIATE
: F! F! ;
: F* F* ;
: F** F** ;
: F+ F+ ;
: F- F- ;
: F. F. ;
: F/ F/ ;
: F0< F0< ;
: F0= F0= ;
: F< F< ;
: F>D F>D ;
: F@ F@ ;
: FABS FABS ;
: FACOS FACOS ;
: FACOSH FACOSH ;
: FALIGN FALIGN ;
: FALIGNED FALIGNED ;
: FALOG FALOG ;
: FALSE FALSE ;
: FASIN FASIN ;
: FASINH FASINH ;
: FATAN FATAN ;
: FATAN2 FATAN2 ;
: FATANH FATANH ;
: FCONSTANT wordstr preserve >r FCONSTANT r> anchorit ;
: FCOS FCOS ;
: FCOSH FCOSH ;
: FDEPTH FDEPTH ;
: FDROP FDROP ;
: FDUP FDUP ;
: FE. FE. ;
: FEXP FEXP ;
: FEXPM1 FEXPM1 ;
: FILE-POSITION FILE-POSITION ;
: FILE-SIZE FILE-SIZE ;
: FILE-STATUS FILE-STATUS ;
: FILL FILL ;
: FIND FIND ;
: FLITERAL POSTPONE FLITERAL ; IMMEDIATE
: FLN FLN ;
: FLNP1 FLNP1 ;
: FLOAT+ FLOAT+ ;
: FLOATS FLOATS ;
: FLOG FLOG ;
: FLOOR FLOOR ;
\ FLUSH
: FLUSH-FILE FLUSH-FILE ;
: FM/MOD FM/MOD ;
: FMAX FMAX ;
: FMIN FMIN ;
: FNEGATE FNEGATE ;
: FORTH GET-ORDER NIP STANDARD SWAP SET-ORDER ;
: FORTH-WORDLIST STANDARD ;
: FOVER FOVER ;
: FREE FREE ;
: FROT FROT ;
: FROUND FROUND ;
: FS. FS. ;
: FSIN FSIN ;
: FSINCOS FSINCOS ;
: FSINH FSINH ;
: FSQRT FSQRT ;
: FSWAP FSWAP ;
: FTAN FTAN ;
: FTANH FTANH ;
: FVARIABLE FVARIABLE ;
: F~ F~ ;
: GET-CURRENT GET-CURRENT ;
: GET-ORDER GET-ORDER ;
: HERE HERE ;
: HEX HEX ;
: HOLD HOLD ;
: I POSTPONE I ; IMMEDIATE
: IF POSTPONE IF ; IMMEDIATE
: IMMEDIATE IMMEDIATE ;
: INCLUDE-FILE INCLUDE-FILE ;
: INCLUDED INCLUDED ;
: INVERT INVERT ;
: J POSTPONE J ; IMMEDIATE
: KEY KEY ;
: KEY? KEY? ;
: LEAVE POSTPONE LEAVE ; IMMEDIATE
\ LIST
: LITERAL POSTPONE LITERAL ; IMMEDIATE
\ LOAD
: LOCALS| POSTPONE LOCALS| ; IMMEDIATE
: LOOP POSTPONE LOOP ; IMMEDIATE
: LSHIFT LSHIFT ;
: M* M* ;
: M*/ M*/ ;
: M+ M+ ;
: MARKER MARKER ;
: MAX MAX ;
: MIN MIN ;
: MOD MOD ;
: MOVE MOVE ;
: MS MS ;
: NEGATE NEGATE ;
: NIP NIP ;
: OF POSTPONE OF ; IMMEDIATE
: ONLY STANDARD 1 SET-ORDER ;
: OPEN-FILE OPEN-FILE ;
: OR OR ;
: ORDER ORDER ;
: OVER OVER ;
: PAD PAD ;
: PAGE PAGE ;
: PARSE PARSE ;
: PICK PICK ;
: POSTPONE POSTPONE POSTPONE ; IMMEDIATE
: PRECISION PRECISION ;
: PREVIOUS PREVIOUS ;
: QUIT QUIT ;
: R/O R/O ;
: R/W R/W ;
: R> POSTPONE R> ; IMMEDIATE
: R@ POSTPONE R@ ; IMMEDIATE
: READ-FILE READ-FILE ;
: READ-LINE READ-LINE ;
: RECURSE POSTPONE RECURSE ; IMMEDIATE
: REFILL REFILL ;
: RENAME-FILE RENAME-FILE ;
: REPEAT POSTPONE REPEAT ; IMMEDIATE
: REPOSITION-FILE REPOSITION-FILE ;
: REPRESENT REPRESENT ;
: RESIZE RESIZE ;
: RESIZE-FILE RESIZE-FILE ;
: RESTORE-INPUT RESTORE-INPUT ;
: ROLL ROLL ;
: ROT ROT ;
: RSHIFT RSHIFT ;
: S" STATE @ IF POSTPONE S" ELSE ['] S" EXECUTE THEN ; IMMEDIATE
: S>D S>D ;
\ SAVE-BUFFERS
: SAVE-INPUT SAVE-INPUT ;
\ SCR
: SEARCH SEARCH ;
: SEARCH-WORDLIST SEARCH-WORDLIST ;
: SEE SEE ;
: SET-CURRENT SET-CURRENT ;
: SET-ORDER SET-ORDER ;
: SET-PRECISION SET-PRECISION ;
: SF! SF! ;
: SF@ SF@ ;
: SFALIGN SFALIGN ;
: SFALIGNED SFALIGNED ;
: SFLOAT+ SFLOAT+ ;
: SFLOATS SFLOATS ;
: SIGN SIGN ;
: SLITERAL POSTPONE SLITERAL ; IMMEDIATE
: SM/REM SM/REM ;
: SOURCE SOURCE ;
: SOURCE-ID SOURCE-ID ;
: SPACE SPACE ;
: SPACES SPACES ;
: STATE STATE ;
: SWAP SWAP ;
: THEN POSTPONE THEN ; IMMEDIATE
: THROW THROW ;
\ THRU
: TIME&DATE TIME&DATE ;
: TO STATE @ IF POSTPONE TO ELSE ['] TO EXECUTE THEN ; IMMEDIATE
: TRUE TRUE ;
: TUCK TUCK ;
: TYPE TYPE ;
: U. U. ;
: U.R U.R ;
: U< U< ;
: U> U> ;
: UM* UM* ;
: UM/MOD UM/MOD ;
: UNLOOP POSTPONE UNLOOP ; IMMEDIATE
: UNTIL POSTPONE UNTIL ; IMMEDIATE
: UNUSED UNUSED ;
\ UPDATE
: VALUE wordstr preserve >r VALUE r> anchorit ;
: VARIABLE wordstr preserve >r VARIABLE r> anchorit ;
: W/O W/O ;
: WHILE POSTPONE WHILE ; IMMEDIATE
: WITHIN WITHIN ;
: WORD WORD ;
: WORDLIST WORDLIST ;
: WORDS WORDS ;
: WRITE-FILE WRITE-FILE ;
: WRITE-LINE WRITE-LINE ;
: XOR XOR ;
: [ POSTPONE [ ; IMMEDIATE
: ['] POSTPONE ['] ; IMMEDIATE
: [CHAR] POSTPONE [CHAR] ; IMMEDIATE
: [COMPILE] POSTPONE [COMPILE] ; IMMEDIATE
: [ELSE] POSTPONE [ELSE] ; IMMEDIATE
: [IF] POSTPONE [IF] ; IMMEDIATE
: [THEN] POSTPONE [THEN] ; IMMEDIATE
: \ POSTPONE \ ; IMMEDIATE
: ] ] ;
forth-wordlist 1 set-order
forth-wordlist set-current
create >countedbuf 512 allot
: >counted ( c-addr1 u -- c-addr )
dup >countedbuf c!
>countedbuf 1+ swap cmove
>countedbuf
;
variable dpl
: NUMBER? ( a u -- d -1 | a u 0 )
OVER C@ [CHAR] - = DUP >R IF 1 /STRING THEN
>R >R 0 DUP R> R> -1 DPL !
BEGIN >NUMBER DUP
WHILE OVER C@ [CHAR] . XOR
IF ROT DROP ROT R> 2DROP 0 EXIT
THEN 1 - DPL ! CHAR+ DPL @
REPEAT 2DROP R> IF DNEGATE THEN -1 ;
: single? dpl @ -1 = ;
\ tags is a linked list of (xt, toc) pairs
\ 0 next
\ 1 xt
\ 2 toc
: discard-word parse-word 2drop ;
map +uniq->ref uniq->ref
: know
parse-word standard search-wordlist if
uniq >r
r@ swap +xt->uniq
s" STD" preserve r@ +uniq->comment
parse-word preserve r> +uniq->ref
else
discard-word
then
discard-word
;
: searchtag ( uniq -- uniq 0 | c-addr u )
uniq->ref dup if drop count then
;
\ s" +" standard search-wordlist drop searchtag .s bye
: find. ( addr -- addr u ) \ u is number of characters before .
0 begin
2dup + c@ [char] . <>
while
1+
repeat
;
\ given a short reference, write the complete url
\ http://forth.sourceforge.net/std/dpans/dpans6.htm#6.2.2182
: url ( c-addr u -- )
s" http://forth.sourceforge.net/std/dpans/dpans" >html
over find. >html
s" .htm#" >html
>html
;
: reference ( uniq -- )
>r
s" <a class=ref href=" >html
r@ searchtag ?dup if
url
else
\ dup xt->fn if drop ." found" cr else drop ." not found" cr then
r@ uniq->fn if
count >html
else
drop ." not found" cr
then
\ dup xt->fn if ." found" cr count >html else drop s" (missing)" >html then
s" #" >html u>html
then
s" title='" >html
r@ uniq->comment if count >html else drop then
s" ' " >html
s" >" >html
r> drop
;
variable ref>in
: freshline ( -- ) \ erase deco, read for fresh line
0 deco maxline 2* cells erase
;
: showline ( -- ) \ write the current line as HTML
s" <code>" >>html
0
#tib @ 0 ?do
i deco @ if
i deco 2@ execute
1+
then
dup 0<> tib i + c@ bl = and if
1- s" </a>" >html
then
tib i + c@
case
bl of s" " >html endof
[char] < of s" <" >html endof
[char] & of s" &" >html endof
tib i + 1 >html
endcase
loop
if
s" </a>" >html
then
s" </code>" >>html
s" <br>" >>html
s" " htmlfile @ write-line throw
;
: fevaluate \ evaluate the TIB
freshline
begin
skipsp
moretib if
>in @ ref>in !
parse-word dup
else
0 0 0
then
while
preserve find
?dup if
over xt->uniq if
['] reference ref>in @ deco 2!
else
drop
then
0> state @ 0= or if
execute
else
compile,
then
else
dup count number? if
rot drop
single? if drop then
state @ if single? if postpone literal else postpone 2literal then then
else
2drop count
>float invert abort" disaster"
state @ if postpone fliteral then
then
then
repeat
2drop
showline
;
variable suffixlen
create suffixbuf 512 allot
: suffix suffixbuf suffixlen @ ;
: +suffix ( caddr u )
tuck suffix + swap cmove suffixlen +! ;
: fs->html
0 suffixlen !
+suffix
s" .html" +suffix
suffix
;
variable sourcefile
: includelink ( c-addr -- )
s" <a class=ref href=" >html
count >html
s" >" >html
;
: doc-included ( c-addr u -- )
\ if filename is in TIB, add helpful link to file
over tib - >r
r@ #tib u< if
2dup fs->html preserve ['] includelink
r@ deco 2!
then
r> drop
htmlfilename >r
htmlfile @ >r
>in @ >r
tib #tib @ preserve >r
0 deco #tib @ 2* cells preserve >r
sourcefile @ >r
2dup fs->html create-html
r/o open-file throw >r
r@ sourcefile !
begin
tib maxline r@ read-line throw
while
#tib ! 0 >IN !
fevaluate
repeat
drop
r> close-file throw
close-html
r> sourcefile !
r> count 0 deco swap cmove
r> count dup #tib ! tib swap cmove
r> >in !
r> htmlfile !
r> to htmlfilename
;
: doc-refill
showline
tib maxline sourcefile @ read-line throw dup if
swap #tib ! 0 >in ! freshline
else
nip
then
;
: getword ( -- a u )
begin
bl word count dup 0=
while
2drop doc-refill true <> abort" Failed to find word"
repeat
;
: get) ( -- a u )
;
: doc-(
begin
[char] ) parse
+ c@ [char] ) <>
while
doc-refill true <> abort" Failed to find )"
repeat
; immediate
: document ( c-addr u -- ) \ document named file
forth-wordlist 1 2>r
standard 1 set-order
standard set-current
included
2r> set-order
forth-wordlist set-current
;
standard set-current
: included doc-included ;
: refill doc-refill ;
: ( postpone doc-( ; immediate
( KNOW FORTH JCB 07:31 11/23/10)
\ All words from the DPANS94 Forth Standard
\ format is
\ KNOW <word> <reference-number> <word-set>
KNOW ! 6.1.0010 CORE
KNOW # 6.1.0030 CORE
KNOW #> 6.1.0040 CORE
KNOW #S 6.1.0050 CORE
KNOW #TIB 6.2.0060 CORE-EXT
KNOW ' 6.1.0070 CORE
KNOW ( 6.1.0080 CORE
KNOW ( 11.6.1.0080 FILE
KNOW (LOCAL) 13.6.1.0086 LOCAL
KNOW * 6.1.0090 CORE
KNOW */ 6.1.0100 CORE
KNOW */MOD 6.1.0110 CORE
KNOW + 6.1.0120 CORE
KNOW +! 6.1.0130 CORE
KNOW +LOOP 6.1.0140 CORE
KNOW , 6.1.0150 CORE
KNOW - 6.1.0160 CORE
KNOW -TRAILING 17.6.1.0170 STRING
KNOW . 6.1.0180 CORE
KNOW ." 6.1.0190 CORE
KNOW .( 6.2.0200 CORE-EXT
KNOW .R 6.2.0210 CORE-EXT
KNOW .S 15.6.1.0220 TOOLS
KNOW / 6.1.0230 CORE
KNOW /MOD 6.1.0240 CORE
KNOW /STRING 17.6.1.0245 STRING
KNOW 0< 6.1.0250 CORE
KNOW 0<> 6.2.0260 CORE-EXT
KNOW 0= 6.1.0270 CORE
KNOW 0> 6.2.0280 CORE-EXT
KNOW 1+ 6.1.0290 CORE
KNOW 1- 6.1.0300 CORE
KNOW 2! 6.1.0310 CORE
KNOW 2* 6.1.0320 CORE
KNOW 2/ 6.1.0330 CORE
KNOW 2>R 6.2.0340 CORE-EXT
KNOW 2@ 6.1.0350 CORE
KNOW 2CONSTANT 8.6.1.0360 DOUBLE
KNOW 2DROP 6.1.0370 CORE
KNOW 2DUP 6.1.0380 CORE
KNOW 2LITERAL 8.6.1.0390 DOUBLE
KNOW 2OVER 6.1.0400 CORE
KNOW 2R> 6.2.0410 CORE-EXT
KNOW 2R@ 6.2.0415 CORE-EXT
KNOW 2ROT 8.6.2.0420 DOUBLE-EXT
KNOW 2SWAP 6.1.0430 CORE
KNOW 2VARIABLE 8.6.1.0440 DOUBLE
KNOW : 6.1.0450 CORE
KNOW :NONAME 6.2.0455 CORE-EXT
KNOW ; 6.1.0460 CORE
KNOW ;CODE 15.6.2.0470 TOOLS-EXT
KNOW < 6.1.0480 CORE
KNOW <# 6.1.0490 CORE
KNOW <> 6.2.0500 CORE-EXT
KNOW = 6.1.0530 CORE
KNOW > 6.1.0540 CORE
KNOW >BODY 6.1.0550 CORE
KNOW >FLOAT 12.6.1.0558 FLOATING
KNOW >IN 6.1.0560 CORE
KNOW >NUMBER 6.1.0570 CORE
KNOW >R 6.1.0580 CORE
KNOW ? 15.6.1.0600 TOOLS
KNOW ?DO 6.2.0620 CORE-EXT
KNOW ?DUP 6.1.0630 CORE
KNOW @ 6.1.0650 CORE
KNOW ABORT 6.1.0670 CORE
KNOW ABORT 9.6.2.0670 EXCEPTION-EXT
KNOW ABORT" 6.1.0680 CORE
KNOW ABORT" 9.6.2.0680 EXCEPTION-EXT
KNOW ABS 6.1.0690 CORE
KNOW ACCEPT 6.1.0695 CORE
KNOW AGAIN 6.2.0700 CORE-EXT
KNOW AHEAD 15.6.2.0702 TOOLS-EXT
KNOW ALIGN 6.1.0705 CORE
KNOW ALIGNED 6.1.0706 CORE
KNOW ALLOCATE 14.6.1.0707 MEMORY
KNOW ALLOT 6.1.0710 CORE
KNOW ALSO 16.6.2.0715 SEARCH-EXT
KNOW AND 6.1.0720 CORE
KNOW ASSEMBLER 15.6.2.0740 TOOLS-EXT
KNOW AT-XY 10.6.1.0742 FACILITY
KNOW BASE 6.1.0750 CORE
KNOW BEGIN 6.1.0760 CORE
KNOW BIN 11.6.1.0765 FILE
KNOW BL 6.1.0770 CORE
KNOW BLANK 17.6.1.0780 STRING
KNOW BLK 7.6.1.0790 BLOCK
KNOW BLOCK 7.6.1.0800 BLOCK
KNOW BUFFER 7.6.1.0820 BLOCK
KNOW BYE 15.6.2.0830 TOOLS-EXT
KNOW C! 6.1.0850 CORE
KNOW C" 6.2.0855 CORE-EXT
KNOW C, 6.1.0860 CORE
KNOW C@ 6.1.0870 CORE
KNOW CASE 6.2.0873 CORE-EXT
KNOW CATCH 9.6.1.0875 EXCEPTION
KNOW CELL+ 6.1.0880 CORE
KNOW CELLS 6.1.0890 CORE
KNOW CHAR 6.1.0895 CORE
KNOW CHAR+ 6.1.0897 CORE
KNOW CHARS 6.1.0898 CORE
KNOW CLOSE-FILE 11.6.1.0900 FILE
KNOW CMOVE 17.6.1.0910 STRING
KNOW CMOVE> 17.6.1.0920 STRING
KNOW CODE 15.6.2.0930 TOOLS-EXT
KNOW COMPARE 17.6.1.0935 STRING
KNOW COMPILE, 6.2.0945 CORE-EXT
KNOW CONSTANT 6.1.0950 CORE
KNOW CONVERT 6.2.0970 CORE-EXT
KNOW COUNT 6.1.0980 CORE
KNOW CR 6.1.0990 CORE
KNOW CREATE 6.1.1000 CORE
KNOW CREATE-FILE 11.6.1.1010 FILE
KNOW CS-PICK 15.6.2.1015 TOOLS-EXT
KNOW CS-ROLL 15.6.2.1020 TOOLS-EXT
KNOW D+ 8.6.1.1040 DOUBLE
KNOW D- 8.6.1.1050 DOUBLE
KNOW D. 8.6.1.1060 DOUBLE
KNOW D.R 8.6.1.1070 DOUBLE
KNOW D0< 8.6.1.1075 DOUBLE
KNOW D0= 8.6.1.1080 DOUBLE
KNOW D2* 8.6.1.1090 DOUBLE
KNOW D2/ 8.6.1.1100 DOUBLE
KNOW D< 8.6.1.1110 DOUBLE
KNOW D= 8.6.1.1120 DOUBLE
KNOW D>F 12.6.1.1130 FLOATING
KNOW D>S 8.6.1.1140 DOUBLE
KNOW DABS 8.6.1.1160 DOUBLE
KNOW DECIMAL 6.1.1170 CORE
KNOW DEFINITIONS 16.6.1.1180 SEARCH
KNOW DELETE-FILE 11.6.1.1190 FILE
KNOW DEPTH 6.1.1200 CORE
KNOW DF! 12.6.2.1203 FLOATING-EXT
KNOW DF@ 12.6.2.1204 FLOATING-EXT
KNOW DFALIGN 12.6.2.1205 FLOATING-EXT
KNOW DFALIGNED 12.6.2.1207 FLOATING-EXT
KNOW DFLOAT+ 12.6.2.1208 FLOATING-EXT
KNOW DFLOATS 12.6.2.1209 FLOATING-EXT
KNOW DMAX 8.6.1.1210 DOUBLE
KNOW DMIN 8.6.1.1220 DOUBLE
KNOW DNEGATE 8.6.1.1230 DOUBLE
KNOW DO 6.1.1240 CORE
KNOW DOES> 6.1.1250 CORE
KNOW DROP 6.1.1260 CORE
KNOW DU< 8.6.2.1270 DOUBLE-EXT
KNOW DUMP 15.6.1.1280 TOOLS
KNOW DUP 6.1.1290 CORE
KNOW EDITOR 15.6.2.1300 TOOLS-EXT
KNOW EKEY 10.6.2.1305 FACILITY-EXT
KNOW EKEY>CHAR 10.6.2.1306 FACILITY-EXT
KNOW EKEY? 10.6.2.1307 FACILITY-EXT
KNOW ELSE 6.1.1310 CORE
KNOW EMIT 6.1.1320 CORE
KNOW EMIT? 10.6.2.1325 FACILITY-EXT
KNOW EMPTY-BUFFERS 7.6.2.1330 BLOCK-EXT
KNOW ENDCASE 6.2.1342 CORE-EXT
KNOW ENDOF 6.2.1343 CORE-EXT
KNOW ENVIRONMENT? 6.1.1345 CORE
KNOW ERASE 6.2.1350 CORE-EXT
KNOW EVALUATE 6.1.1360 CORE
KNOW EVALUATE 7.6.1.1360 BLOCK
KNOW EXECUTE 6.1.1370 CORE
KNOW EXIT 6.1.1380 CORE
KNOW EXPECT 6.2.1390 CORE-EXT
KNOW F! 12.6.1.1400 FLOATING
KNOW F* 12.6.1.1410 FLOATING
KNOW F** 12.6.2.1415 FLOATING-EXT
KNOW F+ 12.6.1.1420 FLOATING
KNOW F- 12.6.1.1425 FLOATING
KNOW F. 12.6.2.1427 FLOATING-EXT
KNOW F/ 12.6.1.1430 FLOATING
KNOW F0< 12.6.1.1440 FLOATING
KNOW F0= 12.6.1.1450 FLOATING
KNOW F< 12.6.1.1460 FLOATING
KNOW F>D 12.6.1.1470 FLOATING
KNOW F@ 12.6.1.1472 FLOATING
KNOW FABS 12.6.2.1474 FLOATING-EXT
KNOW FACOS 12.6.2.1476 FLOATING-EXT
KNOW FACOSH 12.6.2.1477 FLOATING-EXT
KNOW FALIGN 12.6.1.1479 FLOATING
KNOW FALIGNED 12.6.1.1483 FLOATING
KNOW FALOG 12.6.2.1484 FLOATING-EXT
KNOW FALSE 6.2.1485 CORE-EXT
KNOW FASIN 12.6.2.1486 FLOATING-EXT
KNOW FASINH 12.6.2.1487 FLOATING-EXT
KNOW FATAN 12.6.2.1488 FLOATING-EXT
KNOW FATAN2 12.6.2.1489 FLOATING-EXT
KNOW FATANH 12.6.2.1491 FLOATING-EXT
KNOW FCONSTANT 12.6.1.1492 FLOATING
KNOW FCOS 12.6.2.1493 FLOATING-EXT
KNOW FCOSH 12.6.2.1494 FLOATING-EXT
KNOW FDEPTH 12.6.1.1497 FLOATING
KNOW FDROP 12.6.1.1500 FLOATING
KNOW FDUP 12.6.1.1510 FLOATING
KNOW FE. 12.6.2.1513 FLOATING-EXT
KNOW FEXP 12.6.2.1515 FLOATING-EXT
KNOW FEXPM1 12.6.2.1516 FLOATING-EXT
KNOW FILE-POSITION 11.6.1.1520 FILE
KNOW FILE-SIZE 11.6.1.1522 FILE
KNOW FILE-STATUS 11.6.2.1524 FILE-EXT
KNOW FILL 6.1.1540 CORE
KNOW FIND 6.1.1550 CORE
KNOW FIND 16.6.1.1550 SEARCH
KNOW FLITERAL 12.6.1.1552 FLOATING
KNOW FLN 12.6.2.1553 FLOATING-EXT
KNOW FLNP1 12.6.2.1554 FLOATING-EXT
KNOW FLOAT+ 12.6.1.1555 FLOATING
KNOW FLOATS 12.6.1.1556 FLOATING
KNOW FLOG 12.6.2.1557 FLOATING-EXT
KNOW FLOOR 12.6.1.1558 FLOATING
KNOW FLUSH 7.6.1.1559 BLOCK
KNOW FLUSH-FILE 11.6.2.1560 FILE-EXT
KNOW FM/MOD 6.1.1561 CORE
KNOW FMAX 12.6.1.1562 FLOATING
KNOW FMIN 12.6.1.1565 FLOATING
KNOW FNEGATE 12.6.1.1567 FLOATING
KNOW FORGET 15.6.2.1580 TOOLS-EXT
KNOW FORTH 16.6.2.1590 SEARCH-EXT
KNOW FORTH-WORDLIST 16.6.1.1595 SEARCH
KNOW FOVER 12.6.1.1600 FLOATING
KNOW FREE 14.6.1.1605 MEMORY
KNOW FROT 12.6.1.1610 FLOATING
KNOW FROUND 12.6.1.1612 FLOATING
KNOW FS. 12.6.2.1613 FLOATING-EXT
KNOW FSIN 12.6.2.1614 FLOATING-EXT
KNOW FSINCOS 12.6.2.1616 FLOATING-EXT
KNOW FSINH 12.6.2.1617 FLOATING-EXT
KNOW FSQRT 12.6.2.1618 FLOATING-EXT
KNOW FSWAP 12.6.1.1620 FLOATING
KNOW FTAN 12.6.2.1625 FLOATING-EXT
KNOW FTANH 12.6.2.1626 FLOATING-EXT
KNOW FVARIABLE 12.6.1.1630 FLOATING
KNOW F~ 12.6.2.1640 FLOATING-EXT
KNOW GET-CURRENT 16.6.1.1643 SEARCH
KNOW GET-ORDER 16.6.1.1647 SEARCH
KNOW HERE 6.1.1650 CORE
KNOW HEX 6.2.1660 CORE-EXT
KNOW HOLD 6.1.1670 CORE
KNOW I 6.1.1680 CORE
KNOW IF 6.1.1700 CORE
KNOW IMMEDIATE 6.1.1710 CORE
KNOW INCLUDE-FILE 11.6.1.1717 FILE
KNOW INCLUDED 11.6.1.1718 FILE
KNOW INVERT 6.1.1720 CORE
KNOW J 6.1.1730 CORE
KNOW KEY 6.1.1750 CORE
KNOW KEY? 10.6.1.1755 FACILITY
KNOW LEAVE 6.1.1760 CORE
KNOW LIST 7.6.2.1770 BLOCK-EXT
KNOW LITERAL 6.1.1780 CORE
KNOW LOAD 7.6.1.1790 BLOCK
KNOW LOCALS| 13.6.2.1795 LOCAL-EXT
KNOW LOOP 6.1.1800 CORE
KNOW LSHIFT 6.1.1805 CORE
KNOW M* 6.1.1810 CORE
KNOW M*/ 8.6.1.1820 DOUBLE
KNOW M+ 8.6.1.1830 DOUBLE
KNOW MARKER 6.2.1850 CORE-EXT
KNOW MAX 6.1.1870 CORE
KNOW MIN 6.1.1880 CORE
KNOW MOD 6.1.1890 CORE
KNOW MOVE 6.1.1900 CORE
KNOW MS 10.6.2.1905 FACILITY-EXT
KNOW NEGATE 6.1.1910 CORE
KNOW NIP 6.2.1930 CORE-EXT
KNOW OF 6.2.1950 CORE-EXT
KNOW ONLY 16.6.2.1965 SEARCH-EXT
KNOW OPEN-FILE 11.6.1.1970 FILE
KNOW OR 6.1.1980 CORE
KNOW ORDER 16.6.2.1985 SEARCH-EXT
KNOW OVER 6.1.1990 CORE
KNOW PAD 6.2.2000 CORE-EXT
KNOW PAGE 10.6.1.2005 FACILITY
KNOW PARSE 6.2.2008 CORE-EXT
KNOW PICK 6.2.2030 CORE-EXT
KNOW POSTPONE 6.1.2033 CORE
KNOW PRECISION 12.6.2.2035 FLOATING-EXT
KNOW PREVIOUS 16.6.2.2037 SEARCH-EXT
KNOW QUERY 6.2.2040 CORE-EXT
KNOW QUIT 6.1.2050 CORE
KNOW R/O 11.6.1.2054 FILE
KNOW R/W 11.6.1.2056 FILE
KNOW R> 6.1.2060 CORE
KNOW R@ 6.1.2070 CORE
KNOW READ-FILE 11.6.1.2080 FILE
KNOW READ-LINE 11.6.1.2090 FILE
KNOW RECURSE 6.1.2120 CORE
KNOW REFILL 6.2.2125 CORE-EXT
KNOW REFILL 7.6.2.2125 BLOCK-EXT
KNOW REFILL 11.6.2.2125 FILE-EXT
KNOW RENAME-FILE 11.6.2.2130 FILE-EXT
KNOW REPEAT 6.1.2140 CORE
KNOW REPOSITION-FILE 11.6.1.2142 FILE
KNOW REPRESENT 12.6.1.2143 FLOATING
KNOW RESIZE 14.6.1.2145 MEMORY
KNOW RESIZE-FILE 11.6.1.2147 FILE
KNOW RESTORE-INPUT 6.2.2148 CORE-EXT
KNOW ROLL 6.2.2150 CORE-EXT
KNOW ROT 6.1.2160 CORE
KNOW RSHIFT 6.1.2162 CORE
KNOW S" 6.1.2165 CORE
KNOW S" 11.6.1.2165 FILE
KNOW S>D 6.1.2170 CORE
KNOW SAVE-BUFFERS 7.6.1.2180 BLOCK
KNOW SAVE-INPUT 6.2.2182 CORE-EXT
KNOW SCR 7.6.2.2190 BLOCK-EXT
KNOW SEARCH 17.6.1.2191 STRING
KNOW SEARCH-WORDLIST 16.6.1.2192 SEARCH
KNOW SEE 15.6.1.2194 TOOLS
KNOW SET-CURRENT 16.6.1.2195 SEARCH
KNOW SET-ORDER 16.6.1.2197 SEARCH
KNOW SET-PRECISION 12.6.2.2200 FLOATING-EXT
KNOW SF! 12.6.2.2202 FLOATING-EXT
KNOW SF@ 12.6.2.2203 FLOATING-EXT
KNOW SFALIGN 12.6.2.2204 FLOATING-EXT
KNOW SFALIGNED 12.6.2.2206 FLOATING-EXT
KNOW SFLOAT+ 12.6.2.2207 FLOATING-EXT
KNOW SFLOATS 12.6.2.2208 FLOATING-EXT
KNOW SIGN 6.1.2210 CORE
KNOW SLITERAL 17.6.1.2212 STRING
KNOW SM/REM 6.1.2214 CORE
KNOW SOURCE 6.1.2216 CORE
KNOW SOURCE-ID 6.2.2218 CORE-EXT
KNOW SOURCE-ID 11.6.1.2218 FILE
KNOW SPACE 6.1.2220 CORE
KNOW SPACES 6.1.2230 CORE
KNOW SPAN 6.2.2240 CORE-EXT
KNOW STATE 6.1.2250 CORE
KNOW STATE 15.6.2.2250 TOOLS-EXT
KNOW SWAP 6.1.2260 CORE
KNOW THEN 6.1.2270 CORE
KNOW THROW 9.6.1.2275 EXCEPTION
KNOW THRU 7.6.2.2280 BLOCK-EXT
KNOW TIB 6.2.2290 CORE-EXT
KNOW TIME&DATE 10.6.2.2292 FACILITY-EXT
KNOW TO 6.2.2295 CORE-EXT
KNOW TO 13.6.1.2295 LOCAL
KNOW TRUE 6.2.2298 CORE-EXT
KNOW TUCK 6.2.2300 CORE-EXT
KNOW TYPE 6.1.2310 CORE
KNOW U. 6.1.2320 CORE
KNOW U.R 6.2.2330 CORE-EXT
KNOW U< 6.1.2340 CORE
KNOW U> 6.2.2350 CORE-EXT
KNOW UM* 6.1.2360 CORE
KNOW UM/MOD 6.1.2370 CORE
KNOW UNLOOP 6.1.2380 CORE
KNOW UNTIL 6.1.2390 CORE
KNOW UNUSED 6.2.2395 CORE-EXT
KNOW UPDATE 7.6.1.2400 BLOCK
KNOW VALUE 6.2.2405 CORE-EXT
KNOW VARIABLE 6.1.2410 CORE
KNOW W/O 11.6.1.2425 FILE
KNOW WHILE 6.1.2430 CORE
KNOW WITHIN 6.2.2440 CORE-EXT
KNOW WORD 6.1.2450 CORE
KNOW WORDLIST 16.6.1.2460 SEARCH
KNOW WORDS 15.6.1.2465 TOOLS
KNOW WRITE-FILE 11.6.1.2480 FILE
KNOW WRITE-LINE 11.6.1.2485 FILE
KNOW XOR 6.1.2490 CORE
KNOW [ 6.1.2500 CORE
KNOW ['] 6.1.2510 CORE
KNOW [CHAR] 6.1.2520 CORE
KNOW [COMPILE] 6.2.2530 CORE-EXT
KNOW [ELSE] 15.6.2.2531 TOOLS-EXT
KNOW [IF] 15.6.2.2532 TOOLS-EXT
KNOW [THEN] 15.6.2.2533 TOOLS-EXT
KNOW \ 6.2.2535 CORE-EXT
KNOW \ 7.6.2.2535 BLOCK-EXT
KNOW ] 6.1.2540 CORE
forth-wordlist set-current