📜  门| GATE-CS-2016(Set 1)|第56章

📅  最后修改于: 2021-06-29 11:35:13             🧑  作者: Mango

考虑以下具有非终端{S,A}和终端{a,b}}的语法定向翻译方案(SDTS)。

gt46

使用上面的SDTS,由下而上的解析器为输入aab打印的输出为
(A) 1 3 2
(B) 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)

如果我们选择反转,它将打印:231这个问题的测验