gpt4 book ai didi

c - 如何使用 Flex/Bison 创建真正的编译器?

转载 作者:太空宇宙 更新时间:2023-11-04 03:20:43 26 4
gpt4 key购买 nike

我现在正在学习Flex/Bison,以为我可以做一个编译器,但我越问越觉得它们只是语法分析器,不允许从我们的编程语言生成新文件可执行通用窗口。我解释一下,当执行Bison生成的文件时,它只是解释我们的C代码语言。

是否可以创建一个编译器,从任何没有我的编译器的窗口生成可执行文件?

最佳答案

是的,使用 flex+bison 编写编译器是可能的(而且非常普遍),但是这些工具只能帮助您进行词法和句法分析。您必须自己完成剩下的工作或使用 LLVM 等其他工具。

例如,要创建一个简单的单 channel 编译器,您只需将汇编指令写入 bison-actions 中的文件即可。然后您可以在最后通过汇编器和链接器运行该文件并获得可执行文件。

或者对于更复杂的编译器,您可以在 bison 操作中创建抽象语法树,然后在后续阶段遍历该树以对其执行转换和分析,直到最终生成程序集。

无论哪种方式 bison 只会帮助您进行解析,您都需要自己执行其他步骤。

关于c - 如何使用 Flex/Bison 创建真正的编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46631295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com