gpt4 book ai didi

c++ - 如何使用 Yacc 将语言翻译成 C++?

转载 作者:行者123 更新时间:2023-11-30 04:20:36 24 4
gpt4 key购买 nike

这是一个更笼统的问题,因为我真的不知道如何开始。基本上,我必须使用 Yacc 来解释/翻译一种名为 CALC 的虚构语言,它可以对变量进行算术运算,然后将它们打印出来。我已经得到了解释工作,但我项目的第二部分是编写一个 C++ 文件,其中包含原始文件中的所有指令,已翻译。

我的问题是,我该怎么做?我是在语法规则的代码中写入文件,还是在 main 中写入?我一直在尝试在语法规则代码中执行此操作,但我发现数据正在向后写入文件(也就是说,如果我声明四个变量,程序会打印出原始文件中声明的最后一个先编程,依此类推)。

最佳答案

嗯,Yacc 确实进行了自下而上的解析。

您大致有两种选择:

  1. 当输入导致减少并执行附加代码时,您可以像现在一样输出结果,但随后您将需要一直重新排序。

  2. 你可以构建一个 abstract syntax tree在你的规则中,然后按顺序遍历它。这是通常的做法。

关于c++ - 如何使用 Yacc 将语言翻译成 C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15190409/

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