编译原理第二章-课后题答案

编译原理第二章-课后题答案
编译原理第二章-课后题答案

3.何谓“标志符”,何谓“名字”,两者的区别是什么?

答:标志符是一个没有意义的字符序列,而名字却有明确的意义和属性。

4.令+、*和↑代表加、乘和乘幂,按如下的非标准优先级和结合性质的约定,计算1+1*2↑2*1↑2的值。

(1)优先顺序(从高到低)为+、*和↑,同级优先采用左结合。

(2)优先顺序为↑、+、*,同级优先采用右结合。

答:(1)1+1*2↑2*1↑2=2*2↑2*1↑2=4↑2*1↑2=4↑2↑2=16↑2=256

(2)1+1*2↑2*1↑2=1+1*2↑2*1=1+1*4*1=2*4*1=2*4=8

6.令文法G6为

N-〉D|ND

D-〉0|1|2|3|4|5|6|7|8|9

(1)G6的语言L(G6)是什么?

(2)给出句子0127、34、568的最左推导和最右推导。

(1)由0到9的数字所组成的长度至少为1的字符串。即:L(G6)={d n|n≧1,d∈{0,1,…,9}}答:

(2)0127的最左推导:N=>ND=>NDD=>NDDD=>DDDD=>0DDD=>01DD=>012D=>0127

0127的最右推导:N=>ND=>N7=>ND7=>N27=>ND27=>N127=>D127=>0127

(其他略)

7.写一个文法,使其语言是奇数集,且每个奇数不以0开头。

答:G(S):S->+N|-N

N->ABC|C

C->1|3|5|7|9

A->C|2|4|6|8

B->BB|0|A|ε

[注]:可以有其他答案。

[常见的错误]:N->2N+1

原因在于没有理解形式语言的表示法,而使用了数学表达式。

8.令文法为

E->T|E+T|E-T

T->F|T*F|T/F

F->(E)|i

(1)给出i+i*i、i*(i+i)的最左推导和最右推导。

(2)给出i+i+i、i+i*i和i-i-i的语法树,并给出短语,简单短语和句柄。

答:(1) 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)

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) i+i+i的语法树:

(其他略)

9.证明下面的文法是二义的:S->iSeS|iS|i

证明:反例法:

对于该文法的句子iiiei 有两个最右推导如下,所以该文法是二义的: S=>iS=>iiSeS=>iiSei=>iiiei

S=>iSeS=>iSei=>iiSei=>iiiei

10.把下面的文法改写成无二义的:S->SS|(S)|()

答:假设规定左结合的顺序,可以改造成无二义文法如下:

s->s(t)|(s)|()

t->s|ε

[注]:大纲不要求掌握,作为参考

11.给出下面语言的相应文法:

L 1={a n b n c i |n ≧1,i ≧0}

L 2={a i b n c n |n ≧1,i ≧0}

L 3={a n b n a m b m |m,n ≧0}

L 4={1n 0m 1m 0n |m,n ≧0}

答:(1) S->AB A->aAb|ab B->Bc|ε

(2) S->AB B->bBc|bc A->Aa|ε

(3) S->AA A-> aAb|ε

(4) S->1S0|A A-> 0A1|ε

[注]:可以有其他答案。

E

E

+ T

E + T T F

i 1 F i F i 短语:i 1, i 2, i 3, i 1+ i 2, i 1+i 2+ i 3 简单短语:i 1, i 2, i 3 句柄:i 1

编译原理课后习题答案(第三版)

