首先,提出几个问题: 1.什么是文法?2.文法和语言有什么联系? 3.文法为语言的描述提供了哪些方便?
下面,记录一下几个很经典的定义:
1.使用文法作为工具,不仅为了严格地定义句子的结构,也是为了用适当条数的规则把语言的全部句子描述出来,可以说文法是以有穷的集合刻画无穷的集合的一个工具。
(所以,可以看出,为什么引出文法? 引出文法,就是为了解决 语言的描述问题。根据文法可以产生句子,而句子组成了语言)
2.文法的定义: 文法G定义为四元组(Vn,Vt, P,S)其中Vn为非终结符(或语法实体,或变量)集,Vt为终结符集,P为规则(α——>β)的集合,α∈(VnUVt)*, 且至少包含一个非终结符β∈(VnUVt)*;Vn,Vt和P是非空有穷集,S称作为识别符或开始符,它是一个非终结符,至少要在一条规则中作为左部出现。Vn和Vt不含有公共元素。
3.推导:即 按照 文法,产生句子或句型的过程。 产生式(也就是规则)是推导的依据。
4.要弄清 : 句型和句子有什么区别?