蒋立源-《编译原理》-西北工业大学出版社-第3版课后答案.pdf

蒋立源-《编译原理》-西北工业大学出版社-第3版课后答案.pdf

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
《编译原理》课后习题答案 第一章 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)。 5. 略 第二章 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.构造产生下列语言的文法 (1){anbn|n≥0} 解:对应文法为 G(S) = ({S},{a,b},{ S→ε| aSb },S) (2){anbmcp|n,m,p≥0} 解:对应文法为 G(S) = ({S,X,Y},{a,b,c},{S→aS|X,X→bX|Y,Y→ cY|ε},S) (3){an # bn|n≥0}∪{cn # dn|n≥0} 解:对应文法为 G(S) = ({S,X,Y},{a,b,c,d,#}, {S→X, S→Y,X→ aXb|#,Y→cYd|# },S) (4){w#wr# | w?{0,1}*,wr 是 w 的逆序排列} 解:G(S) = ({S,W,R},{0,1,#}, {S→W#, W→0W0|1W1|# },S) (5)任何不是以 0 打头的所有奇整数所组成的集合 解:G(S) = ({S,A,B,I,J},{-,0,1,2,3,4,5,6,7,8,9},{S→J|IBJ,B→ 0B|IB|e, I→J|2|4|6|8, Jà1|3|5|7|9},S) (6)所有偶数个 0 和偶数个 1 所组成的符号串集合 解:对应文法为 S→0A|1B|e,A→0S|1C B→0C|1S C→1A|0B 3.描述语言特点 (1)S→10S0S→aAA→bAA→a 解:本文法构成的语言集为:L(G)={(10)nabma0n|n, m≥0}。

文档评论(0)

158****6415 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档