【问题标题】:How to write the BNF for this tree-related operation?如何为这个与树相关的操作编写 BNF?
【发布时间】:2014-02-25 16:51:58
【问题描述】:

我们有一棵这样的树:

我们可以将其转换为dotstring representation,即

这样的树可以用它的节点的前序序列来表示 在其中插入点 (.) 的位置是空子树 (nil) 在树遍历过程中遇到。

所以我们可以将图片中的树转换为'abd..e..c.fg...'。

如果我要编写一个函数来进行这种转换,它的BNF 或syntax diagrams 是什么?

【问题讨论】:

    标签: syntax bnf


    【解决方案1】:

    不清楚你在问什么。如果您将字符串视为语言中的一个句子,而将树视为解析的 AST,那么以下 BNF 可能是正确的:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多