CS5363 Programming Languages and Compilers

Spring 2019

Basic Information

Contact

Outline

A study of programming languages with an emphasis on their implementation. Topics include lexical analysis, language syntax, control structures, the binding of names, procedures, and their implementation in compilers.

Announcements

  • Notices such as the content and due data of assignments, projects will be placed here.
  • Course Syllabus

    Course Schedule

    Assignments and Projects

    Course Project

    Lecture Slides

    Lecture Slides will be available a week before a lecture.
  • Lecture 01 Introduction
  • Lecture 02 Formal Languages and Grammars
  • Lecture 03 Finite State Machines
  • Lecture 04 Lexical Analysis
  • Lecture 05 Context Free Grammars
  • Lecture 06 Top-Down Parsing
  • Mid-Term Sample Questions
  • Assignment I Solutions
  • Lecture 07 Semantic Analysis
  • Some tips for project phase II
  • Lecture 08 Code Generation
  • MIPS Simulator
  • MIPS Assembly Specification
  • Brief Introduction of SPIM instructions
  • Lecture 09 Register Allocation
  • Lecture 10 Code Optimization
  • Lecture 11 Calling Conventions
  • Lecture 12 Functional Languages
  • Lecture 13 Final Review
  • Mid-Term II Sample Questions with Solutions
  • Assignment II Solutions