派生树和派生树之间有什么关系?

时间:2017-01-26 10:02:54

标签: context-free-grammar automata automata-theory

这是用ullmans书写的,但我没有很好地了解它是如何工作的。任何人都可以解释甚至在简单的背景下?我真的很高兴。

1 个答案:

答案 0 :(得分:1)

派生是一些以起始符号S开头的序列,以语言中的字符串结尾,中间步骤可能包含终端和非终结符。序列中的每个步骤都使用生产规则扩展一个非终结符。

解析树以起始符号为根,终端符号为叶子,节点的子节点对应于生产规则。

例如,使用语法S -> a | 1 | S + Sa + a + 1的派生可能是

S -> S + S -> a + S -> a + S + S -> a + S + 1 -> a + a + 1

并且相应的解析树可能是

   S
 / | \
S  +  S
|    /|\
a   S + S
    |   |
    a   1

此时要问的一些问题是:对于给定的语言或语法,特定字符串是否只有一个解析树?只有一个推导?对于特定的派生,是否有唯一的解析树,反之亦然?