A new release of FastBasic is available, this is Release 3.
This release has with many enhancements, mayor ones:
- Added string comparison operators,
- Interpreter is about 3% faster in FOR loops and other simple operations. SIEVE benchmark now takes 17 seconds.
- The integer-only IDE is now less than 8KB, the floating point IDE is 9.2kB, and there are 200 bytes more available for the programs.
- Cross compiler produces smaller executables by only including used parts of the runtime, a simple '? "Hello"' compiles to 453 bytes, including the interpreter and runtime.
Minor improvements to the IDE and language:
- The IDE now can edit files with lines of up to 255 bytes.
- The IDE is a little faster to parse large files.
- More abbreviations to the statements, The list of abbreviations is in the manual.
Mayor improvements to the cross-compiler and optimizer:
- New scripts for the cross-compilers allows passing options to the compiler and linker, also writes label files for debugging.
- Cross compiler gives better errors in many cases.
- Optimizer for NEG/MUL/DIV/MOD and all bitwise operations.
- Optimizer ignores comments and can span multiple lines.
- Adds tail-call optimizations (replaces CALL/RET with JUMP and JUMP to RET with RET)
And many fixes:
- Optimizer no longer ignores negative numbers,
- Correct corner cases with MOVE / -MOVE, updates docs.
- Cleanup all variables and arrays on run, fixes on memory-clearing function.
- Fixes some cases of integer to floating point comparisons.
- Fixes parsing of NOT with parenthesis and NOT/NOT.
- Fixes errors on line numbers > 255 in the IDE.
- Fixes some corner cases in the IDE editor with lines at top/bottom of screen.
- Parsing of statements after a ':' ignored errors.
As always, full sources and binaries for Atari, Linux, Windows and MacOS are available over Github: https://github.com/d...tbasic/releases
Edit: current version is v3.6, announcement at http://atariage.com/...ease/?p=4143909
Edited by dmsc, Sat Oct 27, 2018 5:16 PM.