编译原理课后答案(第三版 蒋立源 康慕宁编)

2026/4/28 20:53:57

#include

#include

#define UPPER2

#define WHITE3 %}

upper[A-Z] %%

{upper}+returnUPPER;

\\t|\ %%

main(int argc,char *argv[]) {

int c,i;

if (argc==2) {

if ((yyin=fopen(argv[1],\ {

printf(\ } }

while ((c=yylex())!=EOF) {

if (c==2) {

for (i=0;yytext[i];i++)

printf(\

yytext[0]='\\000'; }

if (c==3)

printf(\

else printf(\ }

return; }

yywrap() {

return ; }

30 从略。

第四章习题参考答案 1.解:

(1)S→(S)Z21|()Z21|[S]Z31|[]Z31

A→(S)Z22|()Z22|[S]Z32|[]Z32

B→(S)Z23|()Z23|[S]Z33|[]Z33

Z11→ε|AZ11|BZ21

Z12→AZ12|BZ22Z13→AZ13|BZ23

Z21→Z11Z22→ε|Z12

Z23→Z13Z31→Z21

Z32→Z22Z33→ε|Z23

(2)S→bZ11|aZ21A→bZ12|aZ22

Z11→ε| AZ21Z12→AZ22Z21→SZ21Z22→ε|SZ22

(3)S→(T)Z11 | aZ11 | Z11S→(T)Z12 | aZ12 | Z12

Z11→ε| Z21Z12→Z22Z21→,SZ21Z22→ε|,SZ22

2.解:

SAbB1,1.1(表示第1步,用产生式1.1推导,以下同)

CAbbB2,2.1

edAbbB3,4.1

edCAbbB4,2.1

ededAbbbB5,4.1

edaAbbbB5,4.2 (不符合,改写第5步,用4.2)

edBfbbB4,2.2

edCSdfbbB5,3.1

ededSdfbbB6,4.1

edaSdfbbB6,4.2

eddfbbB5,3.2

eddfbbCSd6,3.1

eddfbbedSd7,4.1

eddfbbaSd7,4.2

eddfbbd6,3.2

3.解:以下Save表示save token_pointer value, Restore表示restore token_pointer value。 (1)文法没有左递归。

Function P:boolean;

Begin

Save;

P:=true;

If next_token=”begin” then

If next_token=’d’ then

If next_token=’;’ then

If X then

If next_token=”end” then return;

Restore;

P:=false; End;

Function X:boolean;

Begin

Save;

X:=true;

If next_token=’d’ then

If next_token=’;’ then

If X then return;


编译原理课后答案(第三版 蒋立源 康慕宁编).doc 将本文的Word文档下载到电脑
搜索更多关于: 编译原理课后答案(第三版 蒋立源 康慕宁编) 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

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

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