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