Skip to content

Releases: FlatAssembler/AECforWebAssembly

Made it work when compiled using CLANG on Windows.

19 Aug 16:23
Compare
Choose a tag to compare

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.

Download AECforWebAssembly

Fixed two important bugs and made SonarCloud integration.

18 Aug 18:47
Compare
Choose a tag to compare

I have fixed a bug causing a very confusing error message and a bug causing invalid assembly output. In addition to that, I have made a SonarCloud integration. I have not yet made new executable files for various operating systems, have a look at the release v1.5 for those.

Download AECforWebAssembly

Documentation fixes and fixes in examples.

25 Jul 17:58
Compare
Choose a tag to compare

I made the Analog Clock example use the f32.sqrt instruction, and I commented about it in the documentation, as well as fixing some CSS in the documentation. The program itself remains unchanged, so, again, look at the release v1.5 for executable files for various operating systems.

Download AECforWebAssembly

Improved suggestions for misspelled variable names.

21 Jul 09:45
Compare
Choose a tag to compare

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.

Download AECforWebAssembly

Added suggestions for misspelled variable and function names.

15 Jul 11:07
Compare
Choose a tag to compare

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.

Download AECforWebAssembly

Fixed a bug preventing division in integer constants.

12 Jul 18:46
Compare
Choose a tag to compare

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.

Download AECforWebAssembly

Added a few more warnings about known bugs to the docs.

10 Jul 20:20
Compare
Choose a tag to compare

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.

Download AECforWebAssembly

Documentation fixes and some fixes to esthetics of outputted assembly.

28 Jun 10:23
Compare
Choose a tag to compare

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.

Download AECforWebAssembly

Documentation and comment fixes

06 Jun 11:53
e31c6bd
Compare
Choose a tag to compare

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

04 Jun 13:52
85d4c1d
Compare
Choose a tag to compare

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.