文档详情

第二章高级语言及其语法描述课件.pptx

发布:2023-10-14约2.96千字共10页下载文档
文本预览下载声明
第2章 高级语言及其语法描述 • 程序语言的定义 • 高级语言的一般特性 •程序语言的语法描述 • 形式语言鸟瞰 程序语言的定义 记号系统 = 语法 + 语义 +[语用] 词法规则 语法规则 语法: n 定义:是指规定如何由基本符号组成一个完整的程序的 规则。可以分文一般的词法规则和语法规则 (产生规则) 。 例子:0.5 *X1 + C n 语言的词法规则——单词符号的形成规则 单词符号是语言中具有独立意义的最基本单位,包括各类型的常数、 标识符、基本字、算符和界符等。 n 语言的语法规则——语法单位的形成规则 规定如何从单词符号形成语法单位 (包括:表达式、语句、 分程序、函数、过程和程序等) 的规则。 n 语法规则的描述——上下文无关文法 词法规则和语法规则定义了程序的形式结构,是判断 输入字符串是否构成一个形式上正确程序的依据。 程序语言的基本功能: 描述数据和对数据运算。程序语言的 每个组成成分都有(抽象的) 逻辑和计 算机实现两方面的意义。 高级语言的一般特性: • 高级语言的分类 类 别 特 点 语法形式 示 例 类 别 特 点 示 例 备 注 • 数据类型与操作 (P19) • 程序结构 类 别 数据 运 算 示 例 初等数据类型 数据结构 抽象数据类型 标识符—— 由字母或数字组成的以字母为开头的一个字符串。 它没有意义。 名 字——是代表一个抽象的存储单元,存储单元的内容就是 该名字的值,也是名字所表示的一个具体对象,名字还有明确 的属性 (包括类型和作用域) 和意义。 数据类型与操作 (P19) : 程序语言的语法形式描述(P25) • x :字母表——有穷符号集合(注意:是“符号”,而 不是“字符”) •符号——字母表中的元素 •例如: x={a,b,c,d,e,….z} x={begin,end,if, for, while} • 符号串——字母表中的符号构成的有穷序列 • 例如: {aa,bb,cc,dd,…} (显然是一个无穷的集合) • 空字:不包含任何符号的序列,记为 c。 •注意区分: c,{},{c} 用 x* 表示x*上的所有符号串的全体 例如: x={ a, b },则 x* = {c , a , b, aa , ab , ba ,bb , aaa , …} • 连接积——UV = { | =U 且 =V} ( U 、V是 x *的子集) 即UV中的符号串是 U 和 V中的符号串连接而成的。 例如: U ={ a, b } 、V ={ aa , bb } 则UV = { aaa, abb ,baa ,bbb } • Vn = V V V ……V 规定V0 = { c } v 闭包: V* = V0 U V1 U V2 U V3 U…… v正则闭包: V+= V V* 例如: 已知字母表X ={ 0,1,2,3,4,5,6,7 },求X*和 X + 解答: X0 = { c } ,X1 = X= { 0,1,2,3,4,5,6,7 }, X2 = { 00,01,02,03,04,05,06,07 ,…… ,77 } …… …… X*={c , 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 ,… } 例子:给定如下子语言框架: 程序 - 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={ 句子 - 主语
显示全部
相似文档