如何编写编译器后端以从C代码生成用户定义的hw体系结构的程序集

Vin*_*Pii 4 c c++ compiler-construction assembly instruction-set

我正在开发一个项目,我必须定义一个新的处理器硬件架构.我需要一个编译器来为这个目标生成汇编代码(它有自己的指令集).

该处理器的程序将用C语言编写.

我这样做的想法是解析C代码并生成一个抽象语法树(AST),然后从AST生成程序集.

当然我想重用现有的组件(我不希望重写一个C语言分析器),但是我可以用什么工具或框架来完成这个任务呢?

谢谢.

orl*_*rlp 6

看看LLVM.

它由单独的模块组成,可以单独创建并通过中间语言进行通信.在你的情况下,你将不得不编写程序集后端并重用其他人的C编译器.