Sintesis Compiladores
Sintesis Compiladores
Sintesis Compiladores
LOS COMPILADORES
Integrantes:
lvarez Carhuajulca Pedro
Pozo Vera Oscar Eduardo
Rodrguez Zavaleta Kevin
Snchez Pedro Edwin
Villanueva Arrestegui Anthony
Trujillo Per
2016
INDICE
INTRODUCCION...................................................................................................................................4
DESARROLLO.......................................................................................................................................5
1. CONCEPTOS IMPORTANTES PARA LA CONTRUCCION DE COMPILADORES EN
INTRPRETES.......................................................................................................................................5
1.1. QUE ES UN COMPILADOR?...............................................................................................5
1.2. PROGRAMA FUENTE EN LEGUANJE FUENTE..............................................................5
1.3. PROGRAMA OBJETO EN LENGUAJE OBJETO..............................................................6
1.4. ESTRUCTURA DE UN COMPILADOR................................................................................7
1.4.1. ANALISIS LEXICO..................................................................................................................7
1.4.2. ANALISIS SINTACTICO.........................................................................................................7
1.4.3. ANALISIS SEMANTICO.........................................................................................................7
1.4.4. GENERADOR DE CDIGO INTERMEDIO........................................................................7
1.4.5. GENERADOR DE CDIGO....................................................................................................7
1.4.6. OPTIMIZADOR DE CDIGO................................................................................................7
2. COMPILADORES DEL LENGUAJE ENSAMBLADOR.........................................................7
2.1. VENTAJAS.................................................................................................................................8
3. COMPILADOR SOURCE TO SOURCE....................................................................................9
3.1. VENTAJAS........................................................................................................................................9
4. TAREAS DE UN ENSAMBLADOR..........................................................................................10
5. CONCLUSIONES........................................................................................................................11
6. REFERENCIAS BIBLIOGRAFICAS........................................................................................11
INTRODUCCION
La teora de compiladores es un rea de conocimientos fundamental para la formacin
de los estudiantes de Informtica. Posee una relevancia prctica y terica en la
formacin del futuro profesional, tanto en el aspecto de la programacin de
computadoras como tambin, en la construccin de la base terica de conocimientos del
mismo.
Por lo tanto, es necesario realizar proyectos que permitan difundir el tema de lenguajes
de programacin y Compiladores, especficamente la construccin de un compilador o
intrprete con caractersticas no tratadas anteriormente. Asimismo, herramientas de
software que logren facilitar el uso de las funcionalidades del intrprete y que puedan
llamar ms fcil la atencin de los estudiantes. Adems que concreticen conceptos
involucrados con compiladores, desde los ms simples hasta los ms complejos (como
por ejemplo la modificacin dinmica de cdigo y la optimizacin de cdigo).
Por tal razn, en el presente ensayo, se abarcaran temas referentes a los compiladores,
programas fuente y destino, diferenciando las semejanzas entre ellos, para de esta
manera poder distinguirlos con claridad; de igual manera se mencionan las ventajas que
existen para que un sistema de procesamiento de lenguajes en el cual el compilador
produce un lenguaje ensamblador en vez de un lenguaje mquina y que ventajas hay en
cuanto al uso de C como lenguaje destino para un compilador. Finalmente, se
describieron algunas tareas que necesita realizar un ensamblador.
3
DESARROLLO
1. CONCEPTOS IMPORTANTES PARA LA CONTRUCCION DE
COMPILADORES EN INTRPRETES
Hoy en da alrededor de todo el mundo se utilizan los llamados programas, pero
nunca se ha llegado a preguntar, Qu son? o De dnde vienen?. Todo el software que
se utiliza del da de hoy, es un derivado de un lenguaje fuente (cdigo fuente), que pasa
por un proceso a travs de un compilador, el cual permite que sea ms sencilla la
interaccin con la computadora y sus componentes electrnicos.
Ahora bien, para entender qu diferencia hay entre uno y otro, principalmente se
debe de conocer que son cada uno por separado.
4
Mientras que el cdigo objeto es el cdigo que resulta de la compilacin del
cdigo fuente. Consiste en lenguaje maquina o bytecode y se distribuye en
varios archivos que corresponden a cada cdigo fuente compilado. Para obtener
un programa ejecutable se han de enlazar todos los archivos de cdigo objeto
con un programa llamado enlazador.
De esta manera, la gran diferencia que existe entre uno del otro, es que el
lenguaje fuente es la base para que pueda existir el programa destino (programa
objeto).
Cdigo que resulta de la compilacin del Conjunto de lneas de texto, que son las
programa fuente. instrucciones que debe de seguir la
computadora para ejecutar mencionado
programa.
5
1.4. ESTRUCTURA DE UN COMPILADOR
1.4.1. ANALISIS LEXICO
Es la primera fase del compilador que se encarga de leer el cdigo fuente y
procesarlo, tambin es conocido como escaneo por su nombre en ingls
(Scanner). Durante este proceso se realizan operaciones bsicas del manejo
de cadenas de acuerdo a ciertas reglas del lenguaje, estas reglas las
conocemos en teora computacional como expresiones regulares.
6
2.1. VENTAJAS
Entendiendo este punto, se mencionan las ventajas principales de este tipo de
compiladores:
7
3. COMPILADOR SOURCE TO SOURCE
Un compilador Source To Source o transcompiler es un tipo de compilador que
toma el cdigo fuente de un lenguaje de programacin como su entrada que toma el
cdigo fuente de un lenguaje de programacin como su entrada y salida del cdigo
fuente en otro lenguaje de programacin. Por ejemplo, se puede realizar una
traduccin de un programa de Pascal a C.
3.1. VENTAJAS
Se modifica fcilmente.
8
4. TAREAS DE UN ENSAMBLADOR
La tarea fundamental de un ensamblador es traducir un programa en lenguaje de
ensamblador al cdigo correspondiente en lenguaje de mquina. En esencia, al ser
el ensamblador un lenguaje de bajo nivel, las tareas que debe realizar son las
siguientes:
En general, la mayora de las tareas se puede realizar si se recorre el programa lnea por
lnea. Pero surge una dificultad si se trata de traducir una instruccin cuyo operando est
definido ms abajo en el programa. Si esto ocurre, el ensamblador desconoce la
direccin del operando y la instruccin no se podra ensamblar.
9
5. CONCLUSIONES
6. REFERENCIAS BIBLIOGRAFICAS
http://computacion.cs.cinvestav.mx/~mruiz/publicaciones/tesis/tesisIngMic
helRuizTejeida.pdf
http://tesis.pucp.edu.pe/repositorio/bitstream/handle/123456789/1503/GOM
EZ_RENZO_Y_SALAMANCA_JUAN_LENGUAJE_PROGRAMACION
_CODIGO.pdf?sequence=1
http://eprints.sim.ucm.es/9460/1/Memoria.pdf
10