Compilers

Undergraduate course (current and previous semesters)

Course Description

About compilers course

Introduction

The course is intended to teach the students the basic techniques that underlie the practice of Compiler Construction. The course will introduce the theory and tools that can be standardly employed in order to perform syntax-directed translation of a high-level programming language into an executable code.

These techniques can also be employed in wider areas of application, whenever we need a syntax-directed analysis of symbolic expressions and languages and their translation into a lower-level description. They have multiple applications for man-machine interaction, including verification and program analysis.

Objectives

  • objective 1
  • objective 2
  • objective 3

Motivations

  • Compiler Research: The next 50 Years [pdf]

Course Materials

Common and necessary files for all semesters

Resource

  • Lecture Notes (Dr Parsa) [pdf]
  • Main Reference (Dragon Book) [Buy]
  • Convert DFA to RegExp [pdf]
  • Introduction to ANTLR [pdf]
  • Flex Manual [www]
  • Flex One Minutes Tutorials [mp4]

Tools

Sample Exams

Useful Links

Reference

[Fig. The relationship between grammars]

Schedule, Syllabus and Lecture Notes

The weekly program of course in all semesters
Week Topic Materials Descriptions
01 Introduction
02 Lexical Analyzer
03  Lexical Analyzer (Continue)
04  Shift-Reduce Parsers (1)

Current Semester (Spring 2018)

IUST Semester 1396-2

Announcements 

  • 1397-02-31: Please register your groups here (Due date: 1397-03-20).
  • 1397-02-04: HW03 was published.
  • 1397-02-02: Welcome to compilers course by Dr. Saeed Parsa!

Course Instructors

  • Dr. Saeed Parsa

Teaching Assistants

Class Time and Location

  • Semester 1396-2 (Spring 2018)
  • Main Lecture: Saturdays and Mondays, 08:00 – 10:00
  • Location: Classroom D104
  • TA Class: Mondays, 12:00 – 13:00, Classroom D104

Grading Policy

  • TA Class (Homework, Project, etc): 5 + 1
  • Exercises: 5
  • Exams: 10
  • Sum: 21

Homeworks

  • Homework 1 (Questions | Solutions: In classroom) | Due date: 1397-01-19 / end.
  • Homework 2 (Questions | Solutions: In classroom) | Due date: 1397-01-19 / end.
  • Homework 3 (Questions | Solutions: In classroom) | Due date: 1397-02-20 / end.
  • Homework 4 (Questions | Solutions) | Due date: 1397-03-20

* Note: Your homework solutions should submit to compiler_iust@outlook.com.

Project

  • Project Proposal (coming soon)

TA Class Notes

  • Homework 1 descriptions

FAQ

  • ?

Previous Semesters

The main archived notes and files

Announcements 

  • 1396-1

Course Instructors

  • Dr. Saeed Parsa

Teaching Assistants

Class Time and Location

  • Semester 1396-2 (Spring 2018)
  • Main Lecture: Saturdays and Mondays, 08:00 – 10:00
  • Location: Classroom D104
  • TA Class: Mondays, 12:00 – 13:00, Classroom D104

Grading Policy

  • Comming soon . . .

Homeworks

  • HW01 / Solutions
  • HW02
  • HW03
  • HW04

Project

  • Project Proposal

TA Class Notes

  • HW1 descriptions

FAQ

  • ?