pineapple
pineapple copied to clipboard
pineapple lang 是一个简单的编程语言 demo. 它包含了个手写的递归下降解析器和一个简单的解释器. 虽然该语言甚至不是图灵完备的. 但 pineapple 的主要目的是让编译原理初学者有一个预热, 简单了解一个编程语言是怎...
PINEAPPLE
(English | 中文)
Description
Pineapple Lang is a simple programming language demo implements by Go. It includes a hand-written recursive descent parser and a simple interpreter, although the language is not even Turing-complete. But this repo's main goal is to give beginners of compilation principles a warm up and a simple look at how a programming language is built.
How to run
$cd examples/pineapple/
$go build
$ ./pineapple hello-world.pineapple
pen pineapple apple pen.
May be other Language?
Don't worry, we have other pineapple-lang implements for you:
- Python implements, by KevinXuxuxu : pineapple-py
- TypeScript implements, by liulinboyi : pineapple-ts
- Dart implements, by damonchen : dart-pineapple
- Java implements, by LionCoder4ever : pineapple-java
- Another Java implements, by xiaofine1122 : pineapple-java
- Ruby implements, by YoogoC : pineapple-ruby
- C# implements, by KamioRinn : pineapple-csharp
- Rust implements, by Max-astro : pineapple-rs
- Scala implements, by lzy0505 : pineapple-scala
- F# implements, by Nomyfan : pineapple-fsharp
- PHP implements, by Y!an : pineapple-php
- Swift implements, by dev-xdyang : pineapple-swift
- C implements, by Y!an : pineapple-c
- Hacklang implements, by Evi1ran : pineapple-hack
Tutorial
- Build a Programming language in 450 lines - 1, Start with EBNF
- Build a Programming language in 450 lines - 2, Two Magic
- Build a Programming language in 450 lines - 3, Lexer Part A
- Build a Programming language in 450 lines - 4, Lexer Part B
- Build a Programming language in 450 lines - 5, Parser
- Build a Programming language in 450 lines - 6, Backend
- Build a Programming language in 450 lines - 7, How to Learn Next
Contributors
License
- MIT