- 1、本文档共75页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理(第三版) 陈火旺等编著 (2012年9月-12月) 主讲:朱世松 计算机学院 第二章 高级语言及其语法描述 常用的高级语言 FORTRAN 数值计算 COBOL 事务处理 PASCAL 结构程序设计 ADA 大型程序、嵌入式实时系统 PROLOG 逻辑程序设计 ALGOL 算法语言 C/C++ 系统程序设计 Java Internet程序设计 与机器语言或汇编语言比较,高级语言的优点: 较接近于数学语言和工程语言,比较直观、自然和易于理解; 便于验证其正确性,易于改错; 编写效率高; 易于移植. 2.1 程序语言的定义 程序语言由两方面定义: 语法 语义 (语用-语言成分的使用方法) 一. 语法 程序本质上是一定字符集上的字符串。 语法:一组规则,用它可以形成和产生一个合式(well-formed)的程序。 词法规则:单词符号的形成规则。 单词符号是语言中具有独立意义的最基本结构。一般包括:常数、标识符、基本字、算符、界符等。 描述工具:有限自动机 语法规则:语法单位的形成规则。 语法单位通常包括:表达式、语句、分程序、过程、函数、程序等; 描述工具:上下文无关文法 E→i E→E+E E→E*E E→(E) 语法规则和词法规则定义了程序的的形式结构。定义语法单位的意义属于语义问题。 二. 语义 语义:一组规则,用它可以定义一个程序的意义。 描述方法: 自然语言描述:隐藏错误、二义性和不完整性 形式描述: 操作语义(PL/1) 指称语义(ADA) 代数语义(PASCAL) 三.程序语言的基本功能和层次结构 程序语言的基本功能:描述数据和对数据的运算。 所谓程序,本质上说是描述一定数据的处理过程。 程序的层次结构: 程序 | 子程序或分程序、过程、函数 | 语句 | 表达式 | 数据引用 算符 函数调用 程序语言每个组成成分的逻辑和实现意义 抽象的逻辑的意义 数学意义 计算机实现的意义 具体实现 2.2 高级语言的一般特性 2.2.1 高级语言的分类 强制式语言(Imperative Languge)也称过程式语言:命令驱动,面向语句 FORTRAN、C、Pascal,Ada 应用式语言(Applicative Language):注重程序所表示的功能,而不是一个语句接一个语句地执行 LISP、ML 基于规则的语言(Rule-based Language):检查一定的条件,当它满足值,则执行适当的动作 Prolog 面向对象语言(Object-Oriented Language):封装性、继承性和多态性 Smalltalk,C++,Java 2.2.2 程序结构 FORTRAN 一个程序由一个主程序段和若干辅程序段组成。 辅程序段可以是子程序、函数段或数据块。 每个程序段有一系列的说明语句和执行语句组成。各段可以独立编译。 模块结构,没有嵌套和递归 各程序段中的名字相互独立,同一个标识符在不同的程序段中代表不同的名字。 PASCAL PASCAL程序本身可以看成是一个操作系统所调用的过程,过程可以嵌套和递归。 一个PASCAL过程: 过程头; 说明段(由一系列的说明语句组成); begin 执行体(由一系列的执行语句组成); end 作用域:一个名字能被使用的区域范围称作这个名字的作用域。 允许同一个标识符在不同的过程中代表不同的名字。 名字作用域规则--最近嵌套原则 一个在子程序B1中说明的名字X只在B1中有效(局部于B1); 如果B2是B1的一个内层子程序且B2中对标识符X没有新的说明,则原来的名字X在B2中仍然有效。如果B2对X重新作了说明,那么,B2对X的任何引用都是指重新说明过的这个X。 program main var A, B : real; … procedure P1 var B:boolean; … begin … end procedure P2 var A:integer; … begin … end begin … end PASCAL提供了丰富的数据类型和运算方式,它允许用户动态地申请和退还存贮空间。 ADA 程序包(package):把数据和操作代码封装在一起,支持数据抽象。 一个程序包分为两部分: 可见的规范说明部分,它定义了程序包外面可以访问的对象。 程序包体,它实际定义程序包的实现细节。 package STACKS is type ELEM is private; type STACK is limited private; pr
您可能关注的文档
- 第六篇 地方政府的职能.ppt
- 《Linux互联网技术》8配置和使用Web服务器.pdf
- 第11章WEB服务器的安装和配置.ppt
- 大数据知识服务平台构建关键技术研究概要.pdf
- 第一讲 启动ANSYS.ppt
- 吉林大学 康辉 高级程序设计语言(一) 第七章 - 数组及指针.ppt
- 第六章 c#- 类型转换.ppt
- 控制系统仿真与CAD 2-2 内建函数仿真.pdf
- 《Visual FoxPro数据库基础》第2章:面向对象程序设计概念和入门.ppt
- 过度教育和教育的信号功能.pdf
- 5年中考3年模拟试卷初中道德与法治七年级下册01第1课时青春的情绪.doc
- 5年中考3年模拟试卷初中道德与法治七年级下册02第2课时青春萌动.doc
- 5年中考3年模拟试卷初中生物八年级下册第一节评价自己的健康状况.doc
- 5年中考3年模拟试卷初中道德与法治七年级下册02第2课时我们与法律同行.doc
- 5年中考3年模拟试卷初中道德与法治七年级下册02第2课时成长的不仅仅是身体.doc
- 5年中考3年模拟试卷初中生物八年级下册第三节基因的显性和隐性.doc
- 律师实习自我鉴定6篇合集.docx
- 销售工作个人工作总结例文12篇.docx
- 食材采购合同 .pdf
- 部编版语文上册四年级《繁星》课后精练(有答案)1 .pdf
最近下载
- 《2023年甘肃省职业院校技能大赛职业英语技能赛项职业英语能力测试模块试题口语决赛样题》.pdf
- 建筑工程建筑面积计算规范GBT50353-2022[13].pdf
- JB/T 9628-1999 汽轮机叶片 磁粉探伤方法.pdf
- 0i-TF PLUS车床操作说明书.pdf
- 陈传明管理学笔记1.马工程——总论.pdf
- 06J925-2 压型钢板、夹芯板屋面及墙体建筑构造(二).docx VIP
- 《高速公路基础设施数字化建设数据标准》.pdf VIP
- 计算机组装与维护 知识点整理.pdf VIP
- 《员工满意度研究国内外文献综述》3900字.docx VIP
- 勤俭节约主题班会 主题班会.ppt VIP
文档评论(0)