Open GoogleCodeExporter opened 8 years ago
Just to clarify:
Years ago I was writing a data acquisition program on an Intel 8052 using Bryte
Forth.
I was running out of space in memory.
An expert Forth programmer wrote something he called an "optimizer".
1. The application cod was added to the top of the dictionary.
2. The optimizer searched back through the dictionary and weeded
out any words that were not referenced.
3. As I recall after each word was removed the optimizer started
over again until the bottom of the dictionary was reached.
This process squeezed the dictionary down to a minimal size to operate.
However, this subset of forth was now not useful for editing but it ran the
last word in the dictionary which is all it had to do.
Duane J
Original comment by ziggy1...@gmail.com
on 25 Mar 2013 at 11:05
Probably could write an optimizer, but PropForth is written to start with a
minimal Kernel and add what is needed.
The BootOptimizeKernel is effectively the minimum kernel. No error messages,
wordlist, etc.
I frequently build kernels up from this once an app is stable. The one use most
commonly is an eeprom read only file system kernel.
It is easy to produce the same using the SD file system. The SD file system is
larger, if I remember correctly about 4k. I have versions of this from previous
releases I use for data loggers.
If you think a minimal SD system is of value, let me know. Should only take a
few hours to produce and verify.
The standard load and forget pattern is something the HTTP kernels use from SD,
it is stable and works well. If multiple cogs are updating the dictionary some
caution is required ie lockdict freedict to prevent unwanted side effects.
The only reason these were not released is the amount of documentation required.
Original comment by salsa...@gmail.com
on 26 Mar 2013 at 5:41
Original issue reported on code.google.com by
prof.bra...@gmail.com
on 25 Mar 2013 at 9:38