Pikuma - Compilers, Interpreters & Formal Languages
Pikuma - Compilers, Interpreters & Formal Languages
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).
Homepage
https://rapidgator.net/file/d3c86a6b47ab13294028f51556d0a58a/Compilers,_Interpreters_and_Formal_Languages.part3.rar.html,_Interpreters_and_Formal_Languages.part3.rar.html
https://rapidgator.net/file/f5287d79ebce0e2543d2e04fac4befb4/Compilers,_Interpreters_and_Formal_Languages.part2.rar.html,_Interpreters_and_Formal_Languages.part2.rar.html
https://rapidgator.net/file/b444dd4f61d929318cd164236b48fe1e/Compilers,_Interpreters_and_Formal_Languages.part1.rar.html,_Interpreters_and_Formal_Languages.part1.rar.html