在学习软考视频的时候,讲文法的课程视频,我实在不敢恭维,
所以非常有必要总结一下,加深理解。
我们现在讨论如何形式的描述一种语言。
如果一种语言是有穷的(只含有有限数量的句子),我们可以将句子逐一列出来显示;
如果一种语言是无穷的,我们不可能将句子逐一的列出来,而是希望寻求语言的有穷表示。
语言的有穷表示有两种途径:
一种是生成方式,即利用文法的规则和推导手段,将语言中的每个句子用严格定义的规则来构造。
一种是识别方式,即使用自动机的行为描述语言,它的行为相当于一个过程:输入一个符号串判断是否属于某语言,如果是,则该过程经过有限次的计算然后停止回答“是”;如果不属于,则该过程要么停止回答“不是”,要么该过程永远的运行下去。
首先有几个简单概念必须先了解一下。
文法G定义为四元组(VN,VT,P,S)。其中,
VN为非终结符号集;VT为终结符号集;P为产生式(也称规则)的集合;S称为识别符号或开始符号。
下面对应各个概念稍作说明。
VN,VT和P是非空的有穷集合;S是一个非终结符,也就是说S ∈VN,至少要在一条生产式中作为左部出现。
VN和VT不含有公共元素,即VN∩VT= φ。