作者:李东龙
文法可以算是编译原理中最重要的一部分。它是程序编译的一种规则……
1、终结符和非终结符
终结符不能单独出现在推导符号的左边。(终结符不可再分)
非终结符可以单独出现,可分解的。用大写字母表示。
2、文法类型
0型文法、1型文法、2型文法、3型文法
0型文法(短语文法):
Vn表示非总结符包,Vt总结符包,p是整个推导,s开始状态。
只要符合由包含非终结符的集合进行推导的文法符合0型文法。
1型文法(上下文有关文法)
这里的绝对值符号表示的时中间字符串的长度。
在符合0型文法的基础上,推导符前面的长度小于后面的长度既符合1型文法。
2型文法(上下型无关文法):
在符合1型文法的基础上,推导符号前面完全都是非终结符的既符合2型文法。
3型文法(正规文法):
“|”表示或的意思。
0型文法范围是最广的, 3型式最小的。