EE 300 - THERMODYNAMICS - School of Science and Technology

brickcompetitiveΛογισμικό & κατασκευή λογ/κού

14 Δεκ 2013 (πριν από 3 χρόνια και 6 μήνες)

84 εμφανίσεις

UNIVERSITY OF MANAGEMENT AND TECHNOLOGY


SCHOOL OF SCIENCE AND TECHNOLOGY


CS
-
401 Compiler Construction


Lecture
s


2 per week

Semester

Spring, 2011

Credit Hours

3

Pre
-
requisite
s

CS
-
210
, CS
-
300

Instructor

M. A. Adnan

Contact

ahmad.adnan
@umt.edu.pk

Office

3S
-
33

Office Hours

TBA

Course
Description

All phases of compiler construction are covered: lexical ana
lysis, syntax analysis,
semantic analysis, intermediate code generation,
assembly code generation and
machine code generation.

Goals

After completion of this course,
students should
have a thorough understanding of the
front and back ends of a compiler. The student should be able to write a compiler for
a simple programming language,

Textbook


David Galles
,
Modern Compiler
Construction,
,
Prentice Hall, 2005



Reference
Book

Resources on the Internet

Grading
Policy

Programming Assignments 25%

Practice Problems 0%

Quizzes (may be unannounced) 10%

Midterm Exam 1

15%

Midterm Exam 2 15%

Final Exam 35%


Assignments
and quizzes

About 6

programming assignments and 5

quizzes
.

Assignments submitted late may be accepted with substantial loss of
credit.

No make
-
ups will be offered for missed quizzes

Mid
-
Term
Examination
s


Two

75
-
minute
comprehensive
midterm exam
s. Exams will be open
-
book and open
-
notes.

Final

Examination

Comprehensive
final exam. Final exam will be open
-
book and open
-
notes.

Attendance
Policy

Students missing more than 20% of the lectures will

be treated as SA, and will not be
allowed to appear in the final examination.



TENTATIVE
COURSE SCHEDULE



Lectures

Topics

1

Introduction:

Compiler Phases

2
-

3

Lexical Analysis:

Scanning Process, Regular Expressions and Finite
Automata, Scanner Implementation

4
-

5

Context
-
Free Grammars:

Context
-
Free Grammars, Parse Trees,
Ambiguity, EBNF

6
-

10

Top
-
Down Parsing:
LL Parsing,
Recursive Descent Parsing, First and
Follow Sets,
Parse Tables, LL(k) Parsing

11

Midterm Exam 1

12
-

16

Bottom
-
Up Parsing:
LR Parsing, LR (0) Parsers, LR(1) Parsers, LALR(1)
Parsers

17
-

18

Abstract Syntax Trees:
Designs

18
-

21

Semantic Analysis
: Semantic Errors, Environments, Type Checking,
Semantic

Analyzer Design

22

Midterm Exam 2

23


26

Intermediate Code Generation:
Memory Allocation, Abstract Assembly,
Abstract Assembly Trees

27


30

Code Generation:
Target Assembly Code, Abstract Assembly Tree Tiling


Final

Exam