文法与语言.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内容回顾 什么是编译程序 编译的过程 词法分析 语法分析 语义分析及中间代码生成 优化 目标代码生成 编译程序的结构与组织 文法和语言 字母表和符号串的基本概念 文法和语言的形式定义 递归规则与递归文法 语法树与文法的二义性 文法的分类 字母表和符号串的基本概念 字母表:元素的非空有穷集合。记为∑。 字母表包含了语言中所允许出现的一切符号。 例如: ∑= {0,1} 符号串(字):字母表中的符号所组成的有穷序列。 一个语言的句子总是它的字母表的符号串。这个符号串的组成必须是按照文法规则组合而成的。 语法分析的一个重要任务就是:判断一个符号串的组成是否满足某个文法的规定。 字母表和符号串的基本概念 空串:不包含任何符号的串,记为ε。 Σ*:表示Σ上所有符号串的全体。 空集:φ,不包含任何元素。 在本课程中,语言被认为是句子的集合。所以,一个语言就是对应于它的字母表上的一个符号串集合。 关于符号串的运算 符号串的长度:指符号串x中所含符号的个数,记为|x|。 符号串相等:若x、y是字母表∑上的两个符号串,那么当且仅当组成x的各符号与组成y的各符号依次相等时,则符号串x与符号串y相等,记作x=y。 符号串的前缀:指从符号串x的末尾删除0或多个符号后得到的符号串。 符号串的后缀:指从符号串x的开头删除0或多个符号后得到的符号串。 关于符号串的运算 符号串的子串:指从符号串x的开头和末尾删除0或多个符号后得到的符号串。 符号串的前缀、后缀都是它的子串。 连接(并置):若x、y是两个符号串,则xy表示连接,是将符号串y连接在符号串x的后面。若x、y是字母表∑上的两个符号串,则xy也是字母表∑上的符号串。 注意:连接没有交换率,即 xy ≠ yx 而对于空串ε有 εx=xε=x 方幂:x的n次方幂即将n个x连接。 x0 = ε, x1 = x, x2 = xx,… xn=xx…x=xx n-1=x n-1 x 符号串集合的运算 乘积:令A、B为两个符号串集合,A和B的乘积AB定义为:AB = {xy | x?A且y ?B} {ε}A=A {ε}=A ΦA= AΦ =Φ 方幂:A的n次方幂就是将n个A相乘。 A0={ε} A1=A A2=AA … An=AA…A=AA n-1 =A n-1 A 符号串集合的运算 集合的正则闭包和集合的闭包: 设A为一个集合,则集合A的正则闭包用A+表示,定义为: A+ =A1 ∪ A2 ∪ …. ∪ A n ∪… 表示A上的所有的非空符号串的集合。 集合A的闭包用A*表示,定义为:? A* =A 0 ∪ A+ 表示A上的所有符号串(包括空字符串)的集合。 例如:A ={a,b}, 则A+ ={a,b,aa,ab,ba,bb,aaa,aab,…} A* ={ε ,a,b,aa,ab,ba,bb,aaa,aab,…} 文法和语言的形式定义 形式语言描述的两种方法 枚举方法 使用文法来描述 文法是一种工具,它可用于严格定义句子的结构。 例如,能够描述句子“the monkey ate the banana”的文法如下: 文法的形式定义(产生式/规则) 产生式:一个产生式是一个有序对(α,β),通常写作α→β 或α ::=β 。其中α为左部; β为右部。 产生式意味着能将一个符号串用另外一个符号串替换。因而又被称为重写规则。一组规则规定了一个语言的语法结构。 规则中的符号分为两类:终结符号、非终结符号 终结符与非终结符 终结符:VT 组成语言的基本符号。在程序设计语言中就是以前屡次提到的单词符号。如:基本字,标识符,常数,算符,界符等。从语法分析的角度看,终结符是一个语言的不可再分的基本符号。 非终结符:VN 也称语法变量,用来代表语法单位。如“算术表达式”、“布尔表达式”、“赋值句”、“子程序”、“函数”等。一个非终结符代表一个一定的语法概念,是一个类(集合)记号,而不是一个个体记号。 VT∩ VN=Φ, VT∪ VN为该语言的字母表 文法的定义 Chomcky文法的定义: G=(VN,VT,P,S) 其中:VN —非空有限的非终结符号集 VT —非空有限的终结符号集 P — 产生式集 S — 开始符号/识别符号,S∈ VN 文法被用来精确而无歧义地描述语言的句子的构成方式。

文档评论(0)

整理王 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档