Releases
1.0.0-1
Compare
Sorry, something went wrong.
No results found
bsuth
released this
11 Aug 05:46
Changed
No longer allow keywords as index fields (generated invalid Lua code)
Loaded compiled Lua chunks now have their source names embedded in their chunkname
Operator assignments no longer cause unnecessary duplicate indexing
#29
ex) my_expensive_function().x += 1 will now only call my_expensive_function once.
ex) a.b.c += 1 will only cause a to be indexed once.
Erde now transforms variable names based on the scope they were declared with.
The most recently declared scope will always take precedence
ex) local x = 0; global x = 1; assert(x == 1)
Erde now throws a parsing error when declaring a destructured variable with no value (ex. local { a };)
Erde now throws a parsing error when using goto with an undefined label (same behavior as Lua)
Fixed
Fixed allowing keywords as variable names
Fixed compilation error for interpolation strings with only an escaped brace
Fixed return list failing to parse surround chars in strings
Fixed not being able to assign to the index of a function call result
Fixed parsing table string entry with only =
Fixed compilation of function declarations with Lua keywords
Fixed operator precedence fighting in operator assignments
Fixed erde compile failing when parent directories are not present
parent directories are now created recursively as needed
Fixed mismatched names for Lua keywords when accessing _G or _MODULE
Fixed module declarations not updating _MODULE
Fixed continue generating invalid code when targeting 5.1(+)
Fixed return lists incorrectly interpreting expression commas as list commas
For example, returning an iife with a comma in the function body
Fixed mangled stacktrace for bit library tail calls
Added
Erde will now throw a compiler error when targeting 5.1, 5.1+, or jit, and there are additional statements following a break.
Lua 5.1 / LuaJIT do not support statements following break (parsing error, similar to return)
#34
Compiled files now include the Lua target at the bottom of the compiled file.
Added specific error checks for common mistakes
~= vs !=
elseif vs else if
The Erde version is available via the API using erde.version
You can’t perform that action at this time.