CMP SCI 610/410 - Compiler Techniques - Fall 2007

  • Instructor:
        J. Eliot B. Moss, Associate Professor
        Office: Computer Science Building 372
        Email: moss at cs.umass.edu
        Phone: (413) 545-4206; Fax: (413) 545-1249
        Hours: by appointment (please do!)
    
  • Teaching Assistant:
        Tim Richards
        Office: Computer Science Building 354
        Email: richards at cs.umass.edu
        Phone: (413) 545-0256
        Hours: To be determined
    
  • Class schedule:
        Lectures:   M/W    2:05- 3:20 CMPS 150
        Discussion: Fri    2:05- 3:20 CMPS 150 (usually by TA)
          NOTE: We will use some dicussion times for lectures
    
        EVENING EXAM: To be scheduled (10/16 requested)
    
    
    
  • Class Documents: General information files
  • Syllabus, schedule, requirements, etc. pdf 1-up
  • Latest 610 course news ("welcome" file)
  • Definition of Mini-Pascal (language compiled in project) pdf 1-up
  • Textbook errata
  • Sample mid-term exam and solution postscript 1-up or pdf 1-up

  • Lecture related files
  • Notes from Mon 09/10/2007: Course overview
    Notes (PDF)
  • Notes from Wed 09/12/2007: Overview of compilers
    Slide set 01 PowerPoint or PDF
    Slide set 02 PowerPoint or PDF
    Realplayer video for browser playback or for download
  • Notes from Fri 09/14/2007 Holistic view of compiler; Scanning I:
    Notes (PDF)
    Slide set 04 PowerPoint or PDF
    Realplayer video for browser playback or for download

  • Notes from Mon 09/17/2007 Scanning II: FA Algorithms:
    Slide set 05 PowerPoint or PDF
    Slide set 06 PowerPoint or PDF (first part)
    Realplayer video for browser playback or for download
  • Notes from Wed 09/19/2007 Scanning III: Practicalities; Tarski's Least Fixed Point Theorem:
    Notes (PDF)
    Slide set 06 PowerPoint or PDF (second part)
    Realplayer video for browser playback or for download

  • Notes from Mon 09/24/2007 Parsing I: Overview, Ambiguity; Top-Down Parsing, Removing Left Recursion
    Slide set 07 PowerPoint or PDF
    Slide set 08 PowerPoint or PDF
    Slide set 09 PowerPoint or PDF
    Realplayer video for browser playback or for download
  • Notes from Wed 09/26/2007 Parsing II: Top-Down Parsing, LL(1), Recursive Descent Notes (PDF)
    Slide set 09 PowerPoint or PDF
    Realplayer video for browser playback or for download
  • Notes from Fri 09/28/2007 Parsing III: Top-Down Parsing and LL(1) concluded Notes (PDF)
    Slide set 09 PowerPoint or PDF
    Realplayer video for browser playback or for download

  • Notes from Mon 10/01/2007 Parsing IV: Bottom Up Parsing and Intro to LR(1) Notes (PDF)
    Slide set 10 PowerPoint or PDF
    Slide set 11 PowerPoint or PDF
    Realplayer video for browser playback or for download
  • Notes from Wed 10/03/2007 Parsing V: LR(1) concluded Notes (PDF)
    Realplayer video for browser playback or for download

  • Notes from Wed 10/10/2007 Parsing concluded; Context-Sensitive Analysis Notes (PDF)
    Slide set 14 PowerPoint or PDF
    Slide set 16 PowerPoint or PDF
    Realplayer video for browser playback or for download
  • Notes from Fri 10/12/2007 Type systems overview; Intermediate Representations Notes (PDF)
    Slide set 17 PowerPoint or PDF
    Realplayer video for browser playback or for download

  • Notes from Mon 10/15/2007 Procedures: Naming, Scopes, Symbol tables, Activation records
    Slide set 19 PowerPoint or PDF
    Realplayer video for browser playback or for download

  • Notes from Wed 10/24/2007 Symbol Tables, by Tim Richards
    Slide set PowerPoint or PDF

  • Notes from Mon 10/29/2007 Code generation I Notes (PDF)
    Slide set 24 PowerPoint or PDF
    Slide set 25 PowerPoint or PDF
    Realplayer video for browser playback or for download
  • Notes from Wed 10/31/2007 Code generation II Notes (PDF)
    Slide set 25 PowerPoint or PDF
    Realplayer video for browser playback or for download

  • Notes from Mon 11/05/2007 Code generation III Notes (PDF)
    Realplayer video for browser playback or for download
  • Notes from Wed 11/07/2007 Code generation IV Notes (PDF)
    Realplayer video for browser playback or for download

  • Notes from Wed 11/14/2007 Code generation IV; Scalar Optimization (Value Numbering)
    Slide set 26 PowerPoint or PDF
    Slide set 27 PowerPoint or PDF
    Slide set 32 PowerPoint or PDF
    Realplayer video for browser playback or for download

  • Notes from Mon 11/19/2007 Finish Value Numbering; Begin Data Flow Analysis Notes (PDF)
    Realplayer video for browser playback or for download

  • Notes from Mon 11/26/2007 Finished Data Flow Analysis Notes (PDF)
    Realplayer video for browser playback or for download

  • Notes from Wed 12/05/2007 Finished Instruction Selection
    Slide set 28 PowerPoint or PDF
    Slide set 29 PowerPoint or PDF
    Realplayer video for browser playback or for download
  • Notes from Fri 12/07/2007 Instruction Scheduling; Linear Scan Register Allocation Notes (PDF)
    Slide set 30 PowerPoint or PDF
    Realplayer video for browser playback or for download

  • Notes from Mon 12/10/2007 Graph Coloring Global Register Allocation
    Slide set 37 PowerPoint or PDF
    Realplayer video for browser playback or for download
  • Notes from Wed 12/12/2007 Wrapping Up
    Slide set 39 PowerPoint or PDF
    Realplayer video for browser playback or for download

  • Homework related files
  • Homework assignment #1 ascii text or postscript 1-up or pdf 1-up
  • Homework assignment #2 ascii text or postscript 1-up or pdf 1-up
  • Homework assignment #3 ascii text or postscript 1-up or pdf 1-up
  • Homework assignment #4 ascii text or postscript 1-up or pdf 1-up

  • Project related files
  • Project assignment #1 ascii text or postscript 1-up postscript 2-up pdf 1-up pdf 2-up
  • Project assignment #2 ascii text or postscript 1-up 2-up pdf 1-up pdf 2-up
  • Project assignment #3 ascii text or postscript 1-up 2-up pdf 1-up pdf 2-up
  • Project assignment #4 ascii text or postscript 1-up 2-up pdf 1-up pdf 2-up
  • Project assignment #5 ascii text or postscript 1-up 2-up pdf 1-up pdf 2-up