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