
About Course
This course teaches students about compilers and how to develop them. The course is based around a project where participants build a compiler for a small programming language called Javalette.
Javalette is an imperative language, a subset of C and of Java. The finished compiler includes a frontend (lexer, parser and type-checker) and at least one backend, generating LLVM code. Optional extensions include source language extensions and a backend targetting x86 assembly.
About the instructor
P
Course Curriculum
Module 1
-
Introduction to compiler construction
-
Software engineering for compilers
-
LLVM: tools, language
Module 2
-
Code generation for LLVM
-
Project extensions: arrays, dynamic structures, objects:
-
Code generation for x86
-
Assignments
Module 3
-
Control flow graphs, data analysis
-
Functions
-
Verified compilers
-
Assignments
Download eBooks
-
Download eBooks
Exam
Student Ratings & Reviews
No Review Yet