Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitattributes
AUTHORS
LICENSE
Makefile
README.md
jonesforth.S
jonesforth.f
perf_dupdrop.c
perf_dupdrop.f
test_comparison.f
test_comparison.f.out
test_exception.f
test_exception.f.out
test_nqueens.f
test_nqueens.f.out
test_number.f
test_number.f.out
test_read_file.f
test_read_file.f.out
test_stack.f
test_stack.f.out
test_stack_trace.f
test_stack_trace.f.out

README.md

Jonesforth-ARM

An ARM port of X86 JonesForth by Richard W.M. Jones rich@annexia.org at http://annexia.org/forth.

What is this ?

Jonesforth-ARM is a Forth interpreter developed for ARM.

The algorithm for our unsigned DIVMOD instruction is extracted from 'ARM Software Development Toolkit User Guide v2.50' published by ARM in 1997-1998

Compared to the original interpreter:

  • We did not keep the jonesforth.f section allowing to compile assembly from the Forth interpreter because it was X86 specific.

  • We pass all the original JonesForth's tests on ARM (except one which depends on the above X86 assembly compilation).

  • We added a native signed DIVMOD instruction (S/MOD)

Another project porting Jonesforth on ARM is ongoing at https://github.com/phf/forth

Build and run instructions

If you are building on the ARM target, just type,

$ make

to build the forth interpreter.

After building, we recommend that you run the test-suite by executing,

$ make test

To launch the forth interpreter, type

$ cat jonesforth.f - | ./jonesforth

Contributors:

ABECASSIS Felix, BISPO VIEIRA Ricardo, BLANC Benjamin, BORDESSOULES Arthur, BOUDJEMAI Yassine, BRICAGE Marie, ETSCHMANN Marc, GAYE Ndeye Aram, GONCALVES Thomas, GOUGEAUD Sebastien, HAINE Christopher, OLIVEIRA Pablo, PLAZA ONATE Florian, POPOV Mihail

You can’t perform that action at this time.