Building an Interpreter from Scratch

Video description

How do programming languages work under the hood? What’s the difference between compiler and interpreter? What is a virtual machine and JIT-compiler? And what about the difference between functional and imperative programming?

There are so many questions when it comes to implementing a programming language!

In this course, we will learn about compilers and AST interpreters and virtual machines. We will further explore basic expressions and variables in interpreters and learn about variables and environments. We will also explore built-in and native functions, user-defined functions, and call stack and recursive calls. Lastly, we will learn about OOP, class inheritance, and code isolation.

By the end of the course, we will implement a full AST interpreter for our programming language.

What You Will Learn

  • Build a programing language from scratch
  • Learn about AOT and JIT-compilers and Transpilers
  • Learn about Bytecode, LLVM, stack-machines
  • Learn about call-stack and activation records
  • Learn about interpreters and compilers
  • Learn about AST-interpreters and virtual machines

Audience

This class is for any curious engineer who would like to gain skills in building complex systems (and building a programming language is really a pretty advanced engineering task!) and obtain transferable knowledge for building such systems.

If you are interested specifically in compilers, interpreters, and source code transformation tools, then this class is also for you.

The only prerequisite for this class is basic data structures and algorithms: trees, lists, traversal.

About The Author

Dmitry Soshnikov: Dmitry Soshnikov is a software engineer and a lecturer on different computer science topics. He is passionate about education and focuses on high-quality educational content: concise and straight-to-the-point animated lectures with live-editing notes.

Product information

  • Title: Building an Interpreter from Scratch
  • Author(s): Dmitry Soshnikov
  • Release date: April 2021
  • Publisher(s): Packt Publishing
  • ISBN: 9781801071338