




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 高级语言及其语法描述,程序语言的定义 高级语言的一般特性 程序语言的语法描述 文法 形式语言鸟瞰,程序语言的定义,记号系统 = 语法 + 语义 +语用,语 法:,定义:是指规定如何由基本符号组成一个完整的程序的规则。可以分文一般的词法规则和语法规则(产生规则)。 例子:0.5 * X1 + C 语言的词法规则单词符号的形成规则 单词符号是语言中具有独立意义的最基本单位,包括各类型的常数、标识符、基本字、算符和界符等。 语言的语法规则语法单位的形成规则 规定如何从单词符号形成语法单位(包括:表达式、语句、分程序、函数、过程和程序等)的规则。 语法规则的描述上下文无关文法,词法规则和语法规则定义了程序的形式结构,是判断输入字符串是否构成一个形式上正确程序的依据。,语义单词符号和语法单位的意义。,语 义:,形式上完全相同的语法单位在不同的语言中语义是不相同的。,程序语言的基本功能:,描述数据和对数据运算。程序语言的每个组成成分都有(抽象的)逻辑和计算机实现两方面的意义。,高级语言的分类 程序结构 数据类型与操作 (P19),高级语言的一般特性:,标识符由字母或数字组成的以字母为开头的一个字符串。它没有意义。 名 字是代表一个抽象的存储单元,存储单元的内容就是该名字的值,也是名字所表示的一个具体对象,名字还有明确的属性(包括类型和作用域)和意义。,数据类型与操作 (P19):,赋值语句 (P24):,A := B,右值,表示名字的值,左值,存储单元,地址,程序语言的语法形式描述(P25),:字母表有穷符号集合(注意:是“符号”,而不是“字符”) 符号字母表中的元素 例如: =a,b,c,d,e,.z =begin,end,if, for, while 符号串字母表中的符号构成的有穷序列 例如:aa,bb,cc,dd,(显然是一个无穷的集合) 空字:不包含任何符号的序列,记为 。 注意区分: , , ,连接积UV = | U 且 V ( U、V是 *的子集) 即UV中的符号串是 U 和 V中的符号串连接而成的。,用 * 表示*上的所有符号串的全体 例如: = a, b ,则 * = , a , b, aa , ab , ba ,bb , aaa , ,例如: U = a, b 、V = aa , bb 则UV = aaa, abb,baa,bbb ,Vn = V V V V 规定V0 = ,闭包:V* = V0 U V1 U V2 U V3 U 正则闭包:V+ = V V*,例如: 已知字母表X = 0,1,2,3,4,5,6,7 ,求X*和 X + 解答: X0 = ,X1 = X= 0,1,2,3,4,5,6,7 , X2 = 00,01,02,03,04,05,06,07,77 X*= , 0,1,2,3,4,5,6,7, 00,77,000,777, X + = XX* =0,1,2,3,4,5,6,7, 00,77,000,777, ,上下文无关文法(P 27):,1、概念 文法描述语言的语法结构的形式规则(即语法规则) 上下文无关文法文法所定义的语法单位是完全独立于这种语法单位可能出现的环境的。,2、上下文无关文法 G = 终结符VT,非终结符集VN ,开始符号S,产生式集P (P27) 文法的表示方法;G, GS,例子:给定如下子语言框架: - Program ; - |; -Integer |Real| |Bloolean |Procedure | ; - Begin End - | | ; - - - | | - | | - $, -A|B|Z|a|b|z -0|1|2|3|4|5|6|7|8|9| 该子语言文法的开始符号为( ),终结符号为( )非终结符号为( )。,例子:he gave me a book. VT = he, gave, me, a ,book VN = , , , , , , , S = P= - , - - , - - he, ,语法树,3、推导(P 29)、最左推导和最右推导(P 30),4、句型、句子 (P 29),例如:文法2.1:E E+ E |E * E |(E)| i的推导 E(E)(E+E)(E*E+E)(i*E+E) (i*i +E) (i*i + i ) 句型有: (E)、(E+E)、(E*E+E)、(i*E+E)、 (i*i +E) 、 (i*i + i ) 句子有:(i*i + i ),5、语法树(P 31) 可以用语法树表示一个句子的结构。语法树是以开始符号(识别符)为根,以句子的推导过程为依据,对每个非终结符,把它的推导所用产生式的右部的全部符号作为它的子结点。 语法树的全部叶子,从左到右就是这个句子。,语法树,6、语法树和语法的二义性(P 31) 某个文法的某个句子存在两个不同的语法树。 不能在有限的步骤中一般地证明一个文法是二义的,例如:文法2.1:E E+ E |E * E |(E)| i的句子 (i*i + i)的最右推导和最左推导就对应2棵不同的语法树,判定的额结果是针对文法的,但判定的关键是两棵不同的语法树对应同一个选定的句子。,形式语言鸟瞰:,文法的4种类型: 0型文法短语文法 1型文法上下文有关文法 2型文法上下文无关文法 3型文法左/右线性文法,复习总结,文法的使用限制,语法树与二义性,文法和语言 的形式定义,符号与符号串,文法 和语法,推导与规约,句型、句子和语言,短语与句柄,最左、最右推导与归约,语法树的构
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浦发银行九江市浔阳区2025秋招数据分析师笔试题及答案
- 光大银行天津市红桥区2025秋招笔试性格测试题专练及答案
- 招商银行天津市河东区2025秋招笔试性格测试题专练及答案
- 光大银行重庆市渝中区2025秋招笔试行测高频题及答案
- 民生银行长春市朝阳区2025秋招笔试专业知识题专练及答案
- 上海立信会计金融学院单招《物理》模拟试题(各地真题)附答案详解
- 2025安徽蚌埠竞先数据服务有限公司人才招聘笔试考试历年参考题附答案详解
- 2025云南云蒙生物科技有限公司招聘30人考试历年参考题附答案详解
- 中信银行吕梁市交城县2025秋招信息科技岗笔试题及答案
- 光大银行大连市庄河市2025秋招金融科技岗笔试题及答案
- 投标服务响应应急方案(3篇)
- 自动控制原理课件第九章状态空间分析法
- 2025年安全工程师《安全生产管理》考前模拟卷(一)
- 综合实践 记录我们的校园(教案)北师大版数学三年级上册
- 第4课 探究智慧农业应用领域 课件【教科版】《信息科技》八年级上册
- 《信息系统安全》课程教学大纲
- 2024年青海省行政执法资格考试备考题库及答案(题型)
- 无人机航拍课件
- 2025-2026学年第一学期校园“1530”安全教育记录表
- 压力性损伤的分期及护理
- 2025支付宝财经内容生态报告
评论
0/150
提交评论