Link Search Menu Expand Document

Introduction to Compiler Design

Fall 2024 @ NYCU with Prof. Yi-Ping You

Assignment 0 is now released!

Sep 3 · 0 min read

Hi folks! Please read the Guide thoroughly to understand how to engage with this course. While you are not required to submit this assignment, it’s crucial to ensure that you can access the link and accept it successfully.

If you encounter any challenges during the setup process, don’t hesitate to reach out to our TAs. :grinning:

Schedule Adjustment Announcement

Aug 27 · 0 min read

Please note a slight adjustment to our class schedule:

  • The class will begin at 9:10 AM.
  • We will have two breaks:
    • 10:00-10:10 AM
    • 11:00-11:10 AM

This adjustment ensures that each session starts at 10 minutes past the hour. The class still ends at 12:00 PM.

Thank you for your attention, and I look forward to seeing you on September 3rd!

All announcements

Overview

This course is intended to explore the principal ideas and techniques of compiler construction. Topics include lexical analysis, syntax analysis including LL and LR parsers, type checking, run-time environments, symbol tables, code generation, and compiler-construction tools.

This course aims to give you a solid foundation in the theory of compiler construction as well as the experience of building a compiler. Much of what you have learned about algorithms and data structures will come to bear as you study and implement the various components of a compiler. In a sense, compiler construction is a showcase for many other disciplines of computer science.

Goals

  • To learn structure of compilers.
  • To learn basic techniques used in compiler construction such as lexical analysis, top-down and bottom-up parsing, context-sensitive analysis, and intermediate code generation.
  • To learn basic data structures used in compiler construction such as abstract syntax trees, symbol tables, three-address code, and stack machines.
  • To learn software tools used in compiler construction such as lexical analyzer generators (Lex), and parser generators (Yacc).
  • To construct a compiler for a small language using the above techniques and tools.

Back to top

This website is built using Kevin Lin's Just the Class Jekyll template.