2012编译原理授课要点.pptVIP

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

编译原理授课要点 蓝鹰 吉林师范大学计算机学院 jlnu_lanying@yeah.net 第一讲 翻译的两种方式:编译、解释 一个典型的编译过程包括词法分析、语法分析、语义分析、中间代码生成、中间代码优化和目标代码生成六个阶段。 编译程序分为单遍扫描和多遍扫描 自展技术 L0 L1, L2, … , Ln = L 编译程序的移植 第二讲 字母表、字符、串、串的长度、串的连接、串的方幂、串集的乘积、串集的方幂、闭包(正闭包、星闭包) 文法(grammar)G=(V,T,P,S) 推导、归约 句型、句子、语言的概念 L(G1)=L(G2) 第三讲 {0n1n|n=0} {anbncn|n=1} {0n12n|n=1} {ωωR|ω∈{a,b}*} (ωR表示ω的转置) {ω|ω∈{a,b}*∧ω=ωR} {anbnambm|n,m=0} {1n0m1m0n|n,m=0} {ω|ω∈{a,b}*∧ω中a和b的个数相同} 第三讲(续) 乔姆斯基体系 PSG (phrase structure grammar) CSG(context sensitive grammar) CFG(context free grammar) RG(regular grammar) 第四讲 扩充CSL,CFL,RL,使其含有空语句 CFG的语法树的定义 二义性文法 子树、简单子树、短语、简单短语、句柄 第五讲 Finite Automaton,FA M 及L(M)的定义 {02n|n=1} L(M1)=L(M2) Determinisitic Finite Automaton,DFA 的定义 {xoooy|x,y∈{0,1}*} {ω|ω∈{a,b}*∧ω中a和b的个数均为偶数个} {0n1m2k|n,m,k=1} {x|x∈{0,1}*∧当把x看成二进制数时,x模3与0同余} 第六讲 {ω|ω∈{0,1}*∧当把ω看成二进制数时,ω模5与3同余,要求当|ω|1时,ω的首字符为1} Non-deterministic Finite Automaton,NFA M及L(M)的定义 NFA与DFA的区别 构造一个NFA M,使得L(M)={ω|ω∈{0,1}*∧ω含有子串00或11} 上述M识别串01001的过程 构造一个DFA N,使得L(N)=L(M) 鸽舍定理 任意六个人,要么有三人互相通过电话,要么有三人未通过电话。 第七讲 一个记号的引入 利用造表法实现NFA→DFA的转换 ε-NFA的定义(进一步放宽对FA的约束) 消除空移(或空移环路) 第八讲 DFA的化简 定义:如果DFA M既没有无关状态,也没有彼此等价的状态,则称M是规约的(化简了的),即最小的DFA。 在FA中,从开始状态没有任何一条路径能到达的状态称为无关状态(不可达状态、多余状态) 如果由状态A导出的符号串集与由状态B导出的符号串集相等,则称A与B是等价状态。 第八讲 DFA的化简(续) DFA化简的方法:消除不可达状态,用划分法寻找及合并等价状态。 划分法: P0={F,(Q-F)} ...... ...... Pn=Pn-1 第八讲 DFA的化简(续) ε-NFA→NFA→DFA→最简DFA 第九讲 正则表达式(Regular Expression,RE) RE所描述的语言L(r) RE的代数运算律 RE的举例 给RE判断其描述的语言; 给语言构造对应的RE(字母表{0,1}上所有不含子串001的串) 思考:字母表{0,1}上所有不含子串011的串 第九讲(续) RE和FA的等价性之FA→RE 允许状态转换图中弧上可以用RE作标记 引入两个新结点,一个唯一的初态S和一个唯一的终态Z。从S到原初态引ε弧,再从原终态到Z引ε弧。显然,这是一种等价转换。 逐步消去结点,直到只剩下S和Z。 第九讲(续) RE和FA的等价性之RE→FA 先构造一个FA M的广义转换图,其中只有结点S和Z,S是初态,Z是终态,弧上是已知的RE r。 然后对r逐步分解,直到转换图中所有弧上都是Σ上单个字符或ε为止。 随堂测试 请构造与正则表达式r=(a*|b*)b(ba)*等价的状态最少的DFA(上海交通大学 1997) 已知DFA M1、M2的状态转换图如下:试构造DFA M1∩2和M1?2,使得L(M1∩2)=L(M1)∩L(M2) L(M1?2)=L(M1)-L(M2)(吉林大学 2001) 随堂测试(续) 已知语言L={ω|ω∈{0,1}+,并且ω中至少有两个1,而任何两个1之间有偶数个0},试给出描述该语言的正则表达式。 试给出第一讲至今的知识结构。 第十讲 正则文法的产生式可以简化为A→aB,A→a(其中A

文档评论(0)

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

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

1亿VIP精品文档

相关文档