我们有这样一棵树:
我们可以将其转换为dotstring representation
,即
这样的树可以由其节点的预订序列表示 其中插入点(。),其中空子树(nil)是 在树遍历期间遇到。
因此我们可以将图片中的树转换为'abd..e..c.fg...'
。
如果我要编写一个函数来执行此转换,那么它的BNF
或syntax diagrams
是什么?
答案 0 :(得分:1)
目前尚不清楚你在问什么。如果您将字符串视为语言中的句子而将树视为解析的AST,则可能以下BNF是正确的:
tree ::= empty | node
empty ::= '.'
node ::= letter tree tree
letter ::= 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | ...