Esperando [PROCESS] o [FUNCTION]

El compilador ha interpretado que, en la posición señalada en el programa, ha finalizado el programa principal (PROGRAM ... BEGIN ... END), o el último proceso (PROCESS) o función (FUNCTION) y, a continuación, se esperaba que continuara otro proceso o bien que acabara el programa.

Lo más frecuente es haber duplicado un END dentro del último bloque de sentencias BEGIN ... END.

Ejemplo:
PROGRAM mi_juego;
BEGIN
    IF (x<0) x++; END
    END
    FRAME; // Error: Esperando [PROCESS] o [FUNCTION].
END


En este ejemplo se ha puesto accidentalmente dos veces el END del IF, interpretando el compilador que el segundo es el END del BEGIN, por lo tanto, tras este último END sólo puede venir el final del programa o las palabras reservadas PROCESS o FUNCTION marcando el inicio de un nuevo bloque. Al encontrarse en esa posición una sentencia FRAME, el compilador emite el error.


Ver: Sintaxis