Sei sulla pagina 1di 13

COMPILADORES

X Semestre
Ing. Jhony Javier Apaza Masco

COMPILADORES
Los compiladores son programas o software de computadora
que traducen un lenguaje a otro. Un compilador toma como
su entrada un programa escrito en su lenguaje fuente y
produce un programa equivalente escrito en su lenguaje
objetivo.
Por lo regular, el lenguaje fuente es un lenguaje de alto
nivel, tal como C o C++, pascal mientras que el lenguaje
objetivo es cdigo objeto (tambin llamado cdigo de
mquina) para la mquina objetivo, es decir, cdigo escrito
en las instrucciones de mquina correspondientes a la
computadora en la cual se ejecutar.
Podemos decir que es un traductor especial que toma un

Un compilador es un programa muy complejo con un nmero


de lneas de cdigo que puede variar de 10,000 a 1,000,000.
Escribir

un

programa

de

esta

naturaleza,

incluso

comprenderlo, no es una tarea fcil, y la mayora de los


cientficos

profesionales

de

la

computacin

nunca

escribirn un compilador completo.


No obstante, los compiladores se utilizan en casi todas las
formas de la computacin, y cualquiera que est involucrado
profesionalmente con las computadoras debera conocer la
organizacin y el funcionamiento bsicos de un compilador.

INTERPRETES
Es como un compilador, solo que la salida es una ejecucin.
El programa de entrada se reconoce y ejecuta a la vez. No se produce un resultado
fsico (cdigo mquina) sino lgico (una ejecucin). Hay lenguajes que slo pueden
ser interpretados, como p.ej. SNOBOL (StriNg Oriented SimBOlyc Language), LISP
(LISt Processing), algunas versiones de BASIC (Beginners All-purpose Symbolic
Instruction Code), etc.
Su principal ventaja es que permiten una fcil depuracin. Entre los inconvenientes
podemos citar, en primer lugar, la lentitud de ejecucin , ya que al ejecutar a la vez
que se traduce no puede aplicarse un alto grado de optimizacin; por ejemplo, si el
programa entra en un bucle y la optimizacin no est muy afinada, las mismas
instrucciones se interpretarn y ejecutarn una y otra vez, enlenteciendo la
ejecucin del programa. Otro inconveniente es que durante la ejecucin, el
intrprete debe residir en memoria, por lo que consumen ms recursos.

El estudio de la escritura de los compiladores


relaciona con los lenguajes de programacin,
arquitectura de computadoras, la teora
lenguajes, los algoritmos y la ingeniera
software.

se
la
de
de

Por lo tanto se debera tener conocimiento bsico


acerca de los temas mencionados para poder
ingresar al mundo de los compiladores.
La aplicacin de los compiladores nos permite
realizar disear procesadore de texto, manejo de
datos estruturados xml, inteligencia artificial en el
diseo de interfaces hombre- maquina, traductores
de lenguajes naturales.

TRABAJO N2
Describa los siguientes
trminos:
1. tokens
2. sintaxis de un lenguaje
3. semantica
4. ensamblador
5. link
6. pasadas en compilacin
7. programa fuente
8. Bootstraping
9. traductor o compilador
incremental

FASES DE UN
Un compilador se compone internamente de vanas etapas, o fases, que realizan
COMPILADOR
distintas operaciones lgicas. Es til pensar en estas fases como en piezas separadas
dentro del compilador, y pueden en realidad escribirse como operaciones
codificadas separadamente aunque en la prctica a menudo se integren juntas.
Podemos describir como una secuencia de fases seriadas que inician con un anlisis
lexicogrfico y finalizan con la generacin de cdigo, adicionalmente se utiliza el
manejo de tablas, modulos de error y E/S que interactan con mas de una fase
dentro de la estructura del compilador.

Es muy importante sealar que en las


diferentes fases pueden aparecer errores y
que de han de ser detectados, las fases
1,2,3 se denominan etapas de anlisis y las
4,5,6 son consideradas etapas de sntesis

Se denominan tokens a los lexemas, las


unidades mnimas de informacin
(por ejemplo, una instruccin FOR). La
identificacin de estos elementos es la
finalidad del anlisis lxico.

Analizador Lxico
En esta fase el compilador efectua la
lectura real del programa fuente el
cual generalmente esta en la forma
de un flujo de caracteres su funcin
es recolectar secuencias de
caracteres en unidades
significativas, podemos sealar que
un rastreador realiza una funcin
similar al deletreo.
Ejemplo: podemos considerar una

A[index]=4+2
Este cdigo contiene 12 caracteres
y 8 tokens
A
indentificador
[ corchete izquierdo
Index identificador
] corchete derecho
= asignacin
4 Numero
+ signo mas
2 numero

Potrebbero piacerti anche