4tH is a Forth compiler with a little difference. Instead of the standard Forth engine it features a conventional compiler. 4tH is a very small compiler that can create bytecode, C-embeddable bytecode, standalone executables, but also works fine as a scripting language. It supports about 95% of the ANS Forth CORE wordset and features conditional compilation, pipes, files, assertions, forward declarations, enumerations, structures, suspended execution, recursion, include files, etc. It comes with an RPN calculator, line editor, preprocessor, compiler, decompiler, C-source generator, a virtual machine, and a multitasking environment.
.wwf toolkit is a set of shell scripts to convert PDF files to .wwf files and vice versa. The resulting .wwf files are virtually indistinguishable from files created with the official WWF drivers. The PDF files the toolkit creates are fully unprotected and can be printed or manipulated by other PDF utilities.
I picked up that you're using some of the FP words from 4tH - THANK YOU!
You "reported" an error of the Taylor series. That is not true. The sources
you probably used are for the Brad Eckert FP implementation, which has a
SEPARATE FP stack. The "bug" you experienced and the way you solved it
indicates to me you're using a SHARED FP stack.
Fortunately, 4tH also features an FP implementation with a shared FP stack,
called Zen FP. Sometimes, it might be better to get your inspiration there
with the following notes:
- Zen FP uses 2 cells numbers, one for the mantissa and one for the exponent.
Consequently, 2OVER is FOVER, 2DUP is FDUP, etc.
- 4tH is geared towards 32 bit cells at least. Yours seems to be 16 bit, so
sometimes you will need to treat 4tH numbers as double numbers (as you did in
the Taylor series).
I hope these few notes will enable you to implement a full range of FP words
(just like me ;-) ) if you haven't done so already.
Re: Massively useful script!
> I'm glad you followed my advise, and I'm
> happy it works for you. BTW, what
> project are we talking about? Is is free
> software or a proprietary one?
It's free and hosted here at freshmeat.net:
I still feel that all this information should be somewhere in your package. If I have the time I'll put it into words, so you can include it (red. already done). It might be helpful to others.
> By all means, please do that!
> Write a simple Howto, maybe just
> explaining how you set up
> mingw_cross_env and cross-compiled your
When time is available, but the promise stands (red. already done)
Sorry about the 'make install' issue, I missed that one
when I was responding to your previous message. Terribly sorry. The issue is perfectly clear now ;-)