Skip to content

Releases: FlatAssembler/AECforWebAssembly

Basic support for the TypeOf operator

15 Dec 16:48
Compare
Choose a tag to compare

I've added the basic support for the TypeOf operator, that returns the type of the expression as a string. However, there is a caveat: the compiler crashes under certain conditions if you use TypeOf with the structure pointers. See this GitHub issue for more details: #22

Download AECforWebAssembly

Added support for the unary plus operator

16 Sep 13:21
Compare
Choose a tag to compare

I've improved the support for unary operators.

Download AECforWebAssembly

Fixed a few bugs regarding structure pointers

24 May 12:23
Compare
Choose a tag to compare

I have made another example program, Huffman Coding in AEC, which exposed three bugs in the compiler, all of them related to compiling instruction pointers. So, I fixed those bugs.

Download AECforWebAssembly

Fixed a bug preventing chained comparisons from being used in compile-time constants

30 Apr 10:32
Compare
Choose a tag to compare

I have fixed a bug which prevented the chained comparisons from being used in compile-time constants. But notice that the bug which causes incorrect assembly code in case the middle operand has side-effects is not fixed.

Download AECforWebAssembly

Added support for the less-than-or-equal and greater-than-or-equal operators

29 Apr 21:47
Compare
Choose a tag to compare

I've added support for the <= and >= operators. As well, I've made the recently added pieces of code (for chained comparisons) cleaner.

Download AECforWebAssembly

Added support for chained comparisons

29 Apr 08:18
Compare
Choose a tag to compare

I've added support for chained comparisons. The compiler will now rewrite a < b < c as a < b and b < c. However, please note that it will work incorrectly if b has side-effects (it will be evaluated twice).

Download AECforWebAssembly

Fixed a long-standing bug in the parser

31 Oct 21:12
Compare
Choose a tag to compare

I've fixed a bug in the parser preventing the use of multi-argument functions inside of default values for the function arguments.

Download AECforWebAssembly

Compiled using GCC 13.2

02 Sep 17:24
Compare
Choose a tag to compare

I compiled the 64-bit Linux version using GCC 13.2. For other platforms, see the previous release.

Download AECforWebAssembly

Fixed a bug in the semantic analyzer related to `?:` and structures

23 Jun 09:52
Compare
Choose a tag to compare

Thanks to the StackExchange user kaya3, I discovered and fixed two bugs in my compiler (one in the core of the compiler and one in the semantic analyzer), both related to the ternary conditional operator ?: and structures. You can read more about it on this GitHub issue. Also, I've improved the documentation (most importantly, adding an example program in both dialects of AEC).

Download AECforWebAssembly

A new, smaller, 64-bit Linux executable

05 May 16:26
Compare
Choose a tag to compare

I've managed to produce a new, significantly smaller, 64-bit Linux executable using GCC 13.1 running in Docker. I've also made some documentation fixes.

For other operating sytems, see AECforWebAssembly v2.5.1, the functionality has not changed.

Download AECforWebAssembly