Domain-formatting is a term I use to describe the markup that is applied to plain English text which lets the parser build associations between symbols (words or groups of words). This establishes relationships between the domain symbols, though deferring the code.
Currently, code generation looks like the end result, though I'm wondering if it is not a necessary evil, given how so many people are against it. But then, javac generates bytecode and no one seems to crib about that ;-)
The formatting involved is not rocket science (it should not be, either). It's a simple exercise in blocking out statements in a subject-predicate/hierarchical fashion.
For example:
Original sentence
The main in the grey suit kicked the tyre.
Domain-formatted
(The ((main) in the (grey (suit))) kicked (the tyre).)
What I also realise is that this grouping will allow constructing the relationship graph. But that is not enough.
Let's consider the following statement:
The (common way to (introduce (an add-in structure)) is to (load (libraries from (a specific directory)) at (runtime)).
What if we could provide further markup to the above, this time, stuff that will assist in templating. Developers and BAs could develop a set of Domain Conventions. A sample markup a dev/BA could do on a sentence could be like this:
OK, not that colorful, but I still need to tighten this up. This is pretty loose for the moment. However, a markup like this will be the definitive guide for the DVM to make good decisions on what kind of stuff it should generate.
BTW, S denotes symbol in the above example.
Are there times when such a markup is impossible? Can it not be solved then by simply rephrasing the English text?
ALTERNATIVE: A level of grammar markup.
Note that this is something that must be done by a human. I'm not even remotely trying to attempt NLP here.