Version 1.0 "Angry Army" is finally out. Along with it is a new website and support offering. I hope you enjoy it!
Earlier I wrote about having issues with regular expressions for lexing and parsing. Well my suspicions have been confirmed after reading Rob Pike’s take on using regular expressions for this purpose: http://commandcenter.blogspot.com/2011/08/regular-expressions-in-lexing-and.html This doesn’t mean I won’t look further into seeing how to use regex’s for parsing the syntax down the track. But I am more than happy with the performance of just plain old looping over characters.
It’s been a while I know. There is still progress, and all will be revealed in the launch. However there have been set backs: a contracting vortex (keeping some clients happy and completing stuff), being a dad for the first time (18 June – it’s a girl!) and taking some time off for it, and also the temptation to pivot because I feel this project could commercially be a dud. So while I have contemplated open ...
In the pipeline now is the new website. It’s a whole heap of work which can be easy to belittle and delay while you tackle the “real” work – the fun stuff – that is the programming. I’m tempted to outsource for the design, CMS set-up, etc. But in all reality it’s not that difficult, just really time-consuming. Additionally I want to D.I.Y. to appreciate the complete experience of this bootstrappin’ startup venture. I’ve decided to use ...
Just a quick update. In the spirit of the "iterate early and iterate often" mantra, I had to go back and clean up some shortcuts I had taken to get some features out the door and tested and used. Most of these tidy ups would not be noticeable performance-wise. I just tied up some loose ends in the code parsing and did some refactoring and removed duplicated code. A bonus of this would be quicker delivery of ...
Beta 0.11 has been released. The new features are: CodeDOM implementation. Expression evaluations have been revised and are much more robust and intuitive. This forms a kind of bedrock for the language. Code completion fixes. Searching has been revised and works more predictably. There are some remaining features I have mentioned previously that will be implemented in the 1.0 launch. The next phase is now the launch with hopefully a stable and fully functional and feature rich code generation tool. Accompanying ...
I have been swimming in recursion soup the past fortnight to improve expression evaluations. For a moment I thought it would be "smarter" to build VB/C# code in codeDOM representing an expression in a template and substituting the primitives (variables) on the fly. This would mean having actual expressions compiled using the .NET framework and identified in a symbol table, and when used in the template the code is referenced and the variable values passed ...
Adding .net code execution wasn't even 1% as painful as I was fearing it to be. I suspect this is how the more established player(s) carry out code generation: codesmith,mygeneration, even this fellow; and then they built upon this approach. Using dot net code (or T4) has some pros and cons. Pros: Low learning curve with using an existing language syntax. A very much shorter implementation time because a language base ...
A quick fix for a potential issue the boys at Agility discovered. The default SQL metadata query can sometimes not pick up a primary key if it has other constraints against the column. If you are familiar with the default query it just gets a top 1 on the constraints linked to the column, so if there are multiple constraints you aren't necessarily going to pick up the "PRIMARY KEY" constraint all the time. For now I've ...
Changes for this release: Transformations added. Console debugging window added. Parsing optimisations. Pre-compilation has been disabled since the optimisations are fast enough to not need it. Some more eye-candy and general "polishing". Many bug fixes, and the code completion has been improved and is less annoying. Transformations are applied for each row of meta-data, and defaults are added to the SQL Server, Oracle, and Access source providers. A symbol table implementation has not been performed as of yet. It is quite an invasive ...
