Baas wrote:
No. Just .. no.

On the off chance that you're serious about that - XML is a data format that 
encodes tree-like hierarchical information.

But if your parser isn't already using a tree-like structure internally, you're 
doing something wrong.

And if it is, there's absolutely no reason to use XML as some weird sort of 
intermediary stage.

I've used the "Analysis-Synthesis Model" for the overall design (to "re-invent the 
wheel" :) ), as I've done lots of times in the past.

The Analysis-Synthesis Model is clearly based on a tree-structure.
- Lexical Analysis
- Parsing/Syntax Analysis
- Semantic Analysis
- Intermediate Code Generator
- Code Optimizer
- Code Generator
Lexical- and Syntax Analysis is handled in a single pass. (just a reminder)

Instead of writing a lot of additional code to work with and to identify the source/tokens, I simply dump all the tokens into a xml format using Regular Expressions search/replace. This takes up to 30 passes for completion and, yes, this is where most of the time is used.
From there on it's straight forward to do any kind of analysis with the 
code/tokens.
The key is when it gets to the phase of optimization. In this case, the compiler (or should I be fair and call it "the converter"), has a complete "engine" behind it which takes care of all the information in a proper manner.
Cutting, moving, merging, passing referenses and occasionally adding additional 
code is done with ease.
It's already possible at that stage to systematically assign (and measure) a "Unit 
of Fitness" (Genetic Analysis), if I may call it that, to the individual code blocks.
By measuring the fitness, the converter knows where to focus to improve 
performance.
After optimization, converting it to HLA obviously opens a Pandora's box of a 
different kind. You know the rest...

To summarize, optimization is taken care of even before convertion to HLA takes 
place, and that's why I use xml (it's a matter of preference).

Technically, thats the basic overview of the operation, and yes, I AM SERIOUS 
ABOUT THIS!

So, be positive... :)



I'll be positive, but only if you promise you didn't sacrifice nesting comments in the process. Also, if you haven't already, you should trash D's cyclic dependency policy.

Reply via email to