lunes, 2 de marzo de 2020

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.
Resultado de imagen para 2.3.2 Expresiones

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