Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Final Teoria Lenguajes
Final Teoria Lenguajes
N I V E R S I D A D
SANTIAGO
NACIONAL
ANTUNEZDE
MAYOLO
FACULTAD DE CIENCIAS
INGENIERIADESISTEMAS E INFORMATICA
NOMBRE DE LA ASIGNATURA:
TEORIA DE LENGUAJES
TRABAJO:
EXPOSITIVO
******************************
ALUMNO
GARAY ASENCIOS EDWARD RONALD
PEREZ MACEDO EDWIN
LOPEZ DOLORES JHONY
******************************
INTRODUCCION
Este documento trata las representaciones intermedias; el cdigo
intermedio es un cdigo abstracto independiente de la mquina
para la que se generar el cdigo objeto, este cdigo ha de cumplir
dos requisitos importantes:
Ser fcil de producir a partir del anlisis sintctico.
Ser fcil traducir al lenguaje objeto.
Hay muchos tipos y formas de cdigos intermedios; como por
ejemplo el rbol sintctico, notacin posfija y cdigo de tres
direcciones.
Algunas ventajas de utilizar la forma intermedia son aumentar la
portabilidad del compilador de una maquina a otra:
Se puede utilizar el mismo analizador lxico para diferentes
generadores.
Se pueden utilizar optimizadores independientes de la
mquina.
Facilitar la divisin en fases del proyecto.
1. LENGUAJES INTERMEDIOS
Tipo 2
Tipo de lenguajes intermedios:
rbol sintctico.
Tipo 3
Tripletas Ejemplo:
2.
Cuartetos Ejemplo:
d = a + b * c (*, b, c, temp1) (+, a, temp1, temp2) (=, temp2, , d)
NOTACIONES
Dada una cierta expresin algebraica, existen bsicamente tres
formas diferentes de escribirla, notacin prefija, notacin infija
y notacin postfija, en funcin de la situacin concreta en la
que se pongan los operadores respecto de los operandos. As la
expresin algebraica que representa la suma entre un cierto
valor A y otro B se podra poner de la siguiente forma:
+AB Notacin prefija
A+B Notacin infija
AB+ Notacin postfija
La notacin utilizada habitualmente es la infija.
Si observamos un ejemplo adicional de notacin infija en la
que se utilicen ms de un operador podemos observar que
para realizar correctamente la operacin tenemos que conocer
una informacin adicional acerca de los operadores que
aparezcan: la prioridad.
Dependiendo de la prioridad del operador la operacin se
realizara antes o despus dando como consecuencia un
resultado distinto si variamos la prioridad de los operadores as
en A+B*C, se realizara
continuacin la suma.
primero
la
multiplicacin
tales como:
Polaca
Cdigo P
Triplos
Cudruplas
Algoritmo
Cdigo P
El cdigo P comenz como un cdigo ensamblador objetivo
estndar producido por varios compiladores Pascal en la
dcada de 1970 y principios de la de 1980. Fue diseado para
cdigo real para una mquina de pila hipottica la idea era
Cudruplas
Esquemas de Generacin
Los esquemas de generacin son las estrategias o acciones que
se debern realizarse y tomarse en cuenta en el momento de
generar cdigo intermedio. Los esquemas de generacin
dependen de cada lenguaje.
Expresiones
Para generar expresiones estas deben representarse de manera
ms simple y ms literal para que su conversin sea ms rpida.
Por ejemplo la traduccin de operaciones aritmticas debe
especificarse una por una, de tal forma que una expresin sea lo
ms mnimo posible.
Declaraciones de Variables Constantes
Las declaraciones de variables y constantes deben separarse
de tal manera que queden las expresiones una por una de
manera simple.
Por ejemplo int a,b,c; se descompone a int a; int b; intc;
respectivamente.
Estatuto de Asignacin
Las operaciones de asignacin deben quedar expresadas por
una expresin sencilla, si est es compleja se debe reducir
hasta quedar un operador sencillo.
Por ejemplo: x = a+b/5; debe quedar de la forma y = b/5; z =
a+y; x=z.
Estatuto Condicional
Conclusin
Despus de los anlisis sintctico y semntico, algunos
compiladores generan una representacin intermedia explcita del
programa fuente. Se puede considerar esta representacin
intermedia como un programa para una mquina abstracta. Esta
representacin intermedia debe tener dos propiedades importantes;
debe ser fcil de producir y fcil de traducir al programa objeto.
La representacin intermedia puede tener diversas formas, como
son La Polaca, el cdigo P, Triplos y Cudruplas. Los esquemas de
generacin son las estrategias o acciones que se debern realizarse
y tomarse en cuenta en el momento de generar cdigo intermedio y
es diferente en cada lenguaje.