Hi,
I made some updates to the tokenizer and detokenizer, mainly bug fixes.
Toke 0.4 changes since the last release (0.2) --------------------------------------------- * abort" is tokenized now. This is not really defined by IEEE, but it is used in some Apple FCode driver examples, and thus should at least do something. Using abort" in FCode programs emits a warning when running toke. * endif works. In Forth if clauses are written as condition? if ... then However, a lot of forth implementations know if..endif as well as it sounds a bit more natural * name is an alias for device-name. Added to fit common usage. * parsed numbers can contain dots to make reading easier. * fcode number counter resetted when tokenizing multiple files. * hex values that are embedded in strings work properly now. * better IEEE compliance (no definitions within definitions etc) * other small bugfixes.
Detok 0.5.2 changes since last release (0.3) -------------------------------------------- * case..endcase expressions are now detokenized correctly case expected an offset value, which is not true according to IEEE * detok is more silent per default now. * compilation on some systems that seem to have broken headers for getopt() should work. (Thanks to Tim Barret) * When an FCode word is unnamed, always print the FCode number (Tim Barret) * Indent size is 4 now to make output more readable. * line numbers or byte offsets within the detokenized fcode file can be shown * checksum calculation works. * Input files are buffered (slightly better performance ;)) * pretty printing of strings with nonprintables fixed. * support for 64bit extension fcode words. * other small bugfixes
Additionally I started to put some Forth code into CVS, which implements some of the base fcode words from the IEEE 1275. You can have a look at http://openbios.ph-freiburg.de/cgi-dom/viewcvs.cgi/fcode/base/ Currently some data type conversions and stack operations are implemented, but its far from being complete. This should give you an idea how Forth words of IEEE 1275 can be implemented easily Every section in the source files contains the topic number as described in the ieee 1275 standard. A lot of sections are missing. Feel free to choose one, drop a note on this list that you want to work on it and start coding ;)
Any quastions and comments are highly welcome! It's time to get things started - would be a nice christmas present to have the first machine booting some openbios version by the end of this year ;)
Stefan