SmallBASIC es un dialecto del lenguaje de programación BASIC con intérpretes publicado como software libre bajo la Licencia Pública General GNU versión 3 para Microsoft Windows , Linux y Android .
Los autores describen el dialecto como un BASIC de segunda generación y tiene mucho en común con QBasic . SmallBASIC incluye funciones trigonométricas, matriciales y algebraicas, un IDE integrado, una biblioteca de cadenas, comandos de sistema, de sonido y gráficos junto con una sintaxis de programación estructurada.
El prefijo "Small" en el nombre SmallBASIC refleja la intención original del proyecto de ser utilizado con Palm , un pequeño dispositivo portátil. SmallBASIC fue diseñado para ser portátil y está escrito en C con módulos separados que contienen cualquier código que sea exclusivo de una plataforma en particular. [2] [3]
SmallBASIC está pensado para soportar los mismos tipos de aplicaciones soportadas por GW-BASIC y QBasic en el IBM PC , con soporte para dibujar Primitivas Gráficas en la pantalla, crear sonidos, Manipulación de Cadenas y mostrar texto en varias fuentes. SmallBASIC también agrega funciones como "Guardar Archivo", "Guardar Como", "Cerrar Archivo" y "Abrir Archivo" al Palm, un dispositivo sin sistema de archivos nativo. SmallBASIC también está pensado como una herramienta para matemáticas, con funciones incorporadas para Conversión de Unidades , Álgebra , Matemáticas Matrices , Trigonometría , Estadística y para Gráficos de Ecuaciones Bidimensionales y Tridimensionales . [2] [3]
SmallBASIC fue diseñado para funcionar en un hardware mínimo. Una de las principales plataformas compatibles era Palm OS , [4] donde la memoria, los ciclos de CPU y el espacio en pantalla eran limitados. El motor gráfico SmallBASIC podía utilizar gráficos ASCII (similares a ASCII art ) y, por lo tanto, ejecutaba muchos programas en dispositivos de texto puro. SmallBASIC funciona incluso en relojes de pulsera Palm OS fabricados por Fossil, Inc.
SmallBASIC está disponible para todos los sistemas operativos compatibles con POSIX (incluidos Linux , BSD y UNIX ), [5] DOS / DJGPP , [6] Win32 , [7] FLTK , [8] VTOS, [8] Franklin eBookMan , [9] Cygwin / MingW , [10] Helio/VT-OS, [11] Android , [12] la tableta de Internet Nokia N770, [13] y en cualquier sistema que admita SDL , FLTK , SVGALib , Linux framebuffer o Windows GUI .
La sintaxis de SmallBASIC tiene mucho en común con QBasic . No se requieren números de línea y las instrucciones terminan con nuevas líneas . Se pueden escribir varias instrucciones en una sola línea separando cada instrucción con dos puntos (:)
Un ejemplo de programa "¡Hola, mundo!" es:
IMPRIMIR "¡Hola, mundo!"
Un ejemplo de cómo SmallBASIC permite cargar un archivo de imagen y mostrar la imagen:
I = IMAGEN ( "nombre_imagen.png" ) 'Carga un archivo png I . MOSTRAR ( 100 , 100 ) 'muestra la imagen en pantalla en las coordenadas 100,100
Se pueden escribir módulos externos en C para ampliar la funcionalidad proporcionada por SmallBASIC. [14] Desde la versión 12.20 se incluyen módulos para Raylib , Nuklear y WebSockets . [15] Además, existe un módulo cargable para acceder al conector GPIO de Raspberry Pi . [16]
SmallBASIC.