0

我想为新架构制作一个编译器。我不确定这是多大的任务。据我所知,Flex/Bison 类工具可以免费进行几个编译步骤。

我的目标是在编译器的代码生成过程中进行拦截。那么,有什么免费的工具可以用于我的工作吗?大多数编译器都嵌入了所有不同的编译过程。

我不确定LLVM,但我需要一个基本的小型简单编译器,其中所有不同的步骤都是分开的。可能我会从AST部分操作到代码生成部分。

如果您对我可以使用的工具有任何想法,请提出建议。

4

2 回答 2

1

您没有指定您感兴趣的语言,但如果您想要使用简单的 C 编译器,您可能需要查看tcclcc 。

于 2012-12-18T02:53:23.753 回答
0

从 flex/bison 开始为新机器制作 C++ 编译器当然是可能的,但工作量很大。编译器中有很多语义分析代码没有被 flex 或 bison 覆盖。

另一种选择是将 gcc 重新定位到您的新机器。但是 gcc 有点大,需要大量研究来学习如何改变它。gcc 的优点是您在完成重定向后获得 c/c++/java 支持。

我认为@ChrisTodd 对 lcc 的建议很好,因为有一本书解释了如何将 lcc 编译器重新定位到新机器上。重新定位 lcc 后,您将只能编译 C 程序。

于 2012-12-20T02:25:40.777 回答