Procesadores de Lenguaje - UJI - Curso 2009/2010 - Prácticas

Práctica 4: Compilador MINICOMP

Versión 9. Vectores.

  1. Haz las modificaciones necesarias para poder utilizar vectores de reales. Por ejemplo:
    globales
        m: vector [3] de vector [4] de real;
        i, j: entero;
    fin
    
    secuencia
        para i = 0 hasta 2 hacer
            para j = 0 hasta 3 hacer
                m[i][j] = i + j;
            fin
        fin
        // ...
    fin
    

  2. Haz las modificaciones necesarias para poder realizar asignaciones entre vectores del mismo tipo, tal como se pide en este control de Minicomp del curso 2007/2008. Por ejemplo:

    globales
        a, b: vector [2] de vector [3] de vector [4] de real;
        c, d: vector [3] de vector [4] de real;
        e, f: vector [4] de real;
    fin
    
    secuencia
        // ...
        a = b;
        c = d;
        e = f;
        b[1] = c;
        f = c[0];
        c[0] = b[1][2];
        // ...
    fin
    

    Ten en cuenta que dos vectores se considera que son del mismo tipo si tienen el mismo rango y el mismo tipo base. Por ello, todas las asignaciones del ejemplo anterior son válidas. Puedes utilizar las funciones __eq__ y __ne__ del módulo tipos.py para comprobar eso.

    Haz tus propias pruebas. El ejemplo que se menciona en ese enunciado lo podrás probar al finalizar la práctica 4 si completas la versión 11.

Aclaración para estudiantes repetidores: Respecto del curso pasado hemos movido hasta aquí el apartado 1, que se hacía en la versión 1, y hemos añadido al apartado 2, que el curso 2008/2009 era un ejercicio realizable opcionalmente en prácticas.

Última actualización: 10 de mayo de 2010.