This build keeps backward compatibility at %99.9999
What Changed?
1. Found and fixed 3 points where the compiler would appear to lock up.
2. Extended $X+ to enable support for:
2a. the RESULT keyword.
2b. the use of Exit(Result).
2c. Support for modern // line comments.
3. Improved the overall compiler performance.
4. Integer Code Folding. (If it finds, for example, 3+5 in the source, it is replaced with 5).
5. Boolean Code Folding.
6. Peephole optimization
Peephole optimization is a compiler technique that scans a small "window" or "peephole" of machine code, replacing inefficient instruction sequences with shorter, faster, or simpler ones that achieve the same result.
End of Year improvements.
Re: End of Year improvements.
During Christmas, Santa (me) was very busy...
New Command Switch/Compiler Directive:
$C+ Turns on IEEE error checking for constants.
$XI+ Turns on support for inline keyword.
[*] the compiler will perform rigorous checks to ensure that floating-point constants adhere strictly to the rules and precision requirements defined by the IEEE 754 standard.
New Command Switch/Compiler Directive:
$C+ Turns on IEEE error checking for constants.
$XI+ Turns on support for inline keyword.
[*] the compiler will perform rigorous checks to ensure that floating-point constants adhere strictly to the rules and precision requirements defined by the IEEE 754 standard.