Good Resources for creating a programming language

Qlabs
2 min readJan 3, 2021

Originally published at https://dev.to on January 3, 2021.

Image with the word “Programming” on it

A couple of months ago I had the idea to create a programming language. Yeah, crazy right?! Okay, but in all seriousness, learning to create programming languages helps you better understand computers.

“If you don’t know how compilers work, then you don’t know how computers work. If you’re not 100% sure whether you know how compilers work, then you don’t know how they work.”
— Steve Yegge

So, I went along googling “how to create a programming language” and “creating a programming language.” You see, the problem here is that there are not too many proper tutorials that help you create a programming language, especially for beginners. I literally was about to switch my search engine to DuckDuckGo or even Bing! Now, I did find a couple of different resources, so I’ll share them with you now, so you don’t have to go through the long time it took me. So here we go…

1. Writing your own programming language and compiler with Python — Marcelo Andrade

I found this one very helpful, and really was what I used in the end to create my programming language. This uses python to create a language. View it here

2. Writing a Simple Programming Language from Scratch — By Evan Typanski

This is also really good. It explains a lot of the concepts in a language, and also gives really helpful diagrams, code snippets, etc. View it here.

3. Let’s Build a Programming Language

This is the first article in a series that walks you through the steps to create a language. This is another great resource to use and uses JS to create a language. View it here.

4. RPLY & PLY

These are both great resources for lexers and parsers. I personally like RPLY, which is a direct port of PLY.

5. Make YOUR OWN Programming language

View it here.

This is one in a 14 part series which really helps you create a programming language.

That’s it! I hope this helped you find resources that help you!

--

--

Qlabs

Computer Programmer, Musician, and hobbyist. View on GitHub -https://github.com/Quantalabs. Follow on DEV @Quantalabs