Releases: FlatAssembler/AECforWebAssembly
The output for debugging is now more verbose and accurate
I have fixed a bug causing the debug output to contain invalid JSONs (it had to with converting C++ strings to JSON). As well, I have made the JSON of the new localVariables
object be output whenever localVariables
changed. Also, whether or not debug information (which takes up a lot of time and space) will be output in the assembly code can be changed by deleting the definition of the macro OUTPUT_DEBUG_COMMENTS_IN_ASSEMBLY_COMMENTS
in the AECforWebAssembly.cpp
file. I might add some executable files later. For now, look at the release v1.5.6
if you want to download executable files for various operating systems.
UPDATE: I have decided to make executable files for various operating systems again, as v1.5.6
is now severely outdated.
Made the compiler easier to debug by outputting JSON
I have made the compiler easier to debug by making it output JSON of the compilation context in the comments of the assembly code whenever a new function, loop or an if-branching is starting to be compiled. As well, it will output JSON to the stderr
(standard error) in case CorruptCompilationContextException
is thrown (which will hopefully never happen). Maybe I will add some executable files later. For now, look at the release v1.5.6
to download executable files for various operating systems.
Fixed an important bug
I have fixed a bug related to exception handling, which would be exposed in case of an internal compiler error. However, I do not think this is important enough to make me go through the tedious task of creating new executable files for various operating systems. So, look at the release v1.5.6
if you want to download an executable.
Refactoring and documentation fixes
Removed some misleading comments and improved examples
I have removed a misleading comment in compiler.cpp
warning about compiler crashing in case of nested local structures (which is no longer true) and I have changed what the turtle in the Dragon Curve example looks like. The actual functionality remains unchanged, so, once again, please see the release v1.5.6
if you are looking for executable files for various operating systems.
Fixed a bug related to compiling local nested structures
I have fixed a bug in the compiler that got exposed when compiling a local nested structure (previously, the compiler crashed while outputting assembly code for instantiating them). I do not think this change is significant enough for me to bother making new executable files, see the release v1.5.6
to download executable files for various operating systems.
Silenced compiler warnings and fixed documentation
I have silenced some compiler warnings, so that the program now compiles without warnings with GCC even with -Wall
. I have also linked to some Reddit threads and Quora questions about my programming language which I started. The actual functionality remains unchanged, so look at the release v1.5.6
for executable files for various operating systems.
Added a MIT license.
Implemented named function arguments
I have implemented named function arguments and refactored the code quite a bit (better behavior in case of internal compiler errors). For executable files for various operating systems, please see the release v1.5.6
, I do not think this added functionality is important enough for me to bother making new executable files.
Added screenshots to the README files.
I have added some screenshots to the README files. The actual functionality remains unchanged, so look at the release v1.5
for executable files. There have been a few bug fixes and performance improvements since v1.5
, but I consider none of them to be significant enough for me to bother making executable files for various operating systems.
UPDATE: As the performance benefits seem to be huge (parser seems to be around 10 times faster), I will make new executable files for various operating systems.