![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译器开发日志
文章平均质量分 81
CloudrooF
这个作者很懒,什么都没留下…
展开
-
MastarCpler开发日志(一)——环境准备
1、前言 计算机系统大作业,让我们写一个编译器,将一种叫做Mx*的语言编译成可执行代码。我发现以前做个什么东西,不管是配环境得到的经验,还是在写的过程中有什么思考,都没有留下什么痕迹。尤其是配环境这种东西,每次都要新查资料,非常烦,于是打算花点时间写点东西,既是自己工作的记录,也是给别人的一个参考吧。哦,对了,MastarCpler是我随意起的名字。2、Mx*语言介绍 ...原创 2018-04-04 15:51:25 · 351 阅读 · 0 评论 -
MastarCpler开发日志(二)——用antlr4搞出parse树
参考:-官方文件:https://github.com/antlr/grammars-v4/blob/master/cpp/CPP14.g4-《C++ Primer》第五版-别人的总结https://abcdabcd987.com/notes-on-antlr4/过程:Mx*语言结构另外推荐一个挺好的在线画框图的网站:https://processon.com/我认为基本用到的antlr4格式大概...原创 2018-04-05 15:32:00 · 1556 阅读 · 0 评论 -
MastarCpler开发日志(四)——语义分析
距离上一次更新抽象语法树的内容已经过去10天了,在写代码的过程中,总是有很多坑特别想记录,但到现在已经忘得差不多了,只能记录个大概,感觉有点遗憾。下次我应该换个更好的方式。参考主要是青木峰郎的《自制编译器》还有很多网上的资料。预备知识怎样用IntelliJ里的Git: https://my.oschina.net/u/2608182/blog/745178。Java异常处理。步骤建...原创 2018-04-22 12:59:38 · 509 阅读 · 0 评论 -
MastarCpler开发日志(五)——构建IR(without SSA)
抱歉博客有一阵子没更了,因为生了四五天的病,又因为书上对这一段介绍的顺序奇奇怪怪的,it confuse me for a long time. 不过我现在可以把我前几天写的东西记录一下了。参考《编译器设计》(《Engineering a Compiler》)龙书大体思路AST => 线性IR(三地址代码) => 构建CFG => ...原创 2018-05-23 20:25:17 · 507 阅读 · 1 评论