付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1997 年编译原理试题1(10 分)某操作系统下合法的文件名为device:name.exten其中第一部分(device:)和第三部分(.exten)可缺省,若device, name 和exten都是字母串,长度不限,但至少为 1,画出识别这种文件名的确定有限自。2(20 分)a.下面的二义文法描述命题演算公式,为它写一个等价的非二义文法。S S and S | S or S | not S | p | q | (S)下面文法是否为LL(1)文法?说明理由。b.S A B | P Q xP d P | A x yB b cQ a Q | 3(10 分)某些语言允许给出名字表的一个属性表,
2、也允许明里面,下面文法抽象这个问题。D attrlistnamelist|attrlist (D) namelist id, namelist |idattrlist A attrlist |AA decimal |fixed |float |real嵌在另一个声D attrlistnamelist 的含义是:在namelist 中的任何名字有attrlist 中给出的所有属性。D attrlist (D) 的含义是:在括号中的提到的所有名字有attrlist中给出的所有属性,而不管嵌套多少层。 写一个翻译方案,它将每个名字的属性个数填入符号表。为简单起见,若属性重复出现,则重复计数。4(10
3、 分)把表达式-(a+b)*(c+d)+(a+b+c)翻译成四元式。5(10 分)由于文法二义引起的 LR(1)分析动作,可以依据消除二义的规则而得到 LR(1)分析表,根据此表可以正确识别输入串是否为相应语言的句子。对于非二义非LR(1)文法引起的 LR(1)分析动作的,是否也可以依据什么规则来消除 LR(1)分析动作的而得到 LR(1)分析表,并且根据此表识别相应语言的句子?若可以,你是否可以给出这样的规则?6(5 分) UNIX 下的 C 编译命令cc 的选择项g 和 O 的解释如下,其中dbx的解释是“dbx is an utility for source-level debuggi
4、ng and execution of programs written in C”。试说明为什么用了选择项g 后,选择项O 便被忽略。-gProduce additional symboltableinformationfordbx(1) and dbxtool(1) and pass -lg option to ld(1)(soastoincludetheglibrary,tis:/usr/lib/libg.a).When this option is given, the-O and -R options are suppressed.-OlevelOptimize the object
5、 code.Ignored when either -g,-go,or -a is used.7(15 分)下面程序在SUN 工作站上运行时陷入死循环,试说明原因。如果将第 8 行的long *p 改成short *p,并且将第 23 行long k中的循环体执行一次便停止了。试说明原因。main()addr();loop();改成short k 后,looplong *p;loop()long i,j;j=0;for(i=0;i10;i+) (*p)-;j+;addr()long k;k=0;p=&k;8(15 分)下面程序的结果是 120。但是如果把第 10 行的 abs(1)改成 1 的
6、话,则程序结果是 1。试分析为什么会有这不同的结果。fact()sici=5;if(i=0) return(1);else i=i-1; return(i+abs(1)*fact();main()prf(factor of 5 = %dn, fact();9(5 分)在文件stdlib.h 中,关于qsort 的外部extern void qsort(void *, size_t, size_t, (*)(const void *, const void *);如下:下面C 程序所在的文件名是type.c,用Solaris C 编译器编译时,错误信息如下:type.c, line 24: warning: argument ispatible with prototype: arg #4请你对该程序略作修改,使得该警告错误能,并且不改变程序的结果。注:程序中关于变量 astHypo 和 n 的赋值以及其它部分被略去。Solaris C 比ANSI C 有更严格的静态检查。#include typedef structAve; doubleProb;HYPO;HYPO*astHypo;n;pare(HYPO *stHypo1, HYPO *stHypo2)if (stHypo1-ProbstHypo2-Prob) return(-1);else if (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 进出口阶段性演出协议
- 废旧铝制品分选预处理方案
- 2025年和田县事业单位真题
- 工业互联网智能运维
- 资产管理企业不良资产估值定价与处置管理方案
- 中医院中医特色诊疗平台方案
- 生物医药研发细胞机器人
- 扬尘管控作业指导书
- 微纳加工设备精密制造检测校准系统
- 算力网络边缘化轻量化部署
- 高一年级第二学期期末考试化学试题与答案解析(共三套)
- 脑积水术后病人的护理查房课件
- 控制电机与特种电机 课后习题及其答案
- 状元大考卷五年级下册数学人教版
- 赛瓦特机组使用说明书
- (3.1)-1.1《中药养颜秘籍》导读
- 护士临床“三基”实践指南测试题集
- GB/T 10116-1988仲钨酸铵
- 中华人民共和国教师法
- 数的起源与发展
- 幼儿教师心理健康教育课件
评论
0/150
提交评论