Temptation
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 into their placeholders. This would probably would have resulted in a different type of spaghetti and be restricted to a language designed for programming, not model-driven code generation.
So it was head down, bum up, and(((lots of these) to sort), out) and precedences^to painfully(figure, out).
The hard work has paid off, and the result has been surprisingly neat. Also the syntax is not therefore bound to VB/C# to improve portability if need be.
That being said executing VB/C# code is ready to go. Various other bugs have been fixed and optimisations have been made to the compilation process (the tokenisation, building the syntax tree, etc). Text searching has been fixed up properly, and the code-completion has had some more annoying features done away with.
There are some more things to add onto for the final polish up before launch but these fixes are important enough for another beta release, which will come very soon.

Leave a comment