complier3_语言和文法.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 编译基础知识 2.0 编译基础知识 一、高级语言 程序语言是一个记号系统 语法 语义 2.0 编译基础知识(续) 二、语法 任何语言程序都可以看成是一定字符集(字母表)上的字符串。 语法使得这串字符形成一个形式上正确的程序。 语法=词法规则+语法规则 例如:0.5*x1+c 0.5、x1、c、*、+是语言的单词符号 0.5*x1+c是语言的语法单位 2.0 编译基础知识(续) 二、语法 1、单词符号 语言中具有独立意义的最基本结构。 1.1 词法规则 词法规则规定了字母表中那些字符串是单词符号。 单词符号一般包括:常数、标识符、基本字、算符、界限符等。 我们用正规式和有限自动机理论来描述词法结构和进行词法分析。 2.0 编译基础知识(续) 二、语法 1、单词符号 2、语法单位 表达式、子句、语句、函数、过程、程序 3、 语法规则 规定了如何从单词符号来形成语法单位。 现在多数程序语言使用上下文无关文法来描述语法规则。 语言的词法规则和语法规则定义了程序的形式结构,是判断输入字符串是否构成一个形式上正确的程序的依据。 2.0 编译基础知识(续) 三、语义 对于一个语言来说,不仅要给出 它的词法、语法规则,而且要定义它的单词符号河语法单位的意义。 离开语义,语言只是一堆符号的集合。 各种语言中有形式上完全相同的语法单位,含义却不尽相同。 对某种语言,可以定义一个程序的意义的一组规则称为语义规则。 目前,大多数编译程序使用基于属性文法的语法制导翻译方法来分析语义。 第二章 编译基础知识 对于高级程序设计语言及其 编译程序来说,语言的语法 定义是很重要的。本章主要介绍语法结构的形式描述问题,编译原理的主要内容也可以归结为应用形式语言理论,并将它贯串于词法分析和语法分析两个阶段。 本章重点讨论正规文法、上下文无关文法及其对应的有限自动机和下推自动机,以及在构造编译程序时如何应用。 第二章 编译基础知识 2.1 字母表与符号串 一、相关概念 1、字母表 是符号的非空有穷集合。 用Σ、V表示。 2、符号: 是语言中最基本的不可再分的单位。 3、符号串: 符号串是字母表中符号组成的有穷序列。 空串:不含有任何符号的串称作空串,记作?。 2.1 字母表与符号串 一、相关概念 4、句子: 字母表上符合某种规则构成的串。 5、语言: 字母表上句子的集合。 注:约定用a,b,c…表示符号;用?,?,?…表示符号串;用A,B,C…表示其集合。 2.1 字母表与符号串 二、符号串集合的运算 1、连接(乘积)运算: 定义:若串集A={?1, ?2, …},串集B={?1, ?2, …},则乘积AB={? ?| ? ? A and ? ? B} 注:1)串集的自身乘积称作串集的方幂 2)A0={?} 3)字母表A的n次方幂是字母表A上所有长度为n的串集 2.1 字母表与符号串 二、符号串集合的运算 例如:A={a,b}; B={c,e,d} 则AB={ac,ae,ad,bc,be,bd} 例如:串集A={a}的各次方幂定义为: A0={?} A1=A={a} …… An=AAn-1(n0)={a…a} 2.1 字母表与符号串 三、字母表的闭包与正闭包 1)字母表A的闭包(A*): A*=A0?A1?A2?… 即:由A上符号组成的所有串的集合(包括空串? )。 2)字母表A的正闭包(A+): A*= A1 ?A2? …=A*-{?} 即:由A上符号组成的所有串的集合(不包括空串? )。 (3)语言: 是字母表上符合某种规则的语句组成的。 字母表上语言:是字母表上正闭包的子集。 2.2 文法与语言的关系 一、文法的概念 1、文法 文法是描述语言的语法结构的形式规则。 例如:我们写这样一个句子: Young men like pop music. 2.2 文法与语言的关系 一、文法的概念 1、文法 其语法规则如下: 句子?主语谓语 主语 ?形容词名词 谓语 ?动词宾语 宾语 ? 形容词名词 形容词 ?Young | pop 名词 ?men | music 动词 ?like 2.2 文法与语言的关系 一、文法的概念 2、相关概念 (1)非终结符 出现在规则的左部、用括起来、表示一定语法概念的词。 非终结符集合用VN表示。 (2)终结符 语言中不可再分割的字符串(包括单个字符组成的串)。注:终结符是组成句子的基本单位。 终结符集合用VT表示。 2.2 文法与语言的关系 一、文法的概念 2、相关概念 (3)开始符号 表示所定义的语

文档评论(0)

2232文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档