从0开始自制解释器——综述

作者分享了自己想要自制编译器的梦想,认为真正的学习来自于实践。他计划不借助第三方工具,完全用C语言重写一篇使用Python的编译器教程,以便更深入理解编译原理。这个过程也将作为学习笔记以专栏形式发布,以增强动力并可能帮助其他读者学习。
摘要由CSDN通过智能技术生成

作为一个程序员,自制自己的编译器一直是一个梦想。之前也曾为了这个梦想学习过类似龙书、虎书这种大部头的书,但是光看理论总有一些云里雾里的感觉。看完只觉得脑袋昏昏沉沉并没有觉得有多少长进。当初看过《疯狂的程序员》这本书,书里说,真正能学会编译原理并不是靠看各种书然后通过相关考试,而是有一天你的领导找到你对你说:“小X啊,你是我们公司技术能力最强的人,咱们现在用的编译器性能有点跟不上,要不你看看能不能改进一下”。所以想要学习编译原理相关的知识首先要做的还是实践——实现一个自己的编译器。

之前也看过类似的教你如何自制编译器,但是他们有一个共同的问题就是在很大程度上都借助第三方工具,隐藏了一些底层的细节。我希望的是每一行代码都是自己的完成的。所以一直怀揣着这个梦想直到最近我找到了一篇教程。一起写一个简单的编译器——魔力Python。这篇教程是实用Python完成的,但是这里我不打算使用Python,我打算实用最纯粹的C 语言来完成这个任务,我考虑使用C主要基于以下几个原因:

  1. Python 有一些封装的细节,不方便全方位的展示相关算法。
  2. 原教程使用的就是Python,还用一样的话思路会受到教程的影响,要真正的理解需要自己一行行的敲代码,最好的方式就是用另一种语言来实现同样的算法
  3. 现在市面上大多数都是用c来实现编译器,如果后续想要更近一步学习编译原理可以考虑在我完成的这版中很方便的加入一些新学的知识点
  4. 自己有使用C的能力,而且用C写编译器自带装B属性

基于以上理由,我准备开始跟着教程使用C来实现自己的解释器。

这并不是一篇教程什么的,更多的是作为一篇实践笔记。而且根据我之前写的Vim专栏的经验来说,将它已专栏的形式发布出来之后鸽的可能性更小,更有动力来完成它。当然如果各位能从专栏中学到什么那就更好了。

总之后面让我们一起进入学习编译原理的路程吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值