Compiladores e Interpretes

UNIVERSIDAD POLITECNICA DE SAN LUIS POTOSI ORTIZ CALDERON ENRIQUE 110009 ITI LENGUAJES DE PROGRAMACIÓN DINORAH CABRERA

Views 226 Downloads 7 File size 434KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD POLITECNICA DE SAN LUIS POTOSI

ORTIZ CALDERON ENRIQUE 110009 ITI

LENGUAJES DE PROGRAMACIÓN DINORAH CABRERA SALINAS

Compilador:............................................................................................................................................................................. 2 

Análisis: ....................................................................................................................................................................... 2



Síntesis: ....................................................................................................................................................................... 2

Intérprete: ............................................................................................................................................................................... 3 Conclusiones ........................................................................................................................................................................... 4

Antes de comenzar es necesario establecer ¿Qué es un compilador?, el cual es un traductor que 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. ¿Qué es un intérprete? Es un traductor que realiza la operación de compilación paso a paso. Para cada sentencia que compone el texto de entrada, se realiza una traducción, ejecuta dicha sentencia y vuelve a iniciar el proceso con la sentencia siguiente.

Compilador: Analiza el programa fuente y "lo traduce" a otro equivalente escrito en otro lenguaje (por ejemplo, en el lenguaje de la máquina). Su acción equivale a la de un traductor humano, que toma un libro y produce otro equivalente escrito en otra lengua. Además suele generar programas más rápidos y eficientes, ya que el análisis del lenguaje fuente se hace una sola vez, durante la generación del programa equivalente. En cambio, un intérprete se ve obligado generalmente a analizar cada instrucción tantas veces como se ejecute (incluso miles o millones de veces). Un compilador está formado por dos procesos análisis y síntesis. 

Análisis: El cual se trata de la escritura correcta del código fuente. Esta a su vez comprende varias fases: 1. Análisis léxico: esta fase es la encargada de leer el código fuente y separarlo en lotes para poder ser leído por el análisis sintáctico. 2. Análisis sintáctico: esta fase evalúa los lotes de código con el fin de que este cumpla con los requerimientos definidos por el compilador. 3. Análisis semántico: en esta fase se busca establecer que el código fuente cumpla con la semántica solicitada por el compilador, es decir que el código este correctamente escrito para poder ser interpretado.



Síntesis: Después del proceso de análisis se procede a generar grupos de los componentes que conforman el programa, para generar una salida. 1. Generación de código intermedio: este código se genera con el fin de mejorar el uso de la memoria con el fin de optimizar código fuente. 2. Optimización de código: el objeto de esta fase es mejorar el código para que sea más rápido ejecutarlo.

3. Generación de código: Aquí se crea el código final de salida que va a ser interpretado por la máquina.

Intérprete: Analiza el programa fuente y "lo ejecuta directamente", sin generar ningún código equivalente. Su acción equivale a la de un intérprete humano, que traduce las frases que oye sobre la marcha, sin producir ningún escrito permanente. Además facilita la búsqueda de errores, pues la ejecución de un programa puede interrumpirse en cualquier momento para estudiar el entorno (valores de las variables, etc.). La parte de analisis puede realizarse de manera identica a como se lleva a cabo en los compiladores.Es la parte de sintesis la que se diferencia sustancialmente. En el caso de la interpretacion,se parte del arbol de sintaxis abstracta y se recorre, junto con los datos de entrada, para obtener los resultados.

Conclusiones Para finalizar podemos indicar que la principal diferencia que existe entre un intérprete y un compilador, es el hecho de que el interprete no realiza la optimización del condigo, ya que este se va ejecutando línea a línea, por lo cual, no le es posible denotar de manera concreta errores específicos como lo son de sintaxis o semánticos, ya que si bien si encuentra que hay un error es incapaz de indicar de cual tipo u algún otro detalle mas allá de la línea en que se produjo, por otro lado un compilador al realizar la optimización del código, pude y debe indicar de manera específica este tipo de errores, en la gran mayoría, exceptuando casos donde no se rompe ni la sintaxis o la semántica pero si la lógica del algoritmo del programa.

BIBLIOGAFIA Procesadores de lenguaje( Estructura de los compiladores e interpretes) Universitat Jaume I 2010-2011 https://funprogramacion.wikispaces.com/Compiladores+e+Int%C3%A9rpretes http://racherfou.blogspot.mx/2011/02/diferencia-entre-interprete-y.html