YSC4230

email: ilya.sergey@yale-nus.edu.sg website: https://ilyasergey.net/YSC4230 github: https://github.com/ysc4230 target lang: i86 no exams: only projects

tram.hoang@u.yale-nus.edu.sg

Office hours - Monday: 3.30-5pm (email prof) - Wednesday: 17.15-18.30 #RC3-01-03E, Cendana

grading

85% coding projects: Compiler

  • Groups of 2 students
  • Implemented in OCaml

10% paper-based research project (individual)

  • Writing a short review on state-of-the-art paper in PLDI

5% Lecture attendance

  • Active participation

Homeworks

Around 2 1/2 weeks to work on each.

  • 24 hours late: 10 point penalty

  • 48 hours late: 20 point penalty

  • after 48 hours: not accepted

  • programs that don’t compile will get no credit

Each project is 15%.

HW1: OCaml programming | Wednesday, 25 August 2-21 at 2:00am HW2: X86lite interpreter HW3: LLVMlite -> X86 compiler HW4: Lexing, Parsing, simple compilation HW5: Higher-level Features -> Type systems HW6: Analysis and Optimizations

snapshot release, link to it via canvas.

Text books

  • Modern Compiler Implementation
  • Advanced Compiler Design and Implementation
  • Dragon Book
  • Real World OCaml
  • Introduction to Objective Caml

Notes

YSC4230 Lecture 1

YSC4230 Lecture 2 x86Lite

YSC4230 Lecture 3

YSC4230 Lecture 4

YSC4230 Lecture 5

YSC4230 Lecture 6

YSC4230 Lecture 7

YSC4230 Lecture 8