X11-Basic is a dialect of the BASIC programming language with graphics capability that integrates features like shell scripting, cgi-Programming and full graphical visualisation into the easy to learn basic language on modern computers.
xbbc can be used to make bytecode-binaries out of *.bas script-Files. These bytecode files can be interpreted by the X11-Basic virtual machine ( xbvm(1) ) and they run about 10-20 times faster than the interpreted .bas files. Since xbbc is a real compiler, some restrictions to the code apply. (Not every X11-Basic program which does well on the interpreter can be correctly compiled),
For a desciption of the X11-Basic language and usage of the interpreter see xbasic(1).
Xbbc processes one input file. The suffix of the input file is usually .bas. The default output file name is b.b but you can specify alternate names with the -o option.
For detailed help and a description of the implemented basic commands take a look at the README file which ships with the X11-Basic package.
xbbc testme.bas produces a bytecode file b.b xbbc testme.bas -o testme.b produces a bytecode file testme.b
You can find many sample programs in /usr/share/doc/packages/X11Basic/examples.
Xbbc is a compiler. It compiles the BASIC source code into a bytecode of a virtual stack machine. This virtual stack machine needs to be emulated on each different operating system platform, but the bytecode itself is still portable. The bytecode is very compact and similar to machine code, but still it is independant of the actual processor hardware. With an additional small step it can be compiled to native assembler or machine code. (For linux this is done by the xb2c(1) translator and gcc(1) , for other operating systems such a translator has not yet been created).
There is no way to recreate the source code from the bytecode.
If you find a bug in the X11-Basic bytecode compiler, you should report it. But first, you should make sure that it really is a bug, and that it appears in the latest version of the X11-Basic package that you have.
Once you have determined that a bug actually exists, mail a bug report to firstname.lastname@example.org. If you have a fix, you are welcome to mail that as well! Suggestions may be mailed to the x11-basic bug tracking system.
Comments and bug reports concerning this manual page should be directed to email@example.com.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.