From cea83a5a77a3557bb3ba0352f4ee62eaa253b797 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Wed, 17 Nov 2004 20:47:34 +0000 Subject: [PATCH] Updated DOM documentation. --- .../guide/dom/index.html | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/doc/org.eclipse.cdt.doc.isv/guide/dom/index.html b/doc/org.eclipse.cdt.doc.isv/guide/dom/index.html index f36f840cd70..6e01dc4bb8b 100644 --- a/doc/org.eclipse.cdt.doc.isv/guide/dom/index.html +++ b/doc/org.eclipse.cdt.doc.isv/guide/dom/index.html @@ -14,16 +14,29 @@ for CDT 3.0. Changes should be expected until further notified.
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.
+code.

Syntactic View

-


+

The syntactic view (which we sometimes call the physical view) +represents the syntactic structure of the program. This is driven +mainly by the grammar that the parser follows, mapping from terminals +up to the entry rule in the grammer. This view fulfills the role of a +traditional Abstract Syntax Tree, and you'll see that the classes that +make up this view have AST in their name.

Semantic View

+

The semantic view (which we sometimes call the logical view) +represent semantic elements in the program. These elements are +generally types, variables, and functions. The JDT calls these things +bindings, so we do to. However, the more general rule is that anything +that links sub-branches of the AST is a binding.
+

Workspace-Wide View

+

Once you have a binding, it is possible to find all translation +units that declare or refer to that binding.

Rewriting

-
+

From the Syntactic view, you can ask the AST Rewriter to calculate +the TextEdits required to accomplish changes to the AST.
+