Oman College of Management & Technology Department of Computer Science Baraka, Oman Tel. (968) 26893366 Fax (968) 26893068 (503402) Compiler Construction Course Code : 503402 Course Name : Compiler Construction Semester / Session : Second 2015/2016 Credit Hours : 3 Hrs Course Prerequisites : 503202 Class sections and Lecturers: Section 10– 11:30 Mon, Wed: 231 Loay AlNeamy Instructors Office Hours: Email: Office Location: Office Hours: Website: [email protected] 225 Sun, Tue, Thru: 10:30-11:30, 13:30-14:30 Mon, Wed: 13 – 14:30 www.omancollege.edu.om/loay Course Description Basic concepts, compiler components, lexical analysis, symbol tables handling, parsing techniques, error handling and recovery, syntax-directed translation, type checking, run-time organization, intermediate code generation, code generation, code optimization. Course objectives 1. Introducing students to the concepts and principles of compiler design. 2. Providing students with basic understanding of grammars and language definition. 3. Introducing students to the various phases of designing a compiler. 4. Introducing students to the various programming techniques and structures used in compiler construction. 5. Providing students with practical programming skills necessary for constructing a compiler Learning Outcomes After completing this course the student should be able to: 1. Proficiency with lexical analysis methods and tools. 2. Proficiency with parsing methods and tools. 3. Proficiency with basic issues of semantic analysis. 4. Familiarity with methods for code generation. 5. Ability to work successfully on a team. 6. Further proficiency with software design in high-level languages. Teaching Methods The course will be based on the following teaching and learning activities: Power point presentations that covers the theoretical part Review questions Lab sessions Course Time Table: Week 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Subjects An overview of Compiler Construction Environment of the compiler Passes front end back end Retargetable compiler Lexical Analysis Regular expressions and finite state machines (First Exam) Lexical analysis techniques Symbol Table Construction Symbol table organization Storing identifiers Syntax Analysis (Second Exam) Grammars and language definition (BNF grammar, syntax diagrams) Top-down parsing; bottom-up parsing. LL vs. LR parsing recursive descent parsing; predictive parsing (table driven and operator precedence driven parsing) Intermediate Code Generation Final Exam Evaluation Plan Modes Of Assessment First Exam Second Exam Assignments Final Exam Score 20% 20% 10% 50% * Makeup exams will be offered for valid reasons only. Makeup exams may be different from regular exams in content and format. Attendance Policy Lecture attendance is mandatory. Students are allowed maximally of 15% absentia of the total module hours. Teaching Resources Main Textbook : Compiler Construction/ by Thomas W. Parsons. New York : Computer Science Press, 1992. Recommended Books: Principle of compiler design/ by Aho, A.,Addison-Wesley 1997. Compiler Construction/ by Thomas W. Parsons. New York : Computer Science Press, 1992.