File Release Notes and Changelog
Release Name: 0.1.0
Notes:
Fixed Bugs:
- hex, octal notation for integers
- unary +
- real const can start with just .
- user defined functions can be declared 'constant'
- constant variables must be assigned a value, arrays can't be const
- id type regex should be: [a-zA-Z]([a-zA-Z0-9_]* [a-zA-Z0-9])?
- debug can only be used with set, call, ifthenelse, loop
- real does NOT conform to integer... how did this get in there?
- BFitch:
'constant' on functions prevents the assignment of variables within that
function. It was once intended that certain types of callbacks would only
ever be constant functions, and that constant functions would only be
allowed to call other constant functions. This part of the semantics of the
language were never finished. I don't think we ever made use of the fact
variables can't be set in a constant functions for anysort of policy (and
policy is all it would be good for since we didn't otherwise end up using it
for anything useful). So yea, it would have been a hint to the programmer at
best.
- Blizzard.j has an error where the return value does not conform to the
base type of the function, this is a bug in war3's syntax checker because
it only checks the type of the last return statement; I fix this by allowing
this error to silently fail when loading Blizzard.j in the demo
Changes: