Chapter 4: Turning the Source File into an Abstract Syntax Tree

A compiler is typically divided into two parts: the frontend and the backend. In this chapter, we will implement the frontend of a programming language; that is, the part that deals with the source language. We will learn about the techniques real-world compilers use and apply them to our own programming languages.

We'll begin our journey by defining our programming language's grammar and end it with an abstract syntax tree (AST), which will become the basis for code generation. You can use this approach for every programming language that you would like to implement a compiler for.

In this chapter, you will learn about the following topics:

  • Defining a real programming language ...

Get Learn LLVM 12 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.