Go to file
Slava Pestov 171c890597 i/o refactoring continues 2004-08-16 01:50:44 +00:00
contrib Added parser combinator and lazy evaluation library. 2004-08-15 23:23:47 +00:00
doc Factor 0.61 2004-08-10 01:59:47 +00:00
factor fix invalid select() usage 2004-08-13 22:43:03 +00:00
library i/o refactoring continues 2004-08-16 01:50:44 +00:00
native i/o refactoring continues 2004-08-16 01:50:44 +00:00
org/objectweb/asm First import of Factor 0.60 2004-07-16 06:26:21 +00:00
Factor.manifest First import of Factor 0.60 2004-07-16 06:26:21 +00:00
README.SRC.txt got [ a | b ] form working in native factor 2004-07-22 02:45:43 +00:00
TODO.FACTOR.txt fix invalid select() usage 2004-08-13 22:43:03 +00:00
actions.xml Factor 0.61 2004-08-10 01:59:47 +00:00
build.sh i/o refactoring continues 2004-08-16 01:50:44 +00:00
build.xml Factor 0.61 2004-08-10 01:59:47 +00:00
dockables.xml started sidekick support in jEdit plugin 2004-08-08 06:32:56 +00:00
gcj-compile First import of Factor 0.60 2004-07-16 06:26:21 +00:00
license.txt fix 2004-07-16 07:44:22 +00:00
services.xml started sidekick support in jEdit plugin 2004-08-08 06:32:56 +00:00

README.SRC.txt

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
library/platform/jvm - JVM-specific Factor code

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/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