【发布时间】:2014-02-25 16:51:58
【问题描述】:
我们有一棵这样的树:
我们可以将其转换为dotstring representation,即
这样的树可以用它的节点的前序序列来表示 在其中插入点 (.) 的位置是空子树 (nil) 在树遍历过程中遇到。
所以我们可以将图片中的树转换为'abd..e..c.fg...'。
如果我要编写一个函数来进行这种转换,它的BNF 或syntax diagrams 是什么?
【问题讨论】:
我们有一棵这样的树:
我们可以将其转换为dotstring representation,即
这样的树可以用它的节点的前序序列来表示 在其中插入点 (.) 的位置是空子树 (nil) 在树遍历过程中遇到。
所以我们可以将图片中的树转换为'abd..e..c.fg...'。
如果我要编写一个函数来进行这种转换,它的BNF 或syntax diagrams 是什么?
【问题讨论】:
不清楚你在问什么。如果您将字符串视为语言中的一个句子,而将树视为解析的 AST,那么以下 BNF 可能是正确的:
tree ::= empty | node
empty ::= '.'
node ::= letter tree tree
letter ::= 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | ...
【讨论】: