Home > 博士五年 > 上周

上周

November 4th, 2010 Leave a comment Go to comments

论文中了之后,就忙着改论文,10.31要提交final version。先是删了一张图,修改了一些内容,然后是压缩版面。之前投的时候,采用article的版式,用了15页。现在要改成IEEE conference的版式。一开始用的是{IEEEconf}文档类型,格式一直都不对,页边距和两栏之间的距离都过大,15页也只压缩到12页。后来改成[conference]{IEEEtran},格式才正确。上周六,10.30才改好,然后提交了。提交之后发现没有加keywords,老板也忘了让我加acknowledgment。周一和老板讨论之后,决定加进去。接着我尝试着联系会议组织方,联系那个给我发paper提交成功确认邮件的那个人,问怎么样才能替换先前在网上提交的paper。没收到答复,11.2的时候,我又上了那个网站,把paper重新提交了,说10.31是hard deadline,但网站没关闭。我也不知道这样可不可行,如果有问题的话,他们应该会联系我吧。

CIS 706上周二布置了第4个project – bytecode generation,周四还有一个quiz,而我又忙着改论文,所以决定先准备quiz和修改论文,project等改完论文了再做。周四的quiz,因为看slide时把一个定义看错了,导致一道20分的题错了好几项,估计要被扣不少分。上周六弄完论文后,就开始做project,以为会比上次 – typechecker的简单(上次花了不少时间弄),后来发现这次的project很诡异,测试时除了failure还有error。前三次project都只有failure出现。一开始先把ExtendedStaticJava中StaticJava不包括的结构的visit函数写好,本以为这样就完事了。跑了test case,发现failure和error加起来有二十几个。一遍遍地看源代码,一遍遍的debug,消了一些failure,但错误似乎更多了,failure和error是此消彼长的关系(汗)。在一次调试中发现,error是在test函数的某一行命令处捕捉到的,于是把它注释掉,重新跑了一次程序,只有failure,没有error出现。但这test函数是老师给的,不是我自己写的,所以我的程序还是有错,只不过不显示了而已。就这么吧,不然error和failure加起来,在console里都看不到哪个程序出现了哪个错误,不方便调试。期间也和张志同学讨论了一些问题,最终把failure都消掉了,但error还是8个,张的剩下四个,这时候已经是周一晚上了,11.1。程序11.2深夜due。还有一天的时间。第二天继续搞,于下午把所有的error消除了,当时太激动了。搞了好几天的程序,终于整出来了,原来都想着就把那有failure和error的程序给交了。程序中的failure和error都是修改程序时没把一些语句和变量对应地进行修改。看来还是you couldn’t be more careful。

今天老师给了最后一个project – team project。前四个程序完成的是:grammar – parser – typechecker – bytecodegenerator,最后生成的是java bytecode。team project要求最后生成的是C code。要完成的事很多,如下:

* You will need to learn the String Template facility from Terrance
Parr and use it to emit the C code. Come up with the translation
template (defined using string templates) for each language feature.
* Develop a C representation for the StaticJavaLib library functions
used, e.g., in the factorial.java example used in the ESJ examples
* Develop a garbage collection approach to handle the memory
management associated with objects and arrays. You should use the
mark & sweep garbage collection approach.
* Develop a testing approach so that you can test that the output of
your compiler compiles and runs correctly.
* Produce Powerpoint slides to document your work as explained below.

这些东西很多都不清楚,看着就很难的样子,有的忙了。此外,要做两次presentation。这门课名副其实的tough,不过通过这一些个project,算是对compiler有点真正的了解了,和国内光教compiler理论的课不是一个层次上的。

今天下午和老板的meeting,确定了下学期要选的课,6个学分的research,3个学分的CIS 722 – Operating System Practice。CIS 722主要讲Unix编程的,据说,也是一门tough且worthy课。APUE的书我看了大部分了,但没敲过代码实践一下,正好借这门课practice。Go Get it!

Categories: 博士五年 Tags: , ,
  1. No comments yet.
  1. No trackbacks yet.