- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中科院计算所2003 年考研试题
第一部分 编译(40’)
一、(1/01)*0*说明是什么语言 画出DFA (10’ )
二、S→过程调用语句/数组的赋值语句(10’)
过程调用语句为:id(id,id,…,id)
赋值语句: id(id,…,id):=id(id,…,id)
(a)写一个LR (1)方法(产生式不大于6 个)
(b)若在LR 分析同时完成语义分析,中间代码生成,基于你的文法有什么困难?
三、E→E*E/+E/-E/unsigned-integer
为上面表达式产生栈机器代码,代码执行后,表达式值留在栈上,自己设计所需栈机器指令,并写清指令含
义。(10’)
四、C 语言中,a 表示数组首址,而a 也表示数组首址,然而使用时有时并不相同,请根据下面写出a 与a
类型表达式 (10’)
(1) tgpedef int A[10][20]
A a;
A * func ( )
{
return(a);
}
在linux 上用gcc 编译报告:第6 行warning: return from incompatible pointer type
(2) typedef int A[10][20]
A a;
A *func( )
{
return(a);
}
无类型方面错误
(3) typedef int A[10][20]
typedef int B[20]
A a;
B *func( )
{
return(a);
}
无类型方面错误
(4) typedef int A[10][20]
A a;
func( )
{
Printf(“%d,%d,%d/n,a,a+1,a+1);
}
main( )
{
func( );
}
结果:134518112,134518192,134518912
1
中科院计算机技术研究所 1999 年硕士生入学试题
中科院计算所 1999 年编译原理与操作系统
一.(15 分)有表达式如下:A+B*(C-D)**N (**为幂乘)
(1)给出该表达式的逆波兰式表示(后缀式);
(2)给出上述表达式的四元式和三元式序列.
三.(5 分)构造一个 DFA(确定的有限自动机),使之接受含偶数个使之接受含偶数个 的0,1 串集.
四.(5 分)有文法 G,其产生式如下:
S-S(S),
S-ε /*空产生式*/
试写出一个语法制导定义,它输出配对的括号个数.
五.(10 分) 已知某语言 L={a^(m)b^(n)|nm=0}.试写出产生该语言的两个文法 G1 和 G2,其中 G1 是 LR(1)文
法,G2 是非 LR(1)和非二义性文法.
六.填空(每空一分,共 20 分)
中科院计算所 1999 年编译原理与操作系统参考答案
一.(1)后缀式:ABCD-*+ECD-N**/+
(2)四元式 三元式
(1)(-,C,D,t1) (1)(-,C,D)
(2)(*,B,t1,t2) (2)(*,B,(1))
(3)(+,A,t2,t3) (3)(+,A,(2))
(4)(-,C,D) (4)(-,C,D,t4)
(5)(**,(4),N) (5)(**,t4,N,t5)
(6)(/,E,t5,t6) (6)(/,E,(5))
(7)(+,t3,t6,t7) (7)(+,(3),(6))
四.(5 分)为符号 S 引入综合属性 h,语法制导定义如下:产生式语义规则 S-S1(S2)S.h:=S1.h+S2.h+1S- ε
S.h:=0S-Sprint(S.h)/*输出其配对括号数*/
五.(10 分)G1:LR(1)文法 G2:非 LR(1),非二义性文法 S-A,BS-aSb|BA-aAb| εB-Bb|bB-Bb|b
六.填空 1.并发,共享 2.初始化标识符信息,初始化处理机状态信息
文档评论(0)