Write a Compiler (in Python)
Event Information
Description
[5 days] Come to Chicago and shatter your brain by writing a compiler for a new programming language! Why? Because it's fun and you'll learn a lot. In this workshop, you'll undertake the same intense coding project typically given to graduate computer science students in their first-year compilers course. Major topics include:
- Regular expressions
- Lexing
- Parsing and parser generators
- Syntax directed translation
- Abstract syntax trees
- Type systems and type checking.
- Code generation
- Optimization
By the end of the course, you will be able to take a small language and have it compile to executable programs via LLVM. The resulting code will have performance comparable to programs written in C. You'll also see how to make a Just-In-Time (JIT) compiler.
More information is available at http://www.dabeaz.com/compiler.html
FAQs
What are the prerequisites?
The compiler is written in Python. You don't need to be a Python super-expert, but you should be comfortable with most core Python features including functions, modules, classes, exceptions, and built-in data types. In addition, prior experience using a compiler (e.g., C, C++, Java, Go, etc.) is highly advised. Knowledge of data structures (trees and graphs), algorithms (tree traversal, recursion), and computer architecture (instruction sets, assembly code) will also be useful.
How can I contact the organizer with any questions?
You can send email to dave@dabeaz.com