SYLEN
AboutNewsConferenceMembershipDonate

Email updates

Conference, news, and membership updates by email.

Site

  • About
  • News
  • Membership
  • Waitlist
  • Donate

Conference

  • Conference 2027
  • Call for papers

Account

  • Create account
  • Membership details

SYLEN

  • Guidelines
  • Privacy
  • Terms

© 2026 Systems Leadership and Engineering Network. sylen.org.

Membership details →
Back to news
General SESource: dthain.github.ioJuly 5, 2026

Open-Access Compiler Coursework Targets Physical x86 and ARM Code Generation

Professor Douglas Thain of the University of Notre Dame has published the second edition of "Introduction to Compilers and Language Design." The curriculum guides engineers through constructing a self-contained compiler targeting functional x86 or ARM assembly from a C-like source language.

Project Scope and Pipeline Architecture

The curriculum, developed for the CSE 40243 compilers course at the University of Notre Dame, details the construction of a compiler from source to machine-executable assembly. The target source language is B-Minor, a C-like language specified within the text.

  • Chapter 1: Introduction
  • Chapter 2: A Quick Tour
  • Chapter 3: Scanning
  • Chapter 4: Parsing
  • Chapter 5: Parsing in Practice
  • Chapter 6: The Abstract Syntax Tree
  • Chapter 7: Semantic Analysis
  • Chapter 8: Intermediate Representation
  • Chapter 9: Memory Organization
  • Chapter 10: Assembly Language
  • Chapter 11: Code Generation
  • Chapter 12: Optimization
  • Appendix A: Sample Course Project
  • Appendix B: The B-Minor Language
  • Appendix C: Coding Conventions

Implementation Resources and Test Suites

To facilitate engineering implementation, the text is supported by the `compilerbook-examples` repository hosted on GitHub. This repository provides boilerplate code and validation tools designed to verify the compiler at each developmental phase.

  • Starter code structure for the project compiler
  • Scanners and parsers for bootstrap testing
  • Specific validation test cases for the scanner, parser, typechecker, and code generator

The 2nd Edition of the text (Revision Date: January 15, 2021) is distributed under academic use permissions as a free online textbook, available either as a complete single PDF or as individual chapter files. Physical copies are available in both hardcover and paperback editions (Paperback ISBN: 979-8-655-18026-0). Technical errata or typos are managed directly by the author via email submission to dthain@nd.edu.

Read the original article at dthain.github.io.