pineapple lang 是一个简单的编程语言 demo。它包含了个手写的递归下降解析器和一个简单的解释器。虽然该语言甚至不是图灵完备的。但 pineapple 的主要目的是让编译原理初学者有一个预热,简单了解一个编程语言是怎么构建的。
本项目是 pineapple lang 的 C 实现
注意,由于使用了 regex.h 库,在 Windows 下的编译可能会不通过
# 把依赖拉取到本地 git submodule init && git submodule update # 创建编译目录 mkdir build && cd build # 使用 cmake 生成 Makefile cmake .. # 编译 make # 运行 ./pineapple-c ../examples/hello-world.pineapple