形式语言与编译考题回忆 2024

自己淋过雨不希望别人也和我一样痛苦。

如果以不挂科为目的 推荐重点复习前八章,其他的随便看看(和我一样)。

仔细学习考前的 PPT,我太弱还是没掌握,很亏。

考察重点:

每一章都有答题基本上,但词法分析只有 5 分。
其他基本都在 10 - 15 分。

选择题考察

PDA 的状态转移
编译器前后端中间组件
什么不属于中间语言(选项里有一个 sw 命令,其他是三元、四元)
待补充

大题

  • NFA 转 最小 DFA 再转 RE
  • 读词法分析联合 DFA,根据输入串写出输出,并判断优先级。
  • 文法修建,基础题,以及求 first follow 集 判断 LL1 文法。
  • 已知句子 +2++3*(+4) 和对应的语法树,树自己画吧 反正总结的文法是 E → E*E | E+E | +i | (E) 对这个句子进行规范规约;写出语法树的产物 直接短语 句柄;判断是否为歧义的 为什么
  • 写出 itemDFA 并判断是否存在冲突,如果存在,任意消除其中一个。文法为:S` → E E → E+E | +E | +i

int a[2, 3];
void f(int b(), int k){
if(k > 0 && k < 3) a[k-1,k] = b(k, 1)
else print 0;
}
1、对 f 函数声明进行语义分析(自然语言或者符号表均可)
2、对【if(k > 0 && k < 3) a[k-1,k] = b(k, 1)
else print 0;】进行分析。写出三地址/四元式。

int foo(int y;){
int z;
void bar(int x; int soo())
{ if(x > 3) bar(x/3, soo());
else z = soo(x);
print z;
}
int row(int x)
{
y = x + 5;
return y;
}
bar(y, raw());
}
foo(6)

写出执行到 return y;
时候的栈快照。

8 Likes

我认为直接学其它学校正常的编译课程就行了
形式语言与自动机这部分考的其实没比正常编译课程的内容多多少

同数据库。(数据库已售出)
出售本人【形式语言与编译】课本,带有大量笔记,完全保存本人从零开始的形编之旅。
【¥9.9】,所得同样捐赠 ADMIN 维护门的运营。
有意者私聊我。

已售出。

选择题:

  • 下面哪个不能识别正则语言
  • 编译的几个步骤,前后端接口
  • 一个字母表不能组成哪个字符串
  • 递归下降分析的代码实现(可看中科大)
  • 控制流代码翻译,考了 and
    大题楼主的很全

已捐赠

1 Like

我注册了 xjtuboblee-cnm.top,但是不打算搭建网站