图灵完整的语言可以使用CFG吗?

时间:2018-10-31 10:28:42

标签: parsing grammar context-free-grammar turing-machines turing-complete

图文并茂是否会妨碍语言使用CFG?我找不到任何这样的文章。

我发现了这一点: "TeX can only be parsed by a complete Turing machine (modulo the finite space available), which precludes it from having a BNF."

1 个答案:

答案 0 :(得分:1)

我们常常对这些术语不准确,但是要想正确回答您的问题,就需要我们对术语的使用方式非常准确。

如果两个计算系统可以互相模拟,则它们是等效的。如果计算系统等效于图灵机,那么该系统就是 Turing-equivalent

如果计算系统需要在该系统中计算该系统的所有功能,则计算对于该系统是完整;就是说,对计算系统的任何改变,使其不能执行至少与以前相同的计算,将导致其不能执行该计算。如果相对于图灵机,计算是 Turing-complete

BNF语法描述了上下文无关的语言,而能够解析此类语言的能力最差的计算系统是 pushdown自动机。该计算系统无法模拟 Turing machine ,因为存在图灵机可以执行的计算,而下推自动机无法执行;因此,下推自动机不是 Turing-equivalent

文章说,TeX是一种 Turing-complete 语言,也就是说,确定有效的TeX字符串的语言需要Turing机器的所有功能。任何无法模拟图灵机的系统都无法解析有效TeX字符串语言的决定成员资格。

文章不是说TeX与Turing等效(也许是,也许不是;我不知道)。正如评论中指出的那样,计算系统表示的图灵完备性与该计算系统的图灵等效性完全无关。甚至图灵机本身也可以使用常规语言的字符串表示(实际上,可以扩展任何语言的解释,以便将无效的程序编译为无需执行任何操作即可停止的程序,突然所有字符串都有效,并且所有语言均有效)字符串肯定是常规的。)