04编译原理试题.docxVIP

  • 29
  • 0
  • 约1.13千字
  • 约 2页
  • 2021-12-09 发布于天津
  • 举报
2004 编译原理部分 1.( 10分)下面的文法是 LR(1) 文法。请合并该文法 LR(1) 项目集规范族中的同心集,以说 明该文法不是 LALR(1) 文法。 S a A d | b B d | a B e | b A e A c B c ( 10分)为下面文法写一个语法制导的定义,用 S的综合属性val给出下面文法中 S产 生的二进制数的值。例如,输入 101.101 时, S. val := 5.625。(不得修改文法。 ) S L . R | L L L B | B R B R | B B 0 | 1 ( 5分)在 X86/Linux 机器上,编译器报告第 15 行有错误: incompatible types in return 在 C 语言中,数组和结构都是构造类型,为什么下面第 2 个函数有类型错误,而第 1 个函数没有? typedef int A1[10]; typedef int A2[10]; A1 a; typedef struct {int i;}S1; typedef struct {int i;}S2; s; A2 *fun1() { return(a); } fun2() { return(s); } ( 5分)在C语言中,若a和b是相同的结构类型,那么赋值 a=b是可以的。但是编译器 对这种赋值的实现方式可能和它们的字节数( size)有关

文档评论(0)

1亿VIP精品文档

相关文档