1、非终结符、终结符、规则、开始符。

文法G定义为四元组(Vn,Vt,P,S)。
其中Vn为非终结符(或语法实体,或变量)集。这样说或许很抽象,那到底什么是非终结符了?从字面上理解,这个符号不是终结的,它只是其中的一部分,在这个小小的社会中它只是其中的小小一份子。一般约定用尖括号括起来的是非终结符,一般用大写字母表示非终结符。
非终结符是可以被取代的符号
Vt为终结符。这样说或许很抽象,那么到底什么是终结符了?首先从字面理解,终结符集,里面的字符很厉害,能够终结掉整个功能,或者说结束掉整个功能。厉害的往往有两面性,既可以毁灭地球,也可以拯救地球。(哈,扯远了啊!)
终结符是一个形式语言的基本符号。就是说,它们能在一个形式语法的推导规则的输入或输出字符串存在,而且它们不能被分解成更小的单位。确切地说,一个语法的规则不能改变终结符。例如说,下面的语法有两个规则:
x -> xa
x -> ax
在这种语法之中,a是一个终结符,因为没有规则可以把a变成别的符号。不过,有两个规则可以把x变成别的符号,所以x是非终结符。一个形式语法所推导的形式语言必须完全由终结符构成。
S称作识别符或开始符。一般约定,第一条产生式的左部是识别符;
P为规则(α-β)的集合,这个在我看来最好理解。什么是规则了,它又称为产生式、重写规则或生成式,这些都是它的小名哈,以后见到这样的描述不要感到陌生。α-β读作α定义为β,那它到底是什么意思了?我举个例子你就明白了!α定义为β就相当于句子可以定义为主语和谓语。(<句子>::=<主语><谓语>)。一个句子可以由主语和谓语两部分组成,有人说不懂什么是主语,什么是谓语?这就没办法了。


2、推导,闭包,正闭包,符号串的方幂 定义这个文法,定义这些规则,都是为了产生句子或者描述句子,进而描述这个世界。把现实世界的东西抽象化,来更好的分析,总结规律,达到进步的目的。(个人见解,哈。)
为定义文法所产生的语言,还需要引入推导的概念。即定义V*中的符号之间的关系:直接推导=>、长度为n(n>=1)的推导=>(箭号上面有个加号)、长度为n(n>=0)的推导=>(箭号上面有个*号)。
现在又有个问题,这个V*又是个什么鬼,好像很陌生的样子。
这个就要说到闭包了,V*称为集合V的闭包。指定字母表V后,可用V*表示V上的所有有穷长的串的集合。例如,V={0,1},则V*={ε,0,1,00,01,10,11,000,001,010……}。这里还有个正闭包的概念。这些都很抽象,还有待进一步理解。
这里的表和串也要理解,字母表是元素的集合,元素是离散的。符号串是由字母表中的符号组成的任何有穷序列。
符号串的方幂,例如把符号串x自身相连n次得到符号串z,即z=xx…xx,称为符号串x的方幂,即把符号串x相继地重复写n次,写作z=xn. 
X0=ε。
这些知识点串起来,不就解决了前面的问题了吗?
当你想了解3的时候,你必须知道2,你想知道2的时候,你必须知道1.很多时候,我们解决问题的方式就是这样递进的,追根溯源式的分析,很有逻辑性哈。很多大学老师讲的课同学们都听不懂,很大一部分原因可能是那个知识点是从3开始的,你都没注意2和1,不知道2和1,你当然听不懂!所以,当出现一门较难的课时,就要多花时间去预习,去查资料,去理解,去了解1和2.而不是直接等着老师去将,老师因为课时等种种原因,不可能从1开始讲起。
所以,你懂的,哈,哈。
最后一句,书读百遍,其意自现。古人的话还是有道理的。