专栏名称: 开源前线
推荐热门开源软件,播报最新开源项目和开源资讯!
目录
相关文章推荐
野球帝  ·  自家长袖T恤!原价69元,福利价49元! ·  23 小时前  
苏群  ·  夏天追杜兰特,火箭准备好了吗? ·  2 天前  
野球帝  ·  文班亚马,赛季报销了... ·  2 天前  
野球帝  ·  自家长袖T恤!原价69元,福利价49元! ·  3 天前  
51好读  ›  专栏  ›  开源前线

牛逼坏了!牙医教你用450行代码写出一个编程语言

开源前线  · 公众号  ·  · 2021-03-16 10:24

正文

开源最前线(ID:OpenSourceTop) 猿妹整编

项目地址:https://github.com/karminski/write-a-programming-language-in-450-lines


没有系统学习过编译原理的同学可能会很好奇编程语言的编译器,Lexer & Parser,虚拟机是怎么实现的. 而又苦于系统性的教材过于枯燥。


近日,猿妹在Github上发现一个项目,教你用450行的Go代码实现一个简单的编程语言,它的语法是这样的:


$a = "pen pineapple apple pen."
print($a)


看上去很简单是不是?但是它包含了个手写的递归下降解析器和一个简单的解释器。


这门语言的名字为Pineapple Lang,虽然该语言甚至不是图灵完备的。但写这个语言和教程的主要目的是让编译原理初学者有一个预热,简单了解一个编程语言是怎么构建的。


运行起来也是十分简单的:


$cd examples/pineapple/
$go build
$ ./pineapple hello-world.pineapple
pen pineapple apple pen.


你可以直接看用 Markdown 编写的原始版本:








请到「今天看啥」查看全文