What is a DOM? Well, let me tell you. The DOM, or Document Object
Model, is a programmatic way to see the underlying source code in both
a syntactic and semantic view using an Abstract Syntax Tree (AST) and
to allow changes in the AST to be reflected back out to the source
code. Sounds simple enough, but with the complexity of the C and C++
languages with an intermixing of pre-processor goodness, it certainly
has it's challenges.