Wednesday, 13 June 2018

CS6660 COMPILER DESIGN

General info: CS6660
COMPILER DESIGN
University – Anna university,
Tamil Nadu, India
Marks: UNIT 1 to 5 – 9+3 each unit 
Period - TOTAL (L:45+T:15): 60 PERIODS 

 OBJECTIVES:  The student should be made to:
1)     Learn the design principles of a Compiler.
2)     Learn the various parsing techniques and different levels of translation
3)     Learn how to optimize and effectively generate machine codes

UNIT I - INTRODUCTION TO COMPILERS
Translators-Compilation and Interpretation-Language processors -The Phases of Compiler-Errors Encountered in Different Phases-The Grouping of Phases-Compiler Construction Tools - Programming Language basics.   
UNIT II - LEXICAL ANALYSIS
 Need and Role of Lexical Analyzer-Lexical Errors-Expressing Tokens by Regular ExpressionsConverting Regular Expression to DFA- Minimization of DFA-Language for Specifying Lexical Analyzers-LEX-Design of  Lexical Analyzer  for a sample Language.
UNIT III - SYNTAX ANALYSIS
10 Need and Role of the Parser-Context Free Grammars -Top Down Parsing -General StrategiesRecursive Descent Parser Predictive Parser-LL(1) Parser-Shift Reduce Parser-LR Parser-LR (0)ItemConstruction of SLR Parsing Table -Introduction to LALR Parser - Error Handling and Recovery in Syntax Analyzer-YACC-Design of a syntax Analyzer for a Sample Language .

UNIT IV - SYNTAX DIRECTED TRANSLATION & RUN TIME ENVIRONMENT                         
Syntax directed Definitions-Construction of Syntax Tree-Bottom-up Evaluation of S-Attribute Definitions- Design of predictive translator -  Type Systems-Specification of a simple type checker Equivalence of Type Expressions-Type Conversions. 
RUN-TIME ENVIRONMENT: Source Language Issues-Storage Organization-Storage Allocation Parameter Passing-Symbol Tables-Dynamic Storage Allocation-Storage Allocation in FORTAN.

UNIT V - CODE OPTIMIZATION AND CODE GENERATION
Principal Sources of Optimization-DAG- Optimization of Basic Blocks-Global Data Flow AnalysisEfficient Data Flow Algorithms-Issues in Design of a Code Generator - A Simple Code Generator Algorithm.   
OUTCOMES: At the end of the course, the student should be able to:
1)     Design and implement a prototype compiler.
2)             Apply the various optimization techniques. 
3)              Use the different compiler construction tools.
TEXTBOOK: 1. Alfred V Aho, Monica S. Lam, Ravi Sethi and Jeffrey D Ullman, “Compilers – Principles, Techniques and Tools”, 2nd Edition, Pearson Education, 2007.

REFERENCES:
1.    Randy  Allen,  Ken  Kennedy,  “Optimizing  Compilers  for  Modern  Architectures:  A  Dependence-based Approach”, Morgan Kaufmann Publishers, 2002.
2.   Steven  S.  Muchnick,  “Advanced  Compiler  Design  and  Implementation, “Morgan       Kaufmann Publishers - Elsevier Science, India, Indian Reprint 2003. 3.   Keith D Cooper and Linda Torczon, “Engineering a Compiler”, Morgan Kaufmann       Publishers Elsevier Science, 2004.
4.   Charles N. Fischer, Richard. J. LeBlanc, “Crafting a Compiler with C”,   Pearson   Education,         2008.

Notes from studentfocus.com: Unit-1,Unit-2, Unit-3,Unit-4, Unit-5




No comments:

Post a Comment

Active Employee Report

 Active Employee Report SELECT  PPPMF.PRIORITY, "PER_ALL_PEOPLE_F_1"."PERSON_NUMBER"             AS "PERSON_NUMBER...