我已经写了一个返回 token 的词法分析器,现在我正在研究一个解析器。我有一个问题。

想象一下这个代码示例:

print("Hello, world!")

词法分析器返回四个 token (print("Hello, world!"))。最终程序应打印字符串“Hello,world!”。

但是解析器应该怎么做?解析器应该已经执行了代码,它是否应该返回由另一个对象处理的内容(和内容)?

最佳答案

解析器应生成abstract syntax tree,它是程序在内存中的表示形式。解析后可以遍历此树以生成代码。我建议阅读一些有关该主题的好书,也许是involving dragons

关于c++ - 编程语言的解析器应该做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7461556/

10-12 18:26