程序语言的大多数语法现象可用上下文无关文法描述。对于一个上下文无关文法G=(N,T,P,S),其中N是非终结符号的集合,T是终结符号的集合,P是产生式集合,S是开始符号。令集合V=N∪T,那么G所描述的语言是( )的集合。

admin2019-06-12  24

问题 程序语言的大多数语法现象可用上下文无关文法描述。对于一个上下文无关文法G=(N,T,P,S),其中N是非终结符号的集合,T是终结符号的集合,P是产生式集合,S是开始符号。令集合V=N∪T,那么G所描述的语言是(    )的集合。

选项 A、从S出发推导出的包含V和T中所有符号的串
B、从S出发推导出的只包含V中所有符号的串
C、从S出发推导出的只包含T中符号的串
D、T中所有符号组成的串

答案C

解析 对于一个上下文无关文法G=(N,T,P,S),如果它的产生式规则都取如下的形式:V∈w,这里V∈VN,w∈(VT∪VN)*。开始符号是一种特殊的非终结符,而所谓终结符号是组成语言的基本符号,从语法分析的角度来看,终结符号是一个语言不能再进行分割的基本符号。上下文无关文法取名为“上下文无关”的原因就是因为字符V总可以被字串w自由替换,而无须考虑字符V出现的上下文。在这道题里,V∈N∪T,根据“上下文无关”的特性,V总可以被字串N∪T自由的替换;但当V=N∪T时,由于非终结符的不唯一性,要构成等式成立,必须要N∪T中的符号串收缩为终结符,即都是T的集合。所以上下文无关方法G所描述的语言是从S出发推导出的仅包含T中符号的串的集合。
转载请注明原文地址:https://jikaoti.com/ti/NMf7FFFM
0

随机试题
最新回复(0)