Language Specifications are in accordance with the Graphics module, the modules module, and the individual character input module of ISO Full BASIC.
On the following cases, GOTO statements and IF-THEN-line_number statements can not be executed.
branches from inside to outside of when-body (i.e. inside of WHEN~USE)
branches from inside to outside of a DO block that contains a protection block that contains a EXIT DO.
branches from inside to outside of a FOR block that contains a protection block that contains a EXIT FOR.
If a routine (or the main program) has a when-in block that has an exception-handler containing a GOSUB~RETURN subroutine, the routine can not have a GOSUB~RETURN subroutine that is not contained in any protection block.
Currently implementation of On ~ GOSUB statements are experimentally.
Parameters of PROGRAM or CHAIN statements should be simple variables (Arrays not allowed).
Maximum length declaration for string variables is ignored. (no cut off done.)
EXTYPE,RETRY and CONTINUE do not work properly for exceptions raised in exception handlers.
DRAW MODE NOTXOR (MASK, MERGE, XOR),which are Decimal BASIC original enhancement, do not work properly.
On Mac, they are neglected. On Windows and Linux, then won't work until a PLOT LINES is executed.
SET #n: CODING "SYSTEM"
OPTION CHARACTER BYTE
s$(m:n)
.
Programs shall be encoded to the system default encoding on saving and decoded on loading.
That is, program files have compatibility with Decimal BASIC.
If you want programs to be saved and loaded remaining the character encoding UTF-8, change the Editor Option setting in the Option menu.
A CHAIN statement may launch a file of extension ".BAS" with file association or not. The destination programs shall not be compiled.
No CHAIN or EXECUTE statement can have array parameters.
Any BREAK statement will do, but it only breaks the program.
When GOSUB statements are used, each line must have a line number.
ASSIGN
ASSIGN statements work, but a DLL using GUI probably fail.
If so, add GUI option as follows.
ASSIGN DLL-file-name, function-name, GUI
Known Faults
SET DRAW MODE (NOTXOR, MASK, MERGE, XOR) do not work on MAC.
MOUSE POLL statement does not work properly.
Printers do not work good. And if no printer is registered on the OS, Paract BASIC can not start.
Behaviors of some graphics statements are no good as in Decimal BASIC Mac(Intel).
The Followings may not work on MAC.
CHARACTER INPUT
LOCATE CHOICE
LOCATE VALUE
GET POINT
SET BITMAP SIZER
FILE GETNAME, GETOPENNAME, GETSAVENAME
GLOAD
GSAVE
These use TThread.Synchronize, which do not work good on MAC.
See. Lazarus RoadMap