- ShiftReduce解析是将字符串缩减为语法的开始符号的过程。
- ShiftReduce解析使用堆栈来保存语法, 并使用输入磁带来保存字符串。
文章图片
- Sift reduce解析执行两个操作:shift和reduce。这就是为什么将其称为shift减少解析的原因。
- 在移位操作中, 输入字符串中的当前符号被压入堆栈。
- 每次减少时, 符号将被非终端代替。该符号在产品的右侧, 非终端在产品的左侧。
【移位减少解析】语法:
S → S+SS → S-SS → (S)S → a
输入字符串:
a1-(a2+a3)
解析表:
文章图片
移位减少解析主要分为以下两类:
- 运算符优先级解析
- LR解析器