by ftomassetti

ftomassetti /LangSandbox

Project to illustrate how to build a programming language

476 Stars 73 Forks Last release: Not found Apache License 2.0 51 Commits 6 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Apache 2.0 License  build status


This project is used to illustrate how to build a programming language. The code present here is discussed in a series of articles.

From these series of tutorials I derived a book on creating languages.

You may be interested in the companion project (Kanvas) where we show how to build an editor for your language.

  1. Define the lexer
  2. Define the parser
  3. Build an editor with syntax highlighting
  4. Build an editor with autocompletion
  5. Map the parse tree to the abstract syntax tree
  6. Transform the abstract syntax tree
  7. Validate the abstract syntax tree
  8. Generate bytecode

I hope you enjoy and please let me know if you have issues, ideas, comments or any sort of feedback!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.