A compiler translates the code written in one language (like c) to some other language (like machine language) without changing the meaning of the program. It is also expected that a compiler should make the target code efficient and optimize in terms of time and space.
This tutorial app is very useful to understand the theory and practice of compiler implementation. This tutorial includes theories of compiler design as Lexical Analysis, Syntax Analysis, Semantic Analysis, Intermediate Code Generation, Code Optimization, and Code Generation. A description of all the phases is given in the presentation form.
This tutorial is designed for those students who are interested in learning and understand the basic principles of the compiler. Also helpful for those to interested in design a compiler. Each phase easily describes with examples.
This tutorial requires some basic knowledge of programming language like c, java etc.
Features:
1. Topic/chapter wise lesson.
2. Subtopics wise lesson of each topic.
3. Also includes the youtube videos links prepared by me.
4. Question Bank.
5. Complete Offline notes in slid.
Topics:
1. Compiler Design: Introduction
2. Bootstrapping
3. Lexical Analysis: Regular Expression, Thompson Construction
4. Syntax Analysis: Top-down and Bottom-up Parsing
5. Top-down Parsing: Predictive Parsing (LL Parsing)
6. Bottom-up Parsing: Simple LR(SLR), Look Ahead LR(LALR)
7. Semantic Analysis
8. Intermediate Code Generation: Three-Address Code
9. Code Optimization: Basic Blocks
10. Code Generation: Algorithm, getreg() function
Un compilador traduce el código escrito en un idioma (como c) a otro idioma (como el lenguaje de máquina) sin cambiar el significado del programa. También se espera que un compilador haga que el código objetivo sea eficiente y se optimice en términos de tiempo y espacio.
Esta aplicación tutorial es muy útil para comprender la teoría y la práctica de la implementación del compilador. Este tutorial incluye teorías de diseño de compiladores como análisis léxico, análisis de sintaxis, análisis semántico, generación de código intermedio, optimización de código y generación de código. Una descripción de todas las fases se da en el formulario de presentación.
Este tutorial está diseñado para aquellos estudiantes interesados en aprender y comprender los principios básicos del compilador. También es útil para aquellos interesados en diseñar un compilador. Cada fase se describe fácilmente con ejemplos.
Este tutorial requiere algunos conocimientos básicos de lenguaje de programación como c, java, etc.
caracteristicas:
1. Tema / lección sabia del capítulo.
2. Subtemas sabia lección de cada tema.
3. También incluye los enlaces de videos de youtube preparados por mí.
4. Banco de preguntas.
5. Complete las notas sin conexión en la diapositiva.
Temas:
1. Diseño del compilador: introducción
2. Bootstrapping
3. Análisis léxico: expresión regular, construcción de Thompson
4. Análisis de sintaxis: análisis de arriba hacia abajo y de abajo hacia arriba
5. Análisis descendente: análisis predictivo (análisis LL)
6. Análisis de abajo hacia arriba: LR simple (SLR), LR anticipado (LALR)
7. Análisis semántico
8. Generación de código intermedio: código de tres direcciones
9. Optimización de código: bloques básicos
10. Generación de código: Algoritmo, función getreg ()