2022年《编译原理》期末复习资料完整版.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年《编译原理》期末复习资料完整版.docx》由会员分享,可在线阅读,更多相关《2022年《编译原理》期末复习资料完整版.docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思编译原理期末复习资料【题 1】1.( a|b)* (aa|bb)(a|b)* 画出状态转换图;Ia Ib 1,2,3 2,3,4 2,3,5 2,3,4 2,3,4,6,7,8 2,3,5 2,3,5 2,3,4 2,3,5,6,7,8 2,3,4,6,7,8 2,3,4,6,7,8 2,3,5,7,8 2,3,5,6,7,8 2,3,4,7,8 2,3,5,6,7,8 2,3,5,7,8 2,3,4,7,8 2,3,5,6,7,8 2,3,4,7,8 2,3,4,6,7
2、,8 2,3,5,7,8 1 Ia Ib 2 3 2 4 3 3 2 5 4 4 6 5 7 5 6 7 5 7 4 6 新的状态转换图如下:细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 15 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思(1) A=1,2,3 , B=4,5,6,7 Aa=2,4 C, Ca=2B ,(2) A=1,3 ,B=2 ,C=4,5,6,7 Aa=2B, Ab=3,5 (3) A=1 ,B=
3、2 ,C=3,D=4,5,6,7(单元素可以不用看,必有,古先看D)Da=4,7D , Db=5,6D, Aa=2B, Ab=3C, Ba=4D , Bb=3Cb=5C,就有a b A B C B D C C B D D D D 2.( a*|b* )b(ba) *的状态转换图;Ia Ib 1,2,3,4 2,4 3,4,5,6,8 2,4 2,4 5,6,8 3,4,5,6,8 - 3,4,5,6,7,8 5,6,8 - 7 3,4,5,6,7,8 6,8 3,4,5,6,7,8 7 6,8 - 6,8 - 7 1 Ia Ib 2 3 2 2 4 3 - 5 4 - 6 5 7 5 6 7
4、- 7 - 6 新的状态转换图如下:细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 15 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思化简:(用终结状态与非终结状态,然后输出状态一样分一类);(1) A=1,2,6 , B=3,4,5,7 Aa=2 (2) A=1,2 ,B=6 ,C=3,4,7 ,D=5 Cb=5,6 (只要有一个不属于任何一个集合,就不行)(3) A=1,2 ,B=6 ,C=3 ,D=4,7 ,E=5
5、 Ab=3,4 (4) A=1 ,B=2 ,C=6 ,D=3 ,E=4,7 ,F=5 Aa=2 B,Ab=3 D,Ba=2 B,Bb=4 E,Ca=7 E,Db=5 F,Eb=6 C,Fa=7 E,Fb=5 F a b A B D B B E C E - D - F E - C F E F 留意事项 :学问要点 :正就表达式:a*,a|b,ab,ab*,a|b*,aa|b *,a|a*b,a|ab*ab;a*,a,aa,aaa,aa;a|ba或ba,b;ab 和bab*,ab,abab,ababab,细心整理归纳 精选学习资料 第 3 页,共 15 页 - - - - - - - - - -
6、- - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思a|b*a|ba|ba|b,a,b,aab,aabb,baba,b 构成的符号串集aa|b是最左边一个字母肯定是a ,其余字母为a、b的任意组合,不包括;a|a*ba,b ,ab,aab ,aaab,aaaab,a 和如干个a(包括 0 的情形)后跟一个合 a|ab*a|* ba|b*ab*a,ab,abb ,abbb,abbbb ,a 和 a 后跟如干个(包括0的情形) b 构成的符号串集合 :状态转换图(有穷状态
7、自动机)aab* acba*a | babaaa*细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 15 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思a|b*ab*a【题 2】1.求如下简洁算术表达式文法Genr中语法变量的FOLLOW集;ETEETE|TFTT*FT|FE|id 解答 :(1)求表达式文法的语法符号的FIRST 集:FIRSTF= ( , id FIRSTT=FIRSTF=(, id FIRSTE=FIR
8、STT=(, id FIRSTE=+, FIRSTT=*, FIRST+=+, FIRST*=* FIRST (= ( FIRST )= ) 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 15 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思FIRSTid=id (2)求表达式文法的语法变量的 FOLLOW集:FOLLOWE = #, FOLLOWE= FOLLOW E = #, FOLLOWT = FIRSTE- FOL
9、LOWEFOLLOWE= +,# FOLLOWT= FOLLOWT= +,# FOLLOWF = FIRSTT FOLLOWTFOLLOWT =*,+,# 6 学问点 First 集合的求法: First 集合最终是对产生式右部的字符串而言的,但其关键是求出非终结符的 First 集合,由于终结符的 First 集合就是它自己,所以求出非终结符的 First 集合后,就可很直观地得到每个字符串的 First集合1. 直接收取:对形如 U-a 的产生式(其中 a 是终结符),把 a 收入到 FirstU 中2. 反复传送:对形入 U-P1P2P3 Pn 的产生式(其中 P 是非终结符),应先把
10、FirstP1 中的全部内容传送到 FirstU 中, 假如 P1中有 ,把 FirstP2 中的内容传送到 FirstU 中, 类推直到 Pi 中无 ;Follow 集合的求法: Follow 集合是针对非终结符而言的,FollowU 所表达的是句型中非终结符 U全部可能的后随终结符号的集合,特殊地,“$” 是识别符号的后随符 , 先直接加入到 S 中;1. 直接收取:留意产生式右部的每一个形如“ Ua ” 的组合,把 a 直接收入到 FollowU 中;2. 直接收取:对形如“ UP ” P 是非终结符 的组合,把 FirstP 中非 收入到 FollowU 中;3. 反复传送:对形如 U
11、aP 的产生式(其中 P是非终结符)或 U-aPQP,Q 为非终结符且 Q中含 ,应把 FollowU 中的全部内容传送到 FollowP 中; 例 文法: SABc Aa| Bb| First 集合求法 : 能由非终结符号推出的全部的开头符号或可能的 ,但要求这个开头符号是终结符号;如此题 A 可以推导出 a 和 ,所以 FIRST(A)=a, ;同理 FIRST (B)=b, ;S 可以推导出 aBc,仍可以推导出 bc,仍可以推导出 c,所以 FIRSTS)=a,b,cFollow 集合的求法 :紧跟随其后面的终结符号或;但文法的识别符号包含,在求的时候仍要考虑到 ;详细做法是把全部包含
12、你要求的符号的产生式都找出来,再看哪个有用;Follow (S)=如求 A 的,产生式: SABc Aa| ,但只有 SABc 有用;跟随在 A 后面的终结符号是 FIRST( B)=b,当FIRST(B)的元素为 时,跟随在 A 后的符号就是 c,所以 Follow(A )=b,c同理 Follow (B)=c2.对下面的文法 G :E TE 1运算这个文法的每个非终结符的 FIRST 集和 FOLLOW 集;E E | 2 证明这个方法是 LL1 的; 3 构造它的猜测分析表;T FTT T |F PF F * F |P E | a | b |解:( 1)运算这个文法的每个非终结符的 FI
13、RST 集合有:FIRST 集和 FOLLOW 集;FIRSTE=FIRSTT=FIRSTF=FIRSTP=,a,b,; FIRSTE=+, 第 6 页,共 15 页 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思FIRSTT=FIRSTF=FIRSTP=,a,b,; FIRSTT=FIRSTT =,a,b, ; FIRSTF=FIRSTP=,a,b,; FIRSTF=FIRSTP=*, ; F
14、IRSTP=,a,b,; FOLLOW 集合有:FOLLOWE=,#; FOLLOWE=FOLLOWE=,#; FOLLOWT=FIRSTE FOLLOWE=+,#;/ 不包含 FOLLOWT=FOLLOWT=FIRSTE FOLLOWE=+,#; FOLLOWF=FIRSTTFOLLOWT=,a,b,+,#;/ 不包含 FOLLOWF=FOLLOWF=FIRSTT FOLLOWT=,a,b,+,#; FOLLOWP=FIRSTFFOLLOWF=*,a,b,+,#;/ 不包含 2证明这个方法是 LL1 的;各产生式的 SELECT 集合有:SELECTE-TE=FIRSTT=,a,b,; SE
15、LECTE-+E=+; SELECTE- =FOLLOWE/=,# SELECTT-FT=FIRSTF=,a,b,; SELECTT-T=FIRSTT=,a,b,; SELECTT- =FOLLOWT/=+,#; SELECTF-PF=FIRSTP=,a,b,; SELECTF-*F=*; SELECTF- =FOLLOWF=,a,b,+,#; SELECTP-E= SELECTP-a=a SELECTP-b=b SELECTP-= 可见,相同左部产生式的SELECT 集的交集均为空,所以文法GE 是 LL1 文法;3构造它的猜测分析表;文法 GE 的猜测分析表如下:【题 3】考虑下面的文法G
16、 : 第 7 页,共 15 页 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -读书之法 ,在循序而渐进 ,熟读而精思1 ETT(1)求出全部语法变量的FIRSTOP 集合和 LASTOP 集合;2EE(2)构造文法G 的算符优先关系表,并判定G 是否为算符优先文法;3 EET4TFF(3)运算文法G 的算符优先函数;5 TT*6TT/F(4)给出表达式id1id2和 id*id+id 的算符优先分析过程;7FE8 Fid解答 :(1
17、)全部语法变量的 FIRSTOP 集合和 LASTOP 集合如下:FIRSTOP E , ,*, /, , id FIRSTOP T *, /, , id FIRSTOP F , id LASTOP E , ,*, /, , id LASTOP T *, /, , id LASTOP F , id (2)文法 G 的算符优先关系表算符关 系+ - * / id 算 符+ (id 由于文法中任意两个终结符之间只存在一种关系,因此该文法为算符优先文法;(3)文法G 的算符优先函数* / ()id # 优先函数+ - 算符f (栈内优先函数)2 2 4 4 0 4 4 0 g(栈外优先函数)1 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译原理 2022 编译 原理 期末 复习资料 完整版
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内