形式语言——为什么大多数派生是有用的



我说的是上下文无关语言(CFG)。

为什么左偏偏这么有用?
它还能比"常规偏离"做得更好吗?

在有人把你打发走说这不是一个编程问题之前,这个答案确实具有编程意义。

最左边的派生是重要的,因为它是由自上而下的解析器(例如LL递归下降或具有前瞻性的确定性下推自动机)有效构造的。

它有用的另一个原因是,对于任何结果解析树,最左边的派生总是唯一的。因此,对于一个无二义语法,最左边的派生对于任何可由该语法派生的句子也是唯一的。

唯一性通常是证明事物的一个非常有用的工具。在这种情况下,它可以帮助您推理语法,如何操作它们(即去除歧义,左因子,去除左递归,以及其他对生成自顶向下解析器有用的转换),并使您确信这些操作对于您的目的是正确的。

最新更新