Está en la página 1de 12

Unidad I Introduccin a la programacin de Sistemas

M.T. Ing. Alejandro Montero Garca

2012

Definicin de compilador
Traductor: Programa que toma como entrada un texto escrito (llamado fuente) y da como salida otro texto (llamado objeto). Compilador: Traductor cuyo fuente es un lenguaje de alto nivel y cuyo objeto es un lenguaje de bajo nivel. Interprete: Compilador que ejecuta al mismo tiempo que traduce.

Estructura de un compilador

Estructura de un compilador
Anlisis Sintctico
Comprueba los valores unitarios del programa (tokens):
Palabras reservadas(do, while, if, ) Palabras no especificas(identificadores, constantes)
Formados por tipo y lexema
Int contador
Identificador = tipo contador = lexema

Estructura de un compilador
Anlisis Sintctico
Recibe los tokens del analizador lxico y comprueba que estn ordenados conforme a la gramtica.

Anlisis Semntico
Comprueba la validez del programa Comprobacin de tipos en operadores

Estructura de un compilador
Generacin de cdigo intermedio
Codifica el lenguaje fuente en un lenguaje intermedio entre el lenguaje objeto Permite la separacin entre front-end y back-end Instrucciones condicionales y saltos

Estructura de un compilador
Optimizacin de cdigo intermedio
Permite realizar mejoras en el cdigo intermedio Eliminacin de saltos consecutivos Factorizaciones Eliminar cdigo intil Optimizacin de bucles

Estructura de un compilador
Generacin de cdigo objeto
Generar una secuencia de instrucciones en cdigo ensamblador o mquina a partir del cdigo intermedio A=B+C
LOAD B ADD C STORE A

Estructura de un compilador
Tabla de smbolos
Tabla donde se registran los identificadores, constantes, funciones y otros objetos especificados en el programa fuente El compilador desarrolla funciones comunes de acceso a ella

Manejo de errores
Mensajes de error que el compilador emite cuando encuentra una inconsistencia en cualquiera de las fases de compilacin Normalmente en una compilacin no se muestran todos los errores producidos:
Ocultacin de otros errores Avalancha de errores

Se puede
Pararse al encontrar cualquier error Intentar recuperar todos los errores de una pasada

Estructura de un compilador
Fuente
Anlisis lxico Anlisis sintctico Anlisis semntico Generacin de cdigo intermedio

FRONT-END

Cdigo Intermedio

BACK-END

Optimizacin de cdigo intermedio Generacin de cdigo objeto Optimizacin de cdigo objeto

Cdigo objeto

Prctica
Pasos detallados para la realizacin de una rutina que imprima en una ventana de comandos: Nombre Completo(string), Edad(int), Fecha Actual(Date). Usando el compilador de C# y VB.Net en modo consola y PHP.

Prctica
Para realizar esta practica tienen que investigar como hacer la compilacin desde la lnea de comandos de C# y VB.net . Asi como las sentencias bsicas de estos lenguajes de programacin para realizar lo solicitado. Tambin tienen que verificar que el equipo donde harn la practica tenga instalado .net framework. Futuros ingenieros ojo para la parte de PHP tendrn que Ingeniarse como hacer la COMPILACION del cdigo fuente escrito en este lenguaje.
La entrega de esta practica ser, haciendo un video o diapositivas realizadas por ustedes mismos como resolvieron lo solicitado, adems de los archivos fuentes y el archivo con el cdigo compilado, todo para la siguiente Clase.