2.3.2 Expresiones
En esta función recibe una cadena que representa una línea
de código intermedio y toma las medidas oportunas para que ese código se
utilice. Estas medidas pueden ser escribir la línea en un fichero adecuado, almacenar
la instrucción en una lista que después se pasará a otros módulos, o cualquier
otra que necesitemos en nuestro compilador.
Expresiones aritméticas
Son aquella donde los operadores que intervienen en ella son numéricos, el resultado es un número y los operadores son aritméticos. Los operadores aritméticos más comúnmente utilizados son: +, - , * , / y %.
Comenzamos el estudio por las expresiones aritméticas. Lo
que tendremos que hacer es crear por cada tipo de nodo un método que genere el
código para calcular la expresión y lo emita. Ese código dejará el resultado en
un registro, cuyo nombre devolverá el método como resultado.
Para reservar estos registros temporales, utilizaremos una
función, reserva. En principio bastar ‘a con que esta función devuelva un
registro distinto cada vez que se la llame.
Cada nodo generará el código de la siguiente manera:
- Por cada uno de sus operandos, llamara al método correspondiente para que se evalúe la sub expresión. Si es necesario, reservara un registro para guardar su resultado.
- Emitirá las instrucciones necesarias para realizar el cálculo a partir de los operandos.
Investigado por Dayanara Lizeth Cruz Mendez
Referencias:
Martin, J. C., & Blanco y Correa Magallanes, J. L. (2004). Introduction to languages and the theory of computation. Lenguajes formales y teoría de la computación.
No hay comentarios.:
Publicar un comentario