VUEngine preprocessor 1.0 is done
Added 2018-05-28 19:15:48 +0000 UTCA major milestone for VUEngine has been reached as we have finished work on version 1.0 of the VUEngine preprocessor. From now on, we won't have to mess with macros anymore but can write code in a clean, compact and secure syntax, which resembles that of C++ to a high degree.
How does it look like?
Without further ado, please have a look at the new syntax in the following screenshot of an imaginary (and totally useless) example class:

For comparison, here's how the same example class looked like in the old syntax:

Have a summary?
That first screenshot should give you a pretty good idea of how VUEngine code looks now. For completeness sake, here's a list of all the new preprocessor/syntax features:
- C++ like class declaration and implementation.
- Support for C++ like public inheritance, protected attributes and public and private methods.
- Better encapsulation enforcing by forbidding forward declaration of class methods in .c files.
- Support for class methods using the “static” keyboard.
- Implicitly declared “this” pointer in class methods.
- Automatic safety type check injection in all methods on debug mode.
- Custom class modifiers (abstract, singleton, static, final).
- “virtual” and “override” keywords to declare and override polymorphic class methods.
- Support for the “=0” syntax to declare abstract methods.
- C++ like syntax for creation and deletion of dynamic objects and structs.
- Naming convention enforcing for class and method names.
Awesome! When can I try it?
If you're working with VUEngine, you can look forward to try out the new syntax for yourself when we release VUEngine 6 some time in the near future. We don't want to rush this one, though, and let some time pass to give the preprocessor the chance to further mature, and put together an awesome package for the next release. We have another major new feature in the works right now and we hope to include that one as well.
If you prefer to live on the bleeding edge, remember you can of course have a go right now and get the latest code directly from the engine's Git repository.