第4章 程序语言的设计.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 程序语言的设计

第4章 程序语言的设计 基础:控制结构和数据类型分别描述了程序的算法和数据结构。 这一章中将给出最简单的语言设计方法,使读者在科研和软件开发中需要设计一个语言时,知道如何入手。这里仅仅给出一些使读者成为语言设计者的入门知识,要设计一个通用语言或功能强大的语言需要许多语言理论、技术和方法等知识,读者尚需查阅相关的文献。 4.1 语言的定义 程序设计语言用来描述计算机处理数据时所执行算法的形式表示,它主要由两部分组成,即语法(规则)和语义(规则)。 1.语法是一组规则的集合,用以构造程序及其成分。常用方法有两种: 1)生成的观点,即通过一组有限的规则(产生式)把有效的句子生成出来; 2)识别的观点,即通过一组转换图(识别图)来识别合法的句子。 4.1 语言的定义 2.语义也是一组规则的集合,用以规定语法正确的单词符号和各种语法单位的含义。常用的描述语义的方法是,通过映射每一语言结构到已知其含义的论域(Domain)来表示其语义。 语义的形式描述是计算机学科的一个重要研究领域。 1)指称语义学(Denotational Semantics) 2)操作语义学(operational Semantics) 3)代数语义学(Algebraic Semantics) 4)公理语义学(Axiomatic Semantics) 4.1.1 语法 字母表是该语言允许使用的所有字符(Character)的集合。 字符是字母表中的元素(Element)。 符号是由字母表(Alphabet)上的字符串(String)构成的,符号是由字符组成的有限串。 词法规则(LexicalRules)规定什么样的字符串可以构成语言的有效符号。词法规则定义(单词)符号,它是最简单的语法规则。 语法和语义是紧密相关的。 语法从结构方面来进行讨论,而不管其意义和解释。(虽然结构的定义总是考虑从属于更高的目的---语义) 语法包括词法规则和各个语法单位(即程序及其成分)的形成规则。 语法可以使用文法或语法图进行描述。 1.用文法描述语法规则 文法的产生式实际上就表达了形成规则,如C语言算术表达式的定义: E→E+T|E-T|T T →T*F|T/F|T%F|F F →(E)| I I →L| I L| I D L →a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z D →0|1|2|3|4|5|6|7|8|9| 其中:I代表标识符。 2.用识别图或称语法图来描述形成规则 任何以产生式给定的文法,均可以构造一个等效的语法图,用来识别该文法所生成的合法句子(从识别的观点来考虑语言的定义),即用所谓识别图RecognitionGraph),或称语法图(Syntax Graph)来定义给定的语言。 非终结符:代表语法单位,本书通常用大写英文字母表示; 终结符:代表符号,本书通常用小写英文字母或其它符号表示; 语法图构造规则如下: ①每一非终结符N连同其相应的各个产生式 N →α1|α2|…|αn 映射到一个语法图N,其结构由产生式右边按下面的规则②~⑥决定,上述产生式中的αi (i=1,2,…,n)是终结符和/或非终结符的序列。 ② αi中每出现一个终结符x,以圆框中的x来标记,如P112图4-1所示。 ③ αi中每出现一个非终结符N,以方框中的N来标记,如P112图4-2所示。 ④形如 N →α1|α2|…|αn 的产生式映射到图4-3。其中,每个带方框的αi 是把构造规则②~⑥应用到αi 得到的 ⑤形如 N →β1β2…βn 的产生式映射到图4-4。其中,每个带方框的βi是把构造规则②~⑥应用到βi得到的,每个βi或者是终结符,或者是非终结符。 ⑥形如 N →Nβ|γ 的产生式映射到图4-5。其中, β和γ 是终结符和/或非终结符序列。 P112利用构造规则,上述标识符文法的语法图如图4-6所示,运算符文法的语法图如图4-7所示,表达式文法的语法图如图4-8所示。 将上述三图归并得到表达式进一步的语法图,如图4-9 在语法图中,终结符用圆框标记,非终结符用方框标记。 任何一个非终结符均可由仅有的一个入口边和一个出口边的语法图来定义。 P113 若一个终结符序列是合法的,那么必须从语法图的入口边通过语法图而到达出口边,且在通过的过程中,恰恰能识别该终结符序列。在通过标识终结符的圆框时,标记的终结符与被识别的终结符正好符合,则该终结符被识别;若通过标记为非终结符的方框,那么由通过该非终结符的语法图来识

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档