Anda di halaman 1dari 3

COMPILER CONSTRUCTION

Course Code: 03 Course Objective:


The objective is to make aware students the concepts of compiler designing. It is expected students have should knowledge on automata theory. This course includes various Lexical Analysis, parsing techniques and syntax directed translation.

BTC 703

Credit Units:

Course Contents:
Module I: Introduction Definition, functions of Compiler in Linux / Unix / TC etc environments, other associated terms e.g. Text formatter, Text Editors, Phases and Passes, FSM & REs and their application to Lexical Analysis, Implementation of Lexical Analyzers, Lexical- Analyzer Generator, Lex Compiler including case study, Formal Grammar and their application to Syntax Analysis, BNF Notation, YACC including case study. The Syntactic specification of Languages: CFG, Derivation and Parse Trees, Capabilities of CFG. Module II: Basic Parsing Techniques Parsers, Shift Reduce Parsing, Operator precedence parsing, topdown Parsing, Predictive Parsers. Module III: Automatic Construction of efficient Parsers LR Parsers, the canonical collection of LR(0) items, constructing SLR Parsing Tables, Constructing canonical LR Parsing tables and LALR parsing tables, An Automatic Parser Generator, Implementation of LR parsing Tables, Constructing LALR sets of items. Module IV: Syntax Directed Translation Syntax directed Translation Schemes, Implementation of Syntax directed translators, Intermediate Code, Postfix notation, Parse Trees and Syntax Trees, Three address Code, Quadruple & Triples, Translation of Assignment Statements, Boolean expressions, Control Statements, Postfix Translation, Translation with a Top Down Parser, Array references in Arithmetic expressions, Procedure Calls, Declarations and Case statements Translations. Symbol Tables Data Structure for Symbol Tables, representing scope information. Run Time Administration: Implementation of simple Stack allocation scheme, storage allocation in block structured language. Module V: Error detection and Recovery Lexical phase errors, syntax phase errors, semantic errors Code Optimization: Loop optimization, the DAG representation of basic blocks, value numbers and Algebraic Laws, Global Data Flow Analysis.

Examination Scheme:
Components A CT S/V/Q HA EE Weightage (%) 5 10 8 7 70 CT: Class Test, HA: Home Assignment, S/V/Q: Seminar/Viva/Quiz, EE: End Semester Examination; Att: Attendance

Text & References:


Text: Alfread V. Aho, Ravi Sethi & J.D. Ullman, Compiler Design, Addison Wesley

Ullman, Principles of Compiler Design, Narosa publications.

References: D.M. Dhamdhere, Compiler Construction Principles & Practice, Macmillan India Ltd. Holub, Compiler Design in C, PHI. Tremblay K.P & Sorenson P.G., The Theory and practice of Compiler writing McGraw Hill Waite W.N. and Goos G., Compiler Construction Springer Verlag.