云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 清华大学编译原理第二版课后习答案

清华大学编译原理第二版课后习答案

  • 62 次阅读
  • 3 次下载
  • 2025/5/24 3:43:59

清华大学第二版编译原理答案

《编译原理》课后习题答案第一章 第 4 题

对下列错误信息,请指出可能是编译的哪个阶段(词法分析、语法分析、语义分析、 代码生成)报告的。 (1) else 没有匹配的if (2) 数组下标越界

(3) 使用的函数没有定义 (4) 在数中出现非数字字符 答案:

(1) 语法分析 (2) 语义分析 (3) 语法分析 (4) 词法分析

《编译原理》课后习题答案第三章 第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 答案: <表达式>

<表达式> + <项> <因子> <表达式>

<表达式> + <项> <因子> i <项> <因子> i <项> <因子> i ( )

(5) <表达式>

=><表达式>+<项> =><表达式>+<因子>

=><表达式>+(<表达式>)

清华大学第二版编译原理答案

=><表达式>+(<表达式>+<项>) =><表达式>+(<表达式>+<因子>) =><表达式>+(<表达式>+i) =><表达式>+(<项>+i) =><表达式>+(<因子>+i) =><表达式>+(i+i) =><项>+(i+i) =><因子>+(i+i) =>i+(i+i) <表达式>

<表达式> + <项> <项> * <因子> <因子> i <项> <因子> i i

(6) <表达式>

=><表达式>+<项>

=><表达式>+<项>*<因子> =><表达式>+<项>*i =><表达式>+<因子>*i =><表达式>+i*i =><项>+i*i =><因子>+i*i =>i+i*i 第7 题

证明下述文法G[〈表达式〉]是二义的。 〈表达式〉∷=a|(〈表达式〉)|〈表达式〉〈运算符〉〈表达式〉 〈运算符〉∷=+|-|*|/ 答案:

可为句子a+a*a 构造两个不同的最右推导: 最右推导1 〈表达式〉〈表达式〉〈运算符〉〈表达式〉 〈表达式〉〈运算符〉a 〈表达式〉* a 〈表达式〉〈运算符〉〈表达式〉* a 〈表达式〉〈运算符〉a * a 〈表达式〉+ a * a a + a * a

最右推导2 〈表达式〉〈表达式〉〈运算符〉〈表达式〉 〈表达式〉〈运算符〉〈表达式〉〈运算符〉〈表达式〉 〈表达式〉〈运算符〉〈表达式〉〈运算符〉 a 〈表达式〉〈运算符〉〈表达式〉 * a 〈表达式〉〈运算符〉a * a

清华大学第二版编译原理答案

〈表达式〉+ a * a a + a * a 第8 题

文法G[S]为: S→Ac|aB A→ab B→bc

该文法是否为二义的?为什么? 答案: 对于串abc

(1)S=>Ac=>abc (2)S=>aB=>abc

即存在两不同的最右推导。所以,该文法是二义的。 或者:

对输入字符串abc,能构造两棵不同的语法树,所以它是二义的。 S a B b c S A c a b

第9 题

考虑下面上下文无关文法: S→SS*|SS+|a

(1)表明通过此文法如何生成串aa+a*,并为该串构造语法树。 S S S * S S + a a a

(2)G[S]的语言是什么? 答案:

(1)此文法生成串aa+a*的最右推导如下 S=>SS*=>SS*=>Sa*=>SS+a*=>Sa+a*=>aa+a*

(2)该文法生成的语言是:*和+的后缀表达式,即逆波兰式。 第10 题

文法S→S(S)S|ε

(1) 生成的语言是什么?

(2) 该文法是二义的吗?说明理由。 答案:

(1) 嵌套的括号

(2) 是二义的,因为对于()()可以构造两棵不同的语法树。 第11 题

令文法G[E]为: E→T|E+T|E-T T→F|T*F|T/F

搜索更多关于: 清华大学编译原理第二版课后习答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

清华大学第二版编译原理答案 《编译原理》课后习题答案第一章 第 4 题 对下列错误信息,请指出可能是编译的哪个阶段(词法分析、语法分析、语义分析、 代码生成)报告的。 (1) else 没有匹配的if (2) 数组下标越界 (3) 使用的函数没有定义 (4) 在数中出现非数字字符 答案: (1) 语法分析 (2) 语义分析 (3) 语法分析 (4) 词法分析 《编译原理》课后习题答案第三章 第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

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com