Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad II NOTACIONES PDF
Unidad II NOTACIONES PDF
2.1
Notaciones
Las notaciones son una forma especial en la que se pueden expresar una
expresin matemtica y puedan ser de 3 formas: infija, prefija y posfija. Los
prefijos, Pre - Pos - In se refieren a la posicin relativa del operador con respecto a
los dos operandos.
2.1.1 Prefija
La expresin o notacin prefija nos indica que el operador va antes de los
Operandos sus caractersticas principales son:
2.1.2 Infija
La expresin o notacin infija es la forma ms comn que utilizamos para
escribir expresiones matemticas, estas notaciones se refiere a que el
operador esta entre los operadores. La notacin infija puede estar
completamente parentizada o puede basarse en un esquema de
precedencia de operadores as como el uso de parntesis para invalidar los
arreglos al expresar el orden de evaluacin de una expresin:
3*4 = 12
3*4+ = 14
3*(4+2) = 18
Ejemplo:
Si deseamos representar las expresiones (2+(3*4)) = xy ((2+3)*4) = x en las
tres notaciones mencionadas, el resultado sera:
(2+(3*4)) = x
((2+3)*4) = x
Notacin postfija
234*+x=
23+4*x=
2.2
Algoritmo
Representa la expresin en forma de rbol sintctico.
Recorrer el rbol en postorden
Ejemplo: a + b * c-d
2.2.2
Cdigo P
2.2.3
Triplos
6. =, Z, (5)
Problema
La optimizacin supone mover tripletas y hay que recalcular las referencias.
2.2.4 Cudruplos
<Operacin>, <operando1>, <operando2>, <resultado>
Ejemplo:
(A+B)*(C+D)-E
+, A, B, T1
+, C, D, T2
*, T1, T2, T3
-, T3, E, T4
2.3
Esquema 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. Tomaremos
algunos esquemas de generacin del lenguaje C.
2.3.2 Expresiones
En esta funcin recibe una cadena que representa una lnea de cdigo
intermedio y toma las medidas oportunas para que ese cdigo se utilice.
Estas medidas pueden ser escribir la lnea en un fichero adecuado,
almacenar la instruccin en una lista que despus se pasar a otros
mdulos, o cualquier otra que necesitemos en nuestro compilador.
Expresiones aritmticas
Son aquella donde los operadores que intervienen en ella son numricos, el
resultado es un nmero y los operadores son aritmticos. Los operadores
aritmticos ms comnmente utilizados son: +, - , * , / y %.
Comenzamos el estudio por las expresiones aritmticas. Lo que tendremos
que hacer es crear por cada tipo de nodo un mtodo que genere el cdigo
para calcular la expresin y lo emita. Ese cdigo dejar el resultado en un
registro, cuyo nombre devolver el mtodo como resultado.
Para reservar estos registros temporales, utilizaremos una funcin, reserva.
En principio bastar a con que esta funcin devuelva un registro distinto
cada vez que se la llame.
Cada nodo generar el cdigo de la siguiente manera:
nombre_de_la_variable = valor
El valor a la derecha del signo igual puede ser una constante, otra variable
o una expresin que combine constantes y variables, pero siempre la
variable y su valor deben ser del mismo tipo de dato.
Ejemplos:
edad% = 5
area! = 12.3
nombre$ = Pedro
nmero
determinado
de
veces.
En
stos
casos
utilizaremos