答案:C。
计算机中一共定义了四种文法,分别如下:
① 0型文法(短语结构文法)。0型文法的能力相当于图灵机(Turing)。任何0型语言都是递归可枚举的;反之,递归可枚举集必定是一个0型语言。
② 1型文法(上下文相关文法)。αAβ->αBβ一样的形式。这里的A是非终结符号,而α、β和B是包含非终结符号与终结符号的字串,即:A只有出现在α1α2的上下文中,才允许用B替换。
③ 2型文法(上下文无关文法)。文法的产生式为:A->α,其中,A是非终结符号,α是包含非终结符号与终结符号的字串。
④ 3型文法(正规文法)。这种文法要求产生式的左侧只能包含一个非终结符号,产生式的右侧只能是空串、一个终结符号或者一个非终结符号后随一个终结符号;如果所有产生式的右侧都不含初始符号 S ,规则S->ε也允许出现。这种文法规定的语言可以被有限状态自动机接受,也可以通过正则表达式来获得。正规语言通常用来定义检索模式或者程序设计语言中的词法结构。
在四种文法的基础上定义了四种语言:
① 0型文法产生的语言称为0型语言。
② 1型文法产生的语言称为1型语言,也称作上下文有关语言。
③ 2型文法产生的语言称为2型语言,也称作上下文无关语言。
④ 3型文法产生的语言称为3型语言,也称作正规语言。
下表给出四种文法的特点以及对应的语言:
文法 | 语言类型 | 语言 | 自动机 |
0-型 | 0-型 | 递归可枚举语言 | 图灵机 |
1-型 | 1-型 | 上下文相关语言 | 线性有界非确定图灵机 |
2-型 | 2-型 | 上下文无关语言 | 非确定下推自动机 |
3-型 | 3-型 | 正规语言 | 有限状态自动机 |
从上表的分析可知,下推自动机属于2型语言。所以,选项C正确。