Pikuma - Compilers, Interpreters & Formal Languages

Currently reading:
 Pikuma - Compilers, Interpreters & Formal Languages

mayoufi

Member
Amateur
LV
5
Joined
Oct 22, 2023
Threads
3,280
Likes
291
Awards
11
Credits
363©
Cash
0$
eb35dcd00b2da1b970847a5e13fe91e0.jpeg


Released 11/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz, 2 Ch
Genre: eLearning | Language: English | Duration: 77 Lessons ( 12h 3m ) | Size: 2.2 GB


Create your own programming language by writing an interpreter and a compiler from scratch.

This course is designed to be a beginner-friendly introduction to compilers. As we evolve, we will incrementally put together an interpreter for a very simple scripting language.

We'll cover
Lexical analysis
Syntax analysis
Parsing algorithms
Intermediate representation (AST)
Formal languages & grammars
BNF notation & syntax diagrams
Identifying and reporting errors
Code generation
Writing our own VM
Emitting bytecode
Type checking
LLVM IR
Simple code optimization
...and much, much more!
We'll try to approach every explanations with beginners in mind. You can think of it as a "first course" on compilers for developers that never wrote an interpreter before.

What we'll build
We'll build together, from the ground up, a compiler for a simple programming language called Pinky. Think of a toy scripting language with a syntax inspired by Lua and ALGOL W.
Our main host language will be Python. Python allows us to focus our attention on compiler-specific concepts while being extremely productive. Still, I'll try to include some helpful tips on how to implement the ideas we just learned using the C programming language.

The tools you'll need
All you need is a command-line, a simple code editor, and a Python interpreter. All these tools are cross-platform, so you'll be able to code along on either Windows, macOS, or Linux!

Is this course for you?
If you never wrote an interpreter before, or even if you did but still feel you have some blind spots in your understanding of how it all works, then this course is definitely for you!
This is a self-contained course with no prerequisites. However, you will probably get the most out of it if you already know the basics of coding (if-else, loops, functions).

 

Create an account or login to comment

You must be a member in order to leave a comment

Create account

Create an account on our community. It's easy!

Log in

Already have an account? Log in here.

Tips
Top Bottom