FACTOR This source archive contains sources for two distinct bodies of code -- a Factor interpreter written in Java, and a Factor interpreter written in C. The C interpreter is a more recent development than the Java interpreter. They both share a large body of library code written in Factor. Java interpreter ---------------- The Java interpreter includes a slick GUI with hyperlinked inspection of source code, as well as stack effect checking. build.xml - Ant buildfile for Java interpreter. factor/ - source code for Factor interpreter written in Java. org/objectweb/asm/ - helper library for Java interpreter. Factor.jar - compiled, stand-alone Java interpreter C interpreter ------------- The C interpreter is a minimal implementation, with the goal of achieving the highest possible flexibility/lines of code ratio. It runs faster than the Java interpreter, and uses far less memory. native/ - source code for Factor interpreter written in C. native/build.sh - build script for C interpreter. native/f - compiled C interpreter - needs image to run native/factor.image - cross-compiler output library/ - Factor code shared between Java and C backends library/platform/jvm - Java interpreter-specific code library/platform/native - C interpreter-specific code Notes on the C interpreter -------------------------- At the moment it assumes little endian byte order, 32-bit words. This pretty much means x86. Very soon I will add image input and output in both byte orders - this will allow Factor to run on powerpc and sparc. Moving to 64-bits would require a few changes in the image cross-compiler, namely in the way it packs strings. Not everything has been implemented yet. However, a lot already works. Compare the output of this in the C and Java interpreters to see how they differ: "vocabularies" get describe