Staapl contains a generic concatenative language parser in staapl/rpn which is used to implement the languages macro:, tv:, scat: and target:. This language can be extended with prefix parsers to implement a Forth-style prefix syntax for defining words.
At the core of the Forth code generator is an incremental compiler which constructs a control flow graph as its first output pass. Subsequent optimization passes operate on this structure.
Assembler opcodes can be specified using the instruction-set special form defined in staapl/asm. This is used to define an assembler for the PIC18 instruction set.
The distribution contains some example Forth code and library routines that implement host <-> target tethering.
There is a significant body of code to perform run-time target access through the target: language, and incremental code upload. Staapl can emulate a standard Forth console.
Finally, Staapl provides the staaplc command line application which can be used to compile stand-alone Forth programs to binary, for upload with a microcontroller programmer tool.