编译原理(第2版)课后习题答案详解 (4)

暮烟疏雨之际 分享 2020-06-20 下载文档

INT 0 A

在过程目标程序的入口处,开辟 A 个单元的数据段。A 为局部变量的个数+3。 OPR 0 0

在过程目标程序的出口处,释放数据段(退栈),恢复调用该过程前正在运行的过程的 数据段基址寄存器 B 和栈顶寄存器 T 的值,并将返回地址送到指令地址寄存器 P 中,以使

调用前的程序从断点开始继续执行。 CAL L A

调用过程,完成填写静态链、动态链、返回地址,给出被调用过程的基地址值,送入基 址寄存器 B 中,目标程序的入口地址 A 的值送指令地址寄存器 P 中,使指令从 A 开始执行。

第 6 题

给出对 PL/0 语言作如下功能扩充时的语法图和 EBNF 的语法描述。

(1) 扩充条件语句的功能使其为:

if〈条件〉then〈语句〉[else〈语句〉]

(2) 扩充 repeat 语句为:

repeat〈语句〉{;〈语句〉}until〈条件〉

答案:

对 PL/0 语言作如下功能扩充时的语法图和 EBNF 的语法描述如下:

(1) 扩充条件语句的语法图为:

EBNF 的语法描述为: 〈条件语句〉::= if〈条件〉then〈语句〉[else〈语句〉]

(2) 扩充 repeat 语句的语法图为:

EBNF 的语法描述为: 〈 重复语句〉::= repeat〈语句〉{;〈语句〉}until〈条件〉

第 3 章 文法和语言

第 1 题

文法 G=({A,B,S},{a,b,c},P,S)其中 P 为:

S→Ac|aB

A→ab

B→bc

写出 L(G[S])的全部元素。

答案:

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

或者:允许 0 开头的非负整数?

第3题

为只包含数字、加号和减号的表达式,例如 9-2+5,3-1,7等构造一个文法。

答案:

G[S]:

S->S+D|S-D|D

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

第 4 题

已知文法 G[Z]:

Z→aZb|ab

写出 L(G[Z])的全部元素。

答案:

Z=>aZb=>aaZbb=>aaa..Z...bbb=> aaa..ab...bbb

L(G[Z])={anbn|n>=1}

第 5 题

写一文法,使其语言是偶正整数的集合。

(1) 允许 0 打头;

(2)不允许 0 打头。

答案:

(1)允许 0 开头的偶正整数集合的文法 E→NT|D T→NT|D

N→D|1|3|5|7|9 D→0|2|4|6|8

(2)不允许 0 开头的偶正整数集合的文法 E→NT|D T→FT|G

N→D|1|3|5|7|9 D→2|4|6|8 F→N|0 G→D|0

第 6 题

要求:

已知文法 G:

<表达式>::=<项>|<表达式>+<项>

<项>::=<因子>|<项>*<因子>

<因子>::=(<表达式>)|i

试给出下述表达式的推导及语法树。

(5)i+(i+i)

(6)i+i*i


编译原理(第2版)课后习题答案详解 (4).doc 将本文的Word文档下载到电脑

下一篇:用组策略禁ping方法

相关推荐
相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7 元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xxxxxx QQ:xxxxxx