- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译chapt4
2004-2-19 *电子科技大学计算机科学与工程学院 程序设计语言与编译 * 第四章 程序语言的设计 主要内容 1.语言的定义 语法 语义 2.文法 3.语言的设计 如何对高级语言给出明确的定义,以便语言的使用者和实现者,以及人和机器能无二义确定程序是否有效,它的含义是什么; 定义语言是否合法的一组规则; 用以规定程序或其成分的含 义的规则; 定义语言语法的形式化规则; 介绍设计高级语言的一般知识和方法 第一节 语言的定义 定义 程序设计语言是用来描述计算机所执行的算法的形式表示; 由两个部分组成: 语法:用以构造程序及其成分的一组规则的集合 生成的观点 识别的观点 语义:用以规定语法正确的程序或其成分的含义的一组规则的集合 指称语义学、操作语义学、代数语义学、公理语义学 用一组规则生成出一个语言; 用一个机制来识别一个语言; 语法 几个术语 字母表:语言允许使用字符的集合,其元素称为字符;由字符组成的有限串(字符串)称为符号。 字汇表:由符号组成的集合,其元素称为字 词法规则:规定什么样的字符串可以构成语言的有效符号 语法规则:确定一个符号序列是否为一个句子,并提供句子的结构(什么样的符号序列是合法的) 例如:26个大小写英文字母,10个数字,各种运算符号等等…… 例如:for,while,procedure等各种关键字,标识符,数字串等等 例如:标识符是由字母打头的字母/数字串; 例如:算术表达式可以是单个的数字串,标识符,或由两个算术表达式经过算术运算构成; 语法 生成的观点 例:一个简单英语句子如何按照生成的观点来描述它的语法: I/Students study/run. How to describe? 解决办法 句子→主语谓语 主语→I|Students 谓语→study|run 每一行称为一条语法规则;该行表示句子由主语后面跟一个谓语组成 尖括号括起来的符号称为非终结符; 这些符号称为终结符; 注意:描述以上规则的符号系统称为巴科斯-诺尔范式,即通常的BNF(Backus-Naur Form)。 以上文法的形式描述 在形式语言中,上述例子可写成文法 G=(N,T,P,S)其中 N={句子,主语,谓语} T={I,students,study,run} P={句子→主语谓语,主语→I|Students,谓语→study|run} S=句子 非终结符的集合; 终结符的集合; 产生式的集合; 文法的开始符号; 例1:标识符的文法 标识符→字母 标识符→标识符字母 标识符→标识符数字 字母→A|…|Z|a|…|z 数字→0|…|9 例2:表达式的文法 表达式→标识符 表达式→(表达式) 表达式→表达式运算符表达式 运算符→+|-|*|/ 语法 识别的观点:语法图 语法图的定义 每一非终结符N连同相应的产生式 N→?1|?2|…|?n 对应一个语法图;具体对应如下: 终结符x 对应于 x 非终结符N 对应于 N ??2 ??n ??1 产生式N→?1|?2|…|?n 对应于 产生式?→?1?2…?m 对应于 ?b1 ?b2 ?bm 产生式 ?→??|? 对应于 ?g ?b 表达式 标识符 表达式 运算符 ( ) 表达式 表达式 ?字母 字母 ?数字 标识符 + - * / 运算符 ?字母 ?字母 ?数字 表达式 ( ) 表达式 + 表达式 - * / 表达式 语法图的一些例子 识别原则: 若一个终结符序列是合法的,那么,必须从语法图的入口边通过语法图而到达出口边,而且在通过的过程中,恰恰能识别该终结符序列。具体如下: 终结符框 非终结符框 分支 回溯 标识的终结符与被识别的终结符刚好符合; 由该非终结符的语法图来识别; 若遇到分支,则任选一分支来识别; 若一个分支识别不成功,则选另一分支来识别; 注意:语法描述的用途 表达语言设计者的意图和设计目标; 指导语言的使用者如何写一个正确的程序 指导语言的实现者如何编写一个语法检查程序来识别所有合法的程序。 语义 定义 语言的语义定义语言合法句子的含义,即句子的作用和意义。 注意:虽然目前有很多种描述语言的语义的形式化方法,但目前无普遍接受的典型形式描述工具。 例:利用GAM抽象机来定义和理解语言结构的语义,它的简单结构如左图。 ip 代码存储器(C) 数据存储器(D) 存储可执行的指令代码 存放程序中被操纵的数据 指令指针 假定我们已经“知道”和“理解”了GAM上的语义,就可以利用它的操作来定义高级语言的语义(操作语义)。 第二节 文法 定义 文法G定义成一个四元式: G=(VT,VN,S,P) 其中 VT是非终结符的集合; VN是终结符的集合; S?VN是开始符号; P是产生式的非空有限集; 例: G0=(VT,VN,S,P),其中 VT ={+,*,(,),i
您可能关注的文档
- 维护结构湿传递.ppt
- 维护国家主权2.ppt
- 绪论+紫外部分.ppt
- 维生素D3可行性研究.doc
- 综合国力和大国崛起.docx
- 综合历史-特色专题一.ppt
- 绪言三板导入技能.ppt
- 综合布线和AM调制解调器课设.doc
- 维易科技 (PCB湿度卡 湿度卡厂商).ppt
- 综合循环水泵站水泵技术协议 上海凯泉.doc
- springbooot+vue基于java的房屋维修系统毕业论文.doc
- 中国消防救援学院《单片机系统实验》2023-2024学年第一学期期末试卷.doc
- 2025年溧阳纺织化学品项目申请.pptx
- 景区门票包销合同模板(3篇).docx
- 【股票技术指标学习指南】第七章第三节货币需要量的测算.doc
- 2025春 _ 人教版七年级英语下册【unit4】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit5】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit6】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit7】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit8】看音标写单词.doc
最近下载
- 2.1 走进化学实验室(第1课时)(课件)八年级化学全一册(沪科版五四学制2024).pptx VIP
- 部编版二年级上册语文第二单元教案.pdf VIP
- 2024广西高质量共建“一带一路”谱写人类命运共同体新篇章公需课答案.docx VIP
- 公务员考试-2019公考核心政策解读1.doc VIP
- 部编版二年级上册语文第二单元教案.docx VIP
- 贵州省2023-2024学年高一上学期期末英语试题(含答案).pdf VIP
- DND法术列表分析和总结.pdf VIP
- 安利索ACVF门机变频器调试说明书(中文版).doc
- 高中数学 导数的概念及其几何意义讲义 新人教版选修2-2.doc VIP
- 电机拖动与电气控制 第6章 电气控制电路的基本控制环节.pptx VIP
文档评论(0)