College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -1- Self Introduction Ying JIN ( 金英 ) , PhD, Associate Professor, –Software Formalization Lab( 软件形式化研究室 ), College of CST, Jilin University –Consultant, SQRL, University of Limerick, Ireland Research interests: –Document Driven Software Development; Requirement Engineering; Mobile Code Security; Programming languages and their implementation techniques; formal method; Contact information – –Office Phone: –Office: Computer Building A204 –Office hour: Wednesday 9:00 – 11:00
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -2- Compiler Construction Principles & Implementation Techniques Dr. Ying JIN Associate Professor College of CST, Jilin University Sept. 2007
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -3- About the Course Outline –General Information –Course Outline –Course Goals –Studying the Course Objectives –Have a glance at what the course is about? –Understand why need to study the course? (what you can achieve through studying the course) –Have an idea about how to study the course?
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -4- General Information Bilingual Course (Module) Prerequisite –High-level Programming Languages (PASCAL, C) ※ –Assembly Language –Data Structure ※ –Algorithm Design ※ –Operating System ※ –Good English (mainly reading) ※ Credits: 4 Hours: 64
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -5- General Information Class time: Monday & Friday Teaching Assistant: 张晶博士 Class format –Lectures + –Reading Assignments + –Problems + –Final Exam + –Projects
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -6- General Information Optional Textbooks [1] Aho, Alfred V., Ravi Sethi, and Jeffrey Ullman. Compilers: Principles, Techniques and Tools. Reading, MA: Addison-Wesley, ISBN: [2] Appel, Andrew W. Modern Compiler Implementation in Java. Cambridge, UK: Cambridge University Press, ISBN: [3] Kenneth C. Louden. Compiler Construction: Principles and Practice. PWS Publishing Company, IBSN [4] 金成植,金英. 《编译程序构造原理与实现技术》. 高等教育出版社 [5] 刘磊等. 《编译原理及实现技术》. 机械工业出版社
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -7- Course Outline This course aims at –Introducing general design principles, methods, and implementation techniques in developing a compiler for a high-level procedural programming language; What is a compiler? Compiler Source Program Target Program Error Message
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -8- Course Outline Main content –§1. Introduction to Compiler –§2. Scanning ※ –§3. Parsing ※ –§4. Top-down Parsing ※ –§5. Bottom-up Parsing ※ –§6. Semantic Analysis ※ –§7. Intermediate Code Generation –§8. Intermediate Code Optimization –§9. Runtime Environment ※ –§10. Target Code Generation ※
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -9- Course Goals Learn compiler related techniques –Design, implementation, theory/method –How to utilize them in the future application Understand high-level programming languages deeply –Design & implementation Improve programming skills –The first time to have a chance to know about meta-software system –The first time to know how to Develop a complex, large scale, system software Application –Learn some easy ways to develop some applications
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -10- How to study the course Have a whole picture in mind! Do not treat this course as theoretical one, but treat it as a course for solving programming problems! Be aware –What we are learning? –Where we can use it? –How different parts are connected to each other? Class attendance is very important! Preview before each lecture! Solving problems after class independently! (homework) Do the projects for practice!
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -11- Some Issues Teaching strategy –O–Outline Problem Discussion General Method Implementation Technique Examples –E–Emphasis on principles, main idea; Reading Assignment –T–The class will be divided into several groups; –S–Several topics (reading assignment) will be given; –E–Each group should finish one report for each reading assignment; –E–Each group will have a chance to give presentation on the topic; Homework –E–Each student should hand in his/her answers to the questions; Projects –O–Optional;
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -12- Some Issues About class time –R–Require every student attend the class on time; –W–Welcome any comments/questions about the course at any time; –K–Keep a comfortable environment for teaching and learning; –T–Turn off or Vibrate Mobile phones;
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -13- Course Materials Syllabus ( 教学大纲 ) Dictionary for the course (most terms both in English and Chinese) Slides after each class Word template for Reading Assignments Website of our lab –
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -14-