电子科技大学计算机科学与工程学院编译原理课件第4章 程序语言的设计.pptVIP

  • 3
  • 0
  • 约7.38千字
  • 约 100页
  • 2019-05-06 发布于广东
  • 举报

电子科技大学计算机科学与工程学院编译原理课件第4章 程序语言的设计.ppt

第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自身的语义应尽可能地简单, 以便把问题集中到语言的语义上,而不是抽象机自身的复杂性上。 第二节 文法 文法自从

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档