Está en la página 1de 2

Universidad de San Carlos de Guatemala

Organizacin de lenguajes y compiladores 1 Seccin C Julio Alan Fernando Vidaurre Farfn 2005 - 17857 Estructura del proceso de compilacin Las fases del compilador se separan en dos grupos, fase de anlisis (back end) y fase de sntesis (front end). El objetivo de la fase de anlisis se encarga del manejo de errores y su salida se utiliza para la fase de sntesis, que en trminos generales se encarga de optimizar el cdigo de entrada y generar cdigo ensamblador o mquina. Analizador lxico Tambin llamado escner, lee carcter por carcter del programa origen, validando las entradas para aceptar solo los que son vlidos en el lenguaje. La segunda tarea del escner es agrupar los caracteres en sentencias o grupos de elementos llamados tokens o elementos lxicos. Otra de las tareas es el eliminar los comentarios, inclusin de ficheros, contabilizar el nmero de lneas y columnas para el manejo de errores. Analizador sintctico En esta fase el compilador verifica la entrada de tokens en base a una gramtica definida, para suministrar el rbol sintctico que lo reconoce. Tambin accede a la tabla de smbolos para iniciar el trabajo del analizador semntico, as como el chequeo de tipos y por supuesto el manejo de errores Analizador semntico La semntica corresponde al significado asociado a las estructuras formales (sintaxis) del lenguaje esto quiere decir que el analizador semntico se encarga de manejar la estructura y su significado del rbol sintctico. Una de las tareas de esta fase es la verificacin de los tipos, esta se puede hacer de forma dinmica (en tiempo de ejecucin) o esttica (en tiempo de compilacin), tambin verifica la compatibilidad entre un operador y sus operandos, duplicidad de nombres y flujo de control. Generacin de cdigo intermedio La tarea de sntesis puede comenzar con la generacin de cdigo intermedio. Este no es un lenguaje de programacin especifico sino corresponde a una maquina abstracta, que se debe definir lo ms general posible. Esta fase permite crear fcilmente un compilador para diferentes maquinas.

Universidad de San Carlos de Guatemala


Organizacin de lenguajes y compiladores 1 Seccin C Julio Alan Fernando Vidaurre Farfn 2005 - 17857 Optimizacin de cdigo El objetivo principal de esta fase es obtener cdigo que se ejecute ms eficientemente en tiempo de ejecucin y espacio de memoria utilizado. En esta fase se revisa el cdigo generado a varios niveles de abstraccin y realiza la optimizacin en cada nivel. Generacin de cdigo objeto En esta fase el compilador en base del cdigo optimizado, genera una salida en cdigo mquina, este cdigo se crea en lenguaje mquina, estos son lenguajes de bajo nivel es decir secuencias de 0 y 1. No siempre se genera cdigo mquina, en ciertos compiladores el cdigo objeto corresponde a cdigo ensamblador, este es la segunda generacin de los lenguajes.

También podría gustarte