The following code works fine on version 17. but aborts the compiler on version 18.
Code:
#define PROGRAM REM
#define BEGIN REM
#define VAR DIM
#define INTEGER LONG
#define REAL FLOAT
#define CHAR STRING ' UBYTE is type integer
#define BOOLEAN UBYTE
#define TYPE AS
#define REPEAT DO
#define UNTIL LOOP UNTIL
#define PROCEDURE SUB
#define TRUNC INT
#define SQRT SQR
CONST TRUE TYPE BOOLEAN = 1
CONST FALSE TYPE BOOLEAN = 0
PROGRAM Longest Bridge
' CONSTant declarations
CONST Period TYPE INTEGER = 4
' VARiables
VAR CLICK TYPE INTEGER ' clicks de relogio
'-------------------------------------------------------------------
PROCEDURE PrintClock
VAR steps TYPE REAL
VAR TotalMinutes TYPE REAL
VAR min,sec TYPE UBYTE
VAR aux TYPE REAL
BEGIN
steps = 20
TotalMinutes = CLICK/steps
min = INT TotalMinutes
'sec = INT (60.0/100.0*(TotalMinutes-min))
aux = 60.0/100.0
aux = aux*(1E-4+TotalMinutes-min)
sec = INT (100*aux)
PRINT AT 8,14;PAPER 5;min;":";
IF sec<10 THEN PRINT PAPER 5;"0";
PRINT PAPER 5;sec;
END PROCEDURE
BEGIN PROGRAM '--- main ---
PrintClock
END PROGRAM '--- main ---