// El intérprete de Mini: corre un programa ya analizado.
#ifndef INTERP_H
#define INTERP_H

#include <stdio.h>

#include "stmt.h"

typedef struct {
    char message[128];
} RunError;

// Corre las instrucciones en orden y escribe en out lo que manden los print. Devuelve 1 si terminó
// bien, y 0 con error lleno si hubo un error de ejecución. No se apropia del programa, y no deja
// nada reservado al volver.
int run_program(const Stmt *program, FILE *out, RunError *error);

#endif
