前言
在编译原理的复习过程中,参考了许多前辈总结的考题,获益匪浅,在此向他们表示感谢。趁现在对考题仍有几分记忆,做下记录,希望帮助到学弟学妹们。
考试题型
考试题型近几年都较为固定,分为以下几种:
2021年1月试题汇总
一、基础知识题
判断该正则表达式文法是否正确?如不正确应该如何进行改写?
二、正则表达式->DFA分析题
请画出 C++ 语言中单词的DFA图,并写出对应的词法分析程序。
三、自顶向下分析设计题
请写出 C 语言中 if-else 语句的文法,并用语法树为其生成四元组,写出该语法树的程序。
四、LR分析题
写出判断一个文法是否为 SLR(1) 文法的程序。
五、语义分析题
小明发明了一种新的类型声明语句,形式如下,请你写出其对应的文法及语义分析程序。
1 | i:float |
六、综合分析设计题 (矩阵连乘)
当有多个矩阵进行运算时,各个矩阵之间的运算顺序可影响到最终的运算次数。如 A 为 50×20 的矩阵,B为 20×5 的矩阵,C为 5×30 的矩阵,那么 (AB)C 的运算次数为12500次,A(BC) 的运算次数为33000次,下面请你用编译原理的方法完成这一类式子的计算和判别功能,写出相关的思路和代码,要求的输入输出格式如下:
注意:不用编译原理相关的方法最多得3分!!
1 | Input: |
写在后面
本次汇总是根据回忆所写出来的,因此难免有疏漏或错误。如各位在观看时对汇总的题目有不解,或是发现了错误,请通过我的邮箱mail#charfole.top(#换成@)联系我,感谢!