comp
Compiladores
Que es un compilador
Un traductor es cualquier programa que toma un texto
escrito en un lengiaje y da como salida en otro
lenguaje(llamado objeto)texto lenguaje
fuente
TRADUCTOR
texto lenguaje
objeto
Que es un compilador
Source program
Compiler
input
Target program
output
Que es un interprete
Un interpreteexecuta directamente las operaciones en el
programa fuente.
Source program
input
INTERPRETER
output
Hybrid Compiler
Source program
Translator
Intermediate program
input
VirtualMachine
output
Java: Bytecodes
Just in time compilers translate bytecodes into ML just before runing IP
Intérpretes vs. compiladores
Inicialmente interpretes eran mas comunes
hoy endia, compiladores mas comunes
Porque?
Intérpretes vs. compiladores
Inicialmente interpretes eran mas comunes
mem(programa fuente + interprete) ≤ mem(compilador)
hoy en dia, compiladores mascomunes
Compila una vez, ejecuta muchas veces
Ejecucion programa objeto mas rapida
Compilador tiene una vision mas global del programa
Interprete sin embargo da mejor diagnostico de erroresTipos de compiladores
Ensamblador: lenguaje fuente = ensamblador
Compilador con montador: compila modulos
independientes y luego los enlaza
Autocompilador: escrito en el mismo lenguaje
que va acompilar
Descompilador: realiza proceso inverso a la
compilacion.
Estructura de un compilador
Analisis léxico
Analizador léxico = scanner
Lee caracteres uno a uno y forma grupos decaracteres con
alguna relación entre sí (tokens)
Cada token es una secuencia de caracteres tratados como una
unica entidad. Los tokens son la entrada para la siguiente etapa
del compilador.
Dos tipos detokens:
palabras reservadas (p.e. if, while, begin)
cadenas no especificas (p.e. identificadores, constantes)
Frecuentemente va unido al analizador sintáctico (p.e. como
subrutina)
Analisis...
Regístrate para leer el documento completo.