Ir al contenido principal

Generación de recursividad

El día de hoy se realizó la generación de código máquina para los saltos a funciones que salten a ella misma, luego de la investigaciones se tomó en cuneta el salto al registro ra que indica la linea de ultimo salto "jal".

Comentarios

Entradas más populares de este blog

Prueba de códigos básicos

A continuación se muestra un código básico del lenguaje: string salto = "\n"@ int Edad = 5@ bool FuncionBool(bool b) { return b@ } real FuncionReal(real r) { return r+1.0@ } int FuncionInt(int i) { return i+1@ } string FuncionString(string s) { return s@ } char FuncionChar(char c) { return c@ } int main() { char c@ c = FuncionChar('I')@ print(c)@ print(salto)@ string s@ s = FuncionString("Hola Nahum")@ print(s)@ print(salto)@ int i@ i = FuncionInt(1)@ print(i)@ print(salto)@ real r@ r = FuncionReal(1.1)@ print(r)@ print(salto)@ bool b@ b = FuncionBool(True)@ print(b)@ } Seguidamente de su traducción al lenguaje MIPS .data true: .asciiz "print true" false: .asciiz "print false" Et0: .asciiz "\n" Et1: .asciiz "Hola Nahum" .text .globl main print_true: li    $v0,4 la   $a0, true syscall jr $ra print_false: li    $v0,...

Pruebas de condicionales

Se realizaron pruebas de diferentes ejemplos para expresiones condicionales. Se analizaron cuales son los procesos que deben ser ejecutados para las expresiones condicionales en asignaciones booleanas que podrán ser utilizadas en las diferentes estructuras de control, ejemplo; for, while, if.

Investigación de condicionales

Hasta el momento se ha avanzado en el proyecto y se ha llegado la punto donde se logra generar funciones, asignaciones complejas, llamadas de funciones y varios tipos de expresiones. Al tener expresiones y la mayoría de la gramática se requiere saber como lograr hacer condiciones en MIPS, ya que es sumamente   importante para darle sentido a la funcionalidad de los códigos que se ingresan en el compilador. Gracias a la tarea II y actividad #5 del curso, se tiene un resumen sobre el comportamiento de las condiciones en MIPS, y se logro llegar a una idea sobre lo que se necesita estructurar en el código Back-End para lograr que se genere las condiciones que aparezcan en el código fuente.