diff view
color-dirk4d.f color-brad8.f
end of diff view
1. 0 [IF]
2.    Forth to HTML converter
3. 
1. 0 [IF]
2.    Forth to HTML converter
3. 
4.    Main contributors: Brad Eckert, Ed Beroset & Dirk Busch
5.    Revision 4d. See bottom for revision history.
4.    Main contributors:
5.       Brad Eckert       brad1NO@SPAMtinyboot.com            Original author
6.       Ed Beroset      berosetNO@SPAMmindspring.com          Fixed HTML bugs
7.       Dirk Busch         dirkNO@SPAMschneider-busch.de      Added some features
8. 
9.    Revision 7. See bottom for revision history.
6. 
7.    This ANS Forth program is public domain. It translates ANS Forth to colorized
8.    HTML. Hyperlinks to the ANS Forth draft standard are inserted for all ANS
9.    standard words. Hyperlinks to user definitions are included.
10. 
11.    Usage: HTML FileName    Generates HTML file from Forth source.
12.                            Output file is Filename with .HTM extension.
13.           Q [forth code]   Outputs HTML for 1 line to screen
14. 
10. 
11.    This ANS Forth program is public domain. It translates ANS Forth to colorized
12.    HTML. Hyperlinks to the ANS Forth draft standard are inserted for all ANS
13.    standard words. Hyperlinks to user definitions are included.
14. 
15.    Usage: HTML FileName    Generates HTML file from Forth source.
16.                            Output file is Filename with .HTM extension.
17.           Q [forth code]   Outputs HTML for 1 line to screen
18. 
15.    Q is used for debugging. You can use "linenum ?" to show the line number if an
16.    ABORT occurs. The HTML is about 10 times as big as the Forth source because of
19.    Q is for debugging. You can use "linenum ?" to show the line number if an
20.    ABORT occurs. The HTML is about 7 times as big as the Forth source because of
17.    all the links, color changes and whitespace.
18. 
21.    all the links, color changes and whitespace.
22. 
19.    INCLUDEd files produce corresponding HTML pages. Most browsers get severely
20.    bogged down with large files. If you're converting a large Forth program to
21.    HTML, try to keep the source files under 500 lines each by splitting long
22.    source into multiple INCLUDE files.
23.    INCLUDEd files produce corresponding HTML pages. If a file can't be found,
24.    it is skipped. Otherwise it is nested.
23. 
24.    When you INCLUDE this file some redefinition complaints may occur. That's
25. 
26.    When you INCLUDE this file some redefinition complaints may occur. That's
25.    okay since you won't be loading an application on top of this.
27.    okay since you won't be loading an application on top of this. You can make
28.    a text version of this file by cut-and-paste to a text editor. The browser's
29.    save-as-text function will work too. This file is only 80 columns wide. Note
30.    that the browser may wrap after 80 columns when saving as a text file.
26. 
27.    Users of specific Forths can extend the hyperlink table to point to words
28.    in a glossary for that particular Forth.
31. 
32.    Users of specific Forths can extend the hyperlink table to point to words
33.    in a glossary for that particular Forth.
 
34. 
35.    You can change the following bold/italic/nestable options:
29. [THEN]
30. 
31. ONLY FORTH ALSO DEFINITIONS
32. 
33. \ ------------------------------------------------------------------------------
34. \ Configuration - You can change the options:
36. [THEN]
37. 
38. ONLY FORTH ALSO DEFINITIONS
39. 
40. \ ------------------------------------------------------------------------------
41. \ Configuration - You can change the options:
35. 0 VALUE bold                                      \ T if bold text
42. 1 VALUE bold                                      \ T if bold text
36. 1 VALUE italic                                    \ T if italic comments
37. 1 VALUE nestable                                  \ T if INCLUDE nested files
43. 1 VALUE italic                                    \ T if italic comments
44. 1 VALUE nestable                                  \ T if INCLUDE nested files
38. 1 VALUE linksource                                \ T link to the org. file /4a/
39. create  dpanspath ," .\win32forth-defs\"          \ path to the ANS-Files   /4a/
40. create  footer    ," "                            \ text to output at       /4a/
45. 1 VALUE linksource                                \ T link to the org. file /7/
46. CREATE  dpanspath ," .\"                          \ path to the ANS-Files   /7/
47. CREATE  copyright ," "                            \ copyright to output at  /7/
41.                                                   \ the bottom of the HTML-file
48.                                                   \ the bottom of the HTML-file
 
49. 0 CONSTANT scheme ( Color scheme )                \ 0 = light background, 1=dark
42. \ ------------------------------------------------------------------------------
43. 
44. : undefined ( <name> -- f ) BL WORD FIND NIP 0= ;
45. undefined C+!    [IF] : C+! SWAP OVER C@ + SWAP C! ;                      [THEN]
46. undefined BOUNDS [IF] : BOUNDS OVER + SWAP ;                              [THEN]
50. \ ------------------------------------------------------------------------------
51. 
52. : undefined ( <name> -- f ) BL WORD FIND NIP 0= ;
53. undefined C+!    [IF] : C+! SWAP OVER C@ + SWAP C! ;                      [THEN]
54. undefined BOUNDS [IF] : BOUNDS OVER + SWAP ;                              [THEN]
47. undefined SCAN   [IF] : SCAN
55. undefined SCAN   [IF] : SCAN            ( addr len char -- addr' len' )
48.    >R
49.    BEGIN DUP WHILE OVER C@ R@ <> WHILE 1 /STRING REPEAT THEN
50.    R> DROP ;                                                              [THEN]
56.    >R
57.    BEGIN DUP WHILE OVER C@ R@ <> WHILE 1 /STRING REPEAT THEN
58.    R> DROP ;                                                              [THEN]
51. undefined SKIP   [IF] : SKIP
59. undefined SKIP   [IF] : SKIP            ( addr len char -- addr' len' )
52.    >R
53.    BEGIN DUP WHILE OVER C@ R@ = WHILE 1 /STRING REPEAT THEN
54.    R> DROP ;                                                              [THEN]
55. undefined NOOP   [IF] : NOOP ;                                            [THEN]
56. undefined +PLACE [IF] : +PLACE 2DUP 2>R COUNT CHARS + SWAP MOVE 2R> C+! ; [THEN]
57. undefined PLACE  [IF] : PLACE  0 OVER C! +PLACE ;                         [THEN]
60.    >R
61.    BEGIN DUP WHILE OVER C@ R@ = WHILE 1 /STRING REPEAT THEN
62.    R> DROP ;                                                              [THEN]
63. undefined NOOP   [IF] : NOOP ;                                            [THEN]
64. undefined +PLACE [IF] : +PLACE 2DUP 2>R COUNT CHARS + SWAP MOVE 2R> C+! ; [THEN]
65. undefined PLACE  [IF] : PLACE  0 OVER C! +PLACE ;                         [THEN]
58. undefined FDROP  [IF] : FDROP ;                                           [THEN]
66. undefined FDROP  [IF] : FDROP ;         ( no floating point? fake it )    [THEN]
59. undefined >FLOAT [IF] : >FLOAT DROP C@ [CHAR] 0 [CHAR] 9 1+ WITHIN ;      [THEN]
67. undefined >FLOAT [IF] : >FLOAT DROP C@ [CHAR] 0 [CHAR] 9 1+ WITHIN ;      [THEN]
 
