之前毕业设计想尝试设计一门语言并且实现编译器,奈何时间加个人状态不佳只做到了十分简陋的ast解释器,最近又想着转成编译器并且打算认认真真做下去。既然要做那索性把这个过程中重要的部分记录下来,记录的过程能够反思做的内容,回顾有没有隐藏bug,并且能够督促我继续做下去。不过受限于时间精力,恕我不能一口气把以前写的部分的讲解补上,下次一定(咕咕咕)
Rclang长远的想法是作为一门教学相联系的语言(并不是给刚学编程的人教学的意思),但是那还太遥远,甚至都不知道能不能坚持到那个时候,现阶段的目标是能够编译正确的代码到VM上正确执行,并且在这个过程中加强自己编程语言、编译器以及VM的基础知识。所以会有许多为了能跑或者了解相关知识而实现的决策,并且会反复修改很多设计
本人水平不足,代码赶工情况很明显,因为时间真的不多,每天都要上班,同时每天以及周末还需要去学习其他的东西,也因此博客会粗糙一些(记录下来花费的时间比我预想的要多很多)。一定会有许多地方理解不够或者存在问题,如发现问题或者不合适的地方十分欢迎联系我(低血压人群可放心食用,高血压人群慎追)
该系列如无特殊情况每周日更新,你可以在这里找到这个系列所有的文章
项目地址:https://github.com/FusionBolt/Rc-lang
我想一定会有人好奇为什么选择Ruby,对我来说Ruby写的很爽很开心,这就够了。能够开心的持续做下去这才是最重要的(不过VM还是要C++受苦就是了…)