我想为新架构制作一个编译器。我不确定它有多大任务。据我所知,Flex / Bison类工具可以自由地完成几个编译步骤。
我的目标是拦截编译器的代码生成通行证。那么,我可以使用任何免费工具来完成我的工作吗?大多数编译器都嵌入了所有不同的编译过程。
我不确定 LLVM ,但我需要一个基本的简单编译器,其中所有不同的步骤都是分开的。可能我会从 AST 部分操作到代码生成部分。
如果您对我可以使用的工具有任何想法,请建议。
答案 0 :(得分:1)
答案 1 :(得分:0)
从flex / bison开始为新机器制作C ++编译器当然是可行的,但这将是很多工作。编译器中有许多语义分析代码,不包含在flex或bison中。
另一种选择是将gcc重新定位到新机器上。但是gcc有点大,需要大量的研究来学习如何改变它。 gcc的优势在于,在完成重定向后,您将获得c / c ++ / java支持。
我认为@ChrisTodd对lcc的建议很好,因为有一本书解释了如何将lcc编译器重新定位到新机器上。重新定位lcc后,您将只能编译C程序。