- 3
- 0
- 约7.38千字
- 约 100页
- 2019-05-06 发布于广东
- 举报
第4章 程序语言的设计 第2章和第3章分别讨论了程序设计语言的数据类型和控制结构, 分别用来描述程序的数据结构和算法。 本章介绍语言的设计方法。 第一节 语言的定义 语言=语法(规则)+语义(规则) 语法:用以构造程序及其成分(语法单 位)的规则的集合 语义:用以规定语法正确的语法单 位的含义的规则的集合 1.几个术语 ①字母表:语言允许使用字符的集合,其元素称为字符 ②符号:由字符组成的有限串(字符串) ③字汇表:由符号组成的集合,其元素称为字 ④词法规则:规定什么样的字符串可以构成语言的有效符号(单词符号) ⑤语法规则:确定一个符号序列是否为一个句子,并提供句子的结构(什么样的符号序列是合法的) 语言的定义 语言的定义可以从生成(文法)和识别(语法图)的观点进行。 ①一个简单英语句子的描述 I/Students study/run ②文法:记为(N,T,P,S) 句子→主语谓语 主语→I|Students 谓语→study|run ③语言:所有句子的集合 标识符→字母 标识符→标识符字母 标识符→标识符数字 字母→A|…|Z|a|…|z 数字→0|…|9 表达式→标识符 表达式→(表达式) 表达式→表达式运算符表达式 运算符→+|-|*|/ 3.识别的观点 用语法图来定义给定的语言 ①语法图的构造 N→?1|?2|…|?n对应一个语法图 终结符x 非终结符N N→?1|?2|…|?n 若一个终结符序列是合法的, 那么,必须从语法图的入口边通过语法图而到达出口边, 而且在通过的过程中,恰恰能识别该终结符序列。 ③语言 语法图能识别的所有终结符序列的集合。 Ⅰ.终结符框 Ⅱ.非终结符框 Ⅲ.分支、回溯 参见图4-6~9 图4-9 语法描述方法 FORTRAN采用自然语言描述语法; ALGOL 60首次用BNF对语法进行形式描述,为语言定义做出了重要贡献; Pascal首次采用语法图来定义语言,给出了较为直观的语法结构。 语法描述方法等价 文法和语法图是语言文法的等价表示。 文法从产生的观点来定义语言,更通用、更准确地给出语言的语法结构。 语法图以识别的观点定义语言,更直观、更清晰地给出语言的语法结构。 是采用生成的方法还是采用识别的方法来定义语言,由语言的设计者确定。 ①表达语言设计者的意图和设计目标; ②指导语言的使用者编写正确的程序; ③指导语言的实现者编写语法检查程序来识别所有语法单位。 语义(规则) 定义语言合法句子的含义(即句子的作用和意义)的规则组合。 例:if(ab)max=a;else max=b; 文法和语法图已成为语法描述的典型工具,但语义描述至今尚无人们普遍接受的典型描述工具。 许多语言仍采用自然语言描述语义。 本章的语言设计,采用自然语言来描述语义。 (下篇的)语言实现涉及到的语义,将以操作语义学的方法来描述。 即以一个抽象机的行为来描述语言的各个结构的作用和意义。 抽象机GAM的组成 由存储器,控制器,处理器,指令指针 ip 组成。 存储器分为代码区(段)和数据区(段) 。 抽象机GAM的结构 代码区又称代码存储器,用以存放程序指令。代码存储器的内容不允许被修改。 数据区又称数据存储器,用以存放必要的信息和程序中的数据。 GAM 抽象机的结构 ip的内容是代码区单元的地址,该单元的内容是一条指令。 C[i]和D[i]表示相应存储区第i个单元 ip:= ip+ 4 表示指针指向下一条指令假定每条指令占4个存储单元(字节) GAM 抽象机的结构 GAM一旦启动,由专门的装入程序将一个要运行的程序装入代码存储器, 并置 ip 指向该程序的第一条指令。 然后依次完成下述工作: GAM 抽象机的结构 (l)执行 ip 所指向的指令。 (2)修改 ip 的内容。 若所执行的指令未修改ip,则ip+4, 使之指向下一条指令。 (3)若 ip 指向特殊的STOP指令,则终止执行,否则转回执行(1)。 GAM 抽象机的结构 假设 GAM 对各种程序设计语言所常用的运算符 如+,-,*, / , >,<,= 等 都有相应的指令与之对应。 GAM 抽象机的结构 以GAM的操作行为来定义语言的语义,是基于已经“理解”了 GAM的语义。 因此,一旦用 GAM 的操作行为来定义语言结构的作用时,就知道了语言结构的意义。 GAM 抽象机的结构 GAM应该是一个简单的模型工具。 为了成功地应用这种方法,GAM自身的语义应尽可能地简单, 以便把问题集中到语言的语义上,而不是抽象机自身的复杂性上。 第二节 文法 文法自从
您可能关注的文档
- 滁州学院计算机与信息工程学院计算机网络课件第17讲 传输层(3).ppt
- 滁州学院计算机与信息工程学院计算机网络课件第18讲 应用层(1).ppt
- 滁州学院计算机与信息工程学院计算机网络课件第19讲 应用层(2).ppt
- 滁州学院计算机与信息工程学院计算机网络课件第20讲 网络安全与管理.ppt
- 滁州学院数据结构课件第八章 排序(C语言版).ppt
- 滁州学院数据结构课件第八章 图(C++语言版).ppt
- 滁州学院数据结构课件第二章 数组(C++语言版).ppt
- 滁州学院数据结构课件第二章 线性表(C语言版).ppt
- 滁州学院数据结构课件第九章 排序(C++语言版).ppt
- 滁州学院数据结构课件第六章 树与森林(C++语言版).ppt
- 广东省广州市南沙区2025年七年级上学期期末数学试题(附答案).pdf
- 山西省泽州县晋庙铺镇拦车初级中学校2026届数学八年级第一学期期末考试模拟试题含解析.doc
- 中国螺纹钢市场应用需求前景及发展态势展望研究报告.docx
- 原料药市场投资前景分析及供需格局研究研究报告.docx
- 2025-2030拉丁美洲智能物流体系建设与供应链优化战略研究.docx
- 广东省河源市2025年八年级上学期期末考试数学试题(附答案).pdf
- 产业链数据挖掘与价值链分析.docx
- 多细胞生物(教学设计)-2025苏教版七年级生物上册.pdf
- 金融数据安全与隐私保护-第100篇.docx
- 2025-2030中国三氧化二砷行业市场现状供需分析及投资评估规划分析研究报告.docx
最近下载
- 中国银发经济市场与投资赛道66条(2025)(精要版).doc VIP
- 监理工程师如何写好工程质量评估报告.doc
- GB50771-2012 有色金属采矿设计规范.pdf VIP
- 电子线路(线性部分)第五版_冯军习题解答.docx
- 铁路专用线(专用铁路)代维修合同.doc VIP
- 2026领导班子成员民主生活会“五个带头”个人对照检查材料8篇.docx VIP
- WTT澳门冠军赛2022比赛赛程及对战名单(附直播平台).docx VIP
- F302040【复试】2024年江苏大学080200机械工程《复试901机械制造技术基础.pdf VIP
- 9《日月潭》课件(共26张PPT).pptx
- 上消化道出血PPT课件课件.pptx
原创力文档

文档评论(0)