CMP SCI 610/410 - Compiler Techniques - Fall 2008

  • 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 140
        Discussion: Fri    2:05- 3:20 CMPS 140 (usually by TA)
          NOTE: We will use some dicussion times for lectures
    
        EVENING EXAM: Thursday 10/16, 7:00-8:30pm, Marston 132
    
    
    
  • 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

  • Lecture related files
  • Notes from Mon 09/08/2008: Course overview, Overview of Compilers
    Slide set 01 PowerPoint or PDF
    Flash video: playback or downloadable swf
  • Notes from Wed 09/10/2008: View from 35,000 Feet (Holistic view of compiler)
    Slide set 02 PowerPoint or PDF
    Flash video: playback or downloadable swf
  • Notes from Fri 09/12/2008 Holistic view of compiler; Scanning I:
    Slide set 04 PowerPoint or PDF
    Flash video: playback or downloadable swf

  • Notes from Mon 09/15/2008 Scanning II: FA Algorithms:
    Slide set 05 PowerPoint or PDF
    Slide set 06 PowerPoint or PDF (first part)
    Flash video playback or downloadable swf
  • Notes from Wed 09/17/2008 Scanning III: Practicalities
    Notes jnt PDF
    Slide set 06 PowerPoint or PDF (second part)
    Flash video playback or downloadable swf

  • Notes from Mon 09/22/2008 Parsing I: Overview, Ambiguity; Top-Down Parsing
    Slide set 07 PowerPoint or PDF
    Slide set 08 PowerPoint or PDF
    Flash video playback or downloadable swf
  • Notes from Wed 09/24/2008 Parsing II: Top-Down Parsing, Removing Left Recursion, Tarski's Least Fixed Point Theorem
    Notes jnt PDF
    Slide set 08 PowerPoint or PDF
    Flash video playback or downloadable swf
  • Notes from Fri 09/26/2008 Parsing III: Top-Down Parsing and LL(1), More Least Fixed Points
    Notes jnt PDF
    Slide set 09 PowerPoint or PDF
    Flash video playback or downloadable swf

  • Notes from Mon 09/29/2008 Parsing IV: LL(1) Parsing (nearly) Concluded
    Notes jnt PDF
    Slide set 09 PowerPoint or PDF
    Flash video playback or downloadable swf
  • Notes from Wed 10/01/2008 Parsing V: LL(1) concluded, Bottom Up begun
    Notes jnt PDF
    Slide set 10 PowerPoint or PDF
    Flash video playback or downloadable swf
  • Notes from Fri 10/03/2008 Parsing VI: LR(1): Building state machines
    Notes jnt PDF
    Flash video playback or downloadable swf (lacks audio track (sorry))

  • Notes from Mon 10/06/2008 Parsing concluded; Context-Sensitive Analysis
    Notes jnt PDF
    Slide set 11 PowerPoint or PDF
    Slide set 13 PowerPoint or PDF
    Flash video playback or downloadable swf
  • Notes from Fri 10/10/2008 Adding Action Routines: Semantics
    Notes jnt PDF
    Slide set 16 PowerPoint or PDF
    Flash video playback or downloadable swf

  • Notes from Tue 10/14/2008 Intermediate Representations
    Slide set 17 PowerPoint or PDF
    Flash video playback or downloadable swf

  • Notes from Mon and Wed 10/20/2008 and 10/22/2008: Procedures: I, II, and III
    Slide set 18 PowerPoint or PDF
    Slide set 19 PowerPoint or PDF
    Slide set 20 PowerPoint or PDF
  • Notes from Fri 10/24/2008 What goes into Symbol Table Entries; Intro to Tuples
    Notes jnt PDF
    Flash video playback or downloadable swf

  • Notes from Mon 10/27/2008 Processing Declarations; Addressability; Tuples for Expressions
    Notes jnt PDF
    Flash video playback or downloadable swf
  • Notes from Wed 10/29/2008 Tuples for Statements
    Notes jnt PDF
    Flash video playback or downloadable swf

  • Notes from Mon 11/03/2008 Finishing Tuple Generation
    Notes jnt PDF
    Flash video playback or downloadable swf
  • Notes from Wed 11/05/2008 Finishing Code Generation; Starting Optimization
    Notes jnt PDF
    Slide set 24 PowerPoint or PDF
    Slide set 25 PowerPoint or PDF
    Slide set 32 PowerPoint or PDF
    Flash video playback or downloadable swf

  • Notes from Fri 11/14/2008 Value Numbering: A Scalar Optimization
    Notes jnt PDF
    Slide set 32 PowerPoint or PDF
    Example source program PDF and compiler output PDF
    Flash video playback or downloadable swf

  • Notes from Mon 11/17/2008 Introduction to Data Flow Analysis I
    Notes jnt PDF
    Flash video playback or downloadable swf
  • Notes from Wed 11/19/2008 Introduction to Data Flow Analysis II
    Notes jnt PDF
    Flash video playback or downloadable swf

  • Notes from Mon 11/24/2008 Instruction Selection
    Slide set 28 PowerPoint or PDF
    Slide set 29 PowerPoint or PDF
    Flash video playback or downloadable swf

  • Notes from Mon 12/01/2008 Register Allocation
    Slide set 37 PowerPoint or PDF
    Flash video playback or downloadable swf
  • Notes from Wed 12/03/2008 Instruction Scheduling
    Slide set 30 PowerPoint or PDF
    Slide set 31 PowerPoint or PDF
    Flash video playback or downloadable swf

  • Notes from Mon 12/08/2008 Wrapping up
    Notes jnt PDF
    Slide set 39 PowerPoint or PDF
    Flash video playback or downloadable swf

  • 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 Additional files needed: hw41a.pas , hw41a.tuple, hw41b.pas , hw41b.tuple, hw42.pas , hw42.tuple , and hw41b.vn

  • 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 postscript 2-up pdf 1-up pdf 2-up
  • Project assignment #3 ascii text or postscript 1-up postscript 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