关于编译原理这块之前根本没有涉及过,这次要用到这里的知识就需要来接触一下这里的内容。编译原理顾名思义就是处理高级语言,使之称为计算机能够识别的语言(低级语言)的原理。而文法呢?就是用来描述程序设计语言的方法。类似佛法,用来描述佛家的诵经禅道的规则的。不用去纠结这个名字,知道这个含义,足以。
文法
概念
终结符和非终结符
如图:在p这个推导式的集合中,存在六个推导式。其中S、A、B为非终结符。a、b、c、d、q、p为终结符。终结符是原子不可分的。
分类
文法的分类也就这几种了,先看各自的定义,在定义中,先了解个大概。明白定义中一些的关键字的意思就可以了,在后面通过例子再来巩固就没有问题了。
O型文法
看到这个定义,我又想起当年高中那段如歌的日子了。哈哈!上面的定义中Vn,Vt,P,S
Vn:就是代表了非终结符。
Vt:终结符。
P:表示推导式的集合。一如在第一张图中见到的六个推导式就是p了。
S:开始符,SAB。知道了上面这些关键字是很重要的。
当推导式中,左边的推导式只要满足至少一个是非终结符那么也就是0型文法。
1型文法
定义中最重要的也就是左边的长度必须小于右边的长度,在0型的基础上。