Succesfully compiled in 547 milliseconds. // Above
Succesfully compiled in 1078 milliseconds. // Above with one value added
Succesfully compiled in 2157 milliseconds. // Above with two values added
No idea what causes this exponential growth. A large operator tree does get generated, but still makes no sense. https://pastebin.com/D2zDnP2T
I "fixed" this by changing how case statements are generated. Rather than if else statements it's more of a goto style.
if (cond = value_0) then
goto statement;
if (cond = value_1) then
goto statement;
It's now slightly more efficient and less code is generated.
Also ContinueCase compiler option has been removed. Fallthrough keyword has been added.
See tests/System_Fallthrough.lap for usage.
Some ridiculous issue was happening when a case branch had a lot of values.
No idea what causes this exponential growth. A large operator tree does get generated, but still makes no sense. https://pastebin.com/D2zDnP2T
I "fixed" this by changing how case statements are generated. Rather than if else statements it's more of a goto style.
It's now slightly more efficient and less code is generated.
Also
ContinueCase
compiler option has been removed.Fallthrough
keyword has been added. Seetests/System_Fallthrough.lap
for usage.