pineapple lang 是一个用 Go 语言实现的简单的编程语言 demo. 它包含了个手写的递归下降解析器和一个简单的解释器. 虽然该语言甚至不是图灵完备的. 但 pineapple 的主要目的是让编译原理初学者有一个预热, 简单了解一个编程语言是怎么构建的.
$cd examples/pineapple/
$go build
$ ./pineapple hello-world.pineapple
pen pineapple apple pen.
别担心, 我们还有其他版本:
- Python 版本, 由 KevinXuxuxu 贡献: pineapple-py
- TypeScript 版本, 由 liulinboyi 贡献: pineapple-ts
- Dart 版本, 由 damonchen 贡献 : dart-pineapple
- Java 版本, 由 LionCoder4ever 贡献: pineapple-java
- Java 版本2, 由 xiaofine1122 贡献: pineapple-java
- Ruby 版本, 由 YoogoC 贡献: pineapple-ruby
- C# 版本, 由 KamioRinn 贡献: pineapple-csharp
- Rust 版本, 由 Max-astro 贡献: pineapple-rs
- Scala 版本, 由 lzy0505 贡献: pineapple-scala
- F# 版本, 由 Nomyfan 贡献: pineapple-fsharp
- PHP 版本, 由 Y!an 贡献: pineapple-php
- C 版本, 由 Y!an 贡献: pineapple-c
- Hacklang 版本, 由 Evi1ran 贡献: pineapple-hack