关于创建编译器的书籍和文章很多,它们一次完成所有编译工作。那么,IDE使用的增量编译器/解析器的设计又如何呢?我熟悉第一类编译器,但从未使用过第二种编译器。

我试图阅读一些有关Eclipse Java Development Tools的文章,但它们描述了如何使用完整的基础结构(即API),而不是内部设计(即内部如何工作)。

我的目标是为自己的编程语言实现增量编译器。您会推荐我哪些书或文章?

最佳答案

这本书值得一看:构建一个灵活的增量式编译器后端。

引自Ch。 10个“结论”:



我认为这就是您要寻找的...

编辑:
因此,您打算创建一种称为“交叉编译器”的东西吗?
我开始了新的尝试。到目前为止,我无法提供最终引用。如果您计划一个如此大的项目,我相信您是一位经验丰富的程序员。因此,您可能已经知道这些链接。

Compilers.net
某些编译器的列表,甚至是交叉编译器(转换器)。不幸的是,它的某些链接断开了,但是'Toba'仍然有效,并且具有其源代码的链接。可能是这可以激发您的灵感。

clang: a C language family frontend for LLVM
好的,它用于LVVM,但源代码可在SVN存储库中使用,它似乎是编译器(转换器)的前端。也许这也可以激发您的灵感。

关于parsing - 学习增量编译设计,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5995264/

10-12 00:32
查看更多