自制编程语言
一听到这个话题,有的人会想:太疯狂了,制作编程语言肯定很有难度吧?有人会怀疑:制作编程语言能有什么用呢?其实这些都是误解。
制作编程语言在技术层面上其实并不难,只要掌握一些基础知识即可。而且,制作编程语言对于我们深入理解日常使用的C、Java、JavaScript等语言都有帮助。在一些应用程序的内置脚本语言中,我们也经常会因为种种限制从而萌生制作替代语言的想法。因此,自制编程语言并不是少数极客的个人癖好,它对大多数程序员都颇具实用价值。
日本关于制作编程语言的书已经很多了,其中一些还被选定为大学教科书。这些书中常出现有限状态机、NFA、LL(1)、LR(1)、SLA等专业词汇,同时还大量使用∩、∈等数学符号,对于不熟悉这部分理论知识的人(包括我自己在内)来说非常难以读懂。针对这种现状,本书会偏重实践,避免枯燥的理论。
本书将分别制作两种编程语言:crowbar与Diksam。crowbar是运行分析树的无类型语言,Diksam是运行字节码的静态类型语言。无论哪种语言,都具备四则运算、变量、条件分支、循环、函数定义、垃圾回收等功能,最终版则可以支持面向对象、异常处理等高级机制。总之,作为现代编程语言所必须具备的功能都基本覆盖了(唯一可能没实现的就是多线程了吧)。所有源代码都提供下载,读者可以一边对照书中的说明一边调试源代码,这样应该不难理解整个程序的运行机制。
当然,要一次实现如此多功能的编程语言,对于初学者而言可能有点吃力,因此本书会详细介绍crowbar、Diksam的制作步骤,请放心。
在制作编程语言的过程中,我体会到了一种无法用语言形容的快乐。其实无论在日本或其他地区,世界上还有很多人都在尝试自制编程语言,这正是编程语言不断增加的原因。如果以本书为契机,有朝一日你也向本已混乱的巴比伦之塔再添一门新语言的话,作为本书作者,这将是无上的光荣。
-
试用与合同表 - 企业管理表格
第一节 新员工试用申请及核.DOC第七节 员工保证书.DOC第三节 试用察看通知单.DOC第九节 保证书规约.DOC第二十一节 兼职面试录用检.DOC... 995 0 24-07-28 -
微信必须关闭那些不该花钱的功能
进入微信的设置,点击通用,下滑找到发现页管理,即可在这里关闭各种多余的服务。当你全部关闭后,你的微信发现页将简洁的只... 732 0 25-06-22 -
简单js实现分页查询
475 0 21-06-02 -
4DDiG.DLL.Fixer.1.0.1.3 系统dll文件修复工具
4DDiG DLL Fixer是一款全能的DLL修复工具,旨在解决导致Windows系统上程序出错的各种DLL(动态链接库)相关问题。软件提供快速而彻底的扫... 1330 0 25-02-09 -
C++ Primer Plus(第五版)中文版
学习C++是一次探索之旅,因为这种语言容纳了好几种编程模式,其中包括面向对象编程、通用编程和传统的过程化编程。随着新特性的不断添加,C... 1088 0 24-05-24 -
业务数据访问性能太低怎么办
缓存的定义先来看下缓存的定义。缓存最初的含义,是指用于加速 CPU 数据交换的 RAM,即随机存取存储器,通常这种存储器使用更昂贵但快速... 1309 0 24-05-24 -
考研数学历年真题及解析 - 数一
1987-1996考研数学一真题.pdf1987年考研数学一真题答案速查.pdf1987年考研数学(一)真题.pdf1987数学一解析.pdf1988年考研数学(一)真题.... 824 0 24-08-19 -
缓存数据不一致和并发竞争怎么处理?
七大缓存经典问题的第四个问题是数据不一致。同一份数据,可能会同时存在 DB 和缓存之中。那就有可能发生,DB 和缓存的数据不一致。如果... 1335 0 24-05-24
发表我的评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~