私は本LanguageImplementationPatterns(http://pragprog.com/book/tpdsl/language-implementation-patterns)を読んでいますが、概念を明確にするために他のいくつかの本や時折のWebサイトを混ぜ合わせています。私は、些細なプログラミング言語を読み取り、それに対していくつかの基本的な分析を実行するツールを作成しようとしています。
このツールの設計段階で行き詰まっています。ソースファイルを適切に検証する、単純な手書きの再帰下降パーサーを作成しました。ただし、CodeDomツリーを使用してソース操作を実行すると便利です。
質問:
1)このようなツールがとる論理的な手順は次のとおりです。テキストツリーと一致するシンボルテーブルを解析して構築し、これをCodeDomに変換しますか?
2)テキストツリーを構築する場合、最も便利なのはASTであり、CodeDomへの変換が簡単です。ただし、リファクタリングツールは、インラインコメントを保持するために、ステートメントに埋め込まれたすべてのトークンのリストを維持し、これをどのように追跡しますか彼らの木に?