用Rust创建自己的编程语言

用Rust创建自己的编程语言

C/C++ BitTorrent库

访问GitHub主页

共182Star

详细介绍

Create your own programming language with Rust

Github Pages CI

This repository contains the codes and the contents for createlang.rs

Why am I writing this book?

The book arises from my frustration of not finding modern, clear and concise teaching materials that are readily accessible to beginners like me who wants to learn a bit on how to create their own programming language.

The following are my guidelines

"If you don't know how compilers work, then you don't know how computers work" 1

"If you can’t explain something in simple terms, you don’t understand it" 2

Requirements

Make sure you have

  1. Rust installed
  2. Cloned this repository (follow the instructions in each chapter)
  3. LLVM v10.0 installed (Debina/Ubuntu or macOS) to run and test locally cargo test --tests

To build the book locally, navigate to the book subdirectory and follow the instructions in mdbook.

Content outline

  • Introduction
  • Crash course on Computing
  • Calculator language
    • Grammar, lexer and parser
    • AST and interpreter
    • JIT with LLVM
      • Basic add function example
      • AST traversal patterns
    • Exercises
    • VM, bytecode and interpreter
    • REPL
  • Jeslang
    • Static typing
    • Type inference
    • ...
  • Object system and OOP
  • Functional lang
  • (TENTATIVE) Module system and packaging
  • (TENTATIVE) Mini-standard library
  • Content resources

Donation

If you have found this project useful, please consider donating to any of the organizations below