ScriptBasic is a
scripting language variant of
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
. The source of the
interpreter is available as a
C program
C (''pronounced like the letter c'') is a general-purpose computer programming language. It was created in the 1970s by Dennis Ritchie, and remains very widely used and influential. By design, C's features cleanly reflect the capabilities of ...
under the
LGPL
The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
license.
ScriptBasic generates intermediary code which is then interpreted by a runtime environment. ScriptBasic is available for
Windows,
Unix and Mac OS X and may be embedded in other programs as well. It can create standalone
executable
In computing, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instruction (computer science), instructi ...
files. A runtime library is linked into the executable. It is available in precompiled binaries (setup.exe under Windows and uninstall also supported),
dpkg and
rpm for
Linux and in source code form. The language, the interpreter is fully documented in the Users' Guide available in text,
HTML,
HTML Help,
TeX,
texi and
PDF
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
formats.
ScriptBasic has been developed since 1999 and has reached a fairly matured state in terms of functions and stability. The precompiled version available for Windows and Linux includes a
command line version and a standalone
web server
A web server is computer software and underlying hardware that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initiate ...
.
This BASIC can be the choice for developers, who seek a BASIC variant that runs on UNIX as well as under Windows and Mac OS X (Intel). The Basic is embeddable with an option to compile your applications to a small footprint executable.
ScriptBasic has an open interface for module developers. There are several external modules developed by the developer of ScriptBasic as well as by other developers. These include data base connection handling for various
database systems (
MySQL,
PostgreSQL
PostgreSQL (, ), also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. It was originally named POSTGRES, referring to its origins as a successor to the In ...
,
ODBC
In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
,
Berkeley DB and others), binding to the library
CURL
cURL (pronounced like "curl", UK: , US: ) is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client URL".
History
cURL was fi ...
,
PNG graphics,
GTK+
GTK (formerly GIMP ToolKit and GTK+) is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and proprie ...
graphical user interface,
sockets,
regular expressions,
thread
Thread may refer to:
Objects
* Thread (yarn), a kind of thin yarn used for sewing
** Thread (unit of measurement), a cotton yarn measure
* Screw thread, a helical ridge on a cylindrical fastener
Arts and entertainment
* ''Thread'' (film), 2016 ...
support,
data compression and
CGI.
ScriptBasic also has an open interface for
preprocessor developers. These are modules that may act not only during run-time but also compile time, thus making it possible to alter the language. Currently there is a single preprocessor that delivers
debugger functionality. This lets the BASIC programmer run the BASIC program line by line, examine variable contents, set break points and all the usual debugging features. This debugger supports not only the command line version but also the web server implementation allowing full interactive debugging of CGI applications in BASIC.
The architecture of the interpreter internally is
object oriented and provides a clean and well documented interface to embed the interpreter into any application written in
C or
C++. The whole source code is extensively documented and commented, which is an outstanding feature compared to other embeddable script language implementations. Slides in HTML format with English narration in
RealAudio format are also available to get a jump start learning the architecture and module, preprocessor and embedding developments.
ScriptBasic is supported by
forum
Features
* Open source LGPL project
* Multi-platform (Windows, Linux, Unix, Mac OS X, ...)
* Fast multi-threaded ScriptBasic
HTTP application server
* In memory session handling
* Extension module API (CGI, MySQL, ODBC, Berkeley DB, GTK, Curl, ...)
* HTML template file support
* Command line interpreter for utility applications and standard CGI programming
* Create standalone executables without compiling (This bundles the interpreter and code together into an executable file)
*
Namespace support
* Relaxed / auto variable typing (forget DIM and think undef)
* TYPE,
ISARRAY, ISSTRING, ISINTEGER, ISREAL, ISNUMERIC, ISDEF, ISUNDEF, ISEMPTY
* Associative arrays (reference elements by name - MySQL & ODBC modules assign columns to named arrays)
* Standard branching syntax (
GOTO
GoTo (goto, GOTO, GO TO or other case combinations, depending on the programming language) is a statement found in many computer programming languages. It performs a one-way transfer of control to another line of code; in contrast a function ca ...
,
GOSUB/
RETURN
Return may refer to:
In business, economics, and finance
* Return on investment (ROI), the financial gain after an expense.
* Rate of return, the financial term for the profit or loss derived from an investment
* Tax return, a blank document o ...
,
FOR/NEXT, DO/WHILE/UNTIL, REPEAT/UNTIL, CALL)
* Multi-function IO directives (
INEINPUT, PRINT, OPEN - files, ports, standard IO)
* Time/Date formatting and math
* Extended string functions (REPLACE, SPLIT, SPLITA)
* GTK / Glade support for desktop application development
* Easy to learn and use without prior programming knowledge
External links
*
*
{{BASIC
BASIC interpreters
Free compilers and interpreters
BASIC programming language family