我正在阅读《语言实现模式》(http://pragprog.com/book/tpdsl/language-implementation-patterns)一书,其中包括一些其他内容以澄清概念以及偶尔的网站。我正在尝试制作一个工具,它可以读取一种简单的编程语言并对其进行一些基本分析。
我陷入了这个工具的设计阶段。我构建了一个简单的手写递归体面解析器,它可以很好地验证源文件。但是,执行具有 CodeDom 树的源操作会很有用。
问题:
1) 像这样的工具是否需要执行逻辑步骤:解析并构建文本树和匹配符号表,然后将其转换为 CodeDom?
2)在构建文本树时,最方便的是 AST,更容易转换为 CodeDom .. 但是重构工具是否会在语句中维护所有嵌入标记的列表以保留内联注释以及它们如何跟踪在他们的树上?