精品文档 第二章 P36-6 (1) L G ()1是0~9组成的数字串 (2) 最左推导: N ND NDD NDDD DDDD DDD DD D N ND DD D N ND NDD DDD DD D ??????????????????0010120127334 556568 最右推导: N ND N ND N ND N D N ND N D N ND N ND N D ??????????????????77272712712701274434 886868568 P36-7 G(S) O N O D N S O AO A AD N →→→→→1357924680||||||||||| P36-8 文法: E T E T E T T F T F T F F E i →+-→→|||*|/()| 最左推导: 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 F T F F F E F E T F E F F E i F T i F F i F i i i i i ?+?+?+?+?+?+?+?+?????+?+?+?+?+?+?+**********()*()*()*()*()*()*()*() 语法树:/********************************

蒋立源 编译原理第三版第二章 习题与答案(修改后)

第2章习题 2-1 设有字母表A1 ={a,b,c,…,z},A2 ={0,1,…,9},试回答下列问题: (1) 字母表A1上长度为2的符号串有多少个? (2) 集合A1A2含有多少个元素? (3) 列出集合A1(A1∪A2)*中的全部长度不大于3的符号串。 2-2 试分别构造产生下列语言的文法: (1){a n b n|n≥0}; (2){a n b m c p|n,m,p≥0}; (3){a n#b n|n≥0}∪{c n#d n|n≥0}; (4){w#w r# | w∈{0,1}*,w r是w的逆序排列 }; (5)任何不是以0打头的所有奇整数所组成的集合; (6)所有由偶数个0和偶数个1所组成的符号串的集合。 2-3 试描述由下列文法所产生的语言的特点: (1)S→10S0S→aA A→bA A→a (2)S→SS S→1A0A→1A0A→ε (3)S→1A S→B0A→1A A→C B→B0B→C C→1C0C→ε (4)S→aSS S→a 2-4 试证明文法 S→AB|DC A→aA|a B→bBc|bc C→cC|c D→aDb|ab 为二义性文法。 2-5 对于下列的文法 S→AB|c A→bA|a B→aSb|c 试给出句子bbaacb的最右推导,并指出各步直接推导所得句型的句柄;指出句子的全部短语。

2-6 化简下列各个文法 (1) S→aABS|bCACd A→bAB|cSA|cCC B→bAB|cSB C→cS|c (2) S→aAB|E A→dDA|e B→bE|f C→c AB|dSD|a D→eA E→fA|g (3) S→ac|bA A→c BC B→SA C→bC|d 2-7 消除下列文法中的ε-产生式 (1) S→aAS|b A→cS|ε (2) S→aAA A→bAc|dAe|ε 2-8 消除下列文法中的无用产生式和单产生式 (1) S→aB|BC A→aA|c|aDb B→DB|C C→b D→B (2) S→SA|SB|A A→B|(S)|( ) B→[S]|[ ] (3) E→E+T|T T→T*F|F F→P↑F|P P→(E)|i 第2章习题答案 2-1 答: (1) 26*26=676 (2) 26*10=260 (3) {a,b,c,...,z, a0,a1,...,a9, aa,...,az,...,zz, a00,a01,...,zzz},共有26+26*36+26*36*36=34658个 2-2 解: (1) 对应文法为G(S)=({S},{a,b},{ S→ε| aSb },S) (2) 对应文法为G(S)=({S,X,Y},{a,b,c},{S→aS|X,X→bX|Y,Y→cY|ε },S) (3)对应文法为G(S)=({S,X,Y},{a,b,c,d,#}, {S→X,S→Y,X→aXb|#, Y→cYd|# },S)

第二章概念与思考题及答案

第二章信用、利息与利率 本章重要概念 信用:是以还本付息为条件的,体现着特定的经济关系,是不发生所有权变化的价值单方面的暂时让渡或转移。 信用制度:信用制度即为约束信用主体行为的一系列规范与准则及其产权结构的合约性安排。信用制度安排可以是正式的,也可以是非正式的。正式的信用制度是约束信用主体行为及其关系的法律法规和市场规则,而非正式的信用制度是约束信用主体行为及其关系的价值观念、意识形态和风俗习惯等。 商业信用:商业信用指工商企业之间相互提供的、与商品交易直接相联系的信用形式。它包括企业之间以赊销、分期付款等形式提供的信用以及在商品交易的基础上以预付定金等形式提供的信用。 银行信用:银行信用指各种金融机构,特别是银行,以存、放款等多种业务形式提供的货币形态的信用。银行信用和商业信用一起构成经济社会信用体系的主体。 国家信用:国家信用又称公共信用制度,伴随着政府财政赤字的发生而产生。它指国家及其附属机构作为债务人或债权人,依据信用原则向社会公众和国外政府举债或向债务国放债的一种形式。 消费信用:消费信用指为消费者提供的、用于满足其消费需求的信用形式。其实质是通过赊销或消费贷款等方式,为消费者提供提前消费的条件,促进商品的销售和刺激人们的消费。 国际信用:国际信用是指国与国之间的企业、经济组织、金融机构及国际经济组织相互提供的与国际贸易密切联系的信用形式。国际信用是进行国际结算、扩大进出口贸易的主要手段之一。 出口信贷:出口信贷是国际贸易中的一种中长期贷款形式,是一国政府为了促进本国出口,增强国际竞争能力,而对本国出口企业给予利息补贴和提供信用担保的信用形式。可分为卖方信贷和买方信贷两种。 卖方信贷:卖方信贷是出口方的银行或金融机构对出口商提供的信贷。 买方信贷:买方信贷是由出口方的银行或金融机构直接向进口商或进口方银行或金融机构提供贷款的方式。 银行信贷:国际间的银行信贷是进口企业或进口方银行直接从外国金融机构借入资金的一种信用形式。这种信用形式一般采用货币贷款方式,并事先指定了贷款货币的用途。它不享受出口信贷优惠,所以贷款利率要比出口信贷高。 国际租赁:国际租赁是国际间以实物租赁方式提供信用的新型融资形式。根据租赁的目的和投资加收方式,可将其分为金融租赁(Financial Lease)和经营租赁(Operating Credit)两种形式。

(完整版)编译原理课后习题答案

第一章 1.典型的编译程序在逻辑功能上由哪几部分组成? 答:编译程序主要由以下几个部分组成:词法分析、语法分析、语义分析、中间代码生成、中间代码优化、目标代码生成、错误处理、表格管理。 2. 实现编译程序的主要方法有哪些? 答:主要有:转换法、移植法、自展法、自动生成法。 3. 将用户使用高级语言编写的程序翻译为可直接执行的机器语言程序有哪几种主要的方式? 答:编译法、解释法。 4. 编译方式和解释方式的根本区别是什么? 答:编译方式:是将源程序经编译得到可执行文件后,就可脱离源程序和编译程序单独执行,所以编译方式的效率高,执行速度快; 解释方式:在执行时,必须源程序和解释程序同时参与才能运行,其不产生可执行程序文件,效率低,执行速度慢。

第二章 1.乔姆斯基文法体系中将文法分为哪几类?文法的分类同程序设计语言的设计与实现关 系如何? 答:1)0型文法、1型文法、2型文法、3型文法。 2) 2. 写一个文法,使其语言是偶整数的集合,每个偶整数不以0为前导。 答: Z→SME | B S→1|2|3|4|5|6|7|8|9 M→ε | D | MD D→0|S B→2|4|6|8 E→0|B 3. 设文法G为: N→ D|ND D→ 0|1|2|3|4|5|6|7|8|9 请给出句子123、301和75431的最右推导和最左推导。 答:N?ND?N3?ND3?N23?D23?123 N?ND?NDD?DDD?1DD?12D?123 N?ND?N1?ND1?N01?D01?301 N?ND?NDD?DDD?3DD?30D?301 N?ND?N1?ND1?N31?ND31?N431?ND431?N5431?D5431?75431 N?ND?NDD?NDDD?NDDDD?DDDDD?7DDDD?75DDD?754DD?7543D?75431 4. 证明文法S→iSeS|iS| i是二义性文法。 答:对于句型iiSeS存在两个不同的最左推导: S?iSeS?iiSes S?iS?iiSeS 所以该文法是二义性文法。 5. 给出描述下面语言的上下文无关文法。 (1)L1={a n b n c i |n>=1,i>=0 } (2)L2={a i b j|j>=i>=1} (3)L3={a n b m c m d n |m,n>=0} 答: (1)S→AB A→aAb | ab B→cB | ε (2)S→ASb |ab

编译原理第二章-课后题答案

第二章 3.何谓“标志符”,何谓“名字”,两者的区别是什么? 答:标志符是一个没有意义的字符序列,而名字却有明确的意义和属性。 4.令+、*和↑代表加、乘和乘幂,按如下的非标准优先级和结合性质的约定,计算1+1*2↑2*1↑2的值。 (1)优先顺序(从高到低)为+、*和↑,同级优先采用左结合。 (2)优先顺序为↑、+、*,同级优先采用右结合。 答:(1)1+1*2↑2*1↑2=2*2↑2*1↑2=4↑2*1↑2=4↑2↑2=16↑2=256 (2)1+1*2↑2*1↑2=1+1*2↑2*1=1+1*4*1=2*4*1=2*4=8 6.令文法G6为 N-〉D|ND D-〉0|1|2|3|4|5|6|7|8|9 (1)G6的语言L(G6)是什么? (2)给出句子0127、34、568的最左推导和最右推导。 (1)由0到9的数字所组成的长度至少为1的字符串。即:L(G6)={d n|n≧1,d∈{0,1,…,9}} 答: (2)0127的最左推导:N=>ND=>NDD=>NDDD=>DDDD=>0DDD=>01DD=>012D=>0127 0127的最右推导:N=>ND=>N7=>ND7=>N27=>ND27=>N127=>D127=>0127 (其他略) 7.写一个文法,使其语言是奇数集,且每个奇数不以0开头。 答:G(S):S->+N|-N N->ABC|C C->1|3|5|7|9 A->C|2|4|6|8 B->BB|0|A|ε [注]:可以有其他答案。 [常见的错误]:N->2N+1 原因在于没有理解形式语言的表示法,而使用了数学表达式。 8.令文法为 E->T|E+T|E-T T->F|T*F|T/F F->(E)|i (1)给出i+i*i、i*(i+i)的最左推导和最右推导。 (2)给出i+i+i、i+i*i和i-i-i的语法树,并给出短语,简单短语和句柄。 答:(1) 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) 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) i+i+i的语法树:

第二章复习题及答案

第二章练习及答案 一、填空题 1、带动其他构件运动的构件,叫原动件。 2、在原动件的带动下,作确定运动的构件,叫从动件。 3、低副的优点:制造和维修容易,单位面积压力小,承载能力大。 4、低副的缺点:由于是滑动摩擦,摩擦损失比高副大,效率低。 5.低副是两构件通过面接触而构成的运动副;高副是两构件通过点或线接触而构成的运动副。 6、火车车轮在铁轨上的滚动,属于高副。 二、判断题(正确√;错误×) 1、两构件通过面接触组成的运动副是低副。(√) 2.机构的原动件数应等于自由度数,否则机构没有确定运动。(√) 3.在平面机构中一个低副引入两个约束。(√) 4、由于两构件间的联接形式不同,运动副分为低副和高副。(×) 5、点或线接触的运动副称为低副。(×) 6、面接触的运动副称为低副。(√) 7、若机构的自由度数为2,那么该机构共需2个原动件。(√) 8、机构的自由度数应等于原动件数,否则机构不能成立。(√) 9、平面低副引入的约束数为1。(×) 10、当m个构件用复合铰链相联接时,组成的转动副数目也应为m个。(×) 11、局部自由度与机构的运动是有关的。(×) 12、在机构运动简图中运动副和构件都应用规定的符号和线条表示。(√)

三、选择题 1.当机构中主动件数目(2)等于机构自由度数目时,该机构具有确定的运动。 (1)小于;(2)等于;(3)大于;(4)大于或等于。 2.下图中的平面机构由(1)复合铰链组成。 (1)复合铰链;(2)局部自由度;(3)虚约束;(4)凸轮机构; 3.在计算平面机构自由度时,应选用(3)c)图。 (1)a);(2)b);(3)c); a) b) c) 4.机构具有确定运动的条件是(3)自由度数目= 原动件数目。 (1)自由度数目>原动件数目;(2)自由度数目<原动件数目; (3)自由度数目= 原动件数目;(4)自由度数目≠原动件数目;5.下图中的平面机构由(3)虚约束组成。 (1)复合铰链;(2)局部自由度;(3)虚约束;(4)凸轮机构;

编译原理 第二章习题答案

第2章习题解答 1.文法G[S]为: S->Ac|aB A->ab B->bc 写出L(G[S])的全部元素。 [答案] S=>Ac=>abc 或S=>aB=>abc 所以L(G[S])={abc} ============================================== 2. 文法G[N]为: N->D|ND D->0|1|2|3|4|5|6|7|8|9 G[N]的语言是什么? [答案] G[N]的语言是V+。V={0,1,2,3,4,5,6,7,8,9} N=>ND=>NDD.... =>NDDDD...D=>D......D =============================================== 3.已知文法G[S]: S→dAB A→aA|a B→ε|bB 问:相应的正规式是什么?G[S]能否改写成为等价的正规文法?[答案] 正规式是daa*b*;

相应的正规文法为(由自动机化简来): G[S]:S→dA A→a|aB B→aB|a|b|bC C→bC|b 也可为(观察得来):G[S]:S→dA A→a|aA|aB B→bB|ε ===================================================================== ========== 4.已知文法G[Z]: Z->aZb|ab 写出L(G[Z])的全部元素。 [答案] Z=>aZb=>aaZbb=>aaa..Z...bbb=> aaa..ab...bbb L(G[Z])={a n b n|n>=1} ===================================================================== ========= 5.给出语言{a n b n c m|n>=1,m>=0}的上下文无关文法。 [分析] 本题难度不大,主要是考上下文无关文法的基本概念。上下文无关文法的基本定义是:A->β,A∈Vn,β∈(Vn∪Vt)*,注意关键问题是保证a n b n的成立,即“a与b的个数要相等”,为此,可以用一条形如A->aAb|ab的产生式即可解决。 [答案] 构造上下文无关文法如下: S->AB|A A->aAb|ab B->Bc|c [扩展]

Oracle第二章习题及答案

一、基于自己创建表的操作 1:创建一张学生表student,拥有stuid,stuname,sex,三个字段,其中stuid为主键。 create table student( stuid int primary key, stuname VARCHAR(20), sex VARCHAR(20) ) 2:为该表增加一个新列score。 alter table student add(score varchar(10)); 3:修改该表score列名为stuscore。 alter table student rename column score to stuscoree; 4:为student表插入5条记录。 insert into student values(1,'张三丰','男',80); insert into student values(2,'阿悄','女',70); insert into student values(3,'陈龙','男',90); insert into student values(4,'章子怡','女',50); insert into student values(5,'张卫健','男',60); 5:查询student表中的全部数据,其中列名为中文。 select STUID as 学号,STUNAME as 姓名,SEX as 性别,STUSCOREE as 分数from student; 6:查询学生姓名和分数,并是查询结果按照学生成绩降序排列。 select STUNAME,STUSCOREE from student order by STUSCOREE desc; 7:修改所有性别为“男”的学生信息为性别为“male”。 update student set SEX='male' where SEX='男'; 8:删除所有记录。 delete from student; 9:删除student表。 drop table student; 二、基于emp表的操作 1:创建一张新表emp1,和emp表结构和记录完全一样。 create table emp1 as select*from Scott.Emp; 基于emp1表的操作: 1:选择部门30中的雇员。 select*from emp1 where DEPTNO=30 and JOB='CLERK';

编译原理课后答案

第二章 2.3叙述由下列正规式描述的语言 (a) 0(0|1)*0 在字母表{0, 1}上,以0开头和结尾的长度至少是2的01 串 (b) ((ε|0)1*)* 在字母表{0, 1}上,所有的01串,包括空串 (c) (0|1)*0(0|1)(0|1) 在字母表{0, 1}上,倒数第三位是0的01串 (d) 0*10*10*10* 在字母表{0, 1}上,含有3个1的01串 (e) (00|11)*((01|10)(00|11)*(01|10)(00|11)*)* 在字母表{0, 1}上,含有偶数个0和偶数个1的01串 2.4为下列语言写正规定义 C语言的注释,即以 /* 开始和以 */ 结束的任意字符串,但它的任何前缀(本身除外)不以 */ 结尾。 [解答] other → a | b | … other指除了*以外C语言中的其它字符 other1 → a | b | … other1指除了*和/以外C语言中的其它字符 comment → /* other* (* ** other1 other*)* ** */ (f) 由偶数个0和偶数个1构成的所有0和1的串。 [解答]由题目分析可知,一个符号串由0和1组成,则0和1的个数只能有四种情况: x 偶数个0和偶数个1(用状态0表示); x 偶数个0和奇数个1(用状态1表示); x 奇数个0和偶数个1(用状态2表示); x 奇数个0和奇数个1(用状态3表示);所以, x 状态0(偶数个0和偶数个1)读入1,则0和1的数目变为:偶数个0和奇数个1(状态1) x 状态0(偶数个0和偶数个1)读入0,则0和1的数目变为:奇数个0和偶数个1(状态2) x 状态1(偶数个0和奇数个1)读入1,则0和1的数目变为:偶数个0和偶数个1(状态0) x 状态1(偶数个0和奇数个1)读入0,则0和1的数目变为:奇数个0和奇数个1(状态3) x 状态2(奇数个0和偶数个1)读入1,则0和1的数目变为:奇数个0和奇数个1(状态3) x 状态2(奇数个0和偶数个1)读入0,则0和1的数目变为:偶数个0和偶数个1(状态0) x 状态3(奇数个0和奇数个1)读入1,则0和1的数目变为:奇数个0和偶数个1(状态2) x 状态3(奇数个0和奇数个1)读入0,则0和1的数目变为:偶数个0和奇数个1(状态1) 因为,所求为由偶数个0和偶数个1构成的所有0和1的串,故状态0既为初始状态又为终结状态,其状态转换图: 由此可以写出其正规文法为: S0 → 1S1 | 0S2 | ε S1 → 1S0 | 0S3 | 1 S2 → 1S3 | 0S0 | 0 S3 → 1S2 | 0S1 在不考虑S0 →ε产生式的情况下,可以将文法变形为: S0 = 1S1 + 0S2 S1 = 1S0 + 0S3 + 1 S2 = 1S3 + 0S0 + 0 S3 = 1S2 + 0S1 所以: S0 = (00|11) S0 + (01|10) S3 + 11 + 00 (1) S3 = (00|11) S3 + (01|10) S0 + 01 + 10 (2) 解(2)式得: S3 = (00|11)* ((01|10) S0 + (01|10)) 代入(1)式得: S0 = (00|11) S0 + (01|10) (00|11)*((01|10) S0 + (01|10)) + (00|11) => S0 = ((00|11) + (01|10) (00| 11)*(01|10))S0 + (01|10) (00|11)*(01|10) + (00|11) => S0 = ((00|11)|(01|10) (00|11)*(01|10))*((00|1

编译原理第三版课后答案

编译原理课后题答案 第二章 P36-6 (1) L G () 1是0~9组成的数字串 (2) 最左推导: 最右推导: P36-7 G(S) P36-8 文法: 最左推导: 最右推导: 语法树:/******************************** *****************/ P36-9 句子iiiei有两个语法树: P36-10 /************** ***************/ P36-11 /*************** L1: L2: L3: L4: ***************/ 第三章习题参考答案P64–7 (1)

最小化: P64–8 (1) (2) (3) P64–12 (a) a a,b a 0

给状态编号: a a a b b b 最小化: a a b b a b (b) 已经确定化了, 进行最小化 最小化: P64 –14 (1) 0 1 0 (2): (|)*010 1 εε 0 0 0 Y Y

最小化: 0 1 1 1 0 0 第四章 P81–1 (1) 按照T,S 的顺序消除左递归 递归子程序: procedure S; begin if sym='a' or sym='^' then abvance else if sym='(' then begin advance;T; if sym=')' then advance; else error; end else error end; procedure T; begin S; T end;

procedure 'T; begin if sym=',' then begin advance; S;'T end end; 其中: sym:是输入串指针IP所指的符号advance:是把IP调至下一个输入符号error:是出错诊察程序 (2) FIRST(S)={a,^,(} FIRST(T)={a,^,(} FIRST('T)={,,ε} FOLLOW(S)={),,,#} FOLLOW(T)={)} FOLLOW('T)={)} 预测分析表 是LL(1)文法 P81–2 文法: (1) FIRST(E)={(,a,b,^} FIRST(E')={+,ε} FIRST(T)={(,a,b,^} FIRST(T')={(,a,b,^,ε} FIRST(F)={(,a,b,^} FIRST(F')={*,ε} FIRST(P)={(,a,b,^} FOLLOW(E)={#,)} FOLLOW(E')={#,)} FOLLOW(T)={+,),#} FOLLOW(T')={+,),#} FOLLOW(F)={(,a,b,^,+,),#} FOLLOW(F')={(,a,b,^,+,),#} FOLLOW(P)={*,(,a,b,^,+,),#} (2)

第二章练习题及答案

思考与练习 一、单项选择题 1.下列各项中属于产品成本项目的有 ( ) A. 制造费用 B. 外购材料 C. 折旧费 D. 外购动力 2.下列各项中不应计入产品成本的是( ) A. 生产工人薪酬 B. 车间、分厂管理人员薪酬 C. 厂部管理人员薪酬 D. 车间一般耗用材料 3.下列各项中应计入产品成本的是( ) A. 因筹资支付给银行的手续费 B. 职工教育经费 C. 专设销售机构人员的薪酬 D. 车间一般耗用材料 4.下列各项中,属于直接生产费用的是( ) A. 机物料消耗 B. 辅助生产工人工资 C. 基本生产工人工资 D. 厂房折旧费用 5.下列各项中,属于间接生产费用的是( ) A. 原料费用 B. 主要材料费用 C. 车间折旧费用 D. 基本生产工人工资 6.下列各项中属于期间费用的是( ) A. 直接材料 B. 机物料消耗 C. 机修费用 D. 直接人工 7.“生产成本”账户借方登记( ) A.完工入库产品成本 B.生产过程中发生的各项生产费用 C.分配转出的劳务费用 D.尚未完工的在产品成本 8.基本生产成本应该按( )分设专栏或专行进行登记。 A.产品名称 B.成本项目 C.费用要素 D.费用项目 二、多项选择题 1. 下列各项中不应计入成本费用的支出有( ) A. 对外投资的支出 B. 购置无形资产、其他资产的支 出 C. 滞纳金、罚款、违约金 D. 专设销售机构人员的薪酬 2.下列各项属于工业企业费用要素的有( ) A. 折旧费 B. 职工薪酬 C. 直接人工 D. 税金 3.下列各项中应列入“财务费用”账户的有( )

A. 利息支出 B. 汇兑损失 C. 利息收入 D. 金融机构手续费 4.工业企业生产费用按其计入产品成本的方法进行分类,可以分为() A. 直接生产费用 B. 直接计入费用 C. 间接生产费用 D. 间接计入费用 5.下列各项中,应该列入直接生产费用的( ) A. 原料费用 B. 机物料消耗 C. 基本生产工人工资 D. 主要材料费用 6.为了进行成本的审核和控制,必须做好的基础工作包括() A. 制定先进可行的消耗定额 B. 建立健全原始记录制度 C. 建立健全财产物资的盘点验收制度 D. 制定企业内部结算价格7.在划分各种产品的费用界限时,应特别注意()之间费用界限的划分。 A.盈利产品和亏损产品 B.生产费用和经营费用 C.可比产品和不可比产品 D.完工产品和在产品 8.以下税金中,属于工业企业要素费用的是( ) A.增值税 B.房产税 C.土地使用税 D.车船使用税 三、判断题 1.产品成本项目是指生产费用按其经济内容所进行的分类。 () 2.企业为了形成和扩大生产能力,购建固定资产和无形资产等,使企业在较长的时期(多个会计年度)内受益的支出,均属收益性支出。() 3.直接生产费用大多是直接计入费用。( ) 4.“制造费用”账户属于损益类账户。 ( ) 5.机物料消耗和辅助生产车间工人工资等, 均属间接生产费用。 ( ) 四、综合题 1.某企业2010年3月份的支出情况如下: ⑴本月生产甲、乙两种产品。其中,甲产品发生直接费用77 000元,乙产品发生直接费用33 000元,共计110 000元。 ⑵本月车间一般消耗用材料5 200元,车间管理人员薪酬3 400元,车间管理人员办公费等1 400元,共计10 000元。 ⑶购买某项固定资产,支付3 700元。 ⑷预付车间经营性租入固定资产的改良支出6 000元。(摊销期为20

编译原理课后习题答案

第1 章 1、编译过程包括哪几个主要阶段及每个 阶段的功能。 答案:编译过程包括词法分析、语法分析、语义分析和中间代码生成、优化、目标代码生成5 个阶段。词法分析的功能是对输入的高级语言源程序进行词法分析,识别其中的单词符号,确定它们的种类,交给语法分析器,即把字符串形式的源程序分解为单词符号串形式。语法分析的功能是在词法分析结果的基础上,运用语言的语法规则,对程序进行语法分析,识别构成程序的各类语法范畴及它们之间的层次关系,并把这种层次关系表达成语法树的形式。词义分析和中间代码生成的功能是在语法分析的基础上,对程序进行语义分析,“理解”其含义,产生出表达程序语义的内部表达形式(中间代码)。优化的功能是按照等价变换的原则,对语义分析器产生的中间代码序列进行等价变换,删除其中多余的操作,对耗时耗空间的代码进行优化,以期最后得到高效的可执行代码。目标代码生成的功能是把优化后的中间代码变换成机器指令代码,得到可在目标机器上执行的机器语言程序。 第2 章 1、写一上下文无关文法G,它能产生配 对的圆括号串(如:(),(()),()(())等,甚至 包括0 对括号) 文法为:S→(L)|LS|L L→S| ε 2 、已知文法G :E→E+T|E-T|T T→T*F|T/F|F F→(E) |i (1)给出i+i*i,i*(i-i)的最左推导,最右推导以及语法树。 (2)i-i+i 哪个算符优先。 【解答】 (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) i+i*i 以及i*(i-i)的语法树如下所示: (2)i-i+i 的语法树如下图所示。 从上图的语法树可知:“-”的位置位 于“+”的下层,也就是前面两个i 先进 行“-”运算,再与后面的i 进行“+” 运算,所以“-”的优先级高于“+”的 优先级。 3 、文法G: E→ET+|T T→TF*|F F→FP↑|P P→E|i (1)试证明符号串TET+*i↑是G 的一 个句型(要求画出语法树). (2)写出该句型的所有短语,直接短语和句柄. 【解答】(1)采用最右推导: E?T?F? FP↑? Fi↑? Pi↑? Ei↑ ? Ti↑? TF*i↑? TP*i↑? TE*i↑? TET+*i↑ 语法树如下图所示。 从文法G 的起始符号出发,能够推导 出符号串TET+*i↑,所以给定符号串是文法G的句型。 (2) 该句型的短语有: ET+,TET+*,i ,TET+*i↑ 直接短语有:ET+, i 句柄是:ET+ 4、已知文法G:S→iSeS|iS|i ,该文法 是二义文法吗?为什么? 【解答】该文法是二义文法。 因为对于句子iiiei 存在两种不同的最 左推导: 第 1 种推导:S? iSeS? iiSeS? iiieS? iiiei 第2种推导:S?iS?iiSeS?iiieS?iiiei 第3 章 1、用正规式描述下列正规集: (1)C 语言的十六进制整数; (2)以ex 开始或以ex 结束的所有小写字母构成的符号串; (3)十进制的偶数。 【解答】 (1)C 语言十六进制整数以0x 或者0X 开头,所以一般形式应该为(+|-|ε) (0x|0X)AA*,其中前面括号表示符号, 可以有正号、负号,也可以省略(用ε表示)默认是正数,A 表示有资格出现在十六进制整数数位上的数字,AA*表示一位或者多位(一个或者多个数字的

编译原理第二版课后习问题详解

《编译原理》课后习题答案第一章 第 1 章引论 第 1 题 解释下列术语: (1)编译程序 (2)源程序 (3)目标程序 (4)编译程序的前端 (5)后端 (6)遍 答案: (1)编译程序:如果源语言为高级语言,目标语言为某台计算机上的汇编语言或机器语言,则此翻译程序称为编译程序。 (2)源程序:源语言编写的程序称为源程序。 (3)目标程序:目标语言书写的程序称为目标程序。 (4)编译程序的前端:它由这样一些阶段组成:这些阶段的工作主要依赖于源语言而与目标机无关。通常前端包括词法分析、语法分析、语义分析和中间代码生成这些阶 段,某些优化工作也可在前端做,也包括与前端每个阶段相关的出错处理工作和符 号表管理等工作。 (5)后端:指那些依赖于目标机而一般不依赖源语言,只与中间代码有关的那些阶段,即目标代码生成,以及相关出错处理和符号表操作。 (6)遍:是对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。

第 2 题 一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么?并画出编译程 序的总体结构图。 答案: 一个典型的编译程序通常包含 8 个组成部分,它们是词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、中间代码优化程序、目标代码生成程序、表格管理程序和错误处理程序。其各部分的主要功能简述如下。 词法分析程序:输人源程序,拼单词、检查单词和分析单词,输出单词的机表达形式。 语法分析程序:检查源程序中存在的形式语法错误,输出错误处理信息。 语义分析程序:进行语义检查和分析语义信息,并把分析的结果保存到各类语义信息表中。 中间代码生成程序:按照语义规则,将语法分析程序分析出的语法单位转换成一定形式 的中间语言代码,如三元式或四元式。 中间代码优化程序:为了产生高质量的目标代码,对中间代码进行等价变换处理。 目标代码生成程序:将优化后的中间代码程序转换成目标代码程序。 表格管理程序:负责建立、填写和查找等一系列表格工作。表格的作用是记录源程序的 各类信息和编译各阶段的进展情况,编译的每个阶段所需信息多数都从表格中读取,产生的中间结果都记录在相应的表格中。可以说整个编译过程就是造表、查表的工作过程。需要指出的是,这里的“表格管理程序”并不意味着它就是一个独立的表格管理模块,而是指编译程序具有的表格管理功能。 错误处理程序:处理和校正源程序中存在的词法、语法和语义错误。当编译程序发现源 程序中的错误时,错误处理程序负责报告出错的位置和错误性质等信息,同时对发现的错误

第二章练习题及答案

第二章 货币资金 一、单选题 1. 我国会计惯例中使用的现金概念是() A .狭义的现金概念 B .广义的现金概念 C .在日常会计处理中使用库存现金概念,在财务报告及金融资产中使用广义的现金概念 D .与国际惯例一致 2. 不包括在现金使用范围的业务有 A .支付给职工家庭困难补助 B .支付银行借款利息 C. 结算起点1000元以下的零量支出 D. 向个人收购农副产品 3. 职能分开不包括() A. 管钱的不管账 B .印鉴分管制度 C. 出纳不得兼职收入、费用、债权、债务等账簿登记工作 D. 出纳不得登记固定资产明细账 4.确定库存现金限额时最高不准超过 A .5 天 B .6 天 C. 8天 D. 15 天 5.在企业开立的诸多账户中,可以提取现金发放职工工资的账户是() A .一般存款账户 B .基本存款账户 C. 临时存款账户 D ?专用存款账户 实行定额备用金制度,报销时的会计分录是 () 借记"管理费用 "贷记"库存现金" 借记"备用金 ",贷记"库存现金 " 借记 "管理费用 ",贷记 "备用金 " D. 借记"库存现金 ",贷记"备用金" 7.企业现金清查中,经检查仍无法查明原因的现金短缺,经批准后应计入() A .管理费用 B .财务费用 C .冲减营业外收入 D ?营业外支出 9. 银行汇票的提示付款期限为自出票日起 A . 10 天 B. 1 个月 6. A. B. C. 8.企业在进行现金清查时,查出现金溢余,并将溢余数记入“待处理财产损溢科目” 进一步核查,无法查明原因,经批准后,对该现金溢余正确的会计处理方法是() A .借:待处理财产损溢科目 B .借:待处理财产损溢科目 C .借:营业外收入 D .借:待处理财产损溢科目 ,后经 贷: 贷: 贷: 贷: 财务费用 销售费用 待处理财产损溢科目 营业外 收入

第二章习题及答案

化工原理练习题 五.计算题 1. 密度为1200kg.m 的盐水,以25m3.h-1的流量流过内径为75mm的无缝钢管。两液面间的垂直距离为25m,钢管总长为120m,管件、阀门等的局部阻力为钢管阻力的25%。试求泵的轴功率。假设:(1)摩擦系数λ=0.03;(2)泵的效率η=0.6 1.答案***** Z1+u2/2g+P1/ρg+He=Z2+u2/2g+P2/ρg+∑H f Z =0,Z =25m,u ≈0,u ≈0,P =P ∴H =Z +∑H =25+∑H ∑H =(λ×l/d×u /2g)×1.25 u=V/A=25/(3600×0.785×(0.07 5) ) =1.573m.s ∑H =(0.03×120/0.075×1.573 /(2×9.81)×1.25 =7.567m盐水柱 H =25+7.567=32.567m N =Q H ρ/102=25×32.567×120 0/(3600×102) =2.66kw N轴=N /η=2.66/0.6=4.43kw 2.(16分) 如图的输水系统。已知管内径为d=50mm, 在阀门全开时输送系统的Σ(l+le ) =50m,摩擦系数可取λ=0.03,泵的性能曲线,在流量为 6 m3.h-1至15 m3.h-1范围内可用下式描述: H=18.92-0.82Q2. ,此处H为泵的扬程m,Q为泵的流量m3.h-1,问: (1)如要求流量为10 m3.h-1,单位质量的水所需外加功为多少? 单位重量的水所需外加功为多少?此泵能否完成任务? (2)如要求输送量减至8 m3.h-1 (通过关小阀门来达到),泵的轴功率减少百分之多少?(设泵的效率变化忽略不计) 答案***** ⑴u=10/(3600×0.785×0.05 )=1.415[m.s-1] Σhf =λ[Σ(l+le )/d](u2/2) =0.03×(50/0.05)(1.4152/2)=30.03 Pa/ρ+W=Pa/ρ+Z g+Σhf 1 - 2 W=Z2g+Σhf 1 - 2 =10×9.81+30.03=128.13 [J.kg ] H需要=W/g=128.13/9.81=13.06[m] 而H 泵 =18.92-0.82(10) =13.746[m] H泵>H需故泵可用 ⑵N=H 泵Q 泵 ρg/η ρg/η=常数 ∴N∝H 泵Q 泵 N 前 ∝13.746×10 H泵后=18.92-0.82(8)0 . 8 =14.59 N后∝14.59×8 N后/N前=14.59×8/(13.746×10)=0.849

编译原理(清华大学 第2版)课后习题答案

第三章 N=>D=> {0,1,2,3,4,5,6,7,8,9} N=>ND=>NDD L={a |a(0|1|3..|9)n且 n>=1} (0|1|3..|9)n且 n>=1 {ab,} a n b n n>=1 第6题. (1) <表达式> => <项> => <因子> => i (2) <表达式> => <项> => <因子> => (<表达式>) => (<项>) => (<因子>)=>(i) (3) <表达式> => <项> => <项>*<因子> => <因子>*<因子> =i*i (4) <表达式> => <表达式> + <项> => <项>+<项> => <项>*<因子>+<项> => <因子>*<因子>+<项> => <因子>*<因子>+<因子> = i*i+i (5) <表达式> => <表达式>+<项>=><项>+<项> => <因子>+<项>=i+<项> => i+<因子> => i+(<表达式>) => i+(<表达式>+<项>) => i+(<因子>+<因子>) => i+(i+i) (6) <表达式> => <表达式>+<项> => <项>+<项> => <因子>+<项> => i+<项> => i+<项>*<因子> => i+<因子>*<因子> = i+i*i 第7题

第9题 语法树 s s s* s s+a a a 推导: S=>SS*=>SS+S*=>aa+a* 11. 推导:E=>E+T=>E+T*F 语法树: E +T * 短语: T*F E+T*F 直接短语: T*F 句柄: T*F 12.

短语: 直接短语: 句柄: 13.(1)最左推导:S => ABS => aBS =>aSBBS => aBBS => abBS => abbS => abbAa => abbaa 最右推导:S => ABS => ABAa => ABaa => ASBBaa => ASBbaa => ASbbaa => Abbaa => a1b1b2a2a3 (2) 文法:S → ABS S → Aa S →ε A → a B → b (3) 短语:a1 , b1 , b2, a2 , , bb , aa , abbaa, 直接短语: a1 , b1 , b2, a2 , , 句柄:a1 14 (1) S → AB A → aAb | ε B → aBb | ε (2) S → 1S0 S → A A → 0A1 |ε 第四章 1. 1. 构造下列正规式相应的DFA (1)1(0|1)*101 NFA (2) 1(1010*|1(010)*1)*0 NFA

相关文档
最新文档