考虑以下语法定向翻译方案 (SDTS),具有非终结符 {S, A} 和终结符 {a, b}}。
使用上面的 SDTS,由自底向上解析器打印的输出,对于输入aab是
(一) 1 3 2
(乙) 2 2 3
(C) 2 3 1
(D)语法错误答案: (C)
解释:自底向上解析器自底向上构建解析树,即从给定的字符串到起始符号。给定的字符串是 aab,起始符号是 S。
所以这个过程是从aab开始,到达S。
=>aab(给定字符串)
=>aSb(减少 S->a 后,因此打印 2)
=>aA(减少 A->Sb 后,因此打印 3)
=>S(减少 S->aA 后,因此打印 1)
当我们从字符串到达起始符号时,该字符串属于语法语言。
另一种做同样事情的方法是:-自底向上解析器通过 RMD 反向解析。
RMD如下:
=> S
=> aA(因此,打印 1)
=> aSb(因此,打印 3)
=> aab(因此,打印 2)
如果我们采用 Reverse,它将打印:231这个问题的测验