自己动手开发编译器
感觉讲的通俗易懂。
遗憾的是作者只讲到源码生成.NetFrameworkdCLR的中间语言——CIL(Common IL,MSIL)。而从中间语言到目标机器代码的编译器后端部分,因作者身体原因而停止更新了。
作者的博客地址
http://www.cnblogs.com/Ninputer/
源码
https://github.com/Ninputer/VBF
-
发编译器(零)序言
https://www.cnblogs.com/Ninputer/archive/2011/06/06/2073908.html
-
自己动手开发编译器(一)编译器的模块化工程
https://www.cnblogs.com/Ninputer/archive/2011/06/07/2074632.html
-
自己动手开发编译器(二)正则语言和正则表达式
https://www.cnblogs.com/Ninputer/archive/2011/06/08/2075714.html
-
自己动手开发编译器(三)有穷自动机
http://www.cnblogs.com/Ninputer/archive/2011/06/10/2077991.html
-
自己动手开发编译器(四)利用DFA转换表建立扫描器
http://www.cnblogs.com/Ninputer/archive/2011/06/12/2078671.html
-
自己动手开发编译器(五)miniSharp语言的词法分析器
http://www.cnblogs.com/Ninputer/archive/2011/06/13/2080094.html
-
自己动手开发编译器特别篇——用词法分析器解决背诵圣经问题
http://www.cnblogs.com/Ninputer/archive/2011/06/16/2083092.html
-
自己动手开发编译器(六)上下文无关语言和文法
https://www.cnblogs.com/Ninputer/archive/2011/06/18/2084383.html
-
自己动手开发编译器(七)递归下降的语法分析器
http://www.cnblogs.com/Ninputer/archive/2011/06/21/2085527.html
-
自己动手开发编译器(八)用Linq编写解析器组合子
http://www.cnblogs.com/Ninputer/archive/2011/06/26/2090645.html
-
自己动手开发编译器(九)CPS风格的解析器组合子
http://www.cnblogs.com/Ninputer/archive/2011/07/03/2096944.html
-
自己动手开发编译器(十)miniSharp语法分析器
http://www.cnblogs.com/Ninputer/archive/2011/07/08/2099570.html
-
自己动手开发编译器(十一)语义分析
http://www.cnblogs.com/Ninputer/archive/2011/07/22/2112030.html
-
自己动手开发编译器(十二)生成托管代码
http://www.cnblogs.com/Ninputer/archive/2011/08/02/2120435.html