我已经阅读了 Wikipedia 的解释至少十几次,但我仍然对 LR(0) 解析器如何离开状态 0 感到困惑。
解析器从仅包含初始状态 (
'0'
) 的堆栈开始:[0]
解析器看到的输入字符串中的第一个符号是'1'
。
...但这对我来说没有意义,因为看到输入符号将执行前瞻,但根据定义,LR(0) 解析器无法执行前瞻。
当解析器处于状态 0 时,它还没有移动,所以它的堆栈上没有任何符号。
鉴于它是一个 LR(0) 解析器,它也不能执行前瞻。
那么它如何使用表格来确定从状态 0 转换或减少到哪个状态呢?