BASIC Acc is a Full BASIC to Object Pascal Translator.
Translated programs shall be executed using FPC + Lazarus.
Any number is a double precision floating point, not a decimal.
Numerical operation is twice or fifth as fast as that of Binary mode of Decimal BASIC.
Download Lazarus0.9.30.4-fpc-2.6.0-win32.exe and install it into the folder that has no space character on its path name.
Lazarus Download (SourceForge) Win32 Lazarus should be selected even if you use Windows 64bit.
Download BASICAcc0948.zip from
Decimal BASIC Open Source Project Download.
BASICAcc should be extracted into some normal folder on which the user has write permission.
The name of the folder must not contain any space character.
For example, Desktop is not suitable. USB flush drives shall be suitable.
When the system is updated by overwriting, the OUTPUT folder must be cleared.
Afterward, execute BASICAcc.exe, and set up two paths.
Click "Set Up" and select "Path".
"fpc path" is the path to the folder on which fpc.exe exists.
"Lazarus path" is the full path name of the folder "lazarus".
If you have installed win32 Lazarus + fpc 2.6.0 on C drive, the two paths are following.
C:\Lazarus\fpc\2.6.0\bin\i386-win32 C:\Lazarus
Troubleshooting
When a executing program becomes "Not Responiding", wait for completion of the execution.
How to uninstall BASICAcc
Remove the whole folder in which BASICAcc has been installed.
Download fpc, fpc source and Lazarus from
Lazarus Download (SourceForge)
Install fpc 2.6.0 (32bit) and Lazarus 0.9.30.4 (32bit).
Download BASICAcc0948.tar.gz from
Decimal BASIC Open Source Project Download.
This system should be installed into the folder on which the user has write permission.
When the system is updated by overwriting, the OUTPUT folder must be cleared.
Troubleshoot
When programs do not run.
Select "code" in the "run" menu.
When basicAcc reports NoName.err not found, confirm that fpc has been properly installed, especially fpc.cfg is located in /etc, otherwise revise "fpc.exe path" on the "path" dialog in the "set up" menu. It is ordinarily "/usr/bin".
When the Pascal codes appear, select the "run" menu on the code window to observe the error messages fpc reported.
When fpc reports unit Forms not found, revise "Lazarus path" on the "path" dialog in the "set up" menu.
Install XCode tools from MAC DVD or so.
Download fpc 2.6.0 and Lazarus 0.9.30.4 from
Lazarus Download (SourceForge).
Later versions of Lazarus may resolve some faults, but may cause unknown faults.
If you update Lazarus, all PPU files in the OUTPUT folder should be erased. But note that NoName.app must not be removed.
Download BASICAcc0948_Mac.zip from
Decimal BASIC Open Source Project Download.
This system should be installed into the folder on which the user has write permission.
And the folder must not contain a space character. Note that when you use a USB drive, if it has a name such as "NO NAME", it must be renamed.
Note. Overwriting update is undesirable. Old files should be erased before update.
Known Faults
Printers do not work good. But if no printer is registered on the OS, BASICAcc can not start.
Behaviors of some graphics statements are no good as in Decimal BASIC Mac(Intel).
Language Specifications are in accordance with the Graphics module, the modules module, and the individual character input module of ISO Full BASIC , while the following are not available.
OPTION ARITHMETIC DECIMAL
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.
A program that has a module which contains an external procedure that has a local variable whose name coincides with a variable that is declared shared or public on that module can not be executed.
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.)
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 launches a file of extension ".BAS" with file association. 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 has a line number.
Decimal BASIC has a fault that an internal procedure of the mainprogram can be invoked from an external procedure, thus some programs that can be executed in Decimal BASIC due to its fault may not be launched.
BASICAcc may use integer variables. But some trouble may occur because the range of these are narrow. To avoid this, uncheck the Setup Option Use integer variables to optimize
.
Replace the files in the source folder to fix the bugs below.
graphlib.pas
ASK PIXEL SIZE returns negative numbers in inverted coordinates.
The executable file is generated as 'NoName.exe' in the 'output' folder. This can be renamed and used for the destination of a CHAIN statement.
This software is free software published under GPL.
If you noticed any bugs, report at
Decimal BASIC Open Source Project Open Discussion Forum
Copyright 2012 SHIRAISHI Kazuo