编译原理chapter2_语言的基本知识教材教学课件.pptVIP

编译原理chapter2_语言的基本知识教材教学课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教学课件讲义PPT教学教案培训资料医学中小学上课资料

根据推导序列,对每步推导画相应分枝 A S a S b S A a a b a ?aSbAS ?aabAS ?aabbaS ?aabbaa ?aAS S 二. 如何画出分析树 (1.自顶向下) 根据归约序列,对每步归约画相应分枝 A S a S b S A a a b a ?aAa ?aSbAa ?aSbbaa ?aabbaa ?aAS S 二. 如何画出分析树 (2.自底向上) 1. 一个句型推导或分析用一棵树结构图示 出来,它反应了一个句子语法结构的层次。 2. 对于一个句子的多种推导(若文法是无二义性的),采用各种推导过程,画出的分析树是一样的。分析树并未描述推导过程。 3. 在书中,用画分析树的过程解释语法分析过程,用分析树图解语法结构。 分析树是推导的图形表示。 关于分析树的几点说明 一棵分析树中一个特有的结点连同它的全部后裔,连接这些后裔的边以及这些结点的标记。例如: S A b S a S b a A a a 三. 子树 短语:一棵子树的所有叶子自左至右排列起来形成一个相对于子树根的短语。 直接短语:仅有父子两代的一棵子树,它的 所有叶子自左至右排列起来所形成的符号串。 句柄:一个句型的分析树中最左那棵只有父子两代的子树的所有叶子的自左至右排列。 例如,对表达式文法G[E]和句子a1+a2*a3,挑选出推导过程中产生的句型中的短语,直接短语,句柄。 用子树解释短语,直接短语,句柄: * * 学习本章的目的 构造编译程序的算法是从研究源程序及目标程序产生的,首先找到源语言的形式描述,根据这种描述,构造出相应的分析加工程序。 语言分语法,语义和语用。程序语言语法的形式描述是很好用的,语义的形式描述不那磨好用,但它推动语言理论的发展。 2.1.1 字母表 2.1 .2 符号串 一. 符号串的定义 二. 术语 三. 符号串的运算 四. 符号串集合的运算 2.1 符号串 字母表是符号的非空有穷集合。任何程序语言都有自己的字母表,例如: 1.计算机语言:由符号“0”和“1”组成的字 母表,∑={0,1} 2. ASCII字符集; 3. Pascal字母表为: ∑= {A?Z, a?z, 0?9, +, -, *, /, , =, , :, ,, ; ,., ?, (, ), {, }, [, ] } 2.1.1 字母表 一. 符号串的定义 (1) ε是∑上的一个符号串。 (2) 若x是∑上的符号串,而a是∑的元素, 则xa是∑上的符号串。 (3) y是∑上的符号串,当且仅当它由(1)和 (2)导出。 由字母表中的符号所组成的的任何有穷 序列被称之为该字母表上的符号串,也称作 字。 2.1.2 符号串 设s是符号串 前缀:移走s的尾部的零个或多于零个符号 后缀:删去s的头部的零个或多于零个符号 子串: 从s中删去一个前缀和一个后缀 子序列: 从s中删去零个或多于零个符号(这些符号不要求是连续的) 逆转(用SR表示):将S中的符号按相反次序写出而得到的符号串。 长度:是该符号串中的符号的数目。例如|aab|=3,|ε|=0。 二?术语 :符号串s=banana 前缀:?,b,ba,ban,bana,banan,banana 后缀:banana,anana,nana,ana,na,a, ? 子串: banana,anana,banan,anan,…, ? 真前缀,真后缀,真子串: x≠s?x ≠ ? 子序列: baa(这些符号不要求是连续的) 逆转(用SR表示):ananab 长度:?banana?=6 例 1.连接:设x和y是符号串,它们的连接 xy是把y的符号写在x的符号之后得到的符号串。例如,x=ba,y=nana,xy=banana. 2.方幂:x0=? ; x1=x; x2=xx; ……;xn=xn-1x; 例如, x=ba, x1= ba, x2=baba, x3=bababa,…... 三.符号串的运算 设L和M是两个符号串集合,则 1.合并:L∪M={s|s?L or s?M} 2.连接:LM={ st|s?L and t?M} 3.方幂: L0={ε}, L1=L, L2=LL, ..., Ln=Ln-1L 4. 语言L的Kleene闭包,记作L*, L*=∪Li(i=0) =L0∪L1∪L2∪L3 ∪… 5.语言L的正闭包,记作L+(

文档评论(0)

yuzongxu123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档