看完书后做了一套真题,都是眼泪呀,经过对试题的分析,发现弱点是编译原理和组成原理部分;因为这两块本来就是薄弱地带,再加上看书之后没有认真地总结过,就开始了真题,难免在做题时遇到困难,下面针对编译原理做一下总结,从一张思维导图开始:
从导图中可以看出,程序语言的部分都不是难点,分类和基本成分都是平时接触的,唯一需要去理解的就是可能平时不太去关注的,低级语言、高级语言、编译程序、解释程序的特点。
把中重点放在语言处理程序的部分,其中分为三部分:
1、汇编程序
其中需要明白的就是指令语句,伪指令语句和宏指令语句;指令语句和伪指令语句的差别是:(1)伪指令语句汇编后不产生机器代码,指令语句汇编后产生响应的机器代码;(2)伪指令语句所指示的操作是在源程序被汇编时完成的,指令语句操作必须在程序运行时完成
2、解释程序
解释程序的执行过程,解释程序不产生源程序的目标程序
其中C的方式,中间代码更接近机器语言,使得这类程序有较好的移植性。
3、编译程序
4、编译程序和解释程序的差异:
(1)效率:编译比解释可能取的更高的效率
(2)灵活性:解释程序反复检查源程序,使得在运行中修改程序是可能的,所以解释方式比编译方式更灵活
(3)可移植性:解释器也是用某种程序设计语言编写的,所以对解释器进行重新编译,就可以使得解释器在不通环境中运行。
自我感觉难点是文法的部分:
1、定义 :描述语言语法结构的形式规则成为文法,就是在语言分析阶段的一种规则;
2、分类:
0型文法—图灵机:α—>β,α中至少含有一个非终结符。(左侧一定有非终结符)0型语言()
1型文法—有限自动机:α—>β,|α| <= |β|,特例:a—>ε。(左边的长度小于等于右边的长度)上下文有关语言
2型文法—下推自动机:A—>β,A是一个非终结符。(左边都是非终结符)上下文无关语言
3型文法—有限状态自动机:A—>a|aB 或 A—a|Ba。正规语言,等价于正规式
3、正规文法和正规式的转化规则
4、有限自动机与正规式的转化
(1)有限自动机转换为正规式
(2)正规式转化为有限自动机
差不多就理解了这些,希望可以在真题中继续磨练!