是我的解析方法的标准?

时间:2014-10-23 19:32:17

标签: parsing compiler-construction

我想写一个简单的编译器。 在它的语法中,每一行都包含(只是)一个陈述。

1)首先扫描仪完成他的工作;所以对于每一行,我们都有令牌。

2)对于每一行我们检查它的类型(如果是stm,对于stm,var defintion,end,......)。 在此步骤中,他们键入的行被诊断出来。例如:

func definition
var def
assignment
for stm
...
end
end

3)现在是检查行顺序的时候了。

换句话说,我们检查:

1)单独使用每个单词(扫描仪)

2)单独每行(行语法)

3)行块(编程语言语法)

我的问题: 解析步骤是2?还是3?或2& 3? 我认为它不是解析器的标准方法。如果我认为对,有什么不对?什么是解决方案?

1 个答案:

答案 0 :(得分:1)

不,它不是标准的,它几乎肯定不会起作用。首先,在大多数编程语言中,行是无关紧要的。另一方面,订单检查不是一个明确的阶段。它是语法识别的全部内容。这里太宽泛了。我建议你读一本好书。