2014-02-25 21 views
0

我們有這樣的樹:如何編寫這個樹相關操作的BNF?

enter image description here

我們可以將其轉換爲dotstring representation,即

這種樹可以通過其節點的序序列來表示 其中將點(。)插入樹遍歷期間遇到的空子樹(nil)爲 的位置。

因此,我們可以將圖片中的樹轉換爲'abd..e..c.fg...'

如果我正在寫一個函數來做這個轉換,那麼BNFsyntax diagrams它是什麼?

回答

1

目前還不清楚你在問什麼。如果你認爲字符串是一種語言中的句子,樹中是AST,那麼可能下面的BNF就是正確的:

tree ::= empty | node 
empty ::= '.' 
node ::= letter tree tree 
letter ::= 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | ...