Skip to content

Función run

La función run se definió mediante la siguiente plantilla:

run⟦programrun⟦program → varDefinition* statement*⟧ =
     metadata⟦program⟧
     execute⟦statementi
     HALT

La implementación es directa:

java
public class Run extends AbstractCodeFunction {

    public Object visit(Program program, Object param) {
        metadata(program);
        execute(program.statements());
        out("halt");

        return null;
    }
}

Un objetivo importante que se debe conseguir es la trazabilidad, es decir, que sea inmediato ver la correspondencia este la especificación y el código. Eso se consigue gracias a las funciones auxiliares definidas en la clase padre de las funciones, la clase AbstractCodeFunction.java.