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.
$cd examples/pineapple/
$go build
$ ./pineapple hello-world.pineapple
pen pineapple apple pen.
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
- 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