2.1文法

 文法是最重要的而且是最基础的。正规式和有穷自动机。

 一个终结符不能为α。一个终结符是一个原子量,是不能再被分解的一个量。它是最终状态了,不能转换成其他状态了,也不能够用其他的几个量进行代替。终结符是不能单独在左边的。而非终结符恰恰相反。非终结符可以理解为可以拆分的元素。一个程序可以理解为非终结符。因为一个程序可以拆分为很多个语句。大写字母表示非终结符,小写字母表示终结符。

 

S是开始符,S、A、B为非终结符。p、q、a、b、c、d为终结符。

VN是非终结符的集合。VT是终结符的集合。P是推导式的集合。S是开始符。

学习编译原理对一些基本的概念进行记忆。记忆之后才是理解。最基础的东西必须靠记忆。

0型文法要记忆的地方:α∈(VN∪VT)*的意思是α属于VN∪VT的闭包。VN∪VT不管是终结符还是非终结符,闭包的意思是用集合当中任意的元素进行组合,拼接起来,形成的一个串。

一个串它的所有的元素只要是为VN∪VT当中的元素,那么这个串就属于VN∪VT的闭包。不管这个串是多长。这个串也可以说全部是终结符的,这个串也属于VN∪VT的闭包。

 α没有非终结符它就不属于0型文法了。对于β的要求就放开了,只要是VN∪VT这个闭包当中的元素,就可以成为β。

0型文法是短语文法,它的能力相当于图灵机。


不需要深究什么是线性有界自动机。重点记忆1型文法是上下文有关文法有时候问你的不是0型文法或者是1型文法,它问你的是上下文有关文法或者是上下文无关文法。1型文法==上下文有关文法。|β|表示串的长度。


2型文法是上下文无关文法。1型文法是上下文有关文法。如果一个文法是2型文法,那么它至少是1型文法。

原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/6919926.html