BADNOP (c) 2004-2005 Tom Schouten This is free software covered under the GPL. See the file COPYING for more info. This is a 'from scratch' attempt at a forth compiler/interpreter/terminal for PICmicro 18fxx2 microcontrollers. The compiler is a small forth with a host and target dictionary. Words defined in the target dictionary are compiled to a local copy of target's memory. Compilation is completely controlled by macros defined in the host (compiler) dictionary, which thus implement the target language (forth dialect) and target setup code. The included target language is a very simple 8bit native code forth. Design decisions are taken in favour of simplicity and speed. No attempt is made to abstract the target too much. Currently still in a proof-of-concept stage. Should work on linux, OSX, mingw and cygwin. If you get hex file errors, you probably have a dos/unix newline issue (see badnop.c for more info). Sources: badnop.c compiler forth kernel build.f example build script compiler.f compiler/host library routines *.f target forth macros and code for 18fxx2 architecture testapp.f target forth code *.pl some perl scripts for data file conversion Some notes. The host forth does not use immediate words, only macros, which are identified by the last character in their name. Words ending in ',' are target macros (compile to target memory). Words ending in '_' are host macros (compile to host memory). During compilation, (depending on host or target dict being current), words are executed if there is a corresponding macro definition, or compiled as threded code (host) or a subroutine call (target).