我已经写了一个返回 token 的词法分析器,现在我正在研究一个解析器。我有一个问题。
想象一下这个代码示例:
print("Hello, world!")
词法分析器返回四个 token (
print
,(
,"Hello, world!"
和)
)。最终程序应打印字符串“Hello,world!”。但是解析器应该怎么做?解析器应该已经执行了代码,它是否应该返回由另一个对象处理的内容(和内容)?
最佳答案
解析器应生成abstract syntax tree,它是程序在内存中的表示形式。解析后可以遍历此树以生成代码。我建议阅读一些有关该主题的好书,也许是involving dragons。
关于c++ - 编程语言的解析器应该做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7461556/