Emsamblador
Tema 1
Introducción
Javier Vélez Reyes jvelez@lsi.uned.es
Javier Vélez Reyes jvelez@lsi.uned.es
Objetivos del Tema
Aprender qué es un compilador Conocer los tipos de compiladores que existen Conocer la diferencia entre compilador e interprete Familiarizarse conel contexto de un compilador Aprender la estructura y fases de un compilador
Javier Vélez Reyes jvelez@lsi.uned.es
Índice General
¿Qué es un compilador? Compiladores e interpretes Contexto de un compilador Tipos de compiladores Estructura de un compilador
Javier Vélez Reyes jvelez@lsi.uned.es
¿Qué es un compilador?
Lenguaje fuente Traductor Traductor Lenguaje objeto TraductorAlto Nivel Lenguaje objeto Bajo Nivel
Compilador
Un compilador es un programa que lee un programa Un compilador es un programa que lee un programa escrito en lenguaje fuente lo traduce a un lenguaje escrito en lenguaje fuente,,yylo traduce a un lenguaje objetode bajo nivel. Además generará una lista de los objeto de bajo nivel. Además generará una lista de los posibles errores que tenga elprograma fuente posibles errores que tenga el programa fuente
Javier Vélez Reyes jvelez@lsi.uned.es
Índice General
¿Qué es un compilador? Compiladores e interpretes Contexto de un compilador Tipos de compiladores Estructura de un compilador
Javier Vélez Reyes jvelez@lsi.uned.es
Compiladores e interpretes
Compiladores
Una única compilación Mayor velocidad ejecución Mayor detalle deerrores Mayor consumo de memoria
Interpretes
Interpretación en ejecución Menor velocidad ejecución Menor detalle de errores Menor consumo de memoria
Javier Vélez Reyes jvelez@lsi.uned.es
Índice General
¿Qué es un compilador? Compiladores e interpretes Contexto de un compilador Tipos de compiladores Estructura de un compilador
Javier Vélez Reyes jvelez@lsi.uned.es
Contexto de uncompilador
Contexto
Precompilador Compilador Enlazador (montador) Depurador Ensamblador
.DLL .DLL WIN.EXE WIN.EXE .EXE .EXE .LIB .LIB Ensamblador Ensamblador .ASM .ASM .C .C .H .H Precompilador Precompilador .C .C Compilador Compilador .OBJ .OBJ .OBJ .OBJ .ASM .ASM Ensamblador Ensamblador .OBJ .OBJ
Enlazador Enlazador .EXE .EXE
Javier Vélez Reyes jvelez@lsi.uned.es
Índice General
¿Qué esun compilador? Compiladores e interpretes Contexto de un compilador Tipos de compiladores Estructura de un compilador
Javier Vélez Reyes jvelez@lsi.uned.es
Tipos de compiladores
Tipos de compiladores
Ensamblador Compilador cruzado Compilador con montador Autocompilador Metacompilador Descompilador
Javier Vélez Reyes jvelez@lsi.uned.es
Índice General
¿Qué es un compilador?Compiladores e interpretes Contexto de un compilador Tipos de compiladores Estructura de un compilador
Javier Vélez Reyes jvelez@lsi.uned.es
Estructura de un compilador
Independencia física Análisis Léxico Análisis Léxico Análisis Sintáctico Análisis Sintáctico Análisis Semántico Análisis Semántico Tabla de símbolos Generación de código Generación de código intermedio intermedio Optimización decódigo Optimización de código intermedio intermedio Generación de código Generación de código objeto objeto Dependencia física Gestión de errores
Javier Vélez Reyes jvelez@lsi.uned.es
Análisis léxico I
Tipos de tokens
Específicos
Palabras reservadas Separadores Operadores El analizador léxico o scanner, transforma El analizador léxico o scanner, transforma el texto fuente en una secuencia ael texto fuente en una secuencia a ordenada de elemento léxicamente ordenada de elemento léxicamente válidos (tokens) válidos (tokens) e l i h w Análisis Léxico (G3) Análisis Léxico (G3) [RESERVEDWORD, WHILE]
No específicos
Identificadores Constantes Etiquetas G. Errores G. Errores Tabla Símbolos Tabla Símbolos
Estructura
Tipo Lexema
Javier Vélez Reyes jvelez@lsi.uned.es
Análisis...
Regístrate para leer el documento completo.