68. undefined UPC    [IF] : UPC             ( convert char to upper case )
69.    DUP [CHAR] a [CHAR] z 1+ WITHIN AND IF 32 - THEN ;                     [THEN]
60. 
61. 0 VALUE outf                                    \ output to file
62. 1 VALUE screen-only                             \ screen is for testing
70. 
71. 0 VALUE outf                                    \ output to file
72. 1 VALUE screen-only                             \ screen is for testing
63. : werr     ( n -- )      ABORT" Error writing file" ;
64. : out      ( a len -- )  screen-only IF TYPE    ELSE outf WRITE-FILE werr THEN ;
65. : outln    ( a len -- )  screen-only IF TYPE CR ELSE outf WRITE-LINE werr THEN ;
66. : ,$       ( a len -- )  DUP C, BOUNDS ?DO I C@ C, LOOP ; \ text to dictionary
67. : text     ( <text> -- ) -1 WORD COUNT -TRAILING ,$ ;
68. : boiler   ( addr -- )   BEGIN COUNT DUP WHILE 2DUP + >R outln R> REPEAT 2DROP ;
69. : html-num ( n -- )      BASE @ >R 0 HEX <# # # # # # # #> out R> BASE ! ;
73. : werr  ABORT" Error writing file" ;
74. : out   screen-only IF TYPE    ELSE outf WRITE-FILE werr THEN ;
75. : outln screen-only IF TYPE CR ELSE outf WRITE-LINE werr THEN ;
70. 
76. 
71. \ create a named text string terminated by char
72. \ when executed, emits the named text using out
73. : namedtext ( char <name> <text> -- )
74.    CREATE WORD COUNT BL SKIP -TRAILING ,$ \ /4c/
75.    DOES> COUNT out ;
76. 
77. \ new and improved strings are now named
78.    CHAR ! namedtext _<a_href="   <a href="!
79.    CHAR ! namedtext _<a_href="#x <a href="#x!
80.    CHAR ! namedtext _<a_name="x  <a name="x!
81. 
82.    CHAR ! namedtext <span_style="color:# <span style="color:#!
83.    CHAR ! namedtext </span>      </span>!
84.    CHAR ! namedtext <hr>         <hr />!
85.    CHAR ! namedtext </hr>        </hr>!
86.    CHAR ! namedtext <h1>         <h1>!
87.    CHAR ! namedtext </h1>        </h1>!
88.    CHAR ! namedtext <h4>         <h4 style="color:black">!
89.    CHAR ! namedtext </h4>        </h4>!
90.    CHAR ! namedtext <html>       <html>!
91.    CHAR ! namedtext </html>      </html>!
92.    CHAR ! namedtext <head>       <head>!
93.    CHAR ! namedtext </head>      </head>!
94.    CHAR ! namedtext <title>      <title>!
95.    CHAR ! namedtext </title>     </title>!
96.    CHAR ! namedtext <body>       <body>!
97.    CHAR ! namedtext </body>      </body>!
98.    CHAR ! namedtext <p>          <p>!
99.    CHAR ! namedtext </p>         </p>!
100.    CHAR ! namedtext <br>         <br />
101.    CHAR ! namedtext ">           ">!
77. WORDLIST CONSTANT hyperlinks                    \ list of hyperlinks
78. WORDLIST CONSTANT superlinks                    \ hyperlinks that can't change
102. 
103. VARIABLE attrib
79. 
80. VARIABLE attrib
104. : <a_href="   ( -- )  _<a_href="   1 attrib ! ;
105. : <a_href="#x ( -- )  _<a_href="#x 1 attrib ! ;
106. : <a_name="x  ( -- )  _<a_name="x  1 attrib ! ;
107. : </a>        ( -- )  attrib @ IF s" </a>" out 0 attrib ! THEN ;
108. : <i>         ( -- )  italic IF s" <i>" out THEN ;
109. : </i>        ( -- )  italic IF s" </i>" out THEN ;
110. : <b>         ( -- )  bold IF s" <b>" out THEN ;
111. : </b>        ( -- )  bold IF s" </b>" out THEN ;
81. : /a      ( -- )         attrib @ IF S" </a>" out THEN 0 attrib ! ;
82. : ,$      ( a len -- )   DUP C, BOUNDS ?DO I C@ C, LOOP ; \ text to dictionary
83. : ,|      ( <text> -- )  [CHAR] | WORD COUNT -TRAILING ,$ ;
84. : line    ( a line# -- ) 0 ?DO COUNT + LOOP COUNT out ;   \ output one string
85. : boiler  ( addr -- )    BEGIN COUNT DUP WHILE 2DUP + >R outln R> REPEAT 2DROP ;
86. : ital(   ( -- )         italic IF S" <i>" out THEN ;
87. : )ital   ( -- )         italic IF S" </i>" out THEN ;
112. 
88. 
 
89. CREATE misctext                                 \ various attribute strings
90.    ,| <a href="                                                                |
91.    ,| <a name="x                                                               |
92.    ,| ">                                                                       |
93.    ,| <a href="#x                                                              |
94.    ,| ">                                                                       |
95.    ,| <span style="color:#                                                     |
96.    ,| <hr /><h1>                                                               |
97.    ,| </h1><hr /><p>                                                           |
98.    ,| </span>                                                                  |
99.    ,| </a>                                                                     |
100.    0 C,
101. 
102. VARIABLE color                                  \ current color
113. VARIABLE infont                                 \ within <font> tag
103. VARIABLE infont                                 \ within <font> tag
114. : fontcolor ( color -- )                        \ change font color
115.    1 infont !
116.    <span_style="color:#   html-num   "> ;
 
117. 
104. 
118. : closefont ( -- )                              \ colse <font> tag
119.    infont @ IF </span> 0 infont ! THEN ;
105. : fontcolor ( color -- ) BASE @ >R              \ change font color
106.    1 infont !
107.    misctext 5 line 0 HEX <# # # # # # # #> out
108.    misctext 2 line       R> BASE ! ;
120. 
109. 
121. VARIABLE color                                  \ current color
122. : fcol ( color <name> -- )                      \ define a font color
110. : col ( color <name> -- )                       \ define a font color
123.    CREATE , DOES> @ color ! ;
124. 
125. HEX
111.    CREATE , DOES> @ color ! ;
112. 
113. HEX
126. 808080 fcol unknown
127. 008000 fcol commentary
128. CC0000 fcol numeric
129. 990080 fcol values
130. 000000 fcol userwords
131. 009999 fcol userdefiner
132. CC00CC fcol variables
133. 0000FF fcol core_ws
134. 0000FF fcol core_ext_ws
135. 0000FF fcol block_ws
136. 0000FF fcol double_ws
137. 0000FF fcol exception_ws
138. 0000FF fcol facilities_ws
139. 0000FF fcol file_ws
140. 0000FF fcol fp_ws
141. 0000FF fcol local_ws
142. 0000FF fcol malloc_ws
143. 0000FF fcol progtools_ws
144. 0000FF fcol searchord_ws
145. 0000FF fcol string_ws
114. scheme 0 = [IF]                                 \ light background
115.    808080 col unknown
116.    008000 col commentary
117.    990000 col numeric
118.    FF0000 col errors
119.    990080 col values
120.    000000 col userwords
121.    009999 col userdefiner
122.    CC00CC col variables
123.    0000FF col core_ws                           \ core is slightly lighter blue
124.    0000FF col core_ext_ws
125.    0000FF col block_ws
126.    0000FF col double_ws
127.    0000FF col exception_ws
128.    0000FF col facilities_ws
129.    0000FF col file_ws
130.    0000FF col fp_ws
131.    0000FF col local_ws
132.    0000FF col malloc_ws
133.    0000FF col progtools_ws
134.    0000FF col searchord_ws
135.    0000FF col string_ws
136. [ELSE]                                          \ black background
137.    808080 col unknown
138.    00FF00 col commentary
139.    FF8080 col numeric
140.    FF0000 col errors
141.    FF00FF col values
142.    FFFFFF col userwords
143.    00FFFF col userdefiner
144.    FF80FF col variables
145.    8080FF col core_ws
146.    8080FF col core_ext_ws
147.    0000FF col block_ws
148.    0000FF col double_ws
149.    0000FF col exception_ws
150.    0000FF col facilities_ws
151.    0000FF col file_ws
152.    0000FF col fp_ws
153.    0000FF col local_ws
154.    0000FF col malloc_ws
155.    0000FF col progtools_ws
156.    0000FF col searchord_ws
157.    0000FF col string_ws
158. [THEN]
146. DECIMAL
147. 
159. DECIMAL
160. 
148. HEX
161. CREATE begin_header                             \ begin of HTML file part 1
162.    ,| <?xml version="1.0"?>                                                    |
163.    ,| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"                 |
164.    ,|     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">                 |
165.    ,| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">      |
166.    ,| <head>                                                                   |
167.    ,| <meta http-equiv="Content-Type" content="text/xml; charset=iso-8859-1" />|
168.    ,| <meta name="GENERATOR" content="Forth2HTML 0.8" />                       |
169.    ,| <style type="text/css">                                                  |
170. scheme 0 = [IF] ,| body {background: #FFFFEE;}  | [THEN]  \ light background
171. scheme 1 = [IF] ,| body {background: #000000;}  | [THEN]  \ black background
172. scheme 0 = [IF] ,| h1 {color: #000000;}         | [THEN]
173. scheme 1 = [IF] ,| h1 {color: #FFFFFF;}         | [THEN]
174.    ,| p {font-family: monospace;}                                              |
175.    ,| a {text-decoration:none;}                                                |
176.    ,| </style>                                                                 |
177.    ,| <title>                                                                  |
178.    0 C,
179. 
180. \ body defaults: the most common link color (blue) is made the default color
181. \ the most common plain text color (green) is made default.
182. 
183. CREATE mid_header                               \ begin of HTML file part 2
184.    ,| </title></head>                                                          |
185.    ,| <body>                                                                   |
186.    0 C,
187. 
188. CREATE end_header_part1                         \ end of HTML file part 1 /7/
189.    ,| <hr />                                                                   |
190.    ,| <h4 style="color:black">                                                 |
191.    0 C,
192. 
193. CREATE end_header_part2                         \ end of HTML file part 2 /8/
194.    ,| <p><a href="http://www.tinyboot.com/ANS/color.htm"><font color="#C0C0C0">|
195.    ,| HTMLized by <u>Forth2HTML</u> ver 0.8</font></a></p>                     |
196.    ,| </h4>                                                                    |
197.    ,| </body></html>                                                           |
198.    0 C,
199. 
200. 
149. : setcolor ( -- )                               \ select next color
201. : setcolor ( -- )                               \ select next color
150.    attrib @ 1 = color @ 0000FF = AND 0=         \ blue link: don't color
151.    DROP TRUE                                    \ /4/ vlinks are still purple
152.    IF color @ fontcolor THEN ;
153. DECIMAL
202.    color @ fontcolor ;
203. 
204. : closefont ( -- )
205.    infont @ IF
206.    misctext 8 line 0 infont ! THEN ;
207.     
154. 
155. VARIABLE bltally
156. : outh    ( a n -- )                            \ HTMLized text output
157.    999 bltally !
158.    BOUNDS ?DO I C@ CASE
159.       [CHAR] & OF S" &amp;"     out ENDOF
160.       [CHAR] < OF S" &lt;"      out ENDOF
161.       [CHAR] > OF S" &gt;"      out ENDOF
162.       [CHAR] " OF S" &quot;"    out ENDOF
208. 
209. VARIABLE bltally
210. : outh    ( a n -- )                            \ HTMLized text output
211.    999 bltally !
212.    BOUNDS ?DO I C@ CASE
213.       [CHAR] & OF S" &amp;"     out ENDOF
214.       [CHAR] < OF S" &lt;"      out ENDOF
215.       [CHAR] > OF S" &gt;"      out ENDOF
216.       [CHAR] " OF S" &quot;"    out ENDOF
163.       [CHAR]  OF S" &copy;"    out ENDOF       \ /4a/
217.       [CHAR]  OF S" &copy;"    out ENDOF       \ /7/
164.       BL       OF bltally @ 0= IF S"  " ELSE S" &nbsp;" THEN out
165.                 1 bltally +!     ENDOF
166.       I 1 out   0 bltally !
167.    ENDCASE LOOP ;
168. 
169. : outhattr  ( a n -- )                          \ HTMLized text output
170.    BOUNDS ?DO I C@ CASE
171.       [CHAR] & OF S" amp"       out ENDOF
172.       [CHAR] < OF S" lt"        out ENDOF
173.       [CHAR] > OF S" gt"        out ENDOF
174.       [CHAR] " OF S" quot"      out ENDOF
175.       [CHAR] + OF S" plus"      out ENDOF
176.       [CHAR] ! OF S" bang"      out ENDOF
177.       [CHAR] / OF S" slash"     out ENDOF
178.       [CHAR] \ OF S" backslash" out ENDOF
179.       [CHAR] ' OF S" apos"      out ENDOF
180.       [CHAR] = OF S" equal"     out ENDOF
181.       [CHAR] - OF S" dash"      out ENDOF
182.       [CHAR] @ OF S" at"        out ENDOF
183.       [CHAR] ; OF S" semi"      out ENDOF
184.       [CHAR] * OF S" star"      out ENDOF
185.       [CHAR] ? OF S" question"  out ENDOF
186.       [CHAR] ~ OF S" tilde"     out ENDOF
187.       [CHAR] # OF S" pound"     out ENDOF
188.       [CHAR] , OF S" comma"     out ENDOF
189.       [CHAR] $ OF S" dollar"    out ENDOF
190.       [CHAR] | OF S" bar"       out ENDOF
218.       BL       OF bltally @ 0= IF S"  " ELSE S" &nbsp;" THEN out
219.                 1 bltally +!     ENDOF
220.       I 1 out   0 bltally !
221.    ENDCASE LOOP ;
222. 
223. : outhattr  ( a n -- )                          \ HTMLized text output
224.    BOUNDS ?DO I C@ CASE
225.       [CHAR] & OF S" amp"       out ENDOF
226.       [CHAR] < OF S" lt"        out ENDOF
227.       [CHAR] > OF S" gt"        out ENDOF
228.       [CHAR] " OF S" quot"      out ENDOF
229.       [CHAR] + OF S" plus"      out ENDOF
230.       [CHAR] ! OF S" bang"      out ENDOF
231.       [CHAR] / OF S" slash"     out ENDOF
232.       [CHAR] \ OF S" backslash" out ENDOF
233.       [CHAR] ' OF S" apos"      out ENDOF
234.       [CHAR] = OF S" equal"     out ENDOF
235.       [CHAR] - OF S" dash"      out ENDOF
236.       [CHAR] @ OF S" at"        out ENDOF
237.       [CHAR] ; OF S" semi"      out ENDOF
238.       [CHAR] * OF S" star"      out ENDOF
239.       [CHAR] ? OF S" question"  out ENDOF
240.       [CHAR] ~ OF S" tilde"     out ENDOF
241.       [CHAR] # OF S" pound"     out ENDOF
242.       [CHAR] , OF S" comma"     out ENDOF
243.       [CHAR] $ OF S" dollar"    out ENDOF
244.       [CHAR] | OF S" bar"       out ENDOF
191.       [CHAR] [ OF S" leftbracket"  out ENDOF
192.       [CHAR] ( OF S" leftparen"    out ENDOF
193.       [CHAR] { OF S" leftbrace"    out ENDOF
194.       [CHAR] ] OF S" rightbracket" out ENDOF
195.       [CHAR] ) OF S" rightparen"   out ENDOF
196.       [CHAR] } OF S" rightbrace"   out ENDOF
245.       [CHAR] [ OF S" ltbracket" out ENDOF
246.       [CHAR] ( OF S" ltparen"   out ENDOF
247.       [CHAR] { OF S" ltbrace"   out ENDOF
248.       [CHAR] ] OF S" rtbracket" out ENDOF
249.       [CHAR] ) OF S" rtparen"   out ENDOF
250.       [CHAR] } OF S" rtbrace"   out ENDOF
197.       BL       OF S" _"            out ENDOF
198.       I 1 out   
199.    ENDCASE LOOP ;
200. 
251.       BL       OF S" _"            out ENDOF
252.       I 1 out   
253.    ENDCASE LOOP ;
254. 
201. CREATE begin_header                             \ begin of HTML file part 1
202.    text <?xml version="1.0"?>
203.    text <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
204.    text     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
205.    text <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
206.    text <head>
207.    text <meta http-equiv="Content-Type" content="text/xml; charset=iso-8859-1" />
208.    text <meta name="GENERATOR" content="Forth2HTML 0.4" />
209.    text <style type="text/css">
210.    text body {background: #FFFFEE;}
211.    text h1 {color: #000000;}
212.    text p {font-family: monospace;}
213.    text a {text-decoration:none;}
214.    text </style>
215.    text <title>
216.    0 C,
217. 
218. : mid_header ( -- )                             \ begin of HTML file part 2
219.    </title>
220.    </head>
221.    <body>
222. ;
223. 
224. : end_header ( -- )                             \ end of HTML file /4a/
225.    footer COUNT ?DUP IF <hr> <h4> outh </h4> ELSE drop THEN
226.    </body> </html> ;
227. 
228. : label ( addr len -- ) </a>                    \ associate a label with a word
229.    <a_name="x outhattr "> ;
255. : end_header ( -- )                             \ output end of HTML file /7/
256.    end_header_part1 boiler
257.    copyright COUNT ?DUP IF outh ELSE drop THEN
258.    end_header_part2 boiler ;
259. 
260. : label ( addr len -- ) /a                      \ associate a label with a word
261.    misctext 1 line outhattr
262.    misctext 2 line 1 attrib ! ;
230. 
231. \ Assuming this is running on a PC, we allocate enough storage that crashes from
263. 
264. \ Assuming this is running on a PC, we allocate enough storage that crashes from
232. \ string overflows can't happen.                /4/
265. \ string overflows can't happen.                                        
233. 
234. CREATE inbuf 260 CHARS ALLOT                    \ current line from file
266. 
267. CREATE inbuf 260 CHARS ALLOT                    \ current line from file
235. CREATE token 260 CHARS ALLOT                    \ the last blank delimited string
268. CREATE token 260 CHARS ALLOT                    \ last blank delimited string
236. CREATE XPAD  260 CHARS ALLOT                    \ temporary pad for word storage
237. CREATE EPAD  260 CHARS ALLOT                    \ temporary pad for evaluation
238. CREATE fn    260 CHARS ALLOT                    \ file name
239. CREATE fn1   260 CHARS ALLOT                    \ file name backup
240. CREATE "str" 260 CHARS ALLOT                    \ parsed string storage
241. CREATE uname 260 CHARS ALLOT                    \ : definition name
242. 0 VALUE inf
243. VARIABLE nufile                                 \ T if nesting a file
244. VARIABLE utype                                  \ type of defined word
245. VARIABLE hstate
246. VARIABLE linenum
247. VARIABLE special                                \ special action, 0=none
269. CREATE XPAD  260 CHARS ALLOT                    \ temporary pad for word storage
270. CREATE EPAD  260 CHARS ALLOT                    \ temporary pad for evaluation
271. CREATE fn    260 CHARS ALLOT                    \ file name
272. CREATE fn1   260 CHARS ALLOT                    \ file name backup
273. CREATE "str" 260 CHARS ALLOT                    \ parsed string storage
274. CREATE uname 260 CHARS ALLOT                    \ : definition name
275. 0 VALUE inf
276. VARIABLE nufile                                 \ T if nesting a file
277. VARIABLE utype                                  \ type of defined word
278. VARIABLE hstate
279. VARIABLE linenum
280. VARIABLE special                                \ special action, 0=none
248. WORDLIST CONSTANT hyperlinks
 
249. 
250. : std    ( word 2nd_fn color filename label -- )
251.    CREATE ' , ' , BL WORD COUNT ,$ BL WORD COUNT ,$
281. 
282. : std    ( word 2nd_fn color filename label -- )
283.    CREATE ' , ' , BL WORD COUNT ,$ BL WORD COUNT ,$
252.    DOES> </a> DUP >R  2 CELLS +
253.    <a_href="                                    \ begin hyperlink
254.    dpanspath COUNT out                          \ output path to ANS files /4a/
255.    COUNT 2DUP + >R  out S" #" out               \ output file name      /4/
256.    R> COUNT out ">                              \ and anchor name
284.    DOES> /a DUP >R  2 CELLS +
285.    misctext 0 line                              \ begin hyperlink
286.    dpanspath COUNT out                          \ output path to ANS files /7/
287.    COUNT 2DUP + >R  out S" #" out               \ output file name
288.    R> COUNT out misctext 2 line                 \ and anchor name
289.    1 attrib !
257.    R> 2@ SWAP EXECUTE EXECUTE ;                 \ extra attributes
258. 
259. : genHTML ( -- )                                \ generate pending HTML
290.    R> 2@ SWAP EXECUTE EXECUTE ;                 \ extra attributes
291. 
292. : genHTML ( -- )                                \ generate pending HTML
260.    token COUNT DUP IF setcolor THEN outh closefont </a>  0 token ! ;
293.    token COUNT DUP IF setcolor THEN outh closefont /a  0 token ! ;
261. 
262. : isnumber? ( addr len -- f )                   \ string converts to number?
263.    0 0 2SWAP >NUMBER NIP NIP NIP 0= ;
264. 
265. : hparse ( a len char -- a' len' )
266.    >R 2DUP R@ SKIP R> SCAN BL SCAN
267.    2SWAP 2 PICK - token +PLACE ;
268. 
269. : >XPAD ( -- ) token COUNT BL SKIP XPAD PLACE ; \ move to temporary pad
270. 
271. : hint  ( addr len -- )                         \ interpret one line...
272.    BEGIN
273.       0 token !  BL hparse token C@
274.    WHILE unknown                                \ default color
294. 
295. : isnumber? ( addr len -- f )                   \ string converts to number?
296.    0 0 2SWAP >NUMBER NIP NIP NIP 0= ;
297. 
298. : hparse ( a len char -- a' len' )
299.    >R 2DUP R@ SKIP R> SCAN BL SCAN
300.    2SWAP 2 PICK - token +PLACE ;
301. 
302. : >XPAD ( -- ) token COUNT BL SKIP XPAD PLACE ; \ move to temporary pad
303. 
304. : hint  ( addr len -- )                         \ interpret one line...
305.    BEGIN
306.       0 token !  BL hparse token C@
307.    WHILE unknown                                \ default color
275.       >XPAD XPAD COUNT hyperlinks SEARCH-WORDLIST \ got a hyperlink for this?
308.       >XPAD XPAD COUNT superlinks SEARCH-WORDLIST 0=  \ fixed hyperlink?
309.       IF    XPAD COUNT hyperlinks SEARCH-WORDLIST \ got a hyperlink for this?
310.       ELSE  TRUE
311.       THEN
276.       IF DEPTH >R EXECUTE
277.          R> DEPTH <> ABORT" stack depth change in HTML generator"
278.       ELSE
279.          XPAD COUNT BASE @ 10 = IF
280.             >FLOAT IF FDROP numeric THEN        \ valid float or integer
281.          ELSE
282.             isnumber? IF numeric THEN
283.          THEN
284.       THEN genHTML
285.    REPEAT 2DROP
312.       IF DEPTH >R EXECUTE
313.          R> DEPTH <> ABORT" stack depth change in HTML generator"
314.       ELSE
315.          XPAD COUNT BASE @ 10 = IF
316.             >FLOAT IF FDROP numeric THEN        \ valid float or integer
317.          ELSE
318.             isnumber? IF numeric THEN
319.          THEN
320.       THEN genHTML
321.    REPEAT 2DROP
286.    <br> ;                                        \ new line
322.    S" <br />" outln ;                           \ new line
287. 
288. : ofn   ( -- addr len )                         \ output file name
289.    fn COUNT 2DUP [CHAR] . SCAN NIP - EPAD PLACE
290.    S" .htm" EPAD +PLACE   EPAD COUNT ;
291. 
292. : hcreate ( addr len -- )
293.    DUP 0= IF 2DROP S" fakename" THEN            \ in case the name is missing
294.    S" CREATE " EPAD PLACE  EPAD +PLACE
295.    GET-CURRENT >R hyperlinks SET-CURRENT
296.    EPAD COUNT EVALUATE    R> SET-CURRENT ;      \ create a hyperlink generator
297. 
298. \ The user defined words use the following data structure:
299. \ CELL   xt of coloring word
300. \ STRING name of reference word
301. \ STRING name of file
302. 
323. 
324. : ofn   ( -- addr len )                         \ output file name
325.    fn COUNT 2DUP [CHAR] . SCAN NIP - EPAD PLACE
326.    S" .htm" EPAD +PLACE   EPAD COUNT ;
327. 
328. : hcreate ( addr len -- )
329.    DUP 0= IF 2DROP S" fakename" THEN            \ in case the name is missing
330.    S" CREATE " EPAD PLACE  EPAD +PLACE
331.    GET-CURRENT >R hyperlinks SET-CURRENT
332.    EPAD COUNT EVALUATE    R> SET-CURRENT ;      \ create a hyperlink generator
333. 
334. \ The user defined words use the following data structure:
335. \ CELL   xt of coloring word
336. \ STRING name of reference word
337. \ STRING name of file
338. 
303. : deflink ( addr -- )                           \ make hyperlink from data structure
339. : deflink ( addr -- )                           \ defined word makes hyperlink
304.    DUP @ EXECUTE CELL+                          \ set color
305.    DUP COUNT + COUNT ofn COMPARE                \ in an external file?
340.    DUP @ EXECUTE CELL+                          \ set color
341.    DUP COUNT + COUNT ofn COMPARE                \ in an external file?
306.    IF   <a_href=" DUP COUNT + COUNT out         \ yes, put file name
307.         S" #" out COUNT outh ">
308.    ELSE <a_href="#x COUNT outhattr ">           \ no, just use the name
309.    THEN ;
342.    IF   misctext 0 line DUP COUNT + COUNT out   \ yes, put the file name
343.         S" #" out COUNT outh S" >" out
344.    ELSE misctext 3 line COUNT outhattr          \ no, just the label name
345.         misctext 4 line
346.    THEN 1 attrib ! ;
310. 
311. : defx  ( a len xt -- a' len' )
312.    >R genHTML BL hparse >XPAD                   \ output defining word
313.    XPAD COUNT 2DUP hcreate R> , ,$ ofn ,$
314.    DOES> deflink ;
315. 
347. 
348. : defx  ( a len xt -- a' len' )
349.    >R genHTML BL hparse >XPAD                   \ output defining word
350.    XPAD COUNT 2DUP hcreate R> , ,$ ofn ,$
351.    DOES> deflink ;
352. 
316. : labelnow   genHTML XPAD COUNT label ;         \ /4/
353. : labelnow   genHTML XPAD COUNT label ;
317. : defdat ['] numeric   defx numeric   labelnow ;
318. : defvar ['] variables defx variables labelnow ;
319. : defusr ['] userwords defx userwords labelnow ;
320. : defval ['] values    defx values    labelnow ;
321. : defdef ['] userdefiner defx userdefiner labelnow ;
322. 
323. : hstate=0 ( -- )             0 hstate ! ;
324. : hstate=1 ( -- )             1 hstate ! ;
325. : spec=zero ( -- )            1 special ! ;
354. : defdat ['] numeric   defx numeric   labelnow ;
355. : defvar ['] variables defx variables labelnow ;
356. : defusr ['] userwords defx userwords labelnow ;
357. : defval ['] values    defx values    labelnow ;
358. : defdef ['] userdefiner defx userdefiner labelnow ;
359. 
360. : hstate=0 ( -- )             0 hstate ! ;
361. : hstate=1 ( -- )             1 hstate ! ;
362. : spec=zero ( -- )            1 special ! ;
 
363. : NONE     ( -- )             0 special ! ;     \ plain word
326. : skip)  ( a len -- a' len' ) [CHAR] ) hparse ;
364. : skip)  ( a len -- a' len' ) [CHAR] ) hparse ;
327. : skip}  ( a len -- a' len' ) [CHAR] } hparse ; \ /4a/
365. : skip}  ( a len -- a' len' ) [CHAR] } hparse ; \ /7/
328. : skipw  ( a len -- a' len' ) BL hparse ;
329. : skipc  ( a len -- a len )   hstate @ 0= IF numeric skipw THEN ;
330. : skip"  ( a len -- a' len' )                   \ copy string to "str"
331.    genHTML [CHAR] " hparse token COUNT 1- "str" PLACE ;
332. 
333. \ ------------------------------------------------------------------------------
334. \ ":" definitions might be defining words, so they can't be assumed to be defusr
335. \ types. ":" makes a label and saves the name for later use by ";" which makes
336. \ a hyperlink or a hyperlink defining word.
337. 
338. :NONAME                                         \ normal : definition
339.    uname COUNT ['] userwords defx 2DROP  0 token !
340. ; CONSTANT normal_def
341. 
342. :NONAME
343.    uname COUNT 2DUP hcreate ['] userwords , ,$ ofn ,$
344.    DOES> deflink defdef
345. ; CONSTANT defining_def
346. 
347. : defunk ( a len -- a' len' )                   \ starting unknown definition
348.    hstate=1  normal_def utype !                 \ save name of : definition
349.    genHTML skipw userwords token COUNT BL SKIP 2DUP uname PLACE label ;
350. 
351. : resunk ( -- )                                 \ resolve unknown defined word
352.    genHTML utype @ EXECUTE hstate=0 ;
353. 
354. : created ( -- ) hstate @
355.    IF   defining_def utype !                    \ make ; create a defining word
356.    ELSE defdat                                  \ not compiling
357.    THEN ;
358. 
359. \ ------------------------------------------------------------------------------
360. 
366. : skipw  ( a len -- a' len' ) BL hparse ;
367. : skipc  ( a len -- a len )   hstate @ 0= IF numeric skipw THEN ;
368. : skip"  ( a len -- a' len' )                   \ copy string to "str"
369.    genHTML [CHAR] " hparse token COUNT 1- "str" PLACE ;
370. 
371. \ ------------------------------------------------------------------------------
372. \ ":" definitions might be defining words, so they can't be assumed to be defusr
373. \ types. ":" makes a label and saves the name for later use by ";" which makes
374. \ a hyperlink or a hyperlink defining word.
375. 
376. :NONAME                                         \ normal : definition
377.    uname COUNT ['] userwords defx 2DROP  0 token !
378. ; CONSTANT normal_def
379. 
380. :NONAME
381.    uname COUNT 2DUP hcreate ['] userwords , ,$ ofn ,$
382.    DOES> deflink defdef
383. ; CONSTANT defining_def
384. 
385. : defunk ( a len -- a' len' )                   \ starting unknown definition
386.    hstate=1  normal_def utype !                 \ save name of : definition
387.    genHTML skipw userwords token COUNT BL SKIP 2DUP uname PLACE label ;
388. 
389. : resunk ( -- )                                 \ resolve unknown defined word
390.    genHTML utype @ EXECUTE hstate=0 ;
391. 
392. : created ( -- ) hstate @
393.    IF   defining_def utype !                    \ make ; create a defining word
394.    ELSE defdat                                  \ not compiling
395.    THEN ;
396. 
397. \ ------------------------------------------------------------------------------
398. 
361. : header  ( addr len -- )                       \ output big header text /4b/
362.    <hr> <h1>
399. : header  ( addr len -- )                       \ output big header text /8/
400.    misctext 6 line
363.    linksource
401.    linksource
364.    IF   2dup <a_href=" out "> outln </a>
402.    IF   misctext 0 line
403.         2dup out misctext 2 line
404.         outln  misctext 9 line
365.    ELSE outln
405.    ELSE outln
366.    THEN </h1> <hr> <p> ;
406.    THEN misctext 7 line ;
367. 
368. : _incfil ( addr -- )                           \ trigger file nesting      /4/
369.    nestable 0= IF DROP EXIT THEN                \ don't nest files if disabled
370.    COUNT BL SKIP  2DUP R/O OPEN-FILE            \ can the file be opened?
371.    IF   DROP 2DROP                              \ no
372.    ELSE CLOSE-FILE DROP                         \ yes
373.         fn COUNT fn1 PLACE  fn PLACE 1 nufile !
374.    THEN ;
375. 
376. : incfile ( a len -- a' len' )                  \ include a file
377.    genHTML skipw token _incfil ;
378. 
379. : "incfil ( a len -- a' len' )                  \ include file from S" filename"
380.    skipw "str" _incfil ;
381. 
382. : hfill  ( -- len ior )                         \ read next line of file
383.    inbuf 256 BL FILL
384.    XPAD 256 inf READ-LINE ABORT" Error reading file"
385.    >R >R 0 XPAD R> BOUNDS                       ( idx . . )
386.    ?DO  I C@ 9 = IF 3 RSHIFT 1+ 3 LSHIFT        \ tab
387.         ELSE I C@ OVER 255 AND CHARS inbuf + C!
388.            1+ DUP 256 = IF CR ." Input line too long" THEN
389.         THEN
390.    LOOP R>
391.    1 linenum +! ;
392. 
393. : open  ( -- ) CR ." Reading " fn COUNT TYPE ."  at line " linenum @ .
394.    0 linenum !
395.    fn COUNT R/O OPEN-FILE ABORT" Error opening source file" TO inf ;
396. 
397. : close  ( -- ) CR ." closing " fn COUNT TYPE
398.    inf CLOSE-FILE ABORT" Error closing file" ;
399. 
400. : .title ( addr len -- )                        \ output as title string
401.    BOUNDS ?DO I C@ BL = IF S" %20" out ELSE I 1 out THEN LOOP ;
402. 
403. : oopen  ( -- )
404.    ofn W/O CREATE-FILE ABORT" Error creating file" TO outf
405.    begin_header boiler                          \ begin boilerplate
407. 
408. : _incfil ( addr -- )                           \ trigger file nesting      /4/
409.    nestable 0= IF DROP EXIT THEN                \ don't nest files if disabled
410.    COUNT BL SKIP  2DUP R/O OPEN-FILE            \ can the file be opened?
411.    IF   DROP 2DROP                              \ no
412.    ELSE CLOSE-FILE DROP                         \ yes
413.         fn COUNT fn1 PLACE  fn PLACE 1 nufile !
414.    THEN ;
415. 
416. : incfile ( a len -- a' len' )                  \ include a file
417.    genHTML skipw token _incfil ;
418. 
419. : "incfil ( a len -- a' len' )                  \ include file from S" filename"
420.    skipw "str" _incfil ;
421. 
422. : hfill  ( -- len ior )                         \ read next line of file
423.    inbuf 256 BL FILL
424.    XPAD 256 inf READ-LINE ABORT" Error reading file"
425.    >R >R 0 XPAD R> BOUNDS                       ( idx . . )
426.    ?DO  I C@ 9 = IF 3 RSHIFT 1+ 3 LSHIFT        \ tab
427.         ELSE I C@ OVER 255 AND CHARS inbuf + C!
428.            1+ DUP 256 = IF CR ." Input line too long" THEN
429.         THEN
430.    LOOP R>
431.    1 linenum +! ;
432. 
433. : open  ( -- ) CR ." Reading " fn COUNT TYPE ."  at line " linenum @ .
434.    0 linenum !
435.    fn COUNT R/O OPEN-FILE ABORT" Error opening source file" TO inf ;
436. 
437. : close  ( -- ) CR ." closing " fn COUNT TYPE
438.    inf CLOSE-FILE ABORT" Error closing file" ;
439. 
440. : .title ( addr len -- )                        \ output as title string
441.    BOUNDS ?DO I C@ BL = IF S" %20" out ELSE I 1 out THEN LOOP ;
442. 
443. : oopen  ( -- )
444.    ofn W/O CREATE-FILE ABORT" Error creating file" TO outf
445.    begin_header boiler                          \ begin boilerplate
406.    fn COUNT .title  mid_header                  \ title and end boilerplate
407.    <b>
446.    fn COUNT .title  mid_header boiler           \ title and end boilerplate
447.    bold IF S" <b>" out THEN
408.    fn COUNT header ;
409. 
410. : HTML  ( <infile> -- )
411.    S" /basic-links/" hyperlinks SEARCH-WORDLIST
412.    IF   EXECUTE  THEN                           \ remove user hyperlinks
413.    GET-CURRENT >R hyperlinks SET-CURRENT        \ replace the fence
414.    S" MARKER /basic-links/" EVALUATE
415.    R> SET-CURRENT
416.    0 TO screen-only  0 nufile !  1 linenum !    \ force usage of file
448.    fn COUNT header ;
449. 
450. : HTML  ( <infile> -- )
451.    S" /basic-links/" hyperlinks SEARCH-WORDLIST
452.    IF   EXECUTE  THEN                           \ remove user hyperlinks
453.    GET-CURRENT >R hyperlinks SET-CURRENT        \ replace the fence
454.    S" MARKER /basic-links/" EVALUATE
455.    R> SET-CURRENT
456.    0 TO screen-only  0 nufile !  1 linenum !    \ force usage of file
417.    0 infont ! 0 attrib !                        \ /4b/ /4d/
 
418.    BL WORD COUNT fn PLACE open oopen            \ open input and output files
419.    -1 DUP >R outf >R                            \ file nest uses stacks
420.    hstate=0
421.    BEGIN
422.       BEGIN 0 special !                         \ process line
423.          nufile @                               \ nest a file?
424.          IF   inf outf
425.               open oopen  outf >R               \ open new files
426.               0 nufile !
427.          THEN hfill
428.       WHILE inbuf SWAP hint
429.       REPEAT DROP
430.       close fn1 COUNT fn PLACE                  \ restore file name
431.       DUP -1 <>
432.       IF   TO outf TO inf FALSE                 \ unnest files
433.       ELSE TRUE
434.       THEN
435.    UNTIL DROP
436.    BEGIN R> DUP -1 <>                            \ close all output files
457.    BL WORD COUNT fn PLACE open oopen            \ open input and output files
458.    -1 DUP >R outf >R                            \ file nest uses stacks
459.    hstate=0
460.    BEGIN
461.       BEGIN 0 special !                         \ process line
462.          nufile @                               \ nest a file?
463.          IF   inf outf
464.               open oopen  outf >R               \ open new files
465.               0 nufile !
466.          THEN hfill
467.       WHILE inbuf SWAP hint
468.       REPEAT DROP
469.       close fn1 COUNT fn PLACE                  \ restore file name
470.       DUP -1 <>
471.       IF   TO outf TO inf FALSE                 \ unnest files
472.       ELSE TRUE
473.       THEN
474.    UNTIL DROP
475.    BEGIN R> DUP -1 <>                            \ close all output files
437.    WHILE </p> </b>                               \ /4b/
438.       end_header                                 \ finish up HTML
476.    WHILE bold IF S" </b>" out THEN
477.       end_header                                \ finish up HTML   /7/
439.       CLOSE-FILE ABORT" Error closing file"
440.    REPEAT DROP ;
441. 
442. : q  ( -- ) 1 TO screen-only                    \ single line test
443.    -1 WORD COUNT inbuf PLACE inbuf COUNT hint ;
444. 
445. \ 0 [IF] is often used as a comment. If it is used as a comment, scan the file
446. \ for a [THEN]. [THEN] must be on the next line or beyond.
447. 
478.       CLOSE-FILE ABORT" Error closing file"
479.    REPEAT DROP ;
480. 
481. : q  ( -- ) 1 TO screen-only                    \ single line test
482.    -1 WORD COUNT inbuf PLACE inbuf COUNT hint ;
483. 
484. \ 0 [IF] is often used as a comment. If it is used as a comment, scan the file
485. \ for a [THEN]. [THEN] must be on the next line or beyond.
486. 
448. : upp ( an--) BOUNDS ?DO I C@ [CHAR] a > IF I C@ 32 - I C! THEN LOOP \ uppercase
449. ;
450. 
 
451. CREATE terminator 16 CHARS ALLOT                \ multiline comment terminator
452. 
453. : multicomment ( a len searchstring -- a' len' )
454.    terminator PLACE
487. CREATE terminator 16 CHARS ALLOT                \ multiline comment terminator
488. 
489. : multicomment ( a len searchstring -- a' len' )
490.    terminator PLACE
455.    genHTML <i> commentary setcolor outh       \ finish up this line /4b/
456.    BEGIN hfill      <br>
491.    genHTML commentary ital( setcolor outh       \ finish up this line
492.    BEGIN hfill      S" <br />" outln
457.    WHILE >R inbuf EPAD R@ MOVE
493.    WHILE >R inbuf EPAD R@ MOVE
458.       EPAD R@ upp                               \ uppercase for search
494.       EPAD R@ BOUNDS ?DO I C@ UPC I C! LOOP     \ uppercase for search
459.       EPAD R@ terminator COUNT SEARCH
460.       IF   DROP EPAD - inbuf OVER token PLACE   \ before [THEN] is comment
461.            genHTML
462.            inbuf R> ROT /STRING
495.       EPAD R@ terminator COUNT SEARCH
496.       IF   DROP EPAD - inbuf OVER token PLACE   \ before [THEN] is comment
497.            genHTML
498.            inbuf R> ROT /STRING
463.            </i> closefont EXIT
499.            )ital closefont EXIT
464.       ELSE 2DROP inbuf R> outh                  \ whole line is comment
465.       THEN
500.       ELSE 2DROP inbuf R> outh                  \ whole line is comment
501.       THEN
466.    REPEAT inbuf SWAP </i> closefont ;          \ EOF found
502.    REPEAT inbuf SWAP )ital closefont ;          \ EOF found
467. 
468. : bigif  ( a len -- a len )  special @ 1 =
469.    IF S" [THEN]" multicomment THEN ;
470. 
471. \ =============================================================================
472. 
473. : _DEFINITIONS DEFINITIONS ;
503. 
504. : bigif  ( a len -- a len )  special @ 1 =
505.    IF S" [THEN]" multicomment THEN ;
506. 
507. \ =============================================================================
508. 
509. : _DEFINITIONS DEFINITIONS ;
474. : _order order ;  : _words words ; : _see see ;
510. \ : _order order ;  : _words words ; : _see see ;
511. 
512. superlinks SET-CURRENT \ These hyperlinks cannot be overridden.
475. 
513. 
476. hyperlinks SET-CURRENT
 
477. \ The following words are not in the ANS standard but are very common.
478. : VOCABULARY    defusr ;
479. : DEFER         defusr ;
480. : INCLUDE       hstate @ 0= IF incfile THEN ;
481. : FLOAD         hstate @ 0= IF incfile THEN ;
482. : BINARY        2 BASE ! ;
483. : OCTAL         8 BASE ! ;
484. : 0             numeric spec=zero ;
485. : 1             numeric  ;
486. : -1            numeric  ;
487. : COMMENT:      S" COMMENT;" multicomment ;
488. : ((            S" ))"       multicomment ;
489. 
490. \ The following words are not in the ANS standard but are used in Win32Forth
514. \ The following words are not in the ANS standard but are very common.
515. : VOCABULARY    defusr ;
516. : DEFER         defusr ;
517. : INCLUDE       hstate @ 0= IF incfile THEN ;
518. : FLOAD         hstate @ 0= IF incfile THEN ;
519. : BINARY        2 BASE ! ;
520. : OCTAL         8 BASE ! ;
521. : 0             numeric spec=zero ;
522. : 1             numeric  ;
523. : -1            numeric  ;
524. : COMMENT:      S" COMMENT;" multicomment ;
525. : ((            S" ))"       multicomment ;
526. 
527. \ The following words are not in the ANS standard but are used in Win32Forth
491. : ANEW          skipw ;                    \ /4a/
492. : {             commentary genHTML skip} ; \ /4a/
493. : CallBack:     defunk ;                   \ /4a/
494. : :M            defunk ;                   \ /4a/
495. : ;M            resunk ;                   \ /4a/
528. : ANEW          skipw ;                    \ /7/
529. : CallBack:     defunk ;                   \ /7/
530. : :M            defunk ;                   \ /7/
531. : ;M            resunk ;                   \ /7/
532. : z"            numeric skip" ;
533. 
534. \ Forth Inc uses { for comment while others use it for locals. } on the same
535. \ line indicates locals, which are grayed. Otherwise a multiline comment.
536. 
537. : {             2DUP [CHAR] } SCAN NIP 0=
538.                 IF S" }" multicomment ELSE genHTML skip} THEN ;
496. 
497. \ The rest is ANS Forth standard
498. 
539. 
540. \ The rest is ANS Forth standard
541. 
499. : \             commentary <i> genHTML token PLACE genHTML </i> token 0 ;
542. : \             commentary genHTML ital( token PLACE genHTML )ital token 0 ;
500. 
501. (   NAME                ACTION  COLOR           FILENAME        REFERENCE )
502. (   ------------------  ------  --------------  -----------     --------- )
543. 
544. (   NAME                ACTION  COLOR           FILENAME        REFERENCE )
545. (   ------------------  ------  --------------  -----------     --------- )
503. std !                   NOOP    core_ws         dpans6.htm      6.1.0010
504. std #                   NOOP    core_ws         dpans6.htm      6.1.0030
505. std #>                  NOOP    core_ws         dpans6.htm      6.1.0040
506. std #S                  NOOP    core_ws         dpans6.htm      6.1.0050
507. std '                   NOOP    core_ws         dpans6.htm      6.1.0070
 
508. std (                   skip)   commentary      dpans6.htm      6.1.0080
546. std (                   skip)   commentary      dpans6.htm      6.1.0080
509. std *                   NOOP    core_ws         dpans6.htm      6.1.0090
510. std */                  NOOP    core_ws         dpans6.htm      6.1.0100
511. std */MOD               NOOP    core_ws         dpans6.htm      6.1.0110
512. std +                   NOOP    core_ws         dpans6.htm      6.1.0120
513. std +!                  NOOP    core_ws         dpans6.htm      6.1.0130
514. std +LOOP               NOOP    core_ws         dpans6.htm      6.1.0140
515. std ,                   NOOP    core_ws         dpans6.htm      6.1.0150
516. std -                   NOOP    core_ws         dpans6.htm      6.1.0160
517. std .                   NOOP    core_ws         dpans6.htm      6.1.0180
 
518. std ."                  skip"   numeric         dpans6.htm      6.1.0190
547. std ."                  skip"   numeric         dpans6.htm      6.1.0190
519. std /                   NOOP    core_ws         dpans6.htm      6.1.0230
520. std /MOD                NOOP    core_ws         dpans6.htm      6.1.0240
521. std 0<                  NOOP    core_ws         dpans6.htm      6.1.0250
522. std 0=                  NOOP    core_ws         dpans6.htm      6.1.0270
523. std 1+                  NOOP    core_ws         dpans6.htm      6.1.0290
524. std 1-                  NOOP    core_ws         dpans6.htm      6.1.0300
525. std 2!                  NOOP    core_ws         dpans6.htm      6.1.0310
526. std 2*                  NOOP    core_ws         dpans6.htm      6.1.0320
527. std 2/                  NOOP    core_ws         dpans6.htm      6.1.0330
528. std 2@                  NOOP    core_ws         dpans6.htm      6.1.0350
529. std 2DROP               NOOP    core_ws         dpans6.htm      6.1.0370
530. std 2DUP                NOOP    core_ws         dpans6.htm      6.1.0380
531. std 2OVER               NOOP    core_ws         dpans6.htm      6.1.0400
532. std 2SWAP               NOOP    core_ws         dpans6.htm      6.1.0430
 
533. std :                   defunk  core_ws         dpans6.htm      6.1.0450
534. std ;                   resunk  core_ws         dpans6.htm      6.1.0460
548. std :                   defunk  core_ws         dpans6.htm      6.1.0450
549. std ;                   resunk  core_ws         dpans6.htm      6.1.0460
535. std <                   NOOP    core_ws         dpans6.htm      6.1.0480
536. std <#                  NOOP    core_ws         dpans6.htm      6.1.0490
537. std =                   NOOP    core_ws         dpans6.htm      6.1.0530
538. std >                   NOOP    core_ws         dpans6.htm      6.1.0540
539. std >BODY               NOOP    core_ws         dpans6.htm      6.1.0550
540. std >IN                 NOOP    core_ws         dpans6.htm      6.1.0560
541. std >NUMBER             NOOP    core_ws         dpans6.htm      6.1.0570
542. std >R                  NOOP    core_ws         dpans6.htm      6.1.0580
543. std ?DUP                NOOP    core_ws         dpans6.htm      6.1.0630
544. std @                   NOOP    core_ws         dpans6.htm      6.1.0650
545. std ABORT               NOOP    core_ws         dpans6.htm      6.1.0670
546. std ABORT"              skip"   numeric         dpans6.htm      6.1.0680
547. std ABS                 NOOP    core_ws         dpans6.htm      6.1.0690
548. std ACCEPT              NOOP    core_ws         dpans6.htm      6.1.0695
549. std ALIGN               NOOP    core_ws         dpans6.htm      6.1.0705
550. std ALIGNED             NOOP    core_ws         dpans6.htm      6.1.0706
551. std ALLOT               NOOP    core_ws         dpans6.htm      6.1.0710
552. std AND                 NOOP    core_ws         dpans6.htm      6.1.0720
553. std BASE                NOOP    core_ws         dpans6.htm      6.1.0750
554. std BEGIN               NOOP    core_ws         dpans6.htm      6.1.0760
555. std BL                  NOOP    numeric         dpans6.htm      6.1.0770
556. std C!                  NOOP    core_ws         dpans6.htm      6.1.0850
557. std C,                  NOOP    core_ws         dpans6.htm      6.1.0860
558. std C@                  NOOP    core_ws         dpans6.htm      6.1.0870
559. std CELL+               NOOP    core_ws         dpans6.htm      6.1.0880
560. std CELLS               NOOP    core_ws         dpans6.htm      6.1.0890
550. std ABORT"              skip"   errors          dpans6.htm      6.1.0680
561. std CHAR                skipc   core_ws         dpans6.htm      6.1.0895
551. std CHAR                skipc   core_ws         dpans6.htm      6.1.0895
562. std CHAR+               NOOP    core_ws         dpans6.htm      6.1.0897
563. std CHARS               NOOP    core_ws         dpans6.htm      6.1.0898
 
564. std CONSTANT            defdat  core_ws         dpans6.htm      6.1.0950
552. std CONSTANT            defdat  core_ws         dpans6.htm      6.1.0950
565. std COUNT               NOOP    core_ws         dpans6.htm      6.1.0980
566. std CR                  NOOP    core_ws         dpans6.htm      6.1.0990
 
567. std CREATE              created core_ws         dpans6.htm      6.1.1000
568. std DECIMAL             DECIMAL core_ws         dpans6.htm      6.1.1170
553. std CREATE              created core_ws         dpans6.htm      6.1.1000
554. std DECIMAL             DECIMAL core_ws         dpans6.htm      6.1.1170
569. std DEPTH               NOOP    core_ws         dpans6.htm      6.1.1200
570. std DO                  NOOP    core_ws         dpans6.htm      6.1.1240
571. std DOES>               NOOP    core_ws         dpans6.htm      6.1.1250
572. std DROP                NOOP    core_ws         dpans6.htm      6.1.1260
573. std DUP                 NOOP    core_ws         dpans6.htm      6.1.1290
574. std ELSE                NOOP    core_ws         dpans6.htm      6.1.1310
575. std EMIT                NOOP    core_ws         dpans6.htm      6.1.1320
576. std ENVIRONMENT?        NOOP    core_ws         dpans6.htm      6.1.1345
577. std EVALUATE            NOOP    core_ws         dpans6.htm      6.1.1360
578. std EXECUTE             NOOP    core_ws         dpans6.htm      6.1.1370
579. std EXIT                NOOP    core_ws         dpans6.htm      6.1.1380
580. std FILL                NOOP    core_ws         dpans6.htm      6.1.1540
581. std FIND                NOOP    core_ws         dpans6.htm      6.1.1550
582. std FM/MOD              NOOP    core_ws         dpans6.htm      6.1.1561
583. std HERE                NOOP    core_ws         dpans6.htm      6.1.1650
584. std HOLD                NOOP    core_ws         dpans6.htm      6.1.1670
585. std I                   NOOP    core_ws         dpans6.htm      6.1.1680
586. std IF                  NOOP    core_ws         dpans6.htm      6.1.1700
587. std IMMEDIATE           NOOP    core_ws         dpans6.htm      6.1.1710
588. std INVERT              NOOP    core_ws         dpans6.htm      6.1.1720
589. std J                   NOOP    core_ws         dpans6.htm      6.1.1730
590. std KEY                 NOOP    core_ws         dpans6.htm      6.1.1750
591. std LEAVE               NOOP    core_ws         dpans6.htm      6.1.1760
592. std LITERAL             NOOP    core_ws         dpans6.htm      6.1.1780
593. std LOOP                NOOP    core_ws         dpans6.htm      6.1.1800
594. std LSHIFT              NOOP    core_ws         dpans6.htm      6.1.1805
595. std M*                  NOOP    core_ws         dpans6.htm      6.1.1810
596. std MAX                 NOOP    core_ws         dpans6.htm      6.1.1870
597. std MIN                 NOOP    core_ws         dpans6.htm      6.1.1880
598. std MOD                 NOOP    core_ws         dpans6.htm      6.1.1890
599. std MOVE                NOOP    core_ws         dpans6.htm      6.1.1900
600. std NEGATE              NOOP    core_ws         dpans6.htm      6.1.1910
601. std OR                  NOOP    core_ws         dpans6.htm      6.1.1980
602. std OVER                NOOP    core_ws         dpans6.htm      6.1.1990
603. std POSTPONE            NOOP    core_ws         dpans6.htm      6.1.2033
604. std QUIT                NOOP    core_ws         dpans6.htm      6.1.2050
605. std R>                  NOOP    core_ws         dpans6.htm      6.1.2060
606. std R@                  NOOP    core_ws         dpans6.htm      6.1.2070
607. std RECURSE             NOOP    core_ws         dpans6.htm      6.1.2120
608. std REPEAT              NOOP    core_ws         dpans6.htm      6.1.2140
609. std ROT                 NOOP    core_ws         dpans6.htm      6.1.2160
610. std RSHIFT              NOOP    core_ws         dpans6.htm      6.1.2162
 
611. std S"                  skip"   numeric         dpans6.htm      6.1.2165
555. std S"                  skip"   numeric         dpans6.htm      6.1.2165
612. std S>D                 NOOP    core_ws         dpans6.htm      6.1.2170
613. std SIGN                NOOP    core_ws         dpans6.htm      6.1.2210
614. std SM/REM              NOOP    core_ws         dpans6.htm      6.1.2214
615. std SOURCE              NOOP    core_ws         dpans6.htm      6.1.2216
616. std SPACE               NOOP    core_ws         dpans6.htm      6.1.2220
617. std SPACES              NOOP    core_ws         dpans6.htm      6.1.2230
618. std STATE               NOOP    core_ws         dpans6.htm      6.1.2250
619. std SWAP                NOOP    core_ws         dpans6.htm      6.1.2260
620. std THEN                NOOP    core_ws         dpans6.htm      6.1.2270
621. std TYPE                NOOP    core_ws         dpans6.htm      6.1.2310
622. std U.                  NOOP    core_ws         dpans6.htm      6.1.2320
623. std U<                  NOOP    core_ws         dpans6.htm      6.1.2340
624. std UM*                 NOOP    core_ws         dpans6.htm      6.1.2360
625. std UM/MOD              NOOP    core_ws         dpans6.htm      6.1.2370
626. std UNLOOP              NOOP    core_ws         dpans6.htm      6.1.2380
627. std UNTIL               NOOP    core_ws         dpans6.htm      6.1.2390
 
628. std VARIABLE            defvar  core_ws         dpans6.htm      6.1.2410
556. std VARIABLE            defvar  core_ws         dpans6.htm      6.1.2410
629. std WHILE               NOOP    core_ws         dpans6.htm      6.1.2430
630. std WORD                NOOP    core_ws         dpans6.htm      6.1.2450
631. std XOR                 NOOP    core_ws         dpans6.htm      6.1.2490
 
632. std [                  hstate=0 core_ws         dpans6.htm      6.1.2500
557. std [                  hstate=0 core_ws         dpans6.htm      6.1.2500
633. std [']                 skipw   numeric         dpans6.htm      6.1.2510
 
634. std [CHAR]              skipw   numeric         dpans6.htm      6.1.2520
635. std ]                  hstate=1 core_ws         dpans6.htm      6.1.2540
558. std [CHAR]              skipw   numeric         dpans6.htm      6.1.2520
559. std ]                  hstate=1 core_ws         dpans6.htm      6.1.2540
636. std #TIB                NOOP    core_ext_ws     dpans6.htm      6.2.0060
 
637. std .(                  skip)   commentary      dpans6.htm      6.2.0200
560. std .(                  skip)   commentary      dpans6.htm      6.2.0200
638. std .R                  NOOP    core_ext_ws     dpans6.htm      6.2.0210
639. std 0<>                 NOOP    core_ext_ws     dpans6.htm      6.2.0260
640. std 0>                  NOOP    core_ext_ws     dpans6.htm      6.2.0280
641. std 2>R                 NOOP    core_ext_ws     dpans6.htm      6.2.0340
642. std 2R>                 NOOP    core_ext_ws     dpans6.htm      6.2.0410
643. std 2R@                 NOOP    core_ext_ws     dpans6.htm      6.2.0415
644. std :NONAME             NOOP    core_ext_ws     dpans6.htm      6.2.0455
645. std <>                  NOOP    core_ext_ws     dpans6.htm      6.2.0500
646. std ?DO                 NOOP    core_ext_ws     dpans6.htm      6.2.0620
647. std AGAIN               NOOP    core_ext_ws     dpans6.htm      6.2.0700
 
648. std C"                  skip"   numeric         dpans6.htm      6.2.0855
561. std C"                  skip"   numeric         dpans6.htm      6.2.0855
649. std CASE                NOOP    core_ext_ws     dpans6.htm      6.2.0873
650. std COMPILE,            NOOP    core_ext_ws     dpans6.htm      6.2.0945
651. std CONVERT             NOOP    core_ext_ws     dpans6.htm      6.2.0970
652. std ENDCASE             NOOP    core_ext_ws     dpans6.htm      6.2.1342
653. std ENDOF               NOOP    core_ext_ws     dpans6.htm      6.2.1343
654. std ERASE               NOOP    core_ext_ws     dpans6.htm      6.2.1350
655. std EXPECT              NOOP    core_ext_ws     dpans6.htm      6.2.1390
 
656. std FALSE             spec=zero numeric         dpans6.htm      6.2.1485
657. std HEX                 HEX     core_ext_ws     dpans6.htm      6.2.1660
658. std MARKER              defusr  core_ext_ws     dpans6.htm      6.2.1850
562. std FALSE             spec=zero numeric         dpans6.htm      6.2.1485
563. std HEX                 HEX     core_ext_ws     dpans6.htm      6.2.1660
564. std MARKER              defusr  core_ext_ws     dpans6.htm      6.2.1850
659. std NIP                 NOOP    core_ext_ws     dpans6.htm      6.2.1930
660. std OF                  NOOP    core_ext_ws     dpans6.htm      6.2.1950
661. std PAD                 NOOP    core_ext_ws     dpans6.htm      6.2.2000
662. std PARSE               NOOP    core_ext_ws     dpans6.htm      6.2.2008
663. std PICK                NOOP    core_ext_ws     dpans6.htm      6.2.2030
664. std QUERY               NOOP    core_ext_ws     dpans6.htm      6.2.2040
665. std REFILL              NOOP    core_ext_ws     dpans6.htm      6.2.2125
666. std RESTORE-INPUT       NOOP    core_ext_ws     dpans6.htm      6.2.2148
667. std ROLL                NOOP    core_ext_ws     dpans6.htm      6.2.2150
668. std SAVE-INPUT          NOOP    core_ext_ws     dpans6.htm      6.2.2182
669. std SOURCE-ID           NOOP    core_ext_ws     dpans6.htm      6.2.2218
670. std SPAN                NOOP    core_ext_ws     dpans6.htm      6.2.2240
671. std TIB                 NOOP    core_ext_ws     dpans6.htm      6.2.2290
672. std TO                  NOOP    core_ext_ws     dpans6.htm      6.2.2295
673. std TRUE                NOOP    numeric         dpans6.htm      6.2.2298
674. std TUCK                NOOP    core_ext_ws     dpans6.htm      6.2.2300
675. std U.R                 NOOP    core_ext_ws     dpans6.htm      6.2.2330
676. std U>                  NOOP    core_ext_ws     dpans6.htm      6.2.2350
677. std UNUSED              NOOP    core_ext_ws     dpans6.htm      6.2.2395
 
678. std VALUE               defval  core_ext_ws     dpans6.htm      6.2.2405
565. std VALUE               defval  core_ext_ws     dpans6.htm      6.2.2405
679. std WITHIN              NOOP    core_ext_ws     dpans6.htm      6.2.2440
680. std [COMPILE]           NOOP    core_ext_ws     dpans6.htm      6.2.2530
681. std BLK                 NOOP    block_ws        dpans7.htm      7.6.1.0790
682. std BLOCK               NOOP    block_ws        dpans7.htm      7.6.1.0800
683. std BUFFER              NOOP    block_ws        dpans7.htm      7.6.1.0820
684. std FLUSH               NOOP    block_ws        dpans7.htm      7.6.1.1559
685. std LOAD                NOOP    block_ws        dpans7.htm      7.6.1.1790
686. std SAVE-BUFFERS        NOOP    block_ws        dpans7.htm      7.6.1.2180
687. std UPDATE              NOOP    block_ws        dpans7.htm      7.6.1.2400
688. std EMPTY-BUFFERS       NOOP    block_ws        dpans7.htm      7.6.2.1330
689. std LIST                NOOP    block_ws        dpans7.htm      7.6.2.1770
690. std SCR                 NOOP    block_ws        dpans7.htm      7.6.2.2190
691. std THRU                NOOP    block_ws        dpans7.htm      7.6.2.2280
 
692. std 2CONSTANT           defdat  double_ws       dpans8.htm      8.6.1.0360
566. std 2CONSTANT           defdat  double_ws       dpans8.htm      8.6.1.0360
693. std 2LITERAL            NOOP    double_ws       dpans8.htm      8.6.1.0390
 
694. std 2VARIABLE           defvar  double_ws       dpans8.htm      8.6.1.0440
567. std 2VARIABLE           defvar  double_ws       dpans8.htm      8.6.1.0440
695. std D+                  NOOP    double_ws       dpans8.htm      8.6.1.1040
696. std D-                  NOOP    double_ws       dpans8.htm      8.6.1.1050
697. std D.                  NOOP    double_ws       dpans8.htm      8.6.1.1060
698. std D.R                 NOOP    double_ws       dpans8.htm      8.6.1.1070
699. std D0<                 NOOP    double_ws       dpans8.htm      8.6.1.1075
700. std D0=                 NOOP    double_ws       dpans8.htm      8.6.1.1080
701. std D2*                 NOOP    double_ws       dpans8.htm      8.6.1.1090
702. std D2/                 NOOP    double_ws       dpans8.htm      8.6.1.1100
703. std D<                  NOOP    double_ws       dpans8.htm      8.6.1.1110
704. std D=                  NOOP    double_ws       dpans8.htm      8.6.1.1120
705. std D>S                 NOOP    double_ws       dpans8.htm      8.6.1.1140
706. std DABS                NOOP    double_ws       dpans8.htm      8.6.1.1160
707. std DMAX                NOOP    double_ws       dpans8.htm      8.6.1.1210
708. std DMIN                NOOP    double_ws       dpans8.htm      8.6.1.1220
709. std DNEGATE             NOOP    double_ws       dpans8.htm      8.6.1.1230
710. std M*/                 NOOP    double_ws       dpans8.htm      8.6.1.1820
711. std M+                  NOOP    double_ws       dpans8.htm      8.6.1.1830
712. std 2ROT                NOOP    double_ws       dpans8.htm      8.6.2.0420
713. std DU<                 NOOP    double_ws       dpans8.htm      8.6.2.1270
714. std CATCH               NOOP    exception_ws    dpans9.htm      9.6.1.0875
715. std THROW               NOOP    exception_ws    dpans9.htm      9.6.1.2275
716. std AT-XY               NOOP    facilities_ws   dpans10.htm     10.6.1.0742
717. std KEY?                NOOP    facilities_ws   dpans10.htm     10.6.1.1755
718. std PAGE                NOOP    facilities_ws   dpans10.htm     10.6.1.2005
719. std EKEY                NOOP    facilities_ws   dpans10.htm     10.6.2.1305
720. std EKEY<CHAR           NOOP    facilities_ws   dpans10.htm     10.6.2.1306
721. std EKEY?               NOOP    facilities_ws   dpans10.htm     10.6.2.1307
722. std EMIT?               NOOP    facilities_ws   dpans10.htm     10.6.2.1325
723. std MS                  NOOP    facilities_ws   dpans10.htm     10.6.2.1905
724. std TIME&DATE           NOOP    facilities_ws   dpans10.htm     10.6.2.2292
725. std BIN                 NOOP    file_ws         dpans11.htm     11.6.1.0765
726. std CLOSE-FILE          NOOP    file_ws         dpans11.htm     11.6.1.0900
727. std CREATE-FILE         NOOP    file_ws         dpans11.htm     11.6.1.1010
728. std DELETE-FILE         NOOP    file_ws         dpans11.htm     11.6.1.1190
729. std FILE-POSITION       NOOP    file_ws         dpans11.htm     11.6.1.1520
730. std FILE-SIZE           NOOP    file_ws         dpans11.htm     11.6.1.1522
731. std INCLUDE-FILE        NOOP    file_ws         dpans11.htm     11.6.1.1717
 
732. std INCLUDED            "incfil file_ws         dpans11.htm     11.6.1.1718
568. std INCLUDED            "incfil file_ws         dpans11.htm     11.6.1.1718
733. std OPEN-FILE           NOOP    file_ws         dpans11.htm     11.6.1.1970
734. std R/O                 NOOP    file_ws         dpans11.htm     11.6.1.2054
735. std R/W                 NOOP    file_ws         dpans11.htm     11.6.1.2056
736. std READ-FILE           NOOP    file_ws         dpans11.htm     11.6.1.2080
737. std READ-LINE           NOOP    file_ws         dpans11.htm     11.6.1.2090
738. std REPOSITION-FILE     NOOP    file_ws         dpans11.htm     11.6.1.2142
739. std RESIZE-FILE         NOOP    file_ws         dpans11.htm     11.6.1.2147
740. std W/O                 NOOP    file_ws         dpans11.htm     11.6.1.2425
741. std WRITE-FILE          NOOP    file_ws         dpans11.htm     11.6.1.2480
742. std WRITE-LINE          NOOP    file_ws         dpans11.htm     11.6.1.2485
743. std FILE-STATUS         NOOP    file_ws         dpans11.htm     11.6.2.1524
744. std FLUSH-FILE          NOOP    file_ws         dpans11.htm     11.6.2.1560
745. std RENAME-FILE         NOOP    file_ws         dpans11.htm     11.6.2.2130
746. std >FLOAT              NOOP    fp_ws           dpans12.htm     12.6.1.0558
747. std D>F                 NOOP    fp_ws           dpans12.htm     12.6.1.1130
748. std F!                  NOOP    fp_ws           dpans12.htm     12.6.1.1400
749. std F*                  NOOP    fp_ws           dpans12.htm     12.6.1.1410
750. std F+                  NOOP    fp_ws           dpans12.htm     12.6.1.1420
751. std F-                  NOOP    fp_ws           dpans12.htm     12.6.1.1425
752. std F/                  NOOP    fp_ws           dpans12.htm     12.6.1.1430
753. std F0<                 NOOP    fp_ws           dpans12.htm     12.6.1.1440
754. std F0=                 NOOP    fp_ws           dpans12.htm     12.6.1.1450
755. std F<                  NOOP    fp_ws           dpans12.htm     12.6.1.1460
756. std F>D                 NOOP    fp_ws           dpans12.htm     12.6.1.1460
757. std F@                  NOOP    fp_ws           dpans12.htm     12.6.1.1472
758. std FALIGN              NOOP    fp_ws           dpans12.htm     12.6.1.1479
759. std FALIGNED            NOOP    fp_ws           dpans12.htm     12.6.1.1483
 
760. std FCONSTANT           defdat  fp_ws           dpans12.htm     12.6.1.1492
569. std FCONSTANT           defdat  fp_ws           dpans12.htm     12.6.1.1492
761. std FDEPTH              NOOP    fp_ws           dpans12.htm     12.6.1.1497
762. std FDROP               NOOP    fp_ws           dpans12.htm     12.6.1.1500
763. std FDUP                NOOP    fp_ws           dpans12.htm     12.6.1.1510
764. std FLITERAL            NOOP    fp_ws           dpans12.htm     12.6.1.1552
765. std FLOAT+              NOOP    fp_ws           dpans12.htm     12.6.1.1555
766. std FLOATS              NOOP    fp_ws           dpans12.htm     12.6.1.1556
767. std FLOOR               NOOP    fp_ws           dpans12.htm     12.6.1.1558
768. std FMAX                NOOP    fp_ws           dpans12.htm     12.6.1.1562
769. std FMIN                NOOP    fp_ws           dpans12.htm     12.6.1.1565
770. std FNEGATE             NOOP    fp_ws           dpans12.htm     12.6.1.1567
771. std FOVER               NOOP    fp_ws           dpans12.htm     12.6.1.1600
772. std FROT                NOOP    fp_ws           dpans12.htm     12.6.1.1610
773. std FROUND              NOOP    fp_ws           dpans12.htm     12.6.1.1612
774. std FSWAP               NOOP    fp_ws           dpans12.htm     12.6.1.1620
 
775. std FVARIABLE           defvar  fp_ws           dpans12.htm     12.6.1.1630
570. std FVARIABLE           defvar  fp_ws           dpans12.htm     12.6.1.1630
776. std REPRESENT           NOOP    fp_ws           dpans12.htm     12.6.1.2143
777. std DF!                 NOOP    fp_ws           dpans12.htm     12.6.2.1203
778. std DF@                 NOOP    fp_ws           dpans12.htm     12.6.2.1204
779. std DFALIGN             NOOP    fp_ws           dpans12.htm     12.6.2.1205
780. std DFALIGNED           NOOP    fp_ws           dpans12.htm     12.6.2.1207
781. std DFLOAT+             NOOP    fp_ws           dpans12.htm     12.6.2.1208
782. std DFLOATS             NOOP    fp_ws           dpans12.htm     12.6.2.1209
783. std F**                 NOOP    fp_ws           dpans12.htm     12.6.2.1415
784. std F.                  NOOP    fp_ws           dpans12.htm     12.6.2.1427
785. std FABS                NOOP    fp_ws           dpans12.htm     12.6.2.1474
786. std FACOS               NOOP    fp_ws           dpans12.htm     12.6.2.1476
787. std FACOSH              NOOP    fp_ws           dpans12.htm     12.6.2.1477
788. std FALOG               NOOP    fp_ws           dpans12.htm     12.6.2.1484
789. std FASIN               NOOP    fp_ws           dpans12.htm     12.6.2.1486
790. std FASINH              NOOP    fp_ws           dpans12.htm     12.6.2.1487
791. std FATAN               NOOP    fp_ws           dpans12.htm     12.6.2.1488
792. std FATAN2              NOOP    fp_ws           dpans12.htm     12.6.2.1489
793. std FATANH              NOOP    fp_ws           dpans12.htm     12.6.2.1491
794. std FCOS                NOOP    fp_ws           dpans12.htm     12.6.2.1493
795. std FCOSH               NOOP    fp_ws           dpans12.htm     12.6.2.1494
796. std FE.                 NOOP    fp_ws           dpans12.htm     12.6.2.1513
797. std FEXP                NOOP    fp_ws           dpans12.htm     12.6.2.1515
798. std FEXPM1              NOOP    fp_ws           dpans12.htm     12.6.2.1516
799. std FLN                 NOOP    fp_ws           dpans12.htm     12.6.2.1553
800. std FLNP1               NOOP    fp_ws           dpans12.htm     12.6.2.1554
801. std FLOG                NOOP    fp_ws           dpans12.htm     12.6.2.1557
802. std FS.                 NOOP    fp_ws           dpans12.htm     12.6.2.1613
803. std FSIN                NOOP    fp_ws           dpans12.htm     12.6.2.1614
804. std FSINCOS             NOOP    fp_ws           dpans12.htm     12.6.2.1616
805. std FSINH               NOOP    fp_ws           dpans12.htm     12.6.2.1617
806. std FSQRT               NOOP    fp_ws           dpans12.htm     12.6.2.1618
807. std FTAN                NOOP    fp_ws           dpans12.htm     12.6.2.1625
808. std FTANH               NOOP    fp_ws           dpans12.htm     12.6.2.1626
809. std F~                  NOOP    fp_ws           dpans12.htm     12.6.2.1640
810. std PRECISION           NOOP    fp_ws           dpans12.htm     12.6.2.2035
811. std SET-PRECISION       NOOP    fp_ws           dpans12.htm     12.6.2.2200
812. std SF!                 NOOP    fp_ws           dpans12.htm     12.6.2.2202
813. std SF@                 NOOP    fp_ws           dpans12.htm     12.6.2.2203
814. std SFALIGN             NOOP    fp_ws           dpans12.htm     12.6.2.2204
815. std SFALIGNED           NOOP    fp_ws           dpans12.htm     12.6.2.2206
816. std SFLOAT+             NOOP    fp_ws           dpans12.htm     12.6.2.2207
817. std SFLOATS             NOOP    fp_ws           dpans12.htm     12.6.2.2208
818. std (LOCAL)             NOOP    local_ws        dpans13.htm     13.6.1.0086
819. std LOCALS|             NOOP    local_ws        dpans13.htm     13.6.2.1795
820. std ALLOCATE            NOOP    malloc_ws       dpans14.htm     14.6.1.0707
821. std FREE                NOOP    malloc_ws       dpans14.htm     14.6.1.1605
822. std RESIZE              NOOP    malloc_ws       dpans14.htm     14.6.1.2145
823. std .S                  NOOP    progtools_ws    dpans15.htm     15.6.1.0220
824. std ?                   NOOP    progtools_ws    dpans15.htm     15.6.1.0600
825. std DUMP                NOOP    progtools_ws    dpans15.htm     15.6.1.1280
826. std SEE                 NOOP    progtools_ws    dpans15.htm     15.6.1.2194
827. std WORDS               NOOP    progtools_ws    dpans15.htm     15.6.1.2465
 
828. std ;CODE               resunk  progtools_ws    dpans15.htm     15.6.2.0470
571. std ;CODE               resunk  progtools_ws    dpans15.htm     15.6.2.0470
829. std AHEAD               NOOP    progtools_ws    dpans15.htm     15.6.2.0702
830. std ASSEMBLER           NOOP    progtools_ws    dpans15.htm     15.6.2.0740
831. std BYE                 NOOP    progtools_ws    dpans15.htm     15.6.2.0830
 
832. std CODE                defusr  progtools_ws    dpans15.htm     15.6.2.0930
572. std CODE                defusr  progtools_ws    dpans15.htm     15.6.2.0930
833. std CS-PICK             NOOP    progtools_ws    dpans15.htm     15.6.2.1015
834. std CS-ROLL             NOOP    progtools_ws    dpans15.htm     15.6.2.1020
835. std EDITOR              NOOP    progtools_ws    dpans15.htm     15.6.2.1300
836. std FORGET              NOOP    progtools_ws    dpans15.htm     15.6.2.1580
837. std [ELSE]              NOOP    progtools_ws    dpans15.htm     15.6.2.2531
 
838. std [IF]                bigif   progtools_ws    dpans15.htm     15.6.2.2532
573. std [IF]                bigif   progtools_ws    dpans15.htm     15.6.2.2532
839. std [THEN]              NOOP    progtools_ws    dpans15.htm     15.6.2.2533
840. std DEFINITIONS         NOOP    searchord_ws    dpans16.htm     16.6.1.1180
841. std FORTH-WORDLIST      NOOP    searchord_ws    dpans16.htm     16.6.1.1595
842. std GET-CURRENT         NOOP    searchord_ws    dpans16.htm     16.6.1.1643
843. std GET-ORDER           NOOP    searchord_ws    dpans16.htm     16.6.1.1647
844. std SEARCH-WORDLIST     NOOP    searchord_ws    dpans16.htm     16.6.1.2192
845. std SET-CURRENT         NOOP    searchord_ws    dpans16.htm     16.6.1.2195
846. std SET-ORDER           NOOP    searchord_ws    dpans16.htm     16.6.1.2197
847. std WORDLIST            NOOP    searchord_ws    dpans16.htm     16.6.1.2460
848. std ALSO                NOOP    searchord_ws    dpans16.htm     16.6.2.0715
849. std FORTH               NOOP    searchord_ws    dpans16.htm     16.6.2.1590
850. std ONLY                NOOP    searchord_ws    dpans16.htm     16.6.2.1965
851. std ORDER               NOOP    searchord_ws    dpans16.htm     16.6.2.1985
852. std PREVIOUS            NOOP    searchord_ws    dpans16.htm     16.6.2.2037
853. std -TRAILING           NOOP    string_ws       dpans17.htm     17.6.1.0170
854. std /STRING             NOOP    string_ws       dpans17.htm     17.6.1.0245
855. std BLANK               NOOP    string_ws       dpans17.htm     17.6.1.0780
856. std CMOVE               NOOP    string_ws       dpans17.htm     17.6.1.0910
857. std CMOVE>              NOOP    string_ws       dpans17.htm     17.6.1.0920
858. std COMPARE             NOOP    string_ws       dpans17.htm     17.6.1.0935
859. std SEARCH              NOOP    string_ws       dpans17.htm     17.6.1.2191
860. std SLITERAL            NOOP    string_ws       dpans17.htm     17.6.1.2212
574. 
575. hyperlinks SET-CURRENT \ These hyperlinks can be overridden.
576. 
577. std [']                 NONE    numeric         dpans6.htm      6.1.2510
578. std !                   NONE    core_ws         dpans6.htm      6.1.0010
579. std #                   NONE    core_ws         dpans6.htm      6.1.0030
580. std #>                  NONE    core_ws         dpans6.htm      6.1.0040
581. std #S                  NONE    core_ws         dpans6.htm      6.1.0050
582. std '                   NONE    core_ws         dpans6.htm      6.1.0070
583. std *                   NONE    core_ws         dpans6.htm      6.1.0090
584. std */                  NONE    core_ws         dpans6.htm      6.1.0100
585. std */MOD               NONE    core_ws         dpans6.htm      6.1.0110
586. std +                   NONE    core_ws         dpans6.htm      6.1.0120
587. std +!                  NONE    core_ws         dpans6.htm      6.1.0130
588. std +LOOP               NONE    core_ws         dpans6.htm      6.1.0140
589. std ,                   NONE    core_ws         dpans6.htm      6.1.0150
590. std -                   NONE    core_ws         dpans6.htm      6.1.0160
591. std .                   NONE    core_ws         dpans6.htm      6.1.0180
592. std /                   NONE    core_ws         dpans6.htm      6.1.0230
593. std /MOD                NONE    core_ws         dpans6.htm      6.1.0240
594. std 0<                  NONE    core_ws         dpans6.htm      6.1.0250
595. std 0=                  NONE    core_ws         dpans6.htm      6.1.0270
596. std 1+                  NONE    core_ws         dpans6.htm      6.1.0290
597. std 1-                  NONE    core_ws         dpans6.htm      6.1.0300
598. std 2!                  NONE    core_ws         dpans6.htm      6.1.0310
599. std 2*                  NONE    core_ws         dpans6.htm      6.1.0320
600. std 2/                  NONE    core_ws         dpans6.htm      6.1.0330
601. std 2@                  NONE    core_ws         dpans6.htm      6.1.0350
602. std 2DROP               NONE    core_ws         dpans6.htm      6.1.0370
603. std 2DUP                NONE    core_ws         dpans6.htm      6.1.0380
604. std 2OVER               NONE    core_ws         dpans6.htm      6.1.0400
605. std 2SWAP               NONE    core_ws         dpans6.htm      6.1.0430
606. std <                   NONE    core_ws         dpans6.htm      6.1.0480
607. std <#                  NONE    core_ws         dpans6.htm      6.1.0490
608. std =                   NONE    core_ws         dpans6.htm      6.1.0530
609. std >                   NONE    core_ws         dpans6.htm      6.1.0540
610. std >BODY               NONE    core_ws         dpans6.htm      6.1.0550
611. std >IN                 NONE    core_ws         dpans6.htm      6.1.0560
612. std >NUMBER             NONE    core_ws         dpans6.htm      6.1.0570
613. std >R                  NONE    core_ws         dpans6.htm      6.1.0580
614. std ?DUP                NONE    core_ws         dpans6.htm      6.1.0630
615. std @                   NONE    core_ws         dpans6.htm      6.1.0650
616. std ABORT               NONE    core_ws         dpans6.htm      6.1.0670
617. std ABS                 NONE    core_ws         dpans6.htm      6.1.0690
618. std ACCEPT              NONE    core_ws         dpans6.htm      6.1.0695
619. std ALIGN               NONE    core_ws         dpans6.htm      6.1.0705
620. std ALIGNED             NONE    core_ws         dpans6.htm      6.1.0706
621. std ALLOT               NONE    core_ws         dpans6.htm      6.1.0710
622. std AND                 NONE    core_ws         dpans6.htm      6.1.0720
623. std BASE                NONE    core_ws         dpans6.htm      6.1.0750
624. std BEGIN               NONE    core_ws         dpans6.htm      6.1.0760
625. std BL                  NONE    numeric         dpans6.htm      6.1.0770
626. std C!                  NONE    core_ws         dpans6.htm      6.1.0850
627. std C,                  NONE    core_ws         dpans6.htm      6.1.0860
628. std C@                  NONE    core_ws         dpans6.htm      6.1.0870
629. std CELL+               NONE    core_ws         dpans6.htm      6.1.0880
630. std CELLS               NONE    core_ws         dpans6.htm      6.1.0890
631. std CHAR+               NONE    core_ws         dpans6.htm      6.1.0897
632. std CHARS               NONE    core_ws         dpans6.htm      6.1.0898
633. std COUNT               NONE    core_ws         dpans6.htm      6.1.0980
634. std CR                  NONE    core_ws         dpans6.htm      6.1.0990
635. std DEPTH               NONE    core_ws         dpans6.htm      6.1.1200
636. std DO                  NONE    core_ws         dpans6.htm      6.1.1240
637. std DOES>               NONE    core_ws         dpans6.htm      6.1.1250
638. std DROP                NONE    core_ws         dpans6.htm      6.1.1260
639. std DUP                 NONE    core_ws         dpans6.htm      6.1.1290
640. std ELSE                NONE    core_ws         dpans6.htm      6.1.1310
641. std EMIT                NONE    core_ws         dpans6.htm      6.1.1320
642. std ENVIRONMENT?        NONE    core_ws         dpans6.htm      6.1.1345
643. std EVALUATE            NONE    core_ws         dpans6.htm      6.1.1360
644. std EXECUTE             NONE    core_ws         dpans6.htm      6.1.1370
645. std EXIT                NONE    core_ws         dpans6.htm      6.1.1380
646. std FILL                NONE    core_ws         dpans6.htm      6.1.1540
647. std FIND                NONE    core_ws         dpans6.htm      6.1.1550
648. std FM/MOD              NONE    core_ws         dpans6.htm      6.1.1561
649. std HERE                NONE    core_ws         dpans6.htm      6.1.1650
650. std HOLD                NONE    core_ws         dpans6.htm      6.1.1670
651. std I                   NONE    core_ws         dpans6.htm      6.1.1680
652. std IF                  NONE    core_ws         dpans6.htm      6.1.1700
653. std IMMEDIATE           NONE    core_ws         dpans6.htm      6.1.1710
654. std INVERT              NONE    core_ws         dpans6.htm      6.1.1720
655. std J                   NONE    core_ws         dpans6.htm      6.1.1730
656. std KEY                 NONE    core_ws         dpans6.htm      6.1.1750
657. std LEAVE               NONE    core_ws         dpans6.htm      6.1.1760
658. std LITERAL             NONE    core_ws         dpans6.htm      6.1.1780
659. std LOOP                NONE    core_ws         dpans6.htm      6.1.1800
660. std LSHIFT              NONE    core_ws         dpans6.htm      6.1.1805
661. std M*                  NONE    core_ws         dpans6.htm      6.1.1810
662. std MAX                 NONE    core_ws         dpans6.htm      6.1.1870
663. std MIN                 NONE    core_ws         dpans6.htm      6.1.1880
664. std MOD                 NONE    core_ws         dpans6.htm      6.1.1890
665. std MOVE                NONE    core_ws         dpans6.htm      6.1.1900
666. std NEGATE              NONE    core_ws         dpans6.htm      6.1.1910
667. std OR                  NONE    core_ws         dpans6.htm      6.1.1980
668. std OVER                NONE    core_ws         dpans6.htm      6.1.1990
669. std POSTPONE            NONE    core_ws         dpans6.htm      6.1.2033
670. std QUIT                NONE    core_ws         dpans6.htm      6.1.2050
671. std R>                  NONE    core_ws         dpans6.htm      6.1.2060
672. std R@                  NONE    core_ws         dpans6.htm      6.1.2070
673. std RECURSE             NONE    core_ws         dpans6.htm      6.1.2120
674. std REPEAT              NONE    core_ws         dpans6.htm      6.1.2140
675. std ROT                 NONE    core_ws         dpans6.htm      6.1.2160
676. std RSHIFT              NONE    core_ws         dpans6.htm      6.1.2162
677. std S>D                 NONE    core_ws         dpans6.htm      6.1.2170
678. std SIGN                NONE    core_ws         dpans6.htm      6.1.2210
679. std SM/REM              NONE    core_ws         dpans6.htm      6.1.2214
680. std SOURCE              NONE    core_ws         dpans6.htm      6.1.2216
681. std SPACE               NONE    core_ws         dpans6.htm      6.1.2220
682. std SPACES              NONE    core_ws         dpans6.htm      6.1.2230
683. std STATE               NONE    core_ws         dpans6.htm      6.1.2250
684. std SWAP                NONE    core_ws         dpans6.htm      6.1.2260
685. std THEN                NONE    core_ws         dpans6.htm      6.1.2270
686. std TYPE                NONE    core_ws         dpans6.htm      6.1.2310
687. std U.                  NONE    core_ws         dpans6.htm      6.1.2320
688. std U<                  NONE    core_ws         dpans6.htm      6.1.2340
689. std UM*                 NONE    core_ws         dpans6.htm      6.1.2360
690. std UM/MOD              NONE    core_ws         dpans6.htm      6.1.2370
691. std UNLOOP              NONE    core_ws         dpans6.htm      6.1.2380
692. std UNTIL               NONE    core_ws         dpans6.htm      6.1.2390
693. std WHILE               NONE    core_ws         dpans6.htm      6.1.2430
694. std WORD                NONE    core_ws         dpans6.htm      6.1.2450
695. std XOR                 NONE    core_ws         dpans6.htm      6.1.2490
696. std #TIB                NONE    core_ext_ws     dpans6.htm      6.2.0060
697. std .R                  NONE    core_ext_ws     dpans6.htm      6.2.0210
698. std 0<>                 NONE    core_ext_ws     dpans6.htm      6.2.0260
699. std 0>                  NONE    core_ext_ws     dpans6.htm      6.2.0280
700. std 2>R                 NONE    core_ext_ws     dpans6.htm      6.2.0340
701. std 2R>                 NONE    core_ext_ws     dpans6.htm      6.2.0410
702. std 2R@                 NONE    core_ext_ws     dpans6.htm      6.2.0415
703. std :NONAME             NONE    core_ext_ws     dpans6.htm      6.2.0455
704. std <>                  NONE    core_ext_ws     dpans6.htm      6.2.0500
705. std ?DO                 NONE    core_ext_ws     dpans6.htm      6.2.0620
706. std AGAIN               NONE    core_ext_ws     dpans6.htm      6.2.0700
707. std CASE                NONE    core_ext_ws     dpans6.htm      6.2.0873
708. std COMPILE,            NONE    core_ext_ws     dpans6.htm      6.2.0945
709. std CONVERT             NONE    core_ext_ws     dpans6.htm      6.2.0970
710. std ENDCASE             NONE    core_ext_ws     dpans6.htm      6.2.1342
711. std ENDOF               NONE    core_ext_ws     dpans6.htm      6.2.1343
712. std ERASE               NONE    core_ext_ws     dpans6.htm      6.2.1350
713. std EXPECT              NONE    core_ext_ws     dpans6.htm      6.2.1390
714. std NIP                 NONE    core_ext_ws     dpans6.htm      6.2.1930
715. std OF                  NONE    core_ext_ws     dpans6.htm      6.2.1950
716. std PAD                 NONE    core_ext_ws     dpans6.htm      6.2.2000
717. std PARSE               NONE    core_ext_ws     dpans6.htm      6.2.2008
718. std PICK                NONE    core_ext_ws     dpans6.htm      6.2.2030
719. std QUERY               NONE    core_ext_ws     dpans6.htm      6.2.2040
720. std REFILL              NONE    core_ext_ws     dpans6.htm      6.2.2125
721. std RESTORE-INPUT       NONE    core_ext_ws     dpans6.htm      6.2.2148
722. std ROLL                NONE    core_ext_ws     dpans6.htm      6.2.2150
723. std SAVE-INPUT          NONE    core_ext_ws     dpans6.htm      6.2.2182
724. std SOURCE-ID           NONE    core_ext_ws     dpans6.htm      6.2.2218
725. std SPAN                NONE    core_ext_ws     dpans6.htm      6.2.2240
726. std TIB                 NONE    core_ext_ws     dpans6.htm      6.2.2290
727. std TO                  NONE    core_ext_ws     dpans6.htm      6.2.2295
728. std TRUE                NONE    numeric         dpans6.htm      6.2.2298
729. std TUCK                NONE    core_ext_ws     dpans6.htm      6.2.2300
730. std U.R                 NONE    core_ext_ws     dpans6.htm      6.2.2330
731. std U>                  NONE    core_ext_ws     dpans6.htm      6.2.2350
732. std UNUSED              NONE    core_ext_ws     dpans6.htm      6.2.2395
733. std WITHIN              NONE    core_ext_ws     dpans6.htm      6.2.2440
734. std [COMPILE]           NONE    core_ext_ws     dpans6.htm      6.2.2530
735. std BLK                 NONE    block_ws        dpans7.htm      7.6.1.0790
736. std BLOCK               NONE    block_ws        dpans7.htm      7.6.1.0800
737. std BUFFER              NONE    block_ws        dpans7.htm      7.6.1.0820
738. std FLUSH               NONE    block_ws        dpans7.htm      7.6.1.1559
739. std LOAD                NONE    block_ws        dpans7.htm      7.6.1.1790
740. std SAVE-BUFFERS        NONE    block_ws        dpans7.htm      7.6.1.2180
741. std UPDATE              NONE    block_ws        dpans7.htm      7.6.1.2400
742. std EMPTY-BUFFERS       NONE    block_ws        dpans7.htm      7.6.2.1330
743. std LIST                NONE    block_ws        dpans7.htm      7.6.2.1770
744. std SCR                 NONE    block_ws        dpans7.htm      7.6.2.2190
745. std THRU                NONE    block_ws        dpans7.htm      7.6.2.2280
746. std 2LITERAL            NONE    double_ws       dpans8.htm      8.6.1.0390
747. std D+                  NONE    double_ws       dpans8.htm      8.6.1.1040
748. std D-                  NONE    double_ws       dpans8.htm      8.6.1.1050
749. std D.                  NONE    double_ws       dpans8.htm      8.6.1.1060
750. std D.R                 NONE    double_ws       dpans8.htm      8.6.1.1070
751. std D0<                 NONE    double_ws       dpans8.htm      8.6.1.1075
752. std D0=                 NONE    double_ws       dpans8.htm      8.6.1.1080
753. std D2*                 NONE    double_ws       dpans8.htm      8.6.1.1090
754. std D2/                 NONE    double_ws       dpans8.htm      8.6.1.1100
755. std D<                  NONE    double_ws       dpans8.htm      8.6.1.1110
756. std D=                  NONE    double_ws       dpans8.htm      8.6.1.1120
757. std D>S                 NONE    double_ws       dpans8.htm      8.6.1.1140
758. std DABS                NONE    double_ws       dpans8.htm      8.6.1.1160
759. std DMAX                NONE    double_ws       dpans8.htm      8.6.1.1210
760. std DMIN                NONE    double_ws       dpans8.htm      8.6.1.1220
761. std DNEGATE             NONE    double_ws       dpans8.htm      8.6.1.1230
762. std M*/                 NONE    double_ws       dpans8.htm      8.6.1.1820
763. std M+                  NONE    double_ws       dpans8.htm      8.6.1.1830
764. std 2ROT                NONE    double_ws       dpans8.htm      8.6.2.0420
765. std DU<                 NONE    double_ws       dpans8.htm      8.6.2.1270
766. std CATCH               NONE    exception_ws    dpans9.htm      9.6.1.0875
767. std THROW               NONE    exception_ws    dpans9.htm      9.6.1.2275
768. std AT-XY               NONE    facilities_ws   dpans10.htm     10.6.1.0742
769. std KEY?                NONE    facilities_ws   dpans10.htm     10.6.1.1755
770. std PAGE                NONE    facilities_ws   dpans10.htm     10.6.1.2005
771. std EKEY                NONE    facilities_ws   dpans10.htm     10.6.2.1305
772. std EKEY<CHAR           NONE    facilities_ws   dpans10.htm     10.6.2.1306
773. std EKEY?               NONE    facilities_ws   dpans10.htm     10.6.2.1307
774. std EMIT?               NONE    facilities_ws   dpans10.htm     10.6.2.1325
775. std MS                  NONE    facilities_ws   dpans10.htm     10.6.2.1905
776. std TIME&DATE           NONE    facilities_ws   dpans10.htm     10.6.2.2292
777. std BIN                 NONE    file_ws         dpans11.htm     11.6.1.0765
778. std CLOSE-FILE          NONE    file_ws         dpans11.htm     11.6.1.0900
779. std CREATE-FILE         NONE    file_ws         dpans11.htm     11.6.1.1010
780. std DELETE-FILE         NONE    file_ws         dpans11.htm     11.6.1.1190
781. std FILE-POSITION       NONE    file_ws         dpans11.htm     11.6.1.1520
782. std FILE-SIZE           NONE    file_ws         dpans11.htm     11.6.1.1522
783. std INCLUDE-FILE        NONE    file_ws         dpans11.htm     11.6.1.1717
784. std OPEN-FILE           NONE    file_ws         dpans11.htm     11.6.1.1970
785. std R/O                 NONE    file_ws         dpans11.htm     11.6.1.2054
786. std R/W                 NONE    file_ws         dpans11.htm     11.6.1.2056
787. std READ-FILE           NONE    file_ws         dpans11.htm     11.6.1.2080
788. std READ-LINE           NONE    file_ws         dpans11.htm     11.6.1.2090
789. std REPOSITION-FILE     NONE    file_ws         dpans11.htm     11.6.1.2142
790. std RESIZE-FILE         NONE    file_ws         dpans11.htm     11.6.1.2147
791. std W/O                 NONE    file_ws         dpans11.htm     11.6.1.2425
792. std WRITE-FILE          NONE    file_ws         dpans11.htm     11.6.1.2480
793. std WRITE-LINE          NONE    file_ws         dpans11.htm     11.6.1.2485
794. std FILE-STATUS         NONE    file_ws         dpans11.htm     11.6.2.1524
795. std FLUSH-FILE          NONE    file_ws         dpans11.htm     11.6.2.1560
796. std RENAME-FILE         NONE    file_ws         dpans11.htm     11.6.2.2130
797. std >FLOAT              NONE    fp_ws           dpans12.htm     12.6.1.0558
798. std D>F                 NONE    fp_ws           dpans12.htm     12.6.1.1130
799. std F!                  NONE    fp_ws           dpans12.htm     12.6.1.1400
800. std F*                  NONE    fp_ws           dpans12.htm     12.6.1.1410
801. std F+                  NONE    fp_ws           dpans12.htm     12.6.1.1420
802. std F-                  NONE    fp_ws           dpans12.htm     12.6.1.1425
803. std F/                  NONE    fp_ws           dpans12.htm     12.6.1.1430
804. std F0<                 NONE    fp_ws           dpans12.htm     12.6.1.1440
805. std F0=                 NONE    fp_ws           dpans12.htm     12.6.1.1450
806. std F<                  NONE    fp_ws           dpans12.htm     12.6.1.1460
807. std F>D                 NONE    fp_ws           dpans12.htm     12.6.1.1460
808. std F@                  NONE    fp_ws           dpans12.htm     12.6.1.1472
809. std FALIGN              NONE    fp_ws           dpans12.htm     12.6.1.1479
810. std FALIGNED            NONE    fp_ws           dpans12.htm     12.6.1.1483
811. std FDEPTH              NONE    fp_ws           dpans12.htm     12.6.1.1497
812. std FDROP               NONE    fp_ws           dpans12.htm     12.6.1.1500
813. std FDUP                NONE    fp_ws           dpans12.htm     12.6.1.1510
814. std FLITERAL            NONE    fp_ws           dpans12.htm     12.6.1.1552
815. std FLOAT+              NONE    fp_ws           dpans12.htm     12.6.1.1555
816. std FLOATS              NONE    fp_ws           dpans12.htm     12.6.1.1556
817. std FLOOR               NONE    fp_ws           dpans12.htm     12.6.1.1558
818. std FMAX                NONE    fp_ws           dpans12.htm     12.6.1.1562
819. std FMIN                NONE    fp_ws           dpans12.htm     12.6.1.1565
820. std FNEGATE             NONE    fp_ws           dpans12.htm     12.6.1.1567
821. std FOVER               NONE    fp_ws           dpans12.htm     12.6.1.1600
822. std FROT                NONE    fp_ws           dpans12.htm     12.6.1.1610
823. std FROUND              NONE    fp_ws           dpans12.htm     12.6.1.1612
824. std FSWAP               NONE    fp_ws           dpans12.htm     12.6.1.1620
825. std REPRESENT           NONE    fp_ws           dpans12.htm     12.6.1.2143
826. std DF!                 NONE    fp_ws           dpans12.htm     12.6.2.1203
827. std DF@                 NONE    fp_ws           dpans12.htm     12.6.2.1204
828. std DFALIGN             NONE    fp_ws           dpans12.htm     12.6.2.1205
829. std DFALIGNED           NONE    fp_ws           dpans12.htm     12.6.2.1207
830. std DFLOAT+             NONE    fp_ws           dpans12.htm     12.6.2.1208
831. std DFLOATS             NONE    fp_ws           dpans12.htm     12.6.2.1209
832. std F**                 NONE    fp_ws           dpans12.htm     12.6.2.1415
833. std F.                  NONE    fp_ws           dpans12.htm     12.6.2.1427
834. std FABS                NONE    fp_ws           dpans12.htm     12.6.2.1474
835. std FACOS               NONE    fp_ws           dpans12.htm     12.6.2.1476
836. std FACOSH              NONE    fp_ws           dpans12.htm     12.6.2.1477
837. std FALOG               NONE    fp_ws           dpans12.htm     12.6.2.1484
838. std FASIN               NONE    fp_ws           dpans12.htm     12.6.2.1486
839. std FASINH              NONE    fp_ws           dpans12.htm     12.6.2.1487
840. std FATAN               NONE    fp_ws           dpans12.htm     12.6.2.1488
841. std FATAN2              NONE    fp_ws           dpans12.htm     12.6.2.1489
842. std FATANH              NONE    fp_ws           dpans12.htm     12.6.2.1491
843. std FCOS                NONE    fp_ws           dpans12.htm     12.6.2.1493
844. std FCOSH               NONE    fp_ws           dpans12.htm     12.6.2.1494
845. std FE.                 NONE    fp_ws           dpans12.htm     12.6.2.1513
846. std FEXP                NONE    fp_ws           dpans12.htm     12.6.2.1515
847. std FEXPM1              NONE    fp_ws           dpans12.htm     12.6.2.1516
848. std FLN                 NONE    fp_ws           dpans12.htm     12.6.2.1553
849. std FLNP1               NONE    fp_ws           dpans12.htm     12.6.2.1554
850. std FLOG                NONE    fp_ws           dpans12.htm     12.6.2.1557
851. std FS.                 NONE    fp_ws           dpans12.htm     12.6.2.1613
852. std FSIN                NONE    fp_ws           dpans12.htm     12.6.2.1614
853. std FSINCOS             NONE    fp_ws           dpans12.htm     12.6.2.1616
854. std FSINH               NONE    fp_ws           dpans12.htm     12.6.2.1617
855. std FSQRT               NONE    fp_ws           dpans12.htm     12.6.2.1618
856. std FTAN                NONE    fp_ws           dpans12.htm     12.6.2.1625
857. std FTANH               NONE    fp_ws           dpans12.htm     12.6.2.1626
858. std F~                  NONE    fp_ws           dpans12.htm     12.6.2.1640
859. std PRECISION           NONE    fp_ws           dpans12.htm     12.6.2.2035
860. std SET-PRECISION       NONE    fp_ws           dpans12.htm     12.6.2.2200
861. std SF!                 NONE    fp_ws           dpans12.htm     12.6.2.2202
862. std SF@                 NONE    fp_ws           dpans12.htm     12.6.2.2203
863. std SFALIGN             NONE    fp_ws           dpans12.htm     12.6.2.2204
864. std SFALIGNED           NONE    fp_ws           dpans12.htm     12.6.2.2206
865. std SFLOAT+             NONE    fp_ws           dpans12.htm     12.6.2.2207
866. std SFLOATS             NONE    fp_ws           dpans12.htm     12.6.2.2208
867. std (LOCAL)             NONE    local_ws        dpans13.htm     13.6.1.0086
868. std LOCALS|             NONE    local_ws        dpans13.htm     13.6.2.1795
869. std ALLOCATE            NONE    malloc_ws       dpans14.htm     14.6.1.0707
870. std FREE                NONE    malloc_ws       dpans14.htm     14.6.1.1605
871. std RESIZE              NONE    malloc_ws       dpans14.htm     14.6.1.2145
872. std .S                  NONE    progtools_ws    dpans15.htm     15.6.1.0220
873. std ?                   NONE    progtools_ws    dpans15.htm     15.6.1.0600
874. std DUMP                NONE    progtools_ws    dpans15.htm     15.6.1.1280
875. std SEE                 NONE    progtools_ws    dpans15.htm     15.6.1.2194
876. std WORDS               NONE    progtools_ws    dpans15.htm     15.6.1.2465
877. std AHEAD               NONE    progtools_ws    dpans15.htm     15.6.2.0702
878. std ASSEMBLER           NONE    progtools_ws    dpans15.htm     15.6.2.0740
879. std BYE                 NONE    progtools_ws    dpans15.htm     15.6.2.0830
880. std CS-PICK             NONE    progtools_ws    dpans15.htm     15.6.2.1015
881. std CS-ROLL             NONE    progtools_ws    dpans15.htm     15.6.2.1020
882. std EDITOR              NONE    progtools_ws    dpans15.htm     15.6.2.1300
883. std FORGET              NONE    progtools_ws    dpans15.htm     15.6.2.1580
884. std [ELSE]              NONE    progtools_ws    dpans15.htm     15.6.2.2531
885. std [THEN]              NONE    progtools_ws    dpans15.htm     15.6.2.2533
886. std DEFINITIONS         NONE    searchord_ws    dpans16.htm     16.6.1.1180
887. std FORTH-WORDLIST      NONE    searchord_ws    dpans16.htm     16.6.1.1595
888. std GET-CURRENT         NONE    searchord_ws    dpans16.htm     16.6.1.1643
889. std GET-ORDER           NONE    searchord_ws    dpans16.htm     16.6.1.1647
890. std SEARCH-WORDLIST     NONE    searchord_ws    dpans16.htm     16.6.1.2192
891. std SET-CURRENT         NONE    searchord_ws    dpans16.htm     16.6.1.2195
892. std SET-ORDER           NONE    searchord_ws    dpans16.htm     16.6.1.2197
893. std WORDLIST            NONE    searchord_ws    dpans16.htm     16.6.1.2460
894. std ALSO                NONE    searchord_ws    dpans16.htm     16.6.2.0715
895. std FORTH               NONE    searchord_ws    dpans16.htm     16.6.2.1590
896. std ONLY                NONE    searchord_ws    dpans16.htm     16.6.2.1965
897. std ORDER               NONE    searchord_ws    dpans16.htm     16.6.2.1985
898. std PREVIOUS            NONE    searchord_ws    dpans16.htm     16.6.2.2037
899. std -TRAILING           NONE    string_ws       dpans17.htm     17.6.1.0170
900. std /STRING             NONE    string_ws       dpans17.htm     17.6.1.0245
901. std BLANK               NONE    string_ws       dpans17.htm     17.6.1.0780
902. std CMOVE               NONE    string_ws       dpans17.htm     17.6.1.0910
903. std CMOVE>              NONE    string_ws       dpans17.htm     17.6.1.0920
904. std COMPARE             NONE    string_ws       dpans17.htm     17.6.1.0935
905. std SEARCH              NONE    string_ws       dpans17.htm     17.6.1.2191
906. std SLITERAL            NONE    string_ws       dpans17.htm     17.6.1.2212
861. 
862. _DEFINITIONS
863. 
864. \ Revision history
865. \ 0. 1st release to guinea pigs via comp.lang.forth
907. 
908. _DEFINITIONS
909. 
910. \ Revision history
911. \ 0. 1st release to guinea pigs via comp.lang.forth
866. \ 1. Added multi-line comment 0 [IF]. Colored CHAR outside definitions.
912. \ 1. (BNE) Added multi-line comment 0 [IF]. Colored CHAR outside definitions.
867. \ 2. (EJB) Added missing definitions for common but nonstandard words
868. \    and cleaned up to account for case sensitivity.
869. \ 3. (EJB) Fixed up to create conforming XHTML 1.0 Strict
870. \ 4. (BNE) File check before nesting, moved file names to the hyperlink table,
871. \    added some option flags, cleared hyperlink list for each run. Added more
872. \    multiline comment words. Expands tabs to spaces. Title uses %20 for blanks.
913. \ 2. (EJB) Added missing definitions for common but nonstandard words
914. \    and cleaned up to account for case sensitivity.
915. \ 3. (EJB) Fixed up to create conforming XHTML 1.0 Strict
916. \ 4. (BNE) File check before nesting, moved file names to the hyperlink table,
917. \    added some option flags, cleared hyperlink list for each run. Added more
918. \    multiline comment words. Expands tabs to spaces. Title uses %20 for blanks.
873. \ 4a. (DBU) Added dpanspath to configure the path to the dpans-files. Added
919. \ 5. (BNE) Added multiline { comment. Replaced -1 WORD with [CHAR] |.
920. \    Put hyperlinks that should not be overridden in a separate wordlist.
921. \ 6. (BNE) Limited this text to 80 columns, cleaned up comments a bit. Added
922. \    option for different color schemes.
923. \ 7. (DBU) Added dpanspath to configure the path to the dpans-files. Added
874. \     linksource to output a hyperlink to the original source file. Added
875. \     some words used in Win32Forth. Added copyright to output a copyright text
876. \     at the bottom of the HTML-file.
924. \     linksource to output a hyperlink to the original source file. Added
925. \     some words used in Win32Forth. Added copyright to output a copyright text
926. \     at the bottom of the HTML-file.
877. \ 4b. (DBU) Fixed some HTML-Error's found with "CSE HTML Validator Lite v3.50"
878. \ 4c. (EJB/DBU) Consolidated some strings
879. \ 4d. (DBU) Cleanup of 4c and renaming copyright to footer 
927. \ 8. (BNE) Put in Dirk's link to source file in header. Changed ['] to be
928. \    simple colored link. Added Forth2HTML link at bottom.
929. 
880. 
930.