Restructure Makefile to add automated tests.
authorrich <rich>
Sun, 7 Oct 2007 11:07:15 +0000 (11:07 +0000)
committerrich <rich>
Sun, 7 Oct 2007 11:07:15 +0000 (11:07 +0000)
commit83c6612bf07228f70d25136c850f660721379632
tree316c7bbf2674911790289d11678206189f1a6d42
parentbedb4b2f3f229eb41f7eb6af84aff5d1d660c805
Restructure Makefile to add automated tests.

Remove build-id section.

Set up the data segment.

COLD -> QUIT.

Much rearrangement of the sections to improve
overall memory usage.

Don't align code.

Simplify DUP.

Simplify ?DUP.

Comparison operations use set<cond> instead of jumps.

Added C@C! and CMOVE.

Removed _X, _Y, _Z.

Make return_stack into a separate symbol for bottom
of the stack, so it appears in disassembly.  New
symbol return_stack_top is R0.

Added SYS_BRK.

Simplify RDROP.

WORD's and EMIT's buffers are now named.

SNUMBER -> NUMBER, now far more powerful (can handle
any number base and negative numbers correctly, and
comes with a test suite).

CREATE now no longer does an implicit WORD, but gets
the name from the string at top of stack, allowing
it to create anonymous words (see :NONAME).

Added HIDE word.

Removed INTERPRETER, added INTERPRET.

Added PARSE ERROR with context in the INTERPRET function.

Added SYSCALL0, 1, 2, 3.

Added explicit initialisation of the data segment.

Added UNLESS.

Added C,

WORDS now completely omits HIDDEN words.

Generalise CFA> to work with any code/data pointer.

Added execution tokens, EXECUTE, :NONAME, ['].

Added exceptions, CATCH, THROW, ABORT.

Added PRINT-STACK-TRACE.

Added CSTRING.

Removed STRNCMP.

Added standard file and syscall words.

Added UNUSED, MORECORE.

Allow welcome message to be disabled (particularly
during automated tests).

Multiple documentation improvements.
13 files changed:
Makefile
jonesforth.S
jonesforth.f
test_comparison.f [new file with mode: 0644]
test_comparison.f.out [new file with mode: 0644]
test_exception.f [new file with mode: 0644]
test_exception.f.out [new file with mode: 0644]
test_number.f [new file with mode: 0644]
test_number.f.out [new file with mode: 0644]
test_read_file.f [new file with mode: 0644]
test_read_file.f.out [new file with mode: 0644]
test_stack_trace.f [new file with mode: 0644]
test_stack_trace.f.out [new file with mode: 0644]