ZXBasicStudio icon indicating copy to clipboard operation
ZXBasicStudio copied to clipboard

Error al compilar programa cuando se ejecuta en modo de depuración

Open mtps37 opened this issue 2 years ago • 0 comments

El siguiente programa trivial no compila cuando trato de ejecutarlo:

DIM a AS UBYTE
A = 0

IF a = 0 THEN
ELSE
    PRINT a
END if

La salida que genera es:

(...)
/home/javier/ZXBasicProjects/Primero/NewDocument.zxbas:5: error: Syntax Error. Unexpected token 'ELSE' <ELSE>
/home/javier/ZXBasicProjects/Primero/NewDocument.zxbas:7: error: Syntax Error. Unexpected token 'IF' <IF>
Error building program, aborting...

Si le metemos un retorno de carro entonces ya funciona:

DIM a AS UBYTE
A = 0

IF a = 0 THEN

ELSE
    PRINT a
END if

Pero si entonces decido ejecutarlo en modo de depuración, ya no. La salida generada es esta:

(...)
/home/javier/ZXBasicProjects/Primero/NewDocument.zxbas:5: error: Syntax Error. Unexpected token 'ELSE' <ELSE>
/home/javier/ZXBasicProjects/Primero/NewDocument.zxbas:7: error: Syntax Error. Unexpected token 'IF' <IF>
Error building program, aborting...

Si añadimos una sentencia vacía, ya funciona en modo de depuración:

DIM a AS UBYTE
A = 0

IF a = 0 THEN
    :

ELSE
    PRINT a
END if

Es decir, cuando existe un if que no ejecuta nada, se puede compilar sin errores, pero si se hace en modo de depuración, entonces no.

Opciones del zxbc configuradas en proyecto (resto de opciones por defecto): --debug --optimize 3 --explicit --ignore-case

Versión de ZXBasic Studio: build 1.0.8763.37937 para Linux. Versión de Boriel Basic utilizada: 1.17.2 para Linux.

mtps37 avatar Jan 17 '24 17:01 mtps37