我必须确定一种语言(例如 L={a^nb^mc^s | 0<=n<=m<=s})是否是常规的、上下文无关的、递归的、递归可枚举的,或者它们都不是。
我知道如何确定一种语言是正则的(找到一个有效的 DFA 或正则表达式)还是上下文无关的(找到一个有效的 PDA 或上下文无关的语法);我知道递归语言有一个总是停止的图灵机,而递归可枚举语言有一个可能不会停止的图灵机。
所以问题是:是否有一个快速的标准来确定语言是递归的还是递归可枚举的,或者两者都不是?例如,我不必构建一个 PDA 来理解一种语言是上下文无关的,我看不到它需要一个堆栈的事实;是否有类似的快速解决问题的方法(希望可以省去构建图灵机的麻烦)?