A compiler is a computer program that translates computer code written in one programming language (the source language) into another programming language (the target language). The name compiler is primarily used for programs that translate source code from a high-level programming language to a lower level language (e.g., assembly language, object code, or machine code) to create an executable program.
Compiler design principles provide an in-depth view of translation and optimization process. Compiler design covers basic translation mechanism and error detection & recovery. It includes lexical, syntax, and semantic analysis as front end, and code generation and optimization as back-end.
This course is designed for students interested in learning the basic principles of compilers and how they function. feel free to follow the course outline to expand your knowledge of compiler design
- Compiler Design | Introduction of Compiler design
- Compiler construction tools
- Compiler Design | Phases of a Compiler
- Symbol Table in Compiler
- C++ Program to implement Symbol Table
- Error detection and Recovery in Compiler
- Error Handling in Compiler Design
- Language Processors: Assembler, Compiler and Interpreter
- Generation of Programming Languages
- Compiler Design | Introduction to Syntax Analysis
- Compiler Design | Why FIRST and FOLLOW?
- Compiler Design | FIRST Set in Syntax Analysis
- Compiler Design | FOLLOW Set in Syntax Analysis
- Program to calculate First and Follow sets of given grammar
- Classification of Context Free Grammars
- Compiler Design | Ambiguous Grammar
- Parsing | Set 1 (Introduction, Ambiguity and Parsers)
- Compiler Design | Classification of top down parsers
- Parsing | Set 2 (Bottom Up or Shift Reduce Parsers)
- Shift Reduce Parser in Compiler
- Parsing | Set 3 (SLR, CLR and LALR Parsers)