- New keyword `const`
- `const` values are supported as array dimensions and variable.array initializers
- Refactored code and saved several 100 bytes
- Compiler generates better VM code for array allocation
- Arrays can now be initialized with a list like this: `word aa[4]={1,2,3,4}` ...
- ... or a string literal like this: `byte qw[100]="This is a test"`
- Works in interpreter or compiled.
- Evaluating 'naked' array name `A` gives pointer to payload (same as `&A` or even `&A[0]`)
- Improved loading message in VM
- Got array pass-by-reference to work in compiler
- Fixed eval stack leak in array initialization code generated by compiler
This fixes a memory corruption bug that occurred when compiling code with subroutines. The symbol table was corrupting the source code. This was showing up on 6502 systems only (seemed okay on Linux).