YaBasic

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

Yabasic (Yet Another BASIC) is a free and open source BASIC interpreter of the Basic language for Windows and Unix platforms. Yabasic was originally developed by Marc- Oliver Ihm, who released the latest stable version 2.87.1 in 2020. Since version 2.77.1, the project has adopted the MIT license and the source code has been moved to GitHub to encourage others to participate in its development.

It is a fairly classic BASIC, it has the basic functions for programming in text mode, it even allows structured programming and files with a library of functions. It is very limited for window manipulation in the Windows and XFree86 graphical environments. The programs should be 100% portable between the two platforms except for the graphics part.

Features

  • No line numbers.
  • Line charts in color.
  • Structured programming: various block structures, subroutines with local variables and return values.
  • Code modules/bibliothecas with separate namespace (on the other hand, composite data structures are missing).
  • Option to use a graphical user interface (GUI) based on the GTK library.
  • Mutant code.
  • "Vinculate" a Yabasic program to the interpreter, creating an independent executable in a single file.

Other versions

PlayStation 2

Sony packaged a version of Yabasic for PlayStation 2 on the demo disc shipped with PS2 consoles for the European market so that it could be considered a home computer, not just a gaming machine, thus avoiding European import taxes., but the programs are not portable to the other two platforms.

Yabasic 3.0 (unofficial)

As a continuation of the project before the original author's new changes, version 3 was being developed by a team centered around Pedro Sá and Thomas Larsen, but development was halted and the project now appears to be abandoned.[ citation required]

Yabasic Example

// draw ha.sub Jump() x1=xx+zz+p and 1=yy-zz+q: and 1=199-and 1 line x1,and 1,x1,and 1-1 if and 1=0 return Clear line x1,and 1+1,x1,199end subClear screenopen window 320, 200p=160: q=100xp=144: xr=1.53.1415927yp=56: yr=1: zp=64xf=xr/xp: yf=yp/yr: zf=xr/zpfor zi=-q to q-l if zizp or zi.zp then  zt=zixp/zp: zz=zi xl=int(0.5+sqrt(xpxp-ztzt) for xi=-xl to xl xt=sqrt(xixi+ztzt)xf: xx=xi yy=(without(xt)+0.4without(3.0xt)yf Jump() next xi endifnext zipause 10end
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save