Intro to Compilers: Compiler Basics
This course is an introductory course on compilers. We will cover the full path that a compiler takes in translating high-level source code (e.g., in a language like C) to assembly code that can be run on a machine. We will cover the processes of translating source code into a compiler's intermediate representation, then generating code from that intermediate representation. Students will also build a basic compiler that translates C code into RISC-V assembly.
ECE59500
Credit Hours:
1Learning Objective:
After completing this course you will be able to:- Explain regular expressions and lexing procedures
- Explain context-free grammars and LL(1) parsing
- Explain semantic actions and AST construction
- Explain how to translate ATSs into executable code
- Build a basic compiler that can translate a program into executable code
Description:
This course is an introductory course on compilers. We will cover the full path that a compiler takes in translating high-level source code (e.g., in a language like C) to assembly code that can be run on a machine. We will cover the processes of translating source code into a compiler's intermediate representation, then generating code from that intermediate representation. Students will also build a basic compiler that translates C code into RISC-V assembly.
Fall 2021 Syllabus
Topics Covered:
CompilersFinite Automata and Regular Languages
Context Free Languages and Parsing
Code Generation