Académique Documents
Professionnel Documents
Culture Documents
Caractersticas
Se dividen en dos partes :
1. Front End: parte que analiza en cdigo fuente,
prueba su validez y genera el rbol de derivacin y
rellena los valores de la tabla de smbolos.
FASES DE UN COMPILADOR
La tabla de smbolos
Una funcin esencial de un compilador es registrar los identificadores de usuario
(nombres de variables, de funciones, de tipos, etc.) utilizados en el programa
fuente y reunir informacin sobre los distintos atributos de cada identificador.
Estos atributos pueden proporcionar informacin sobre la memoria asignada a
un identificador, la direccin de memoria en que se almacenar en tiempo de
ejecucin, su tipo, su mbito (la parte del programa donde es visible), etc.
CLASIFICACIN DE LOS COMPILADORES
Preprocesadores:
Permiten modificar el programa fuente antes de la verdadera compilacin.
Hacen uso de macroinstrucciones y directivas de compilacin.
Ensambladores y macroensambladores:
Son los pioneros de los compiladores, ya que en los albores de la
informtica, los programas se escriban directamente en cdigo mquina, y el
primer paso hacia los lenguajes de alto nivel lo constituyen los
ensambladores. Un ensamblador es un compilador sencillo, en el que el
lenguaje fuente tiene una estructura tan sencilla que permite la traduccin de
cada sentencia fuente a una nica instruccin en cdigo mquina.
Conversores fuente-fuente:
Permiten traducir desde un lenguaje de alto nivel a otro lenguaje de alto
nivel, con lo que se consigue una mayor portabilidad en los programas de
alto nivel.
Compilador cruzado:
Es un compilador que genera cdigo para ser ejecutado en otra mquina.
Se utilizan en la fase de desarrollo de nuevos ordenadores. De esta manera
es posible, p.ej., construir el sistema operativo de un nuevo ordenador
recurriendo a un lenguaje de alto nivel, e incluso antes de que dicho nuevo
ordenador disponga siquiera de un compilador.
Intrpretes
Los compiladores para lenguajes de alto nivel tienen muchas fases, en las
que progresivamente se va transformando un texto de un lenguaje a otro
Muchas aplicaciones necesitan lenguajes especiales y, por tanto,
compiladores. Estos compiladores sencillos se pueden construir con
herramientas para anlisis lxico y sintctico:
lex o aflex: permiten generar analizadores lxicos
yacc o ayacc: permiten generar analizadores sintcticos Con estas
herramientas se pueden construir analizadores o parsers en C o Ada, y
luego integrarlos con la aplicacin.
Referencias
Java A Tope:
Traductores Y Compiladores Con Lex/Yacc, Jflex/Cup Y Javacc.
Edicin Electrnica
Autores: Sergio Glvez Rojas Y Migue L ngeal Mor Mata
Qu es compilador?
Anlisis lxico
Es la fase del analizador que se encarga de chequear la
secuencia de tokens
Anlisis sintctico:
Cul es el componente ms importante del anlisis
semntico?
la verificacin de tipos
Hacen uso de macroinstrucciones y directivas de
compilacin
Preprocesadores:
Qu hace y que funcin realiza el intrprete de comandos?