CS 6353 Compiler Construction
News:
-
I updated the grade file to include the tentative letter grades.
Your average is computed by: 63% for the two exams,
27% for the first project, and 10% for the two homeworks.
Please note that your letter grade assigned currently
is just a reference.
- I plan to give a makeup exam to those who get B- or C
in the final grade.
The purpose is to give those students the chance to make up
and get a passing grade (B).
This does not include those who will get an F.
The exam will be comprehensive.
I will try to arrange a time and a room for the make up exam.
- All the regular exams will be held in room 2.415.
- You can use ~ilyen/handin/getgrade.compiler to read your grades.
You have to issue the command in a university solaris system
such as apache, net01/net02/.../net30, etc.
No guarantee that the grades will always be up to date.
- You can use ~ilyen/handin/getgrade.proj1 to read your project 1 grade.
You have to issue the command in a university solaris system
such as apache, net01/net02/.../net30, etc.
Objectives
This course is designed to teach students in both theory and practice
in compiler construction.
Lectures will introduce the theoretical background and important
techniques in compiler design.
Projects are designed to offer students hands-on experiences
for language processing.
Textbook
- Required reading:
Compilers: Principles, Techniques, and Tools (2nd edition),
by Aho, Lam, Sethi, and Ullman, Addison Wesley, 2007.
- Optional Reading for programming assignments:
Lex & Yacc,
by Doug Brown, John Levine, and Tony Mason, O'Reilly Media, 1995.
Notes
- Introduction
- Scanner
-
Converting Simple Token Recognizer from NFA to DFA
- lex
- Grammars
- Top Down Parsing
- Bottom Up Parsing
- Attribute Grammar
- Semantic Analysis
- Intermediate Code Optimization
- Data Flow Analysis
- Run Time Environment
- Code Generation
Homework Assignments
Projects
- Project Assignment Handout
- Phase 1 Due: Oct 2, 2009
- Phase 2 Due: Nov 9, 2009
- Changes made on 10/29. Clarification on identifier types.
- Students are allowed to submit their projects late for 5 days.
first day late penalty is 2 points and for each additional
day of being late, penalty increases by one point.
For example, if you are late for 3
days then the penalty will be 2+3+4 = 9 points. The maximum
penalty is 2+3+4+5+6 = 20 points. After that, projects will
no longer be accepted.
- Phase 3 Due: Dec 7, 2009, hard deadline, demo required
- TA's home page
- Sample program and output
-
Sample output for Project 2. Please note, the symbol table
output should follow
this sample output.
Grades
- HW 1: Average = 91.7
- Exam 1:
- Average = 79.1.
- above 90: 16
- 80-89: 7
- 70-79: 8
- 60-69: 7
- 50-59: 4
- below 50: 4
- Exam 2:
- Average = 55.6.
- above 90: 3
- 80-89: 4
- 70-79: 5
- 60-69: 7
- 50-59: 6
- 40-49: 10
- below 40: 11
Grade Distribution
Class Schedule
- Class: Friday, 4:00-7:00pm, ECSS 2.305
Exam Dates
- Exam 1: Sep 18, 2009
- Exam 2: Oct 23, 2009
- Exam 3: Dec 4, 2009
Instructor and TA Information
- Instructor: Dr. I-Ling Yen, ilyen@utdallas.edu, (972)883-6446
- Instructor Office Hours: 12:30am-2:30pm Tuesdays, ECSS 4.402
- TA: Jeremy Graham, xor@utdallas.edu
- TA: Office Hours: 3:00-5:00 pm Tuesdays and Thursdays, ECSS 4.209
Policies
-
No discussions among students are allowed for homework and lab assignments.
Questions regarding assignments can be discussed with the TA or instructor.
-
Debugging is a part of the learning process and should be done by the
student independently. Please do not seek help from TA or instructor
or other students for debugging.
-
All exams will be close book, close notes in the regularly scheduled
class room.
-
All homework assignments are due in class on the due date.
Due to the need to post answers, no late homework will be accepted.
-
Homework and test papers are not returned to students. They are kept
for SAC accreditation.
-
All project assignments are due before the midnight of the due date.
Late project will incur a 15% penalty per day.
-
Please refer to syllabus for all policies regarding this course.