这是用ullmans书写的,但我没有很好地了解它是如何工作的。任何人都可以解释甚至在简单的背景下?我真的很高兴。
答案 0 :(得分:1)
派生是一些以起始符号S开头的序列,以语言中的字符串结尾,中间步骤可能包含终端和非终结符。序列中的每个步骤都使用生产规则扩展一个非终结符。
解析树以起始符号为根,终端符号为叶子,节点的子节点对应于生产规则。
例如,使用语法S -> a | 1 | S + S
,a + a + 1
的派生可能是
S -> S + S -> a + S -> a + S + S -> a + S + 1 -> a + a + 1
并且相应的解析树可能是
S
/ | \
S + S
| /|\
a S + S
| |
a 1
此时要问的一些问题是:对于给定的语言或语法,特定字符串是否只有一个解析树?只有一个推导?对于特定的派生,是否有唯一的解析树,反之亦然?