【发布时间】:2011-11-20 21:33:04
【问题描述】:
我正在为一个学校班级实现一个编译器,但我在如何进行时遇到了一些问题。 已经进行了词法分析。对我来说,词法分析是我有一个函数,它返回标记对象并打印一些可以在词法分析期间检查的错误。
token包含id、string(如果当前id是string,如果不是null)、number(如果token是number,如果不是null)和token所在的行。
我想进行语法分析,但我不确定在此过程中是否必须生成语法树。我确信在生成中间代码时这将是必要的,但老师将决定权留给我们。
到此结束。老师想让我们明白,有必要吗? 如果真的有必要,构造语法树的最佳方法是什么? 我是否还遗漏了一些会在后期给我带来麻烦的东西?
【问题讨论】:
-
嗯,没有复杂中间表示的一次性编译器当然是可能的。但它是否可行取决于语言和所需的功能。
标签: parsing compiler-construction lexical-analysis abstract-syntax-tree