几篇文章了解编译原理

如果你是一个从来没有上过一节计算机课,半道出家的程序猿.像我一样,一定被各种计算机名词唬过,什么算法啦,编译原理啦.被唬过后的你去买过算法导论,虎书回去啃,结果啃的很辛苦,更苦逼的是中国人写的书,特别是大学的教材,看不懂那真不是你智商问题.  

   作为一个普通的应用程序开发人员,我相信大部分人都没有真正认真啃完过那些厚书,我始终觉得大学时候你不把妹,你在那啃算法,这种人是不是有病.毕业时候二十来岁,不去玩乐,天天在写字楼里盯着屏幕,只能是DIAO丝(我承认我是这种厮).哪怕像我这样马马虎虎啃过一些的,了解这些除了解惑,还真没用上过.平时做项目的时候,一个星期还在那哼唧哼唧编代码,什么界面效果也看不到,老大就彪了:"什么?!,搞到现在啥也看不到?!" 两星期功能没增加,界面没啥变化. "什么?这段时间你们在干啥?"

别人说啥你也不会相信,你天天在写js的时候用不上编译原理,非要花时间去折腾弄懂,那就推荐几篇文章,了解一下所谓的编译原理.让你节约一点时间去陪陪家人,锻炼一下身体,以免技术还不突出的时候,颈椎已经突出了.

Create a Language Compiler for the .NET Framework

http://msdn.microsoft.com/en-us/magazine/cc136756.aspx

如果你是.NET的程序猿,这篇文章就是为你准备的,这篇文章用C#实现了一个简单的语言然后最终生成IL代码.打印下来一共十几页,就这么点东西.所谓的词法分析(Lexer),语法分析器(Parser)生成AST(Abstract Syntax Tree)抽象语法树,到编译器后端都有了.你还需要知道什么.

Let's Build a Compiler

http://compilers.iecc.com/crenshaw/

这是一个物理学Phd 写的,写这些文章的时候,我出生没多久.搞物理的懂吧,完全的和我一样门外汉,所以一定很容易懂.代码是Pascal的.看了第一篇我都没多大兴趣看完这个了.

我这辈子很显然没机会,有机会也不会去写个毛编译器,哪怕是IronPython那种转换,生命是如此的短暂,却去Hacker这些玩意,那么还是可能会有需要写个转换器,那么看一点Antlr吧. 只要了解一点NBNF写个grammar,那玩意把你lexer,parser都生成好了,生成java,python,c#随你.

探索Antlr

http://dreamhead.blogbus.com/logs/10756716.html

Five minute introduction to ANTLR 3

http://www.antlr.org/wiki/display/ANTLR3/Five+minute+introduction+to+ANTLR+3

OK了,差不多了,好久没有全休过完整的双休日,去做个饭.

posted on 2012-07-07 11:39  Haozes  阅读(1408)  评论(0编辑  收藏  举报