CS6660 COMPILER DESIGN L T P C
3 0 0 3
OBJECTIVES:
The student should be made to:
UNIT I INTRODUCTION TO COMPILERS 5
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 9
Need and Role of Lexical Analyzer-Lexical Errors-Expressing Tokens by Regular Expressions- Converting 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 Strategies- Recursive Descent Parser Predictive Parser-LL(1) Parser-Shift Reduce Parser-LR Parser-LR (0)Item- Construction 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 12
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 9
Principal Sources of Optimization-DAG- Optimization of Basic Blocks-Global Data Flow Analysis- Efficient 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:
TOTAL: 45 PERIODS
TEXTBOOK:
REFERENCES:
#################################################################################################
3 0 0 3
OBJECTIVES:
The student should be made to:
- Learn the design principles of a Compiler.
- Learn the various parsing techniques and different levels of translation.
- Learn how to optimize and effectively generate machine codes.
UNIT I INTRODUCTION TO COMPILERS 5
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 9
Need and Role of Lexical Analyzer-Lexical Errors-Expressing Tokens by Regular Expressions- Converting 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 Strategies- Recursive Descent Parser Predictive Parser-LL(1) Parser-Shift Reduce Parser-LR Parser-LR (0)Item- Construction 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 12
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 9
Principal Sources of Optimization-DAG- Optimization of Basic Blocks-Global Data Flow Analysis- Efficient 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:
- Design and implement a prototype compiler.
- Apply the various optimization techniques.
- Use the different compiler construction tools.
TOTAL: 45 PERIODS
TEXTBOOK:
- Alfred V Aho, Monica S. Lam, Ravi Sethi and Jeffrey D Ullman, “Compilers – Principles,
REFERENCES:
- Randy Allen, Ken Kennedy, “Optimizing Compilers for Modern Architectures: A Dependence-based Approach”, Morgan Kaufmann Publishers, 2002.
- Steven S. Muchnick, “Advanced Compiler Design and Implementation”, Morgan Kaufmann
- Keith D Cooper and Linda Torczon, “Engineering a Compiler”, Morgan Kaufmann
- Charles N. Fischer, Richard. J. LeBlanc, “Crafting a Compiler with C”, Pearson
#################################################################################################
ANNA UNIVERSITY | SYLLABUS | UNIVERSITY QUESTION PAPER | NOTES
Post a Comment Blogger Facebook