1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
|
# tag: stepan's changelog for CVS
Mon Jul 14 02:16:49 CEST 2003
- fix segv overrun while dumping dictionary in unix.c
- implement first version of >number and $number
- add stack diagram to digit
- no newline after accept
- new version of the interpreter
- fix make run target
Mon Jul 14 20:15:40 CEST 2003
- negate true value in prims
- get rid of primitive word bounds.
- get rid of some obsolete code.
- implement io[cwl][@!]
- reorganize [in|out][bwl]
- start adding stack diagrams to primitives.
Mon Jul 14 23:57:46 CEST 2003
- added some more stack diagrams in forth.h
- move parse, parse-word, word to bootstrap.fs
- include memory.fs from bootstrap.fs for above.
Wed Jul 16 22:57:31 CEST 2003
- add include guards
- add banner
- fix primitives' dependencies
Sun Jul 20 03:27:40 CEST 2003
- remove unneeded readcell
- rename ' to ['] to meet specs
Sun Jul 20 14:08:43 CEST 2003
- add rest of stack diagrams in forth.h
- move here and here! to forth.h (from internal.h)
- indent includes
- merge system.h into forth.h
- Change tag of forth.h (!) because the old one
did not meet the meaning of the code.
- update comments in primitives.c
Sun Jul 27 01:53:18 CEST 2003
- include great new do/?do/loop/+loop
implementation from Patrick.
- include testsuite enhancement from Patrick
- include trampoline from Patrick (fixes execute)
Sun Jul 27 21:11:50 CEST 2003
- update x86 console code to become when using
multiboot (vga/keyboard).
- fix exit properly
- revert to old case..endcase code
- fix >number and $number
- add number parsing to interpreter
- add simple stack checking to interpreter
- add 2 testcases (exit and case2)
Mon Jul 28 14:49:31 CEST 2003
- move 7.3.7 Flag constants up in bootstrap.fs
- move 7.3.9.2.4 Miscellaneous dictionary down.
- add reveal, recursive, recurse, environment? to 7.3.9.2.4
- move (to) to bootstrap.fs
Mon Jul 28 17:08:58 CEST 2003
- add stack overflow check to interpreter
- check parse-word result in interpreter.
- add ascii and char, add helper handle-lit
Tue Jul 29 09:20:18 CEST 2003
- add s" and ."
- add [char] and control
- heavily move around words in bootstrap.fs
to get dependencies resolved.
- fix skipws crash
- rename query to refill
- interpreter reads several words in a line now
- interpreter stops now if error encountered in
currently parsed line.
- add forth definitions of ( and \
- change c parser/interpreter to handle comments
correctly.
- indent, clean up unix.c
Tue Jul 29 18:13:27 CEST 2003
- add .( (chapter 7.3.4.4)
- add pack, -trailing (chapter 7.3.4.8)
- add d#, h#, o# (chapter 7.3.5.2)
- let first stack element start at 1 instead of 0
to have a 1 cell guard band.
- set SA_NODEFER flag to signal handler to ensure
that it is entered recursively.
Tue Jul 29 19:06:18 CEST 2003
- more simplification for unix.c
- add ', ['], find
- fix pack, count
- add literal, compile, [compile], compile,
- fix [
Wed Jul 30 01:24:24 CEST 2003
- add >body, body>
- add helpers: flags?, immediate?, compile-only?, header
- add :, ;, constant, value, variable, buffer:
- parse word's flags in interpreter to make colon
definitions work
- add "compiled" acknowledge when interpreter is in compile mode
Wed Jul 30 07:27:58 CEST 2003
- fix flags handling in interpreter
- fix handle-text compile mode behaviour
- add defer, struct, field
- add behaviour, to
- add $create, create, does> (missing c code DODOES)
- add abort
Thu Jul 31 07:58:35 CEST 2003
- fix DODOES cfa code
- make 2@ and 2! colon definitions instead of primitives.
- add word "cell"
- add warning message as described in 7.3.9.1 if an already
existing word is created
Fri Aug 1 23:32:57 CEST 2003
- fix s" in C interpreter (compare case insensitive)
- fix forth source dependencies
- fix forth word sm/rem
Sat Aug 2 13:34:43 CEST 2003
- add band guard around input buffer
- make sure that "header" pads null bytes
- define -1,0,1,2,3 early to safe dictionary space
Sat Aug 2 16:58:31 CEST 2003
- use getopt/getopt_long for option parsing
- add include path option -I to unix
- don't create obsolete symlink in forth/Makefile
- fix recurse
- fix prim word /
- implement postpone
- fix 2!, ['] and '
- implement evaluate/eval
Sun Aug 3 11:48:18 CEST 2003
- implement "bye" to leave the engine
- change initial word to "initialize" and
make quit restart the forth engine.
- fix missing ; in u.
- fix return value of find when handling an immediate
- getting rid of primitives mod, /mod and /, replacing
them by floored variants as IEEE 1275-1994 says.
- clean up primitives.
Sun Aug 3 23:06:39 CEST 2003
- fix >body, body>
- make not a synonym for invert as described in IEEE 1275
- todigit can now switch between capital and small letters via
value capital-hex?
Mon Aug 4 21:57:06 CEST 2003
- indent unix.c
- reimplement do, ?do, loop, +loop with prim helpers. It now
passes hayes' ans forth test suite.
- adopt unix.c and bootstrap.fs to new (?)do..(+)loop
- remove unneeded if around ?do..loop in ",
- interpreter: clear input buffer before refilling it
- serialize PC changes in dobranch and do?branch
Thu Aug 7 19:00:43 CEST 2003
- add/change missing/incomplete copyright notices
- implement "
Sun Aug 10 19:52:20 CEST 2003
- reimplement catch, through
- implement abort"
- rephrase endcase
- change interpreter to use exception words
- implement forget
- add dummy "forth"
Sun Aug 10 22:12:28 CEST 2003
- fix "spaces"
- create subdir util for types.sh and new bin2hex
- enable forth.html again, running hayes test suite.
- include dictionary in char array instead of elf section
when building an x86 "full" image
- don't newline in accept.
- fix " compile mode behavior.
- move throw/catch and use it with ' and [']
- add :noname
Thu Aug 14 23:02:15 CEST 2003
- fix "field"
- implement second stage bootstrapping
NOTE: changes dictionary format!
- drop initxt from dictionary, since we know "last" now.
- output dictionary can be named on command line.
- make segfault handler optional
Mon Sep 1 19:41:23 CEST 2003
- move findword() et al to dict.c (needed by openbios.c due
to last dictionary change)
- fix findword() return values and optimize it slightly.
- indented some files.
Mon Sep 8 22:43:55 CEST 2003
- add initial AMD64 support (cloned x86 target)
- get vocabulary implementation working. maybe buggy, but operable
- enable vocabulary support by default (vocabularies? set to true)
- drop duplicate "forth"
- fix some comments in forth files.
Sun Sep 28 14:26:41 CEST 2003
- some documentation and comment fixes
- fix parameter passing for io words.
Thu Oct 2 08:21:06 CEST 2003
- clean up lit
- inline some functions from internal.h (reduces size and execution
time)
Fri Oct 3 15:20:44 CEST 2003
- make i and j primitives. This safes a lot of time in loops.
i.e. the following dummy loop executes 300% faster:
: fbar 1000 0 do 1000 0 do j drop i drop loop loop ;
Sat Oct 11 20:18:22 CEST 2003
- include plugin interface for unix hosted version.
- add plugin_pci and plugin_qt as examples.
- add simple set of pci functions for testing the pci plugin
- add state variable "runforth" to be changed by the qt plugin
on exit.
Sun Oct 12 14:57:54 CEST 2003
- move internal.h and forth.h to kernel/
- replace make by $(MAKE) in some places.
Tue Oct 14 01:06:39 CEST 2003
- add (immediate) and (compile-only)
Wed Oct 15 00:52:49 CEST 2003
- check whether dlopen() needs libdl.
- include BSD compile fixes from oxygene
- fix abort"
Tue Oct 21 22:08:00 CEST 2003
- fix forth.html dependencies
- yet another indent orgy
Thu Oct 30 16:10:01 CET 2003
- add "call" to execute native code functions
- plugin_qt: fix framebuffer address on 64bit systems
- plugin_pci: create position independent code.
Wed Nov 5 08:38:18 CET 2003
- fix "comp" (from Samuel Rydh)
- include instance support (from Samuel Rydh)
Sun Nov 9 15:53:33 CET 2003
- some changes for "see"
- apply more patches from Samuel.
- smaller, better implementation of handle-text
Mon Nov 10 22:06:32 CET 2003
- increase max dictionary size from 64k to 128k
- add simple fcode to qt plugin
- fix handle-text (move null-align up)
Tue Nov 11 22:53:27 CET 2003
- rename ?key to key?.
- clean up .s
- add (cr
Tue Nov 17 22:42:54 CET 2003
- enterforth rstack fix (from Samuel)
- include latest version of qt interface
fcode driver
- fix "header" (from Samuel)
Wed Nov 26 15:12:07 CET 2003
- merge patches from Samuel:
- add $buffer:
- fill all of "ib", not only 80 characters
- interpreted conditionals support
- late initializers
Sun Nov 30 23:04:28 CET 2003
- fix bug in enterforth (non-colon words would destroy PC)
Sat Dec 13 00:57:01 CET 2003
- add initial ppc infrastructure
- only search current wordlist in "header"
- seperate unix host binary and bootstrap interpreter.
Sun Dec 14 18:13:29 CET 2003
- add sys-debug word and use it to stop forth interpreter
during bootstrap if an error occurs.
Sat Mar 13 16:30:30 CET 2004
- fix digit problem
|