习题答案
寻找自由的咸鱼
什么都只会一点
展开
-
编译原理第二版3.1答案
Exercises for Section 3.13.1.1Divide the following C++ program:float limitedSquare(x){float x; /* returns x-squared, nut never more than 100 */ return (x <= -10.0 || x >= 10.0) ? 100 : x*...转载 2018-10-28 16:00:58 · 4645 阅读 · 0 评论 -
编译原理第二版5.1答案
5.1 节的练习5.1.1对于图 5-1 中的 SDD,给出下列表达式对应的注释语法分析树(3+4)*(5+6)n1*2*3*(4+5)n(9+8*(7+6)+5)*4n解答(3+4)*(5+6)n1*2*3*(4+5)n5.1.2扩展图 5-4 中的 SDD,使它可以像图 5-1 所示的那样处理表达式解答 ...转载 2019-04-26 20:50:56 · 5065 阅读 · 0 评论 -
编译原理第二版5.2答案
5.2 节的练习5.2.1图 5-7 中的依赖图的全部拓扑顺序有哪些解答[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ],[ 1, 2, 3, 5, 4, 6, 7, 8, 9 ],[ 1, 2, 4, 3, 5, 6, 7, 8, 9 ],[ 1, 3, 2, 4, 5, 6, 7, 8, 9 ],[ 1, 3, 2, 5, 4, 6, 7, 8, 9 ],[ 1, ...转载 2019-04-28 15:10:36 · 4948 阅读 · 0 评论 -
编译原理第二版5.3答案
5.3 节的练习5.3.1下面是涉及运算符 + 和整数或浮点运算分量的表达式的文法。区分浮点数的方法是看它有无小数点。E -> E + T | TT -> num.num | num给出一个 SDD 来确定每个项 T 和表达式 E 的类型扩展这个得到的 SDD,使得它可以把表达式转换成为后缀表达式。使用一个单目运算符 intToFloat 把一个整数转换为相等的浮点数。...转载 2019-04-28 15:11:15 · 2782 阅读 · 0 评论 -
编译原理第二版5.4答案
5.4 节的练习5.4.1我们在 5.4.2 节中提到可能根据语法分析栈中的 LR 状态来推导出这个状态表示了什么文法符号。我们如何推导这个信息?解答见算法 4.445.4.2改写下面的 SDT:A -> A {a} B | A B {b} | 0B -> B {c} A | B A {d} | 1使得基础文法变成非左递归的。5.4.3 !下面的 SDT 计算了...转载 2019-04-28 15:11:53 · 3486 阅读 · 0 评论 -
编译原理第二版6.1答案
6.1 节的练习为下面的表达式构造 DAG((x+y)-((x+y)*(x-y)))+((x+y)*(x-y))解答为下列表达式构造 DAG,且指出他们每个子表达式的值编码。假定 + 是左结合的。a+b+(a+b)a+b+a+ba+a+(a+a+a+(a+a+a+a))解答a+b+(a+b) 1 ...转载 2019-04-28 15:12:48 · 2880 阅读 · 0 评论 -
编译原理第二版6.2答案
6.2 节的练习6.2.1将算数表达式 a±(b+c) 翻译成抽象语法树四元式序列三元式序列间接三元式序列解答抽象语法树四元式序列 op arg1 arg2 result ...转载 2019-04-28 15:13:10 · 2340 阅读 · 0 评论 -
编译原理第二版6.3答案
6.3 节的练习6.3.1确定下列声明序列中各个标识符的类型和相对地址。float x;record {float x; float y;} p;record {int tag; float x; float y;} q;解答SDTS -> {top = new Evn(); offset = 0;} D D -> T i...转载 2019-04-28 15:13:32 · 2231 阅读 · 0 评论 -
编译原理第二版6.4答案
6.4 节的练习6.4.1向图 6-19 的翻译方案中加入对应于下列产生式的规则:E -> E1 * E2E -> +E1解答产生式 语义规则E -> E1 * E2 { E.addr = new Temp(); E.code = E1.code || E2.code || ...转载 2019-04-28 15:13:51 · 2269 阅读 · 0 评论 -
编译原理第二版6.5答案
6.5 节的练习6.5.1假定图 6-26 中的函数 widen 可以处理图 6-25a 的层次结构中的所有类型,翻译下列表达式。假定 c 和 d 是字符类型,s 和 t 是短整型, i 和 j 为整型, x 是浮点型。x = s + ci = s + cx = (s + c) * (t + d)解答x = s + c t1 = (int) s t2 = (int) c...转载 2019-04-28 15:14:09 · 1347 阅读 · 0 评论 -
编译原理第二版6.6答案
6.6 节的练习6.6.1在图 6-36 的语法制导定义中添加处理下列控制流构造的规则:一个 repeat 语句:repeat S while B!一个 for 循环语句:for (S1; B; S2) S3解答Production Syntax RuleS -> repeat S1 while B S1.next = newl...转载 2019-04-28 15:14:27 · 1873 阅读 · 0 评论 -
编译原理第二版4.7答案
4.7 节的练习4.7.1为练习 4.2.1 的文法 S -> S S + | S S * | a 构造规范 LR 项集族LALR 项集族4.7.2对练习 4.2.2-1 ~ 4.4.2-7 的各个文法重复练习 4.7.1! 4.7.3对练习 4.7.1 的文法,使用算法 4.63,根据该文法的 LR(0) 项集的内核构造出它的 LALR 项集族! 4.7.4说明下面...转载 2019-04-26 20:50:25 · 5214 阅读 · 2 评论 -
编译原理第二版4.6答案
4.6 节的练习4.6.1描述下列文法的所有可行前缀练习4.2.2-1的文法 S->0S1|01! 练习4.2.1的文法 S->SS+|SS*|a! 练习4.2.2-3的文法 S->S(S)S|ε解答以下提取左公因子和消除左递归后的文法均由练习 4.3.2 得到提取左公因子和消除左递归后的增广文法 0) S' -> S 1) S -> 0 ...转载 2019-04-26 20:50:04 · 7392 阅读 · 0 评论 -
编译原理第二版3.3习题答案
Exercises for Section 3.33.3.1Consult the language reference manuals to determinethe sets of characters that form the input alphabet (excluding those that may only appear in character strings or c...转载 2018-10-28 16:02:37 · 5833 阅读 · 0 评论 -
编译原理第二版3.6答案
3.6 Exercises for Section 3.63.6.1 !Figure 3.19 in the exercises of Section 3.4 computes the failurefunction for the KMP algorithm. Show how, given that failure function, wecan construct, from a k...转载 2018-10-28 16:03:56 · 1972 阅读 · 0 评论 -
编译原理第二版3.4答案
3.4 节的练习3.4.1给出识别练习 3.3.2 中各个正则表达式所描述的语言状态转换图。解答解答步骤:NFA -> DFA -> 最少状态的 DFA(状态转换图)a(a|b)*aNFA:DFA: NFA DFA a b ...转载 2018-10-28 16:07:54 · 5925 阅读 · 6 评论 -
编译原理第二版习题3.9
Exercises for Section 3.93.9.1Extend the table of Fig. 3.58 to include the operators?Answer node n nullable(n) firstpos(n) ...转载 2018-11-01 19:32:15 · 1457 阅读 · 0 评论 -
编译原理第二版习题3.7
Exercises for Section 3.73.7.1Convert to DFA’s the NFA’s of:Fig. 3.26.Fig. 3.29.Fig. 3.30.Answer1、Transition table NFA State DFA State a b {0,1,3} A B ...转载 2018-11-01 19:32:42 · 2627 阅读 · 0 评论 -
编译原理第二版习题3.6
3.6 Exercises for Section 3.63.6.1 !Figure 3.19 in the exercises of Section 3.4 computes the failurefunction for the KMP algorithm. Show how, given that failure function, wecan construct, from a k...转载 2018-11-01 19:33:25 · 1384 阅读 · 0 评论 -
编译原理第二版4.2答案
Exercises for Section 4.24.2.1Consider the context-free grammar:S -> S S + | S S * | aand the string aa + a*.Give a leftmost derivation for the string.Give a rightmost derivation for the st...转载 2019-04-26 20:48:22 · 5490 阅读 · 0 评论 -
编译原理第二版4.3答案
4.3 节的练习4.3.1下面是一个只包含符号 a 和 b 的正则表达式文法。它使用 + 替代表示并运算的字符 | ,以避免和文法中作为元符号使用的竖线相混淆:rexpr -> rexpr + rterm | rtermrterm -> rterm rfactor | rfactorrfactor -> rfactor * | rprimaryrprimary -&g...转载 2019-04-26 20:48:50 · 3811 阅读 · 1 评论 -
编译原理第二版4.4答案
4.4 节的练习4.4.1为下面的每个文法设计一个预测分析器,并给出预测分析表。你可能先要对文法进行提取左公因子或者消除左递归的操作。练习 4.2.2 中 1 - 7 中的文法。解答S -> 0 S 1 | 0 1step1. 提取左公因子 S -> 0 A A -> S 1 | 1step2. 消除左递归 S -> 0 A A -> 0 ...转载 2019-04-26 20:49:14 · 9896 阅读 · 0 评论 -
编译原理第二版4.5答案
4.5 节的练习4.5.1对于练习 4.2.2(a)中的文法 S -> 0 S 1 | 0 1,指出下面各个最右句型的句柄。00011100S11解答010S14.5.2对于练习 4.2.1 的文法 S -> S S + | S S * | a 和下面各个最右句型,重复练习 4.5.1 。SSS+a*+SS+a*a+aaa*a++解答SS+S...转载 2019-04-26 20:49:36 · 4157 阅读 · 1 评论 -
编译原理第二版6.7答案
6.7 节的练习6.7.1使用图 6-43 中的翻译方案翻译下列表达式。给出每个子表达式的 truelist 和 falselist。你可以假设第一条被生成的指令的地址是 100.ab && (cd || e==f)(ab || cd) || e==f(ab && cd) && e==f解答ab && (cd |...转载 2019-04-28 15:15:43 · 1899 阅读 · 0 评论