第一章
1 编译原理的工作过程(结合p6 图 1.3)
编译程序的主要功能是将源程序翻译成等价的目标程序,这个翻译过程(也称编译过程)十分复杂,所以它一般首先分析源程序,然后综合成目标程序。编译程序在分析阶段检查源程序的正确性后,再将其分解为若干基本成分。这其中的工作也包括建立一些表格,改造源程序为中间语言程序。
2 编译方式和解释方式的比较(结合p2图 1.1和p3图1.2)
编译方式中源程序的编译和目标程序的运行时分成两个阶段完成的。经编译所得的目标程序,计算机暂时还不能直接执行,必须由连接装配程序将目标程序和编译程序以及运行子程序连接成一个可执行程序,这个可执行程序才可直接被计算机执行。
解释方式并不先产生目标程序然后再执行之,而是对源程序边翻译边执行。解释程序的主要优点是便于对源程序进行调试和修改,但其加工处理过程速度较慢。
3 编译的特性
1.模块性 2 静态解释和动态解释 3机器无关性 4语言标准化 5程序语言特征
第二章
1 文法的形式定义 G=(VN,VT,S,P)
VN:非空有限的非终结符号集(变量表)
VT:非空有限终结符号集(符号表)
S:开始识别符号
P:产生式的集合
觉得抽象的话,请看21页例题2.1
2 文法的分类(看产生式 P)
1 0型文法(PSG :Pherase Structure Grammar---无限制的文法)
α->β,α∈(VN∪VT)+,β∈(VN∪VT)*,即产生式α至少有一个非终结符即可。
21 型文法(CSG: Context Seasitive Grammar---上下文有关文法)
α->β,α=γ1Aγ2,β=γ1Bγ2,γ1,γ2∈(VN∪VT)*,A∈VN,B∈(VN∪V<