It has been a while since the last alpha, but today I am proud to announce a new alpha release of the PineDL compiler.
Besides some source code cleanup and code quality improvements(including some gendarme warnings fixed and basic unit testing), here are some of the new features:
1. The result of ++a/--a is now stored to a. Previously, this was evaluated as being pretty much the same as (a+1).
2. Added support for a[0]++ and ++a[0].
3. Implemented "for" statements
4. CompilerUtils, a new library designed to simplify compilation and execution of PineDL code.
5. The ability to execute a PineDL program and actually read the returned code. Previously, one could only call the main function and there was no way to check the return codes.
6. Added support for named while/for statements. This is a feature of languages such as Java and a notable lacking feature of C++. Of course, this is pretty much useless since there are no break/continue statements yet.
7. Added support for assignments like a=b, or even a,b=b,a. The second example would swap the contents of a and b, something that's really simple in PineDL.
8. Improved compatibility with Microsoft .NET(rather than just being Mono compatible).
There is still a lot of work to do. Here are some of the features I'll try to have implemented in alpha4.
1. do...while statements
2. break/continue, including named break/continue.
3. a,b = function_call();
4. a.b.c.d = foo;
5. class bar {}, including perhaps inheritance
6. Character constants('x', '\n', etc.)
Binary and Source code available.