Releases: FlatAssembler/AECforWebAssembly
Made it work when compiled using CLANG on Windows.
I have managed to make it work when compiled using CLANG on Windows. When compiled using Visual Studio, it still runs into Stack Overflow. I have also refactored the code a bit. I think the parser is quite a bit faster now, but I haven't done precise measurements. To download executable files for various operating systems, once again, see the release v1.5
, the functionality has not changed enough for me to bother to make new executable files.
Fixed two important bugs and made SonarCloud integration.
Documentation fixes and fixes in examples.
Improved suggestions for misspelled variable names.
I have improved the suggestions for misspelled variable names by using Levenshtein Distance instead of the Longest Common Subsequence algorithm. I have also made a few documentation fixes. Look into the previous release for executable files, producing executable files for various operating systems is a tedious job, I hope you understand.
Added suggestions for misspelled variable and function names.
I have added the feature that the compiler suggests corrections for mistyped variable and function names, using the Longest Common Subsequence algorithm. I have also improved the documentation a bit. For executable files, again, look into v1.4.3 for Linux executable files and v1.4.2 for other executable files. Producing executable files for various operating systems is a tedious job, I hope you understand.
UPDATE: Due to the weird issue that appears to occur only under some compilers on Windows, to make sure compiling my program is not the problem, I have decided to add some executable files here. Windows executable files are produced here using the 64-bit TDM-GCC. I cannot produce Linux executable files because Docker seems to have stopped working on my computer.
UPDATE: I have managed to run Docker again on my computer and produce Linux executable files.
UPDATE: For a reason that escapes me (given what I know, it should not even be possible), on my old computer with 32-bit Windows XP, the FreeDOS executable produced by DJGPP runs around 2 times faster than the 32-bit Windows executable produced by TDM-GCC. I asked a Quora question about this. So, if the 32-bit Windows executable runs too slow on your computer, try the FreeDOS executable. I have no idea how it can be, but it is actually faster.
Fixed a bug preventing division in integer constants.
I have fixed a bug causing the compiler to crash because of any division (not only division by zero or some pathological cases) in a compile-time integer constant. I have no idea how I have not noticed that bug for so long. I have some problems in real life, so I do not have time to produce executable files for various OS-es right now.
Added a few more warnings about known bugs to the docs.
I have added a few more warnings about known bugs to the documentation. The program itself remains unchanged. I have managed to cross-compile the program from Windows to 64-bit Linux using a very recent version of GCC, which I managed to install using Docker. So, you can download that executable file here, it should be significantly more optimized than the one from the previous release. For other files (Windows executable files...), see the release v1.4.2.
UPDATE: I have managed to similarly produce a 32-bit Linux executable on my laptop using Docker. It really makes such things much easier.
Documentation fixes and some fixes to esthetics of outputted assembly.
I have made a few documentation fixes (including a more helpful error message in case of an invalid invocation of the compiler) and some fixes to make the outputted assembly code be properly indented. Unfortunately, I cannot provide you with the executable files right now, and maybe I will not even be able to do so in the future. Namely, I screwed up the Oracle Linux on my laptop which I used to produce those executable files, and it was not able to boot. And the IT expert I paid to fix that could not do that, so they installed Windows 10 on my laptop. So, now I am still learning to work on Windows 10.
UPDATE: I have found a way to produce 32-bit Windows, 32-bit DOS, 64-bit Windows and 64-bit Linux executable files on Windows 10, as well as produce a WebAssembly executable using Emscripten. Unfortunately, there does not seem to be an easy way to produce 32-bit Linux executable files on Windows 10.
UPDATE: I decided to produce the 32-bit Linux executable on the SSH server at linux.etfos.hr
, which is a 32-bit Debian server which is available for use to all students of the FERIT University (formerly called ETFOS). Unfortunately, the only C++ compiler available there is GCC 4.9.2, so, while all features of my program should be available, the program will run slowly because many optimizations available in newer versions of GCC are missing there.
Documentation and comment fixes
Documented the feature of targeting WebAssembly System Interface (WASI) in the documentation, and fixed a few errors in the comments.
Basic support for WebAssembly System Interface
Added some basic support for WebAssembly System Interface (WASI), so that one can write executable programs in AEC, rather than just libraries of functions to be called from JavaScript. Maybe I will add some executable files later.