c++ - 如何编写编译器后端以从 C 代码为用户定义的硬件架构生成程序集

标签 c++ c compiler-construction assembly instruction-set

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

此处理器的程序将用 C 语言编写。

我的想法是解析 C 代码并生成抽象语法树 (AST),然后从 AST 生成程序集。

当然,我想重用现有组件(我希望不需要重写 C 解析器),但是我可以使用哪些工具或框架来完成这项任务?

谢谢。

最佳答案

看看LLVM .

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

关于c++ - 如何编写编译器后端以从 C 代码为用户定义的硬件架构生成程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8076537/

相关文章:

c++ - 如何使用 g++47 允许 -z multidefs

c++ - 我可以在函数头中包含 cppcheck 抑制吗?

c# - 从 C# 应用程序调用 C++ DLL

html - 如何从 HTML 中提取有意义的文本

c++ - 来自 C++ 的中间代码

c++ - 对 C++ 类型转换感到困惑

C - 另一个结构中的动态大小的结构指针数组,段错误

统计每个单词出现的次数

apache - 使用 LLVM Plus 自定义 channel 和自定义库编译 Apache Server

Java String 到 Neo4J Create Graph 语句