Parsing 使用解析表跟踪输入字符串的解析

Parsing 使用解析表跟踪输入字符串的解析,parsing,tree,grammar,parse-tree,Parsing,Tree,Grammar,Parse Tree,我们的教授从来没有抽出时间在课堂上教我们这些材料,现在我们有了家庭作业。谷歌似乎把我引向了正确的方向,但我想确保我做对了(当然) 我们得到了以下语法,并被要求根据它制作一个解析表: 1. S -> ABe 2. A -> dB 3. A -> aS 4. A -> c 5. B -> AS 6. B -> b 我的解析表: _| a | b | c | d | e | # S|ABe| |ABe|ABe| | A|aS | | c |

我们的教授从来没有抽出时间在课堂上教我们这些材料,现在我们有了家庭作业。谷歌似乎把我引向了正确的方向,但我想确保我做对了(当然)

我们得到了以下语法,并被要求根据它制作一个解析表:

1.  S -> ABe
2.  A -> dB
3.  A -> aS
4.  A -> c
5.  B -> AS
6.  B -> b
我的解析表:

_| a | b | c | d | e | #
S|ABe|   |ABe|ABe|   |
A|aS |   | c |dB |   |
B|AS | b |AS |AS |   |
现在我们被告知:

“使用解析表,为输入提供解析跟踪 字符串dbbe。给出未使用的输入字符串、堆栈和输出 (规则编号的顺序)在每次迭代开始时。”

在我的互联网搜索中,我找到了以下示例:

资料来源:

它看起来就像是在语法中给出的每一种可能性,直到与字符串匹配为止

以下是我的想法:

这个怎么样?我理解得对吗?我只是引用了语法;不是我的解析表..我如何使用我的解析表进行跟踪

我仍然不确定这意味着什么:

给出未使用的输入字符串、堆栈和输出(规则序列 在每次迭代开始时


这是他所寻找的要点(不包括输出;他不在乎那一个):

堆栈:输入字符串:
S#dbbe#ABe
ABe#dbbe#db
dbBe#dbBe#
Stack:     Input String:
S#         dbbe#          <- S->ABe
ABe#       dbbe#          <- A->db
dbBe#      dbbe#          <- Pop off matching 'd' at beginning of stack and string
bBe#       bbe#           <- Pop off the matching 'b's...
Be#        be#            <- B->b
be#        be#            <- Pop off 'b's...
e#         e#             <- Pop off 'e's...
#          #              <- Reaching this point on both the stack and input means the input was valid