lect0 - ompilers: CS31003 9 Computer Sc & Engg: IIT...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ompilers: CS31003 9 Computer Sc & Engg: IIT Kharagpur 6 1 Compilers: CS31003 § Autumn ¦ Semester: 2009 - 2010 ¥ Goutam Biswas ¤ Instructor: Department: Computer Science and Engineering Compilers Laboratory: CS39003 8 7 ect 0 Goutam Biswas ompilers: CS31003 9 Computer Sc & Engg: IIT Kharagpur 6 2 Class, Test & Marks Distribution • Expected number of theory classes: 40, laboratory classes: 14. • Class Test & Assignments - 2nd Sept., 2009 (class test) - 20 marks • Mid-Sem. Exam. - 19th Sept., 2009 - 30 marks • End-Sem. Exam. - 17t h Nov., 2009 - 50 marks Classes • Attendance - a = Total No. Attended of Classes 8 • Final Markes: a × marks obtained. ect 0 Goutam Biswas 7 ompilers: CS31003 9 Computer Sc & Engg: IIT Kharagpur 6 3 Class Timings Class Room No. CS-119 Day Monday Tuesday Tuesday Time 10:30 to 11:25 07:30 to 08:25 (extra) 08:30 to 09:25 Thursday 11:30 to 12:25 8 7 ect 0 Goutam Biswas ompilers: CS31003 9 Computer Sc & Engg: IIT Kharagpur 6 4 Syllabus - Compiles (CS31003) The aim is to learn the basic design and implementation of a simple compiler for a small imperative language. It is also essential to learn the underlying theories. ect 0 8 Goutam Biswas 7 ompilers: CS31003 9 Computer Sc & Engg: IIT Kharagpur Syllabus - Compiles (CS31003) 6 5 • Introduction: Phases of compilation and overview. • Lexical Analysis (scanner): Regular languages, finite automata, regular expressions, from regular expressions to finite automata, scanner generator (lex, flex). • Syntax Analysis (Parser): Context-free languages and grammars, push-down automata, LL(1) gram-mars and top-down parsing, operator grammars, LR(O), SLR(1), LR(1), LALR(1) grammars and bottom-up parsing, ambiguity and LR parsing, LALR(1) parser generator (yacc, bison) ect 0 8 Goutam Biswas 7 ompilers: CS31003 9 Computer Sc & Engg: IIT Kharagpur Syllabus - Compiles (CS31003) 6 6 • Semantic Analysis: Attribute grammars, syntax directed definition, evaluation and flow of attribute in a syntax tree. • Symbol Table: Its structure, symbol attributes and management • Run-time environment: Procedure activation, parameter passing, value return, memory allocation, and scope. • Intermediate Code Generation: Translation of different language features, different types of intermediate forms. ect 0 8 Goutam Biswas 7 ompilers: CS31003 9 Computer Sc & Engg: IIT Kharagpur Syllabus - Compiles (CS31003) 6 7 • Code Improvement (optimization): Analysis: control-flow, data-flow dependence etc.; Code improvement local optimization, global optimization, loop optimization, peep-hole optimization etc. Architecture dependent code improvement: instruction scheduling (for pipeline), loop optimization (for cache memory) etc. • Register allocation and target code generation • Advanced topics: Type systems, data abstraction, compilation of Object Oriented features and non-imperative programming languages. ect 0 8 Goutam Biswas 7 ompilers: CS31003 9 Computer Sc & Engg: IIT Kharagpur 6 8 Instructor Name Goutam Biswas Tel. No. 281910 (o) 277399 (r) email goutam@cse.iitkgp.ernet.in goutamamartya@gmail.com • Coordinates: Department of Computer Science and Engineering, 1st Floor, Room No. 207. • Web Page: http://www.facweb.iitkgp.ernet.in/∼goutam/ 8 7 ect 0 Goutam Biswas ompilers: CS31003 9 Computer Sc & Engg: IIT Kharagpur 6 9 Teaching Assistant (TA) Name Vinu Rajashekhar Gaurav Kumar Debiprosad Dogra Kaustubh Tripathi · · · ≡ gmail.com 8 Tel. No. 9932978470 9933390310 9733958129 9932750812 email vinutheraj@· · · cooldudegaurav2005@· · · debiprosadcom@· · · kaustubh.iitkgp@· · · ect 0 Goutam Biswas 7 ompilers: CS31003 9 Computer Sc & Engg: IIT Kharagpur Text Books 6 10 • Compilers Principles, Techniques, and Tools, by A. V. Aho, Monica S. Lam, R. Sethi, & J. D. Ullman, 2nd ed., ISBN 978-81317-2101-8, Pearson Ed., 2008(text book) • Engineering a Compiler, by Keith D. Cooper & Linda Troczon, ISBN 81-8147-369-8, Morgan Kaufmann, Elsevier, 2004 • Programming Language Pragmatics, by Michael L. Scott, ISBN 81-312-0737-4, Morgan Kaufmann, Elsevier, 2006 8 • Compiler design, by Santanu Chattopadhyay, ISBN 81-203-2725-X, PHI, 2005 ect 0 Goutam Biswas 7 ompilers: CS31003 9 Computer Sc & Engg: IIT Kharagpur Text Books 6 11 • Advanced Compiler Design and Implementation by, Steven S. Muchnick, ISBN 981-4066-24-9, Morgan Kaufmann, Elsevier, 2000 • Optimizing Compilers for Modern Architectures, by Randy Allen & Ken Kennedy, ISBN 81-8147-366-3, Morgan Kaufmann, Elsevier, 2002 • Modern Compiler Implementation in C, by Andrew W. Appel, ISBN 81-7596-071-X, CUP • Practice and Principles of Compiler Building with C, by Henk Alblas & Albert Nymeyer, ISBN 81-203-1362-3, PHI ect 0 8 Goutam Biswas 7 ompilers: CS31003 9 Computer Sc & Engg: IIT Kharagpur 6 12 Text Books • Introduction to Compiling Techniques A first course using ANSI C, Lex and Yacc, by J. P. Bennett, ISBN 0-07-053073-4, TMH • lex & yacc by, John R levine, Tony Mason & Doug Brown, ISBN 81-7366-062-X, SPD - O’Reilly ect 0 8 Goutam Biswas 7 ...
View Full Document

Ask a homework question - tutors are online