换言之,一个符号串要属于L(G)必须满足以下两个条件: ・该符号串只包含终结符;(必须是T集合中的) ・该符号串能根据语法G从起始符S推导出来。 两个概念: ・递归枚举语言(recursively enumerable language):如果用计算机编程序可以顺序逐个输出(枚举)一种语言的合法语句。则称该语言可枚举。 ・递归语言(recursive language):可以判断输入字符串是否符合语法,是不是某种语言的句子。则称该语言可递归。 一种语言可递归枚举但不一定可递归。 显然短语结构语法可以用来描述任何一种可递归枚举语言,但不能判别所产生的句子是否符合语法,因此,是能描述递归枚举语言,但不是递归的。这就意味着我们能用短语结构语法定义某些语言不是递归的。也就是就是说,虽然我们可以建立一部语法,但却不能写出一个程序来判定一个输入串究竟是不是被该语法所定义的语言中的一个句子。即,短语语法体系太强(定义的语言类型多)。 |