我正在从事一个项目,我必须在其中定义一个新的处理器硬件架构。 我需要一个编译器来为这个目标生成汇编代码(它有自己的指令集)。
此处理器的程序将用 C 语言编写。
我的想法是解析 C 代码并生成抽象语法树 (AST),然后从 AST 生成程序集。
当然,我想重用现有组件(我希望不需要重写 C 解析器),但是我可以使用哪些工具或框架来完成这项任务?
谢谢。
最佳答案
看看LLVM .
它由单独的模块组成,这些模块可以单独创建并通过中间语言进行通信。在这种情况下,您将不得不编写程序集后端并重用其他人的 C 编译器。
关于c++ - 如何编写编译器后端以从 C 代码为用户定义的硬件架构生成程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8076537/