1. 理教 103;1.10;8:30-10:30;理科 1 号楼 1809
2. 第一章
a) 程序设计语言的定义
i. 符号+规则
ii. 数据+算法
b) 高级程序设计语言基本特征
i. 形式和编写独立于计算机,比机器语言复杂,跟接近于问题的自然表述
c) 程序设计语言的编程范型
i. 命令型、函数式、逻辑型、面向对象(重要地位)
3. 语言设计要考虑的基本因素
a) 硬件计算机:数据,操作,存储,访问,控制等和语言之间都有一定的对应关系
b) 虚拟计算机(或执行模型)
c) 计算模型
4. 语言的实现本质上就是将程序设计语言转换成计算机很处理的数据、指令和算法的过
程
a) 翻译、解释
5. 虚拟计算机(重点)
a) 程序运行时的数据和算法所定义的计算机
b) 语言中的各种成分最终都会和虚拟计算机中的具体成分绑定起来
i. 绑定和绑定时间:给定一条语句,最终这条语句的成分都需要绑定,关联的
时间:运行时、编译时等等(注意)
6. 第三章
a) 语言的语法
i. 一般准则(了解性)
ii. 二义性问题、及其解决方法
b) 语言的翻译
i. 分析
1. 词法、语法、语义,各阶段功能
ii. 综合
c) BNF 语法(重点 容易出题)
i. 文法的推导:从左向右,从右向左
ii. 文法定义的语言:(关键)
iii. 语法分析树
iv. 文法的二义性及其解决
d) 有限状态自动机(FSA)
i. FSA 的能力
ii. ***接受一个句子与识别一个语言的区别:要证明一个文法是上下文无关文法
还是正则文法就可以用 a^nb^n 来判断,因为正则文法是没有办法识别这个语
言的,虽然他是可以接受的。
1. 例如:E->E+E|E*E|I 正则文法,可以简化为:α->αβ|α;
2. E->E+E|E*E|i|(E)上下文无关,可以简化为 S->aSb|ab:
iii. FSA 与正则文法、正则表达式的之间的相互装换
e) 下推自动机(PDA)
i. 运行原理
评论0
最新资源