Subido por SILVER

l compilador

Anuncio
Tecnológico de Iztapalapa
Carrera: Ingeniería en Sistemas Computacionales
Semestre: séptimo
Nombres:
Jiménez Leyva Cesar
Profesor: I.S.C. Abiel Tomas Parra
Materia: Lenguajes y Autómatas II
Trabajo:
Proyecto Compilador
Proyecto compilador
Conversión léxica
La conversión léxica nos permitirá analizar cada línea de código y observar si
existe algún error en cada una de ellas.
-
Dentro de la conversión léxica el proyecto compilador contiene palabras clave
en las que se basa para analizar un código y ejecutarlo a través de sus
componentes como palabras clave comprendemos algunas de ellas como
son: “jets, std, using, namespace, int, float char, stdio, cout, getch,
conio, dos, string, stdlib, match, short, long, double, class, public,
static, void, for, if, while, do, switch case, printf, scanf, gotoxy, return,
include, else, getch, gets, clrscr, getch, final, cin”. Son algunas de
muchas palabras clave existentes, pero son estas las más importantes que
el proyecto maneja dentro de su estructura.
-
Como caracteres especiales y operadores que el proyecto compilador
maneja para realizar la ejecución de código son los siguientes: =, <=, >=, <,
>, +, *, -, /, %, #, %, &, (,), ¡, !, “, {, }, [, ]. Son algunos operadores y carácter
especiales de los cuales el proyecto maneja dentro de su estructura para la
ejecución y compilación de un código.
-
Una de las partes importantes del proyecto compilador es el manejo de sus
identificadores los cuales permitirán reconocer que tipo de componentes son
los que se manejan en la estructura del código y se observara la acción de
cada uno de ellos.
-
En la estructura integra del proyecto se observa una de las partes
importantes que realiza al ejecutar y compilar un código, la cual es el manejo
de espacios en blanco, una vez que se analiza el código se reconoce el
espacio entre textos y el espacio entre identificadores y otros componentes,
ya que de no ser así el proyecto tendría una problemática y se darían una
secuencia de errores en la salida.
-
El manejo de comentarios también es un factor importante ya que permitirá
observar al momento de ejecutar un código, en la salida observara si es que
también analiza esta parte de un fragmento de código, el proyecto compilador
realiza esta acción sin problemas.
¿Qué es un compilador? Un traductor es cualquier programa que toma como
entrada un texto escrito en un lenguaje, llamado fuente y da como salida otro texto
en un lenguaje, denominado objeto.
Texto Lenguaje Fuente ----------> Traductor ----------> Texto Lenguaje Objeto
En el caso de que el lenguaje fuente sea un lenguaje de programación de alto
nivel y el objeto sea un lenguaje de bajo nivel (ensamblador o código de máquina),
a dicho traductor se le denomina compilador. Un ensamblador es un compilador
cuyo lenguaje fuente es el lenguaje ensamblador. Un intérprete no genera un
programa equivalente, sino que toma una sentencia del programa fuente en un
lenguaje de alto nivel y la traduce al código equivalente y al mismo tiempo lo
ejecuta.
Sintaxis y semántica
El proyecto compilador realiza el análisis sintáctico y semántico de manera correcta
permitiendo que el código de muestra sea analizado de manera efectiva
reconociendo sus errores (en caso de modificación), en otro caso el análisis del
programa de muestra será el correcto.
Programas de muestra
Se tienen algunos programas de muestra los cuales permiten la ayuda que necesita
el proyecto compilador para saber si es correcto el funcionamiento de cada
componente de su estructura, teniendo un ejemplo de muestra un programa en
lenguaje “c” que solo imprime el comentario “hola mundo” sin tener alguna
modificación se ingresa al compilador y se analiza, siendo correcto el resultado del
proyecto, ya que no marca algún error dentro del análisis. En otro caso modificando
el programa para que al ejecutarlo nos muestre algún error en cualquier línea de
código, se ingresa nuevamente el programa de muestra ya modificado y al obtener
el resultado del análisis resulta correcto pero hay una excepción, la cual es que al
obtener el resultado con un error en la salida de su análisis el proyecto compilador
no muestra el error y no muestra donde estuvo, pero si lo identifica porque elimina
la línea de código que contiene el error, es la única excepción del proyecto ya que
si realiza las funciones correspondientes pero no muestra los resultados necesarios
al momento de ejecución del programa de muestra.
Ambiente de ejecución
Dentro del ambiente de ejecución del proyecto compilador se desarrolló en java
así mismo su ejecución y compilación de los programas de muestra y su
finalización.
Proyectos de programación
Dentro de los proyectos de programación encontramos algunos relacionados con el
proyecto compilador ya que este se fue construyendo por etapas hasta su
finalización, estas etapas son consideradas importantes ya que fueron realizadas
con todo el cuidado para que realizaran las funciones de cada una de ellas estas
etapas fueron: análisis léxico, análisis sintáctico y el análisis semántico las
cuales fueron las etapas más importantes del proyecto compilador.
como sabemos ya los compiladores son programas o herramientas encargadas de
compilar. Un compilador toma un texto (código fuente) escrito en un lenguaje de
alto nivel ( en nuestro caso C++) y lo traduce a un lenguaje comprensible por las
computadoras (código objeto).
Debido a lo que hemos podido experimentar he investiga podemos concluir que
generalmente un compilador se divide en dos partes:
* Front End: parte que analiza el código fuente, comprueba su validez, genera el
árbol de derivación y rellena los valores de la tabla de símbolos. Parte que suele
ser independiente de la plataforma o sistema operativo para el que funcionará.
* Back End: parte en donde se genera el código máquina exclusivo para una
plataforma a partir de lo analizado en el front end.
Por lo general el resultado del back end no puede ser ejecutado directamente, se
necesita pasar por un proceso de enlazado (linker).
Existen varios tipos de compiladores: Compiladores cruzados, Compiladores
optimizadores, Compiladores de una sola pasada, Compiladores de varias
pasadas, Compiladores JIT (Just In Time).
A grandes rasgos el proceso se puede describir en los siguientes pasos:
* El compilador recibe el código fuente.
* Se analiza lexicográficamente.
* Se analiza semántica y sintácticamente
* Se genera el código intermedio no optimizado.
* Se optimiza el código intermedio.
* Se genera el código objeto para una plataforma específica.
Finalmente, ya puede ejecutarse el código máquina.
Aunque se me dificulta aún muchas cosas pude realizar algunos ejercicios en
algunos experimente errores y otros resultaron bien hay que tener presente que
uno solo de los comandos mal proporcionados al compilador producirá errores.
En por ejemplo Crimson Editor al utilizarlo como un editor profesional de código
fuente nos facilita el pasar los categorismos al compilador.
Descargar