Release v0.16.0: AOT compiler (89%), Jupyter kernel, Hardware I/O, string GC
Version 0.16.0 consolidates the major features added since v0.14.0:
Ahead-of-time compiler (gwbasic-compile):
- Translates .bas programs to C source → GCC → native executables
- 64 of 72 test programs produce correct output (89%)
- Zero compile errors — all 72 programs compile successfully
- Token embedding for complex statements (PRINT USING, DEF FN,
graphics, file I/O, MID$ assignment)
- String comparison, division-by-zero detection, ON ERROR GOTO/RESUME
- libgwrt.a runtime library from existing interpreter modules
Jupyter kernel (gwbasickernel):
- Persistent subprocess with sentinel protocol
- Inline Sixel graphics rendering (pure-Python decoder → PNG)
- INPUT statement support via Jupyter stdin protocol
- Pygments GW-BASIC syntax highlighter
Hardware I/O simulator (portio.c):
- 8253 PIT, PPI speaker, CGA mode/color, COM1, game port
- Continuous tone via PulseAudio pthread worker
Interpreter improvements:
- 100% token coverage (all 144 GW-BASIC tokens handled)
- String space pool with compacting garbage collector
- RESET, ENVIRON/ENVIRON$, ERDEV/ERDEV$, IOCTL/IOCTL$,
LCOPY, DATE$/TIME$ assignment, CALL, COM