语法分析3资料.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * 内容提要: 上下文无关文法 算符优先分析法 递归下降分析法 语法分析的任务: 把单词符号作为基本单位,分析程序是否为 合法的程序. 第一节 上下文无关文法 上下文无关文法是这样一种文法: 它定义的语法单位,独立 于该语法单位可能出现的环境,不必考虑上下文关系. 自然语言不是上下文无关文法; 程序语言是上下文无关文法; 1. 上下文无关文法定义 上下文无关文法 G 是一个四元式: G =(VT,VN,S,P) VT : 是一个非空有限单词集,每个元素称为终结符号. VN: 是一个非空有限集,每个元素为非终结符号,代表了一 种语法单位. 且 VT ∩ VN=φ. 例如:表达式,短语,语句等 S: 是一个非终结符号,称为开始符号,S ∈ VN. S 是文法 G 的最高层次的语法单位. 在程序语言中, S代表了程序这一语法概念. P: 是一个非空有限集,每个元素称为一条产生式;一条产 生式定义了一个非终结符.产生式形式如下: Pi→ αi (Pi ∈ VN , α i ∈ (VT ∪ VN ) * ) 称Pi定义为αi . 2 文法的几点约定 a) 若 Pi→ αi1 Pi→ αi2 Pi→ αik 则简写为: Pi→ αi1|αi2|...... |αik b) 用英文大写字母串代表非终结符; 英文小写字母串代表终结符; 希腊字母 α β等代表由VT,VN组成的符号串; 即: α ,β ∈(VT ∪ VN) * . c) 一个文法,可以仅用开始符号及产生式代替. 例如:表达式的文法可以定义如下: E →E+E|E-E|E*E|E/E|(E)|i E 为文法的开始符号, + - * / ( ) 为终结符. 3 文法 G 与语言L(G)的关系及术语 从文法初始符开始,反复用产生式右部替换左部的非终结符, 直到推出的符号串全部由终结符组成.得到G所定义的各种句子. 例如:E=E+E=E*E +E=i * E + E= i * i + E = i * i + i 定义: 若αBβ,经产生式 B→λ替换后得到 αλβ,称αBβ直接 推出αλβ.{α , λ,β ∈(VT ∪ VN) *},用=表示直接推出. 若存在α1= α2 = α3........= αn ,称α1可推出αn; α1= αn表示经一步或若干步α1可推出αn. α1= αn表示经零步或若干步α1可推出αn. 定义:设S 是G的开始符号,若 S=α, {α ∈(VT ∪ VN) *}, 则称 α是 G的一个句型;若 α ∈VT *,则称α是 G的一个句子. (**各概念举例) + * * 定义: 文法 G 所产生的句子的全体,为G所描述的语言,记为 L(G)={α |S=α, α ∈VT * } + 文法 G 正规式 V G: 描述句子结构; V:描述单词结构; L(G):G的全体句子; L(V):V的全体单词. 一个句型到另一个句型的推导有两种方式:最左推导和最右 推导: 最左推导是指每次直接推导,对句型的最左非终结符实行替 换; 最右推导是指每次直接推导,对句型的最右非终结符实行替 换. 4 语法树与文法的二义性 语法树可以表示句型的推导及句型的层次结构. 语法树是一棵倒立树,根结点表示了文法的初始符号,每进行一步推导,树的叶结点构成的有序序列构成一个句型. 例如:E=E+E=E*E +E=i * E + E= i * i + E = i * i + i 可表示为: 语法树可

文档评论(0)

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

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

1亿VIP精品文档

相关文档