LOOP{
    sentencia ;
    ...
}

La sentencia LOOP (bucle) es una sentencia que implementa un bucle infinito, es decir, que repite indefinidamente un grupo de sentencias.

Para implementar este bucle se debe comenzar con la palabra reservada LOOP, seguida de las sentencias que se quieren repetir continuamente.

Cuando en un programa se encuentre una sentencia LOOP { ... } se ejecutarán a partir de entonces, una y otra vez, todas las sentencias interiores a dicho bucle.

Para finalizar un bucle LOOP se puede utlizar la sentencia break que, al ejecutarse dentro de un bucle de este tipo, forzará al programa a seguir a continuación del final del bucle.

Cada vez que se ejecutan las sentencias interiores se dice que se ha realizado una iteración del bucle. La sentencia continue, dentro de un bucle, finalizará la iteración actual y comenzará la siguiente (el programa continuará ejecutándose tras la palabra reservada LOOP.


MAIN_PROGRAM_CDIV
BEGIN_PROGRAM
    x=0;
    LOOP{
       if (key(_esc))
           break;
        
        x=x+1;
        FRAME;
    }
END_PROGRAM

En este ejemplo se pondrá la variable local x (coordenada x del proceso) a cero y, después, se le sumará 1 y se dará un FRAME continuamente. Si se pulsa la tecla de escape (ESC) se ejecutará la sentencia break, finalizando el bucle LOOP.

Las sentencias interiores a un bucle LOOP pueden ser tantas como se quieran y de cualquier tipo incluyendo, por supuesto, nuevos bucles LOOP.


Ver: Sintaxis