infyni

Compiler Design

Introduction of Compiler design. Compiler is a software which converts a program written in high level language (Source Language) to low level language

Live Course

Duration: 12 Hours

Enrolled: 0

Offered by: infyni

Live Course
$50 62% off

$19

Coming Soon Notify Me

About Course

Programming languages are the primary tools for all computer programmers.Compiler is used to translate computer code from a programming language to machine code to an executable program.

Compilers are complex software systems. The software architecture of a compiler is quite general. A large variety of applications can be modelled after a compiler. After the course you should have an understanding,based on knowledge of the underlying machine architecture, the limitations and efficiency of various design techniques of compiler implementation.

  • Topics
  • Instructor
  •  
  •  
  • Introduction to Compiler, single and multi-pass compilers
  •  
  •  
  • Translators
  •  
  •  
  • Phases of Compilers
  •  
  •  
  • Compiler writing tools
  •  
  •  
  • Bootstrapping & Backpatching
  •  
  •  
  • Role of Lexical Analyzer
  •  
  •  
  • Specification and Recognition of tokens
  •  
  •  
  • Finite automata
  •  
  •  
  • Implementation of lexical analyzer Tool for lexical analyzer LEX
  •  
  •  
  • Context free grammars
  •  
  •  
  • Bottom-up parsing and Top down parsing
  •  
  •  
  • Elimination of left recursion
  •  
  •  
  • Recursive descent parsing
  •  
  •  
  • Operator precedence parsing
  •  
  •  
  • LR parsers
  •  
  •  
  • Construction of SLR parse tables for ambiguous grammar
  •  
  •  
  • Synthesized and inherited attributes
  •  
  •  
  • Dependency graph
  •  
  •  
  • Construction of syntax trees
  •  
  •  
  • Bottom up and top down evaluation of attributes
  •  
  •  
  • Three address codes,quadruples,triples and indirect triples
  •  
  •  
  • Translation of assignment statements and control flow
  •  
  •  
  • Boolean expression and Procedure Calls
  •  
  •  
  • Storage organization
  •  
  •  
  • Activation trees and records
  •  
  •  
  • Allocation strategies
  •  
  •  
  • Parameter passing symbol table
  •  
  •  
  • Dynamic storage allocation
  •  
  •  
  • Basic blocks and flow graphs
  •  
  •  
  • Optimization of basic blocks
  •  
  •  
  • Loop optimization
  •  
  •  
  • Global data flow analysis
  •  
  •  
  • Loop invariant computations
  •  
  •  
  • Issue in the design of Code generator
  •  
  •  
  • Register allocation
  •  
  •  
  • Simple code generator