COMP 412: Topics in Compiler Construction
Keith Cooper
Linda Torczon
Department of Computer Science
Rice University
Houston, Texas, USA
Fall 2014: Room 180, Dell Butcher Hall, Monday, Wednesday, Friday, 11:00am

Notes


Slides and/or Notes

  1. Introduction to COMP 412, and 2-up version
  2. The Compiler's Front End, and 2-up version

  3. Local Register Allocation and Lab 1, and 2-up version
    A Second Worked Example, and 2-up version
    Performance Tutorial, and 2-up version

  4. Lexical Analysis, I, and 2-up version
  5. Lexical Analysis, II: RE->NFA, and 2-up version
  6. Lexical Analysis, III: NFA->DFA, DFA->minimal DFA, and 2-up version
  7. Lexical Analysis, IV: DFA->minimal DFA, DFA->RE, and 2-up version
  8. Lexical Analysis, V:, implementing scanners, and 2-up version      <= Lecture not given, slides are for reference

  9. Parsing, I: Context-free grammars, and 2-up version
  10. Parsing, II:Ambiguity, Precedence, and start of Top-Down Parsing, and 2-up version
  11. Parsing, III:Recursive Descent, and 2-up version
  12. Parsing, IV:, FIRST, FOLLOW, Indirect Left-Recursion Removal, and the LL(1) Table Construction, and 2-up version

    Material Covered on the First Exam

  13. Parsing, V: Intro to Bottom-up Parsing, and 2-up version
  14. Parsing VI: LR(1) Examples, and 2-up version
  15. Parsing VII: LR(1) Table Construction, and 2-up version
  16. Parsing VIII: One More LR(1) Grammar, along with Parsing Wrap-up Material, and 2-up version

  17. Semantic Elaboration, I, and 2-up version
  18. Semantic Elaboration, II: Examples, and 2-up version
    Auxilliary Lecture on Type Systems, and 2-up version

  19. Slides from the Lab 2 Question & Answer session

  20. Intermediate Representations, and 2-up version
  21. Representing the Name Space, I, and 2-up version
  22. Naming, II, and 2-up version

  23. Generating Code for Expressions, and 2-up version
    Paper mentioned in the lecture notes:   Robert Floyd, "An Algorithm for Coding Efficient Arithmetic Operations," CACM 4(1), January 1961, pages 42-51.
  24. Extending Expressions to Assignment, and 2-up version
  25. Expressions: Array Layout & Addressing, and 2-up version
  26. Records, Structures, & Calls, and 2-up version
    Column mentioned in the lecture: Poul-Henning Kamp, "The Most Expensive One-byte Mistake", ACM Queue, July 25, 2011
  27. The Linkage Convention, and 2-up version
  28. The Linkage Convention, II, and 2-up version
  29. Establishing Addressability, and 2-up version
  30. Booleans, Relational Expressions, and Control Flow, and 2-up version

Syllabus

Fall 2014 Syllabus


Comp 412 Home Last modified Friday, 31-Oct-2014 08:51:28 CDT.