北航研究生课程程序语言设计原理教程第02章.ppt
《北航研究生课程程序语言设计原理教程第02章.ppt》由会员分享,可在线阅读,更多相关《北航研究生课程程序语言设计原理教程第02章.ppt(28页珍藏版)》请在三一办公上搜索。
1、第1页,第二章 程序设计语言设计概述,2.1 表示与抽象2.2 设计目标2.3 设计准则2.4 规格说明,第2页,2.1 表示与抽象,表示是人为制造的符号组合以表达我们需要表达的意思。程序是程序设计语言表示的计算float n;/n 是浮点数变量sqrt(n);/对n取平方根同一程序的高级语言表示、经翻译后的汇编码表示、机器码表示就是该程序在不同抽象层次上的表示。,第3页,2.1 表示与抽象,程序在不同抽象层次表示的关系例:x=x+1在机器码上就有两种方法。,从内存代表x的地址中取出值放在运算器中。加1,将结果放于某临时单元。将临时单元内容做类型检查(必要时转换)并放入x中。,从内存代表x的地
2、址中取出值放在运算器中。加1,将结果放入x地址中。,第4页,2.1 表示与抽象,儿子10岁女儿8岁母亲35岁几年后儿女岁数之和大于等于母亲?,u=m-s-d,每人每年增1岁每增 一年比较一次,满足 条件即所求。,read(m,s,d);u=m-s-d;print(u),read(m,s,d);u=0;while(m+us+d+2u)u+;print(u);,m,s,d,u,指令集,客观世界问题抽象,模型世界数学模型模拟模型,程序世界以程序世界术语表示描述模型,机器世界以机器的术语实现程序,图2-1 计算机解题的四个世界,第5页,2.2 PL设计目标,定义一组能表示某种范型的特征集,每个特征有严
3、格定义并可在机器上高效实现,程序员可灵活运用这些特征表达它所希望的任何计算。,模型有力 Model Power语义清晰 Semantic Clarity移植性好 Portability可读性好 Readability,方便 Convenience简单 Simplicity高效 Efficiency灵活性 Flexibility,第6页,2.3 设计准则,频度准则 越常用越简单 方便、可读结构一致 程序结构和计算的逻辑结构一致 可读、方便局部性 Locality 只有全局变量Basic 不鼓励全局变量Pascal,C 无全局变量函数式 Java词法内聚 Lexical Coherence 变量在
4、使用处就近声明(Pascal声明和语句严格分开),(lambda(x y)(let(x 3.5)(y(+a 2)(+(*x y)(+(*x y)(-x y)(-x y)3.5(+a 2)x.y.(x*y)+(x-y)3.5(a+2),第7页,续,语法一致性 GO TO(L1,L2,Ln),I I=1.n GO TO N,(L1,L2,Ln)ASSIGN Li TO N N=L1.Ln安全性Security 语言编译系统自动找出安全漏洞,不能弥补也要支持 安全性强类型,即每个计算操作运算之前类型必须确定 C 留给程序员 过程参数不检查 一般不安全,第8页,续,正交性和正规性(Orthogonal
5、ity&Regularity)正交:每个语言特征都是独立的,增减不影响其它 正规:每一约定或规则无一例外 不正规:数组不能作返回值,不能赋值 函数不能做参数 不正交不正规,第9页,续,数据隐藏(Data hiddening)封装,以名字封装内部数据设计者可见使用者不可见 局部性不一定封装,如:Do l0 I=1,10,2 当I=7时 GOTO 20 10 CONTINUE20.R=I 可以,此时R=7.0,.,第10页,续,抽象表达 抽取因子、递归表达、高层模块名、常量名=常量表达式(易于维护)先抽象再修饰具体(如同自然语言)static const int maxlndex=MAX_LENG
6、TH_1MATHLIB.TRIANG COS(X)可移植性 力图不依赖环境 预定义机制、预处理程序,第11页,形式语法:以形式结构规则的语言元素组合规则微语法 词法 Lexicon宏语法 定义特征的规则,2.4 程序设计语言规格说明语言参考手册,2.4.1 语法规格说明,第12页,T是终结符号串的有限集。N是非终结符号串的有限集。TN=,即它们是不相交的。S是起始符号串,SN。P是产生式,一般形式是:,(TN)*“”表示左端可推导出右端,如,则可写为:|如果产生式将语言的非终结符中的每一个标记都推得为终结符号,则这一组产生式集即为该语言的全部文法。,2.4.1.1 文法文法 产生符合语法的语言
7、(句子集合)规则,如:G=(S,N,T,P)SN,TN=*,第13页,整数的产生式表示法:设0|1|2|3|4|5|6|7|8|9则 一位数是整数 两位数也是 n位数也是 n个这势必造成产生式臃肿,如果写成:|,续,第14页,续,Chomsky的四种文法产生式 左符号集右符号集 由左符号集推导出右符号集0型文法(NT)+,(NT)*递归可枚举语言 图灵机可以识别1型文法 A B,(NT)*,AN,B(NT)+上下文相关文法上下文敏感语言 线性有界自动机可识别2型文法 A(NUT)*,AN 上下文无关文法语言 非确定下推自动机可识别,第15页,续,3型文法 ABB T*,A,BN 正则文法 正则
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北航 研究生课程 程序语言 设计 原理 教程 02
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5616723.html