- 1. SEGUNDA PARTE IE. Fernando Jimnez Valencia. Noviembre
2009.
2. Al terminar la unidad el alumno describir los conceptos y las
diferentes partes de los compiladores 3.
-
- Programa, lenguajes de programacin, etc.
-
- Clasificacin y generaciones.
4. Programa de proceso, proceso de compilacin y estructura
general de un compilador 5.
- Son los que estn enfocados preferentemente para ayudar al
programador en la puesta punto de los programas.
Programas de proceso Traductores .- son meta-programas que toman
como entrada un programa escritoen lenguaje simblicosemejante al
natural y proporciona como salida un programa escrito enlenguaje
compresible para el hardwarede la computadora. De servicio .- grupo
de programas que realizan funciones tiles para el sistema o para el
usuario. (comandos o utileras)
6.
- Programa ensamblador .- transformanprogramas fuente escritos en
lenguaje ensamblador , en unprogramas objeto escritos en lenguaje
maquinay ejecutables directamente por el hardware de la
computadora.
- Programa compilador .- realiza la traduccin completa
delprograma fuenteescrito en lenguaje simblico de alto nivel, en
unprograma objetoescritos en lenguaje maquina. La traduccin se
realiza completa en caso de no existir errores.
- Programa interprete .- transforma cada instruccin delprograma
fuenteen instrucciones de lenguaje maquina y lo va ejecutando a la
vez.
7.
- Programa escrito por el programador en lenguaje simblico
alejado del lenguaje maquina (binario). (extensin .CPP o .C para
lenguaje C)
- Programa binario generadopor el compiladora partir de un
programa fuente. (extensin es .OBJ)
8.
-
- Cada que se ejecuta el programa traduceinstruccin por
instruccin a cdigo mquina. Ejemplos:DOS , Born shell de Unix, bash
de Linux, BASIC, etc.
-
- Traducen solo una vez todo el programa a cdigo objeto (binario)
para despus crear un ejecutable . Ejemplos:C/C++ , PASCAL,
etc.
PRACTICA CON DOS Y EL COMPILADORDE C 9. Cdigo fuente Interprete
(traductor ) Ejecucin(De la instruccin) Cdigo Fuente (programa
fuente) Compilador (traductor) Programa objeto Ejecucin directa 10.
Editar y ejecutar un programa (.BAT) 11. Consiste en obtener
elprograma objetocodificado en lenguaje maquina a partir
delprograma fuente . 12.
- El programa se instala en el sistema informtico, para la
disposicin de los usuarios. Se evala peridicamente y se
hacenadaptaciones y modificaciones necesarias para mantenerla
actualizada.
EDICIN (programa fuente)COMPILACIN (programa objeto) PRUEBAS DE
EJECUCIN.Se crea elprograma fuente (.CPP)almacenado en la
computadora. EJERCICIO EDITAR Se obtiene unprograma objeto (.OBJ) ,
codificadoen lenguaje maquina a partir delprograma fuente .
Realizada automticamente medianteel compilador del lenguaje.
Elprograma ejecutable (.EXE) , se obtiene enlazando el programa
objeto y los mdulos o rutinas internas del lenguaje que forman
parte del la aplicacin necesarias. Proceso llevado a acabo en la
etapa del MAKE. El programa ejecutable se somete a unjuego de datos
pruebacapaz de detectar las posibles incorrecciones en su
funcionamiento. EXPLOTACIN Y MANTENIMIENTO. ENLACE (programa
ejecutable) 13. 14. Analizador lexicogrfico(scanner) .- examina en
el programa fuente las unidades bsicas (lxicas) o tokens de
informacin pertenecientes al lenguaje. Un token es un elemento o
cadena con significado propio en el programa (palabras reservadas
del lenguaje, identificadores, operadores, etc.). Un error puede
ser una palabra reservada mal escrita, un identificador no
permitido, etc. 15.
- Analizador sintctico (parser) .- recibe la tira de tokens del
scanner e investiga en ellas los posibles errores sintcticos que
aparezcan. Errores de formato de instrucciones, duplicidad de
identificadores de distintas variables, etc. Los errores son
reportados mediante un listado de compilacin.
16.
- Generador de cdigo intermedio .- traduce el resultado del
anlisis anterior (en caso de ausencias de errores) a un cdigo
intermedio propio del compilador, para que con l permita la
portabilidad del lenguaje (posibilidad de utilizacin en distintas
computadoras).
17.
- Optimizador de cdigo .- su misin es tomar el cdigo intermedio y
optimizarlo, adaptndolo a las caractersticas del procesador que va
dirigido.
18.
- Generador de cdigo final .- Traduce el cdigo intermedio
optimizado en el cdigo final, es decir, en el lenguaje mquina del
procesador al que el compilador va dirigido.
19.
- Modulo de tratamiento de errores .- facilita la deteccin de
errores y, en algn caso, recupera errores en las distintas fases de
compilacin.
20.
- Lexicogrficos : se producen por tokens no reconocibles.
- Sintcticos : son los que no cumplen con las reglas de sintaxis
del lenguaje.
- Semnticos : Se detecta en alguna fase de la compilacin y en
algn caso en la de ejecucin y son aquellos que no interrumpen el
proceso (warnings).
- Lgicos : son los debidos a la utilizacin de un algoritmo o
expresin incorrecta para el problema que se trata de resolver.
- Ejecucin : son errores relacionados con desbordamientos,
operaciones matemticamente irresolubles, etc.
21. Tabla de smbolos : es el elemento que almacena todos los
datos referidos a variables y estructuras de datos del programa que
se est compilando. 22.
- Eduardo Alcalde, Miguel Garca. Informtica Bsica. Segunda
Edicin. Edit. McGrawHill. 1994.