|
General info: CS6660
COMPILER
DESIGN
|
University – Anna university,
|
|
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.
|
|
Wednesday, 13 June 2018
CS6660 COMPILER DESIGN
Subscribe to:
Post Comments (Atom)
Active Employee Report
Active Employee Report SELECT PPPMF.PRIORITY, "PER_ALL_PEOPLE_F_1"."PERSON_NUMBER" AS "PERSON_NUMBER...
-
/* Name : Annual leave Bonus v3 DATE: 23-03-2020 CREATED BY : PARTHA This report is to get the employee's performance rating...
-
1) Microsoft excel short cut keys. 2) Microsoft for beginners #1 3) Microsoft for beginners#2 4) ...
No comments:
Post a Comment