YaBasic
YaBasic | |
---|---|
Basic data
|
|
developer | u. a. Pedro Sá and Thomas Larsen |
Current version | 2.9.15 (June 10, 2010) |
operating system | unixoide , Windows etc. a. |
programming language | C ++ |
category | Interpreter and programming language |
License | Artistic License and GPL |
German speaking | No |
www.yabasic.de |
YaBasic is an open-source BASIC - Interpreter for Linux / Unix and Windows . It is characterized by its compactness (packed size about 140 kB ) and a flexible syntax : For the color selection, for example, both the color and color commands are possible, and also for if ... then ... else ... endif -Constructs have a number of different syntax variants, etc.
history
YaBasic was developed by Marc-Oliver Ihm from 1995 . Version 2.763 was designated as “final” by him in 2005 because he now wanted to devote himself to other software projects. In 2008, the further development of YaBasic was started by Pedro Sá and Thomas Larsen . You are developing patches for version 2.763 and are currently working on YaBasic 3. In December 2010 the first beta version of YaBasic 3 was released. Since then, this project has become quiet. An official version 3 has not yet been released (end of 2012). YaBasic v2.78.1 was released on August 13, 2017. Version 2.78.0-1 is integrated in various Linux distributions , such as B. Ubuntu 17.04 or Debian 9.
properties
YaBasic is distinguished from other BASIC interpreters by the following properties:
- No line numbers
- Structured programming with control structures ( do ... loop etc.), procedures and modules / libraries with their own namespaces
- Self-modifying code (for an example, see below )
- Possibility of generating executable executables by linking the interpreter to the BASIC program
- Planned for version 3 : User-defined data types (UDTs)
Examples
Hello world program
The ubiquitous Hello World program only needs one line in YaBasic:
print "Hallo Welt!"
graphic
The following code outputs two red circles:
open window 200,200
color 250,0,0
circle 50, 100, 80 // einfache version
new curve // etwas anspruchsvoller
for phi=0 to 2*pi step 0.1
line to 100+90*sin(phi),100+90*cos(phi)
next phi
close curve
Self-modifying code
Strings can be translated into executable code by the interpreter at runtime , which allows a program to modify itself.
The code section
x$= "sub printme() : print \"Hallo Welt!\" : end sub"
compile(x$)
for example creates a new procedure ,
sub printme()
print "Hallo Welt!"
end sub
while the program is running. From now on the procedure can just go through
printme()
or via the slightly more complex command
y$= "printme()"
execute(y$)
be called.
Other versions
Version 3 has been in beta since December 2009.
YaBasic is ported to BeOS / ZETA under the name yab .
Sony delivers YaBasic for the PlayStation 2 free of charge with the demo DVD of the PAL version.
YaBasic is under the GPL and the Artistic License .
Web links
- Yabasic (English) - project page for YaBasic classic (up to version 2.763)
- yap interpreter ─ BeOS version of Yabasic
- Yabasic.De (German) - Project page for YaBasic v2.78.1 (Link)
credentials
- ↑ Contact ( Memento of the original from December 19, 2013 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. (English) - Contact page at BasicProgramming.org ; As of February 19, 2011
- ↑ YaBasic (English) - project page for YaBasic classic (up to version 2.763); As of December 3, 2008
- ↑ http://www.basicprogramming.org/wiki/index.php?title=Yabasic::Dev_Article_Future_of_Yabasic&oldid=1413 (link not available)
- ↑ Yabasic 2.9.6 is out ( Memento of the original from May 17, 2016 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. (English) - Announced in the BasicProgramming.org forum on December 6, 2009
- ↑ Rhonda D'Vine, rhonda@ubuntu.com: Ubuntu - Package Search Results - yabasic. Retrieved August 19, 2017 .
- ↑ Debian Webmaster, webmaster@debian.org: Debian - Information about package yabasic in stretch. Retrieved August 19, 2017 .
- ↑ yab Interpreter ( Memento from September 28, 2007 in the Internet Archive ) - Article at kaldience.com ; As of July 30, 2005; not public
- ↑ Marc Ihm: Yabasic, Yet another Basic for Unix and Windows. Retrieved August 19, 2017 .