哈工大编译原理习题及答案

哈工大编译原理习题及答案

ID:8916246

大小:3.60 MB

页数:129页

时间:2018-04-12

哈工大编译原理习题及答案_第1页
哈工大编译原理习题及答案_第2页
哈工大编译原理习题及答案_第3页
哈工大编译原理习题及答案_第4页
哈工大编译原理习题及答案_第5页
资源描述:

《哈工大编译原理习题及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.1何谓源程序、目标程序、翻译程序、编译程序和解释程序?它们之间可能有何种关系?  1.2一个典型的编译系统通常由哪些部分组成?各部分的主要功能是什么?  1.3选择一种你所熟悉的程序设计语言,试列出此语言中的全部关键字,并通过上机使用该语言以判明这些关键字是否为保留字。  1.4选取一种你所熟悉的语言,试对它进行分析,以找出此语言中的括号、关键字END以及逗号有多少种不同的用途。  1.5试用你常用的一种高级语言编写一短小的程序,上机进行编译和运行,记录下操作步骤和输出信息,如果可能,请卸出中间代码和目标代码。第一章习题解答1.

2、解:源程序是指以某种程序设计语言所编写的程序。目标程序是指编译程序(或解释程序)将源程序处理加工而得的另一种语言(目标语言)的程序。翻译程序是将某种语言翻译成另一种语言的程序的统称。编译程序与解释程序均为翻译程序,但二者工作方法不同。解释程序的特点是并不先将高级语言程序全部翻译成机器代码,而是每读入一条高级语言程序语句,就用解释程序将其翻译成一段机器指令并执行之,然后再读入下一条语句继续进行解释、执行,如此反复。即边解释边执行,翻译所得的指令序列并不保存。编译程序的特点是先将高级语言程序翻译成机器语言程序,将其保存到指定的空间中,在

3、用户需要时再执行之。即先翻译、后执行。2.解:一般说来,编译程序主要由词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序、目标代码生成程序、信息表管理程序、错误检查处理程序组成。3.解:C语言的关键字有:auto break casecharconst  continuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoi

4、dvolatilewhile。上述关键字在C语言中均为保留字。4.解:C语言中括号有三种:{},[],()。其中,{}用于语句括号;[]用于数组;()用于函数(定义与调用)及表达式运算(改变运算顺序)。C语言中无END关键字。逗号在C语言中被视为分隔符和运算符,作为优先级最低的运算符,运算结果为逗号表达式最右侧子表达式的值(如:(a,b,c,d)的值为d)。5.略第二章前后文无关文法和语言 21设有字母表A1={a,b,…,z},A2={0,1,…,9},试回答下列问题:(1)字母表A1上长度为2的符号串有多少个?(2)集合A1A2

5、含有多少个元素?(3)列出集合A1(A1∪A2)*中的全部长度不大于3的符号串。22试分别构造产生下列语言的文法。(1){anbn

6、n≥0};(2){anbmcp

7、n,m,p≥0};(3){an#bn

8、n≥0}∪{cn#dn

9、n≥0};(4){w#wr#

10、w∈{0,1}*,wr是将w中的符号按逆序排列所得的符号串};(5)任何不是以0开始的所有奇整数所组成的集合;(6)所有由偶数个0和偶数个1所组成的符号串的集合。23试描述由下列文法所产生的语言的特点(文法的开始符号均为S)。(1)S→10S0S→aAA→bAA→a(2)S→SSS

11、→1A0A→1A0A→ε(3)S→1AS→B0A→1AA→CB→B0B→CC→1C0C→ε(4)S→bAdcA→AGSG→εA→a(5)S→aSSS→a24设已给文法G=(VN,VT,P,S),其中:VN={S}VT={a1,a2,…,an,∨,∧,~,[,]}P={S→ai

12、i=1,2,…,n}∪{S→~S,S→[S∨S],S→[S∧S]},试指出此文法所产生的语言。25考察文法G=(VN,VT,P,S),其中:VN={S,A,B,C,D,E,F,G}VT={a},P={S→ABC,C→BC,C→A,BA→GE,BG→GBF,AG

13、→AD,DB→BD,DE→AE,FB→BF,FE→Ea,AA→ε}(1)指出此文法的类型;(2)证明此文法所产生的语言为L(G)={at(n)

14、n≥1}t(n)=∑n[]i=1i26设已给文法G[〈程序〉]:〈程序〉→〈分程序〉

15、〈复合语句〉〈分程序〉→〈无标号分程序〉

16、〈标号〉:〈分程序〉〈复合语句〉→〈无标号复合语句〉

17、〈标号〉:〈复合语句〉〈无标号分程序〉→〈分程序首部〉;〈复合尾部〉〈无标号复合语句〉→begin〈复合尾部〉〈分程序首部〉→begin〈说明〉

18、〈分程序首部〉;〈说明〉〈复合尾部〉→〈语句〉end

19、〈语句〉;〈

20、复合尾部〉〈说明〉→d〈语句〉→s〈标号〉→L(1)给出句子L:L:begind;d;s;send的最左推导和最右推导。(2)画出上述句子的语法树。27设已给文法G[S]:S→aAcBS→BdSB→aScAB→cABA→BaBA→aB

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。