开篇语(ReadMe)

  这是我的一系列公开场合自愿发表的关于jac编译器的实现的文章中的第一篇,因为目前的编译器没有写完,当然已经完成了很大部分,就差收关了.所以这里提到的代码可能跟最终jac发布版的代码不同,但是设计思想不会有太大变化,而且对于理解一个编译器的实现来说这里的代码就足够了.

  首先介绍一下jac,jac的意思是just a core,及就是一个编译器的内核,没有预处理器与库,至少目前没有.因为我实在没有那么多的时间去写.jac将会生成 AT&T格式的汇编语言,及可以被 gas所编译.准备写jac开始于两年多以前(当时我还快乐地在哈尔滨,有足球和朋友),其中我花了很多的时间在读标准,理解语言.最终你也会发现写一个编译器其中很难的一个部分是理解语言.

  我目前对jac的规划是:先实现一个可以运行的版本,然后逐步为各模块选择高效的算法及其加入优化,加入预处理器和自己的汇编器..

  我的blog的内容编排是这样的:首先是解释编译器实现里面需要用到的标准的内容.最好你有一份ANSI C89 standard,C99的也可以.推荐是英文版,C89有一个相应的中文版本,但是你别打歪主意,看懂那个中文版本相当费劲.里面翻译的中文术语比裘老师过分很多很多.如果你英文比较差,好消息是我解释标准的时候会用中文:-) .其次就是给出设计的思想及其解释其中的实现代码.

  因为我的系统是linux,所以绘图会很不方便,我有很多的草稿图但是因为没有相机没有办法给你们看.

  我的写作向来很差,可能会让你看着不舒服.在这里表示歉意.

  有任何意见和建议都可以联系我,email: feqinfan@126.com

                   feqinfan@gmail.com(我这里上gmail比下载一部 1G的电影都费劲,还是优先发126邮箱联系我吧)


posted @ 2011-10-27 01:59  feqin  阅读(413)  评论(0编辑  收藏  举报