Mind map
Autómatas y Compiladores

Map content
Autómatas y Compiladores
¿Por qué es importante?
- Entrena a buenos desarrolladores, se aprenden metodologías para resolver complejos y amplios problemas, tienen influencia en todos los programas que usen compiladores,
- Usan el análisis de un programa para transformar el código, hacen que el costo de la abstracción sea razonable
Historia de los compiladores
- Grace Hopper
- Primer compilador A-0
- John Backus
- Primer compilador completo FORTRAN I
- John Backus
- Primer compilador A-0
- Grace Hopper
Problema: Pasar de un lenguaje a otro, usualmente bajar abstracción
- Intérprete
- Convierte un código fuente y lo ejecuta al mismo tiempo
- Corre directamente el código
- Convierte un código fuente y lo ejecuta al mismo tiempo
- Compilador
- Convierte el código a un ejecutable
- ¿Cómo funciona?
- Mediante una secuencia de fases
- Análisis Léxico
- Crea: Tokens
- Análisis Sintáctico
- Crea: Árbol sintáctico
- Análisis Semántico
- Crea: Árbol sintáctico mejorado
- Generador de Código Intermedio
- Crea: Interpretación intermedia del código
- Optimizador del código intermedio
- Crea: Representación intermedia optimizada
- Generador de código
- Crea: Código objetivo
- Optimizador de código objetivo
- Crea: Código objetivo optimizado
- Optimizador de código objetivo
- Crea: Código objetivo
- Generador de código
- Crea: Representación intermedia optimizada
- Optimizador del código intermedio
- Crea: Interpretación intermedia del código
- Generador de Código Intermedio
- Crea: Árbol sintáctico mejorado
- Análisis Semántico
- Crea: Árbol sintáctico
- Análisis Sintáctico
- Tabla de símbolos
- Todos los nombres de identificador junto con sus tipos se almacenan aquí.
- Crea: Tokens
- Análisis Léxico
- Mediante una secuencia de fases
- ¿Cómo funciona?
- Convierte el código a un ejecutable
- Soluciones
- Intérprete
Máquinas de estado finito
- Reconocen hileras a partir de transiciones de estados
- Aceptors
- Moore
- Estado en el que estoy
- Mealy
- Transiciones que he seguido
- Dado una entrada produce un output específico
- Moore
- Recognizers
- Reconoce o no la entrada
- Autómata finito
- No determinista NFA
- Determinista DFA
Lingüística
- Símbolo
- Palabra
- Alfabeto
- Lenguaje
- Clausura de Kleen
- Conjunto de todas las posibles concatenaciones de cadenas
- Un conjunto de palabras, formado por símbolos en un alfabeto dado.
- Gramáticas
- Sirven para representar lenguajes y generarlos
- Lenguaje regular
- Gramática Regular
- Generan lenguajes regulares y los representan
- Jerarquía de Chomsky
- Recursiva por izquierda
- Recursiva por derecha
- Se pueden generar a partir de los lenguajes básicos, con la aplicación de las operaciones de unión, concatenación y * de Kleene un número finito de veces.
- Gramática Regular
- Expresiones regulares
- Patrón de búsqueda para reconocer hileras
- Representaciones equivalentes
- Para reconocer palabras pertenecientes a un lenguaje
- Las cuales forman parte del análisis léxico y compiladores
- Todos son reconocidos por
- Máquina de Touring
- Dispositivo que manipula símbolos sobre una tira de cinta de acuerdo a una tabla de reglas
- Máquina de Touring
- Para reconocer palabras pertenecientes a un lenguaje
- Clausura de Kleen
- Conjunto finito de símbolos. Se le conoce con Σ
- Lenguaje
- Cadena finita formada por la concatenación de un número de símbolos.
- Alfabeto
- Dato arbitrario que tiene algún significado o efecto en la máquina
- Palabra
- Símbolo
¿Qué es un autómata?
- Es un modelo matemático para una máquina de estado finito
- ¿Como se relaciona con una computadora?
- Sienta las bases de la algoritmia y permite modelar y diseñar soluciones para un gran número de problemas.
Images and files in the map
Information
- Description
- Mapa mental de la materia vista en el curso de autómatas y compiladores
- Created by
- José Alfaro Quirós · Jun 2019
- Updated
- Jul 16, 2019
- Views
- 662
- Tags
- Rating
















