程序语言的设计.pptVIP

  • 1
  • 0
  • 约2.72千字
  • 约 100页
  • 2017-04-22 发布于湖北
  • 举报
程序语言的设计

程序语言的设计;第一节 语言的定义;1.几个术语 ①字母表:语言允许使用字符的集合,其元素称为字符 ②符号:由字符组成的有限串(字符串) ③字汇表:由符号组成的集合,其元素称为字(如关键字表) ;;语言的定义;①一个简单英语句子的描述 I/Students study/run ②文法:记为(N,T,P,S) 句子→主语谓语 主语→I|Students 谓语→study|run ③语言:所有句子的集合; 标识符→字母 标识符→标识符字母 标识符→标识符数字 字母→A|…|Z|a|…|z 数字→0|…|9;表达式→标识符 表达式→(表达式) 表达式→表达式运算符表达式 运算符→+|-|*|/ ;3.识别的观点;终结符x 非终结符N N→?1|?2|…|?n ;?b1;; 若一个终结符序列是合法的, 那么,必须从语法图的入口边通过语法图而到达出口边, 而且在通过的过程中,恰恰能识别该终结符序列。;③语言;;?字母;标识符;语法描述方法;语法描述方法等价;;①表达语言设计者的意图和设计目标; ②指导语言的使用者编写正确的程序; ③指导语言的实现者编写语法检查程序来识别所有语法单位。;语义(规则) 定义语言合法句子的含义(即句子的作用和意义)的规则组合。 例:if(ab) then max:=a else max:=b ;;;;抽象机GAM的组成;ip;抽象机GAM的结构;GAM 抽象机的结构;GAM 抽象机的结构;GAM 抽象机的结构;GAM 抽象机的结构;GAM 抽象机的结构;GAM 抽象机的结构;文法自从乔姆斯基(Chomsky)于1956 年建立语言的形式描述以来,形式语言的理论发展很快。 该理论对计算机科学,特别是对程序语言的设计、编译方法、计算复杂性等方面,产生了深刻影响。;;;文法是描述语言语法结构的形式规则。 通用,准确,易于理解, 描述能力强; G=(VT,VN , S , P) VT为终结符的非空有限集; VN为非终结符的非空有限集; S是文法的开始符号, S∈VN ; P为产生式的非空有限集,;;;产生式的简化;约定;文法的表示;①0型文法 ?→? ②1型文法(上下文有关文法) |α|=|β| (S→?例外);;1. 推导与归约 ①直接推导: wα? ?wβ? 即由产生式右边替换产生式左边 ②推导:α1 ?*αn、α1 ?+αn ;E→E+E│E*E│(E)│i i+i*i的最左推导过程 ;最右推导(规范推导);文法G=(VT,VN,S,P), S?*α 若α?V*, 则α为文法G的一个句型 若α?VT*, 则α是一个句子;思考;文法G=(VT,VN,S,P)产生的所有句子的集合, 称为由文法G产生的语言, 记为 L(G), 即 L(G)={α│S ?+α且α ?VT * }; I→L|LS S→T|ST T→L|D L→a|b|. . . |z D→0|1|2| . . . |9; S→aS|aP P→bP|bQ Q→cQ|c L(G3)={aibjck│i,j,k?1}; S→aSBC|aBC CB→BC aB→ab bB→bb bC→bc cC→cc L(G4)={ anbncn│n 0}; 有限规则描述无穷语言。;文法等价;①推导树是一棵有序的标记树 每个结点的标记是文法G的非终结符或终结符; 标记为A的内部结点从左到右有子结点X1,X2,…, Xn,则A→X1…Xn是一个产生式;;;;③推导树的边缘: 推导树所有叶结点从左到右的连接。 ④文法的二义性: 一个句子有两棵不同的推导树。;设计的依据: 面向的问题和面向的机器 设计内容(语法): 表达式、语句、程序单元、程序 描述方式:语法-BNF 语义-自然语言;一. 表达式的设计 逻辑表达式 关系表达式 算术表达式;1. 逻辑表达式;1. 逻辑表达式;?、 ?、 ? 的优先顺序由低到高;关系表达式→ 算术表达式关系运算符算术表达式 关系运算符 →|=||=|=|;2. 关系表达式;算术表达式→常量|变量| (算术表达式)| 算术表达式算术运算符算术表达式 ;;算术表达式→算术表达式+项| 算术表达式 - 项| 项 项→项*因子|项/因子|因子 因子→(算术表达式)|常量|变

文档评论(0)

1亿VIP精品文档

相关文档