COURSE NUMBER: 153
TITLE: Assemblers, Interpreters and Compilers
CREDITS: units
SEMESTER AND SCHOOL YEAR: Semester, S.Y. 2007-2008
INSTRUCTOR: Mr. Cyrus G. Gabilla Prerequisites
You must be familiar with a high level block-structured language. If you are not proficient in C or C++ then you must be prepared to learn it quickly. You should understand general programming concepts (e.g., recursion, parameter passing). You should have experience using data structures such as pointers, linked lists, trees, hash tables, and stacks.
Goals
Satisfactory completion of this course requires demonstration of the following skills:
- understand syntax directed programs,
- be able to construct a lexical analyzer (scanner) using regular expressions and a scanner generator tool,
- be able to construct a parser from a context-free grammar and a parser generator tool; and
- be able to construct and use a symbol table to support the parsing of context sensitive constructs.
Theoretical Component
The theoretical component provides an opportunity to acquire the domain knowledge and to demonstrate comprehension of and the ability to apply the acquired knowledge through problem sets, papers/reports, tests, and presentations and/or interviews.
Practical Component (labs and projects)
The practical component involves both interpersonal and communication skills for effective teamwork and an opportunity to demonstrate the design and collaboration skills necessary to analyze a problem, create and evaluate alternative designs, and implement a solution to the problem.
GRADING CRITERIA
Theoretical Component
- Homework/Problem Sets 20%
- Report/Exams/Quizzes 30%
Practical Component
- Project/Laboratory 40%
- Attendance 10%
TEXTBOOK
Compilers: Principles, Techniques and Tools, Aho, Sethi, and Ullman, Addison-Wesley, 1986
OTHER RESOURCES