Revision History for Pic18Forth 0.0.4: - Feb 13, 2005 - Major compiler codebase re-work - far simpler now: - compiler object has a simpler method called 'generate', which allows generation of bytecode, with control over how it will appear in the listing file - removed all capability from compiler and moved into 'compilerwords.f', such that the compiler starts with almost zero capability and bootstraps itself from the library files into a working forth compiler - Added meta words 'parser'..';parser', allowing addition of code to the compile-time parse chain - Added meta words 'init'..';init', allowing forth statements to be inserted into system startup code block - Added new lib module 'lib/dyntasks.f', which uses 'lib/malloc.f', and provides the ability to create tasks at run-time - Added words 'isrhigh', ';isrhigh', 'isrlow' and ';isrlow', which enclose blocks of assembler code to be built into high-priority and low-priority interrupt handlers, respectively - Added new library modules 'lib/nointerrupts.f' (for apps which don't handle interrupts), and 'lib/clockinterrupt.f' (which sets up a millisecond-timer interrupt, and which defines a primitive 'time' which pushes current time to the stack (as 32-bit count of milliseconds elapsed) - Added module 'lib/clockdelay.f', which provides delay routines which use the clockinterrupt setup, and thus are suitable for use in multitasked progs (one task waiting does not block other tasks) - Added parallel LCD module driver plus example progs - Numerous bug fixes 0.0.3: - Feb 1, 2005 - added new library modules 'exceptions.f' (exception handling) and 'tasks.f' (simple multitasker) - created separate examples directory - fixed several more bugs 0.0.2: - Jan 27, 2005 - added lib/malloc.f library module, which implements allocate and free - implemented 'new', for runtime instantiation of classes via allocate - upon static or dynamic instantiation, the 'init' method of classes (if declared) will be invoked - added memory operators img@ and img-c@ (for reading the program bytecode), ram@, ram-c@, ram!, ram-c! (for reading/writing directly to RAM) 0.0.1: - Jan 24, 2005 - fixed critical local vars bug - completed first stage of OO engine (lib/oo.f, demo in tests/test19.f) 0.0.0: - Jan 23, 2005: - first pre-pre-alpha release