第四章 程序语言的设计.ppt
《第四章 程序语言的设计.ppt》由会员分享,可在线阅读,更多相关《第四章 程序语言的设计.ppt(50页珍藏版)》请在麦多课文档分享上搜索。
1、第四章 程序语言的设计,第一节 语言的定义语言语法语义 语法:用以构造程序及其成分的一组规则 的集合 语义:用以规定语法正确的程序或其成分的含义的一组规则的集合,一.语法1.几个术语字母表:语言允许使用字符的集合,其元素称为字符符号:由字符组成的有限串(字符串)字汇表:由符号组成的集合,其元素称为字词法规则:规定什么样的字符串可以构成语言的有效符号语法规则:确定一个符号序列是否为一个句子,并提供句子的结构(什么样的符号序列是合法的),2. 生成的观点 一个简单英语句子的描述I/Students study/run. 文法:语言的一个完整的语法描述,记为(N,T,P,S)I|Studentsst
2、udy|run语言:所有句子的集合,”标识符”和”表达式”的定义(递归定义)(注意递归的结束条件) 标识符A|B|X|Y|Z|a|b|x|y|z0|1|2|3|4|5|6|7|8|9,表达式()+|-|*|/,3.识别的观点 用语法图来定义给定的语言 语法图的构造 N1|2|n对应一个语法图终结符x非终结符NN1|2|n,12m |,识别原则:若一个终结符序列是合法的,那么,必须从语法图的入口边通过语法图而到达出口边,而且在通过的过程中,恰恰能识别该终结符序列。.终结符框.非终结符框.分支、回溯 参见图4-6、图4-7、图4-8、图4-9 语言:语法图能识别的所有终结符序列的集合。,标识符,表
3、达式,运算符,表达式,(,),表达式,表达式,字母,字母,数字,标识符,字母,字母,数字,表达式,表达式,(,),表达式,+,表达式,-,*,/,+,-,*,/,运算符,图4-6,图4-7,图4-8,图4-9,4.语法描述的基本用途 表达语言设计者的意图和设计目标; 指导语言的使用者如何写一个正确的程序; 指导语言的实现者如何编写一个语法检查程序来识别所有合法的程序。,二.语义 例:大象吃花生Elephants eat peanuts.1.何谓语义?定义语言合法句子的含义,即句子的作用和意义。 例:if(ab)max=a;else max=b;2. GAM的结构指令指针+代码存储器C +数据存
4、储器D举例:若懂汉语,可以将任何外语以汉语解释;亦即理解了汉语则理解了外语.,ip,代码存储器(C),数据存储器(D),第二节 文 法一. 文法的定义文法是描述语言的语法结构的形式规则,必须准确,易于理解,且描述能力强,1. 文法的形式定义G=(VT,VN,S,P) 例 G0=(VT,VN,S,P):EE+T|TTT*F|FF(E)|i 显然 VT =+,*,(,),iVN =E,T,FS=EP为上述产生式的集合,说明: 的读法,其中 V*VNV*, V*,VVT VN 1 2. n约定:用英文大写字母表示非终结符;小写字母表示终结符;希腊小写字母表示串,缩写为 1| 2| n,2. 文法的分
5、类0型文法:产生式形如1型文法:=(S例外)或产生式形如A, V + (上下文有关文法)2型文法:产生式形如A(上下文无关文法)3型文法:产生式形如A或AB(正则文法,右线性文法) VT,*,3. 简化的上下文无关文法 不含形如AA的有害规则 不含多余规则即AVN, 必有S A,*,二. 文法产生的语言 1. 推导与归约直接推导: 即由产生式右边替换产生式左边推导:1 n、1 n归约:推导的逆过程,*,+,举例: 已知G(E) EE+EE*E(E)ii+i*i的推导过程 E E+E E+E*E E+E*i E+i*i i+i*i E E+E i+E i+E*E i+i*E i+i*i E E*
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 章程 语言 设计 PPT
