星空网 > 软件开发 > Java

编译器开篇:总述

      首先声明,该系列博文是我学习编译原理的过程中的记录,其中主要参考的书籍是Allen I Holub的Compiler design in C.

      首先对该书作者表示感谢,像龙书,虎书,鲸书这基本书太过高深,阅读理解核心思想还可以,但离自己动手编写实际的代码还是有距离的,我觉得代码这种东西还是自己写出来才算是真正有意义的,于是动手改写随书代码(原书是C版本,自己尝试改为Java版本)并对编译器整体结构进行了拆分,以求梳理出清晰的线路,以便自己真正理解并在以后可以回想起来,以上就是我学习的初衷。

      按原书籍的组织结构,也是分为词法分析器生成器(LEX)、语法分析器生成器(YACC)来完成,先放一张最近梳理的词法分析器的结构图吧,后续还会继续深入。

      图是用思维导图freeplane画出来的,实在太大,分成几块来看吧。

      编译器开篇:总述

 

图一 词法分析器整体图

       编译器开篇:总述

图二  输入缓冲区结构图

             编译器开篇:总述

图三 词法分析器生成器结构图

             编译器开篇:总述

图四   不确定有限自动机结构图

编译器开篇:总述

 

图五确定有限自动机结构图

编译器开篇:总述

图六  分析器生成图

 编译器开篇:总述

图七  模板文件图

 




原标题:编译器开篇:总述

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流