Reverse Engineering

Graduate course (current and previous semesters)

Course Description

About compilers course


The course is intended to teach the students the advanced techniques that underlie the data and software reverse engineering. 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.


  • objective 1
  • objective 2
  • objective 3


  • Compiler Research: The next 50 Years [pdf]

Course Materials

Common and necessary files for all semesters


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


  • Flex for Windows
  • Flex for Linux

Sample Exams

  • Semester 1388-1
  • Semester 1389-1

In Memory of Ali Parsa

عشق یک بازی بود در سر فرازی * با همین بازی بنا شد عشق بازی

علی پارسا دبیر عاشقان بود * سرود عشق او آرام جان بود

ازعشق او رسید ارثی برایم * چراغانی گشت دل و جان و سرایم

مرا تنها به‌سوی عشق می‌راند * سرود عشق را در سجده می‌خواند

من از عشق پدر سرشار گشتم * از عشق پاک او فرهاد گشتم

پدر یک عاشق پاک زمان بود * عروجش هم منای عاشقان بود

من شدم با عشق خود همراه او * توشه ای باشد برای راه او


تقدیم به روح پدرم علی پارسا

(دکتر سعید پارسا، دانشیار دانشگاه علم و صنعت ایران)

Current Semester (Spring 2018)

IUST Semester 1396-2

This course thought only in Fall semesters.

Previous Semesters

The main archived notes and files


  • 1397-02-04: HW03 was published.
  • 1397-02-02: Welcome to advanced 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

  • Comming soon . . .


  • HW01 / Solutions
  • HW02
  • HW03
  • HW04


  • Project Proposal

TA Class Notes

  • HW1 descriptions


  • ?