第二章基本概念
字母表
字母表:是一个有穷集合
符号:字母,数字,标点符号、…
例如:
二进制字母表:{0,1}
ASCLL字符集
Unicode字符集
都是字母表
字母表的运算
字母表的乘积运算:

字母表的幂运算
字母表的n次幂:长度为n的符号串构成的集合

字母表的闭包运算
字母表的闭包:长度为正数的符号串构成的集合

字母表的克林闭包
就是比字母表的闭包多一个空集

串
克林闭包里的元素都是字母表上的一个串


串的运算
串的链接

串的幂运算

文法的定义


**终结符:**是文法所定义的语言的基本符号也称为token
例:VT={apple,boy,eat,little}
**非终结符:**是用来表示语法成分的符号,有事也称为“语法变量”
例:VN={<句子>,<名词短语><动词短语>…}
终结符和非终结符是不相交的
终结符和非终结符的并集是文法符号集
P:产生式集合
产生式:描述了将终结符和非终结符组成串的方法
开始符号:是表示该文法的最大的语法成分
例如:S=<句子>




语言的定义



推导
归约




标识符的文法
无符号整数
浮点的文法
文法分类


左边的字符不能小于右边的字符

左边必须是终结符

w代表终结符
B代表非终结符
CFG分析树

直接短语一定是某个产生式的右部,某个产生式的右部不一定是直接短语

二义性

该博客围绕编译原理第二章基本概念展开,介绍了字母表及其乘积、幂、闭包等运算,串的链接和幂运算,还阐述了文法的定义,包括终结符、非终结符、产生式等,以及语言的定义、文法分类和CFG分析树,提及了二义性问题。
2479

被折叠的 条评论
为什么被折叠?



