我们的教授从来没有在课堂上教过我们这些材料,现在我们有家庭作业。谷歌似乎在引导我朝着正确的方向前进,但我想确保我做对了(当然)。
我们得到了以下语法,并要求根据它制作一个解析表:
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 的解析跟踪。在每次迭代开始时给出未使用的输入字符串、堆栈和输出(规则编号序列)。”
来源:http ://what-when-how.com/compiler-writing/top-down-parsing-compiler-writing-part-1/
看起来好像您遍历了语法中给出的每种可能性,直到您与字符串匹配。
这是我想出的:
这个怎么样?我理解对了吗?我只通过引用语法来做到这一点;不是我的解析表..我将如何使用我的解析表进行跟踪?
我仍然不确定这意味着什么:
在每次迭代开始时给出未使用的输入字符串、堆栈和输出(规则编号序列)