这是一篇编译原理的吐槽文

乱来的学校

编译原理这么重要的课程竟然放到需要实习的这个学期来上,好端端的一个学期被压缩到只有半个学期,要在这半个学期里面上完编译原理的课程,教学效果可想而知。

编译原理这么重要的课程竟然是一门选修课,对这学校课程的安排真是没话说了。数据库开发课退化成C#课,这学期又临时加了一门Java,说是迎合社会需求。喂喂你们是大学还是技校啊。

选修课带来的好处

所谓选修课,就是不用整个专业120个人挤在一个大教室里面上课了。根据老师反映回来的情况,选了编译原理的只有40多个人。虽然是40个人,但是我们还是占用了一个可容纳120人以上的大教室。虽然是40个人,但是实际上来上课的才一半多一点,这还是刚刚开始上课的那几周的情况。最近几周的情况则是只有十几个(15个以下)人来。目前观察到的人数最低记录是前一节课出现的,只来了12个人(包括我,不包括老师)。不知到再过几周,人数能不能突破个位数大关呢?

正则表达式还真的是人工神经网络研究的产物啊

在上到词法分析的时候就学到自动机了,顺便知道了正则表达式的别名叫做正规式,还知道了自动机可以用来识别正规式。于是就知道,原来看起来很高深莫测的正则表达式匹配不过如此啊,就是一个自动机而已。从正规式可以构造非确定自动机,然后非确定自动机可以确定化成确定自动机,之后再XXOO一下子就可以进行正则匹配了。把自动机表示出来其形式其实和神经网络很像,于是就理解以前看到的正则表达式是某人在研究人工神经网络时弄出来的副产品这一轶事了。

编译原理是一个很好玩很强大的东西

目前只学到了大概是编译过程的一半,就已经学到了很多很好玩的东西了。学到现在已经体会到,编译器的原理其实很简单嘛,就是一大堆基础理论的堆积而已,只不过是构建过程工作量大而已,所以才有了Compiler Compler(编译器编译器,编译器的编译器)。基础理论真美妙,各种方法灵巧的配合就能搭建起一个美丽精巧的语言翻译系统。不得不说编译原理真是这四年来最美丽的课程了啊。

以前的那个libantixunlei里面使用的那个数据结构

现在终于发现,其实那就是一个自动机嘛。如果早学编译原理的话我就可以写出更加清晰命了的代码了。

惨烈的作业

第二次作业交上去的好像只有8个人,作业发下来以后我得了一个C,经查阅其他人的作业,发现总共只有2个C,其他6个都是D。啊这真是餐具啊。

强大的作业

老师说目前我们的进度稍快,于是就浪费一下时间好了。这时候学到LR(1)文法,浪费时间的方法就是找一个同学到黑板上做课本上的一个例题。于是就有了下面的照片。解出整个题目耗时超过一节课。这题是构造一个文法的LR(1)分析表。说回来这节课过得最轻松了。

以下两照片作者:GS。所以照片上面那个人不是我。另外,那件衣服也不是我们的校服。

本文发表于 偶的动态,并添加了 , 标记。保存永久链接到书签。

发表评论

电子邮件地址不会被公开。