COMPILER DESIGN (CST-012) UTU

Compiler Design teaches how to convert high-level code into machine code through lexical analysis, parsing, optimization, and code generation.
5.0
(1)
37 Enrolled
40 hours
  • Intermediate
  • 37
  • 40 hours
  • September 22, 2024
  • Certificate of completion
Free

About Course

OBJECTIVES: The objectives of this B.Tech Compiler Design Course

UNIT – I INTRODUCTION TO COMPILERS:
Structure of a compiler – Lexical Analysis – Role of Lexical Analyzer – Input Buffering – Specification of Tokens – Recognition of Tokens – Lex – Finite Automata – Regular Expressions to Automata – Minimizing DFA.
UNIT- II SYNTAX ANALYSIS:
Role of Parser – Grammars – Error Handling – Context-free grammars – Writing a grammar – 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.
UNIT- III SYNTAX-DIRECTED TRANSLATION:
Syntax-Directed Definitions, Evaluation Orders for SDD’s, Applications of Syntax-Directed Translation, Syntax-Directed Translation Schemes, Implementing L-Attributed SDD’s.
INTERMEDIATE-CODE GENERATION: Variants of Syntax Trees, Three-Address Code, Types and Declarations, Type Checking, Control Flow, Switch-Statements, Intermediate Code for Procedures.
UNIT- IV RUN-TIME ENVIRONMENTS:
Stack Allocation of Space, Access to Nonlocal Data on the Stack, Heap Management, Introduction to Garbage Collection, Introduction to Trace-Based Collection.
CODE GENERATION: Issues in the Design of a Code Generator, The Target Language, addresses in the Target Code, Basic Blocks and Flow Graphs, Optimization of Basic Blocks, A Simple Code Generator, Peephole Optimization, Register Allocation and Assignment, Dynamic Programming Code-Generation.
UNIT- V MACHINE-INDEPENDENT OPTIMIZATION:
The Principal Sources of Optimization, Introduction to Data-Flow Analysis, Foundations of Data-Flow Analysis, Constant Propagation, Partial-Redundancy Elimination, Loops in Flow Graphs, peep-hole  optimization.
Show More

What Will You Learn?

  • Grammar Rules: Learn how programming languages define their structure using rules.
  • Parsing: Understand how to analyze code to ensure it follows these grammar rules.
  • Syntax Trees: Build and use tree structures that represent the code’s organization.

Course Content

UNIT – I INTRODUCTION TO COMPILERS.

  • Introduction of Language Processing System
  • Introduction to Compilers.
  • Advantages and Disadvantage of Compiler
  • Introduction to Interpreters
  • Advantages & Disadvantages of Interpreter
  • Comparison between a Compiler and an Interpreter
  • Structure of a compiler
  • Explanation of Compiler Phases
  • Question of Compiler phases
  • Lexical Analysis
  • Role of Lexical Analyzer
  • How Does Lexical Analyzer Work?
  • Input Buffering
  • Specification of Tokens
  • Recognition of Tokens
  • Lexme
  • Finite Automata
  • Regular Expressions to Automata
  • Minimizing DFA
  • Question of Unit 1 Categorized by marks

Practicles

UNIT- II SYNTAX ANALYSIS.

UNIT- III SYNTAX-DIRECTED TRANSLATION.

UNIT- IV RUN-TIME ENVIRONMENTS.

UNIT- V MACHINE-INDEPENDENT OPTIMIZATION.

Instructors

R

RajKumar

Front End Developer🧑‍💻.
4.8
221 Students
10 Courses
UTU

UTU

Web Developer
4.0
233 Students
12 Courses

I am a passionate Computer Science educator committed to fostering a deep understanding of technology and its applications among students. With 4 years of teaching experience, I have developed a comprehensive approach to education that combines theoretical knowledge with practical skills. My goal is to inspire students to explore the dynamic world of computer science, equipping them with the tools and confidence they need to excel in their academic and professional careers.
 

Feedback

5.0
Total 1 Rating
100%
0%
0%
0%
0%

Review (1)

  1. KR
    great course

Want to receive push notifications for all major on-site activities?