西北工业大学(蒋立源第三版)编译原理课后习题答案
2022-05-11 14:06:32 441KB 课后习题答案
1
、(1)L(G6)={0,1,2,......,9}+ (2)最左推导: N=>ND=>NDD=>NDDD=>DDDD=>0DDD=>01DD=>012D=>0127 N=>ND=>DD=>3D=>34 N=>ND=>NDD=>DDD=>5DD=>56D=>568 最右推导: N=>ND =>N7=>ND7=>N27=>ND27=>N127=>D127=>0127 N=>ND=>N4=>D4=>34 N=>ND=>N8=>ND8=>N68=>D68=>568 7、G:S→ABC | AC | C A→1|2|3|4|5|6|7|8|9 B→BB|0|1|2|3|4|5|6|7|8|9 C→1|3|5|7|9 8、(1)最左推导: E=>E+T=>T+T=>F+T=>i+T=>i+T*F=>i+F*F=>i+i*F=>i+i*i E=>T=>T*F=>F*F=>i*F=>i*(E)=>i*(E+T)=>i*(T+T)=>i*(F+T)=>i*(i+T)=>i*(i+F)=>i*(i+i) 最右推导: E=>E+T=>E+T*F=>E+T*i=>E+F*i=>E+i*i=>T+i*i=>F+i*i=>i+i*i E=>T=>T*F=>T*(E)=>T*(E+T)=>T*(E+F)=>T*(E+i)=>T*(T+i)=>T*(F+i)=>T*(i+i)=>F*(i+i)=>i*(i+i) (2) 9、证明:该文法存在一个句子iiiei有两棵不同语法分析树,如下所示,因此该文法是二义的。 11、 第3章 词法分析 7、构造下列正规式相应的DFA:1(0|1)*101 解: (1)构造NFA: (2)确定化: 构造状态转换矩阵如下: 重命名: I I0 I1 {X} _ {1} {1} {1} {1,2} {1,2} {1,3} {1,2} {1,3} {1} {1,2,Y} {1,2,Y} {1,3} {1,2} S 0 1 0 1 1 1 2 2 3 2 3 1 4 4 3 2 画出状态转换图: (注:已是最简) 8、(1)(0|1)*01 (2)(0|1|2|3|4|5|6|7|8|9)(1|2|3|4|5|6|7|8|9)*(0|5)|0|5 (3)(10*1|0)*10*|(01*0|1)*01* (4)a*b*c*......z* 9、(1) 正规式(0|1)*(010)(0|1)* NFA: 构造状态转换矩阵: 重命名: I I0 I1 {X} {X,0} {X} {X,0} {X,0} {X,1} {X,1} {X,0,Y} {X} {X,0,Y} {X,0,Y} {X,1,Y| {X,1,Y} {X,0,Y} {X,Y} {X,Y} {X,0,Y} {X,Y} S 0 1 0 1 0 1 1 2 2 3 0 3 3 4 4 3 5 5 3 5 画出DFA: 最少化后: 12、(a)构造状态转换矩阵: 重命名: I Ia Ib {0} {0,1} {1} {0,1} {0,1} {1} {1} {0} —— S a b 0 1 2 1 1 2 2 0 _ 重命名: 画出确定化后的有限自动机:
2022-04-08 22:59:58 344KB 编译原理 部分 答案
1
第一章 习题解答 1. 解:源程序是指以某种程序设计语言所编写的程序。目标程序是指编译 程序(或解释程序)将源程序处理加工而得的另一种语言(目标语言) 的程序。翻译程序是将某种语言翻译成另一种语言的程序的统称。编译 程序与解释程序均为翻译程序,但二者工作方法不同。解释程序的特点 是并不先将高级语言程序全部翻译成机器代码,而是每读入一条高级语 言程序语句,就用解释程序将其翻译成一段机器指令并执行之,然后再 读入下一条语句继续进行解释、执行,如此反复。即边解释边执行,翻 译所得的指令序列并不保存。编译程序的特点是先将高级语言程序翻译 成机器语言程序,将其保存到指定的空间中,在用户需要时再执行之。 即先翻译、后执行。 2. 解:一般说来,编译程序主要由词法分析程序、语法分析程序、语义分 析程序、中间代码生成程序、代码优化程序、目标代码生成程序、信息 表管理程序、错误检查处理程序组成。
2022-03-19 20:07:54 789KB 编译原理 蒋立源 课后答案
1
《编译原理》蒋立源课后答案【khdaw_lxywyl】 《编译原理》蒋立源课后答案【khdaw_lxywyl】 《编译原理》蒋立源课后答案【khdaw_lxywyl】
1
编译原理第三版 蒋立源主编 课后习题答案 这个课程很难学,需要多做练习才能更好的掌握,希望习题答案对你们有所帮助!祝大家学习进步!
1
西北工业大学出版社课本编译原理第三版课后答案第二章上下文无关文法
2021-10-04 16:09:58 1.14MB 编译原理 课后答案 西北工业大学
1
编译原理_第二版_清华&编译原理--陈英 2009&编译原理第二版_张素琴_课后习题解答&编译原理--蒋立源 2005
2020-02-23 03:01:09 31.15MB 编译原理
1
pdf格式,编译原理课后答案详细解析,主编蒋立源、唐慕宁,主审冯博琴,西北工业大学出版社
2019-12-21 21:03:57 789KB 西北工业大学出版社
1
1解:源程序是指以某种程序设计语言所编写的程序。目标程序是指编译程序(或解释程序)将源程序处理加工而得的另一种语言(目标语言)的程序。翻译程序是将某种语言翻译成另一种语言的程序的统称。编译程序与解释程序均为翻译程序,但二者工作方法不同。解释程序的特点是并不先将高级语言程序全部翻译成机器代码,而是每读入一条高级语言程序语句,就用解释程序将其翻译成一段机器指令并执行之,然后再读入下一条语句继续进行解释、执行,如此反复。即边解释边执行,翻译所得的指令序列并不保存。编译程序的特点是先将高级语言程序翻译成机器语言程序,将其保存到指定的空间中,在用户需要时再执行之。即先翻译、后执行。 2解:一般说来,编译程序主要由词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序、目标代码生成程序、信息表管理程序、错误检查处理程序组成。 3解:C语言的关键字有:auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while。上述关键字在C语言中均为保留字。 4解:C语言中括号有三种:{},[],()。其中,{}用于语句括号;[]用于数组;()用于函数(定义与调用)及表达式运算(改变运算顺序)。C语言中无END关键字。逗号在C语言中被视为分隔符和运算符,作为优先级最低的运算符,运算结果为逗号表达式最右侧子表达式的值(如:(a,b,c,d)的值为d)。
2019-12-21 20:22:18 570KB 编译原理答案
1
编译原理课后答案(蒋立源)第三版 不错的哦
2019-12-21 19:55:06 385KB 课后答案
1