- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章_词法分析.ppt
本章内容简介高级语言及其语法描述 本章描述程序设计语言的基本结构和主要共同特征并介绍程序设计语言主要语句的文法描述与形式定义。 高级语言 FORTRAN 数值计算 COBOL 事务处理 PASCAL 结构程序设计 ADA 大型程序、嵌入式实时系统 PROLOG 逻辑程序设计 ALGOL 算法语言 C/C++ 系统程序设计 Java Internet程序设计 与机器语言或汇编语言比较,高级语言的优点: 较接近于数学语言和工程语言,比较直观、自然和易于理解; 便于验证其正确性,易于改错; 编写效率高; 易于移植. 2.1程序语言的定义 任何语言实现的基础是语言定义 语言的定义决定了该语言具有什么样的语言功能、什么样的程序结构、什么样的数据结构以及具体的使用形式等细节问题。 对于语言用户来说:语言定义就是一本用户手册。 对于编译程序设计者来说:语言定义就是具体实现的理论依据。 2.1.1 语法 语言的语法是指这样一组规则,用它可产生一个程序。 规则: 词法规则 语法规则 2.1.2语义 词法规则:单词符号的形成规则。 单词符号是语言中具有独立意义的最基本结构。一般包括:常数、标识符、基本字、算符、界符等。 描述工具:有限自动机 语法规则:语法单位的形成规则。 语法单位通常包括:表达式、语句、分程序、过程、函数、程序等; 描述工具:上下文无关文法 程序的层次结构 程序 | 子程序或分程序、过程、函数 | 语句 | 表达式 | 数据引用 算符 函数调用 程序语言每个组成成分的逻辑和实现意义 抽象的逻辑的意义 数学意义 计算机实现的意义 具体实现 2.2 高级语言的一般特性 2.2.1 高级语言的分类 基于规则的语言(Rule-based Language):检查一定的条件,当它满足值,则执行适当的动作 Prolog 面向对象语言(Object-Oriented Language):封装性、继承性和多态性 Smalltalk,C++,Java 2.2.2 程序结构 FORTRAN 一个程序由一个主程序段和若干辅程序段组成。 辅程序段可以是子程序、函数段或数据块。 每个程序段有一系列的说明语句和执行语句组成。各段可以独立编译。 模块结构,没有嵌套和递归 各程序段中的名字相互独立,同一个标识符在不同的程序段中代表不同的名字。 PASCAL PASCAL程序本身可以看成是一个操作系统所调用的过程,过程可以嵌套和递归。 一个PASCAL过程: 过程头; 说明段(由一系列的说明语句组成); begin 执行体(由一系列的执行语句组成); end JAVA Java是一种面向对象的高级语言 类(Class) 继承(Inheritance) 多态性(Polymorphism)和动态绑定(Dynamic binding) 2.2.3 数据类型与操作 一个数据类型通常包括以下三种要素: 用于区别这种类型数据对象的属性 这种类型的数据对象可以具有的值 可以作用于这种类型的数据对象的操作 2.2.3 数据类型与操作 一.初等数据类型 数值类型:整型、实型、复数、双精度, 运算:+,-,*,/等 逻辑类型:布尔运算:∨,∧,┑ 字符类型:符号处理 指针类型 标识符与名字 标识符:以字母开头的,由字母数字组成的字符串。 标识符与名字两者有本质区别: 标识符是语法概念 名字有确切的意义和属性 标识符与名字 名字: 值:单元中的内容 属性:类型和作用域 名字的性质的说明方式: 由说明语句来明确规定的 隐含说明:FORTRAN 以I,J,K,…N为首的名字代表整型,否则为实型。 动态确定:走到哪里,是什么,算什么 二 数据结构 1 数组 逻辑上,数组是由同一类型数据所组成的某种n维矩形结构,沿着每一维的距离,称为下标。 数组可变与不可变:编译时能否确定其存贮空间的大小。 访问:给出数组名和下标值 存放方式: 按行存放,按列存放 内情向量 把数组的有关信息记录在一个“内情向量”中,每个数组的内情向量必须包括:维数,各维的上、下限,首地址,以及数组(元素)的类型。 对于确定数组来说,内情向量可登记在符号表中; 对于可变数组,内情向量的信息在编译时无法全部知道,只有到运行阶段才能全部确定下来,存贮分配也要等到运行时方能进行 2 记录 逻辑上说,记录结构由已知类型的数据组合在一起的一种结构。 record { char NAME[20]; integer AGE; bool MARRIED; } CARD[1000] 访问:复合名 CARD[k].NAME 存储:连续存放 域的地址计算:相对于记录结构起点的相对
您可能关注的文档
- 英语词根词缀大全.doc
- 《小学数学一年级第一学期期中考试卷》-苏教版
- 【总编号:200903】小学英语语法点基础复习之现
- 2003第一届小学“希望杯”四年级第1试题及答案
- 2006年全国小学生英语竞赛六年级组初赛赛题.pd
- 2006年全国小学生英语竞赛四年级组决赛赛题.pd
- 2007年海南三亚小学教师招聘考试试题.doc
- 北师大版小学品德与社会四年级下册全册教案.
- 大坝小学红领巾气象哨.doc
- 峰华小学二年级数学试题.doc
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
文档评论(0)