All Projects → smallbasic → Smallbasic

smallbasic / Smallbasic

Licence: gpl-3.0
SmallBASIC is a fast and easy to learn BASIC language interpreter ideal for everyday calculations, scripts and prototypes. SmallBASIC includes trigonometric, matrices and algebra functions, a built in IDE, a powerful string library, system, sound, and graphic commands along with structured programming syntax

Programming Languages

c
50402 projects - #5 most used programming language
basic
69 projects

Projects that are alternatives of or similar to Smallbasic

Yasl
Bytecode Interpreter for Yet Another Scripting Language (YASL).
Stars: ✭ 55 (-29.49%)
Mutual labels:  interpreter
Birlscript
Interpretador da linguagem BirlScript
Stars: ✭ 62 (-20.51%)
Mutual labels:  interpreter
Icon Machine
Web application for randomly generating pixel art icons.
Stars: ✭ 73 (-6.41%)
Mutual labels:  pixel-art
Reoscript
JavaScript-like script language engine for .NET Application. Easy to plug in .NET Application and making API extension for script. Enhanced syntax and features are also available such as lambda expression, call setTimeout with arguments, etc...
Stars: ✭ 57 (-26.92%)
Mutual labels:  interpreter
Sablejs
🏖️ The safer and faster ECMA5.1 interpreter written by JavaScript
Stars: ✭ 60 (-23.08%)
Mutual labels:  interpreter
Aseprite Scripts
Stars: ✭ 65 (-16.67%)
Mutual labels:  pixel-art
Tablam
The practical relational programing language for data-oriented applications
Stars: ✭ 55 (-29.49%)
Mutual labels:  interpreter
Oh
A new Unix shell.
Stars: ✭ 1,206 (+1446.15%)
Mutual labels:  interpreter
Geopattern
📐 Create beautiful generative image patterns from a string in golang.
Stars: ✭ 1,113 (+1326.92%)
Mutual labels:  pixel-art
Mini Interpreter
A Simple Scripting Language
Stars: ✭ 72 (-7.69%)
Mutual labels:  interpreter
Tiny Lisp
A tiny lisp compiler written in JS
Stars: ✭ 58 (-25.64%)
Mutual labels:  interpreter
Flashforth
FlashForth development
Stars: ✭ 60 (-23.08%)
Mutual labels:  interpreter
Joker
Small Clojure interpreter, linter and formatter.
Stars: ✭ 1,161 (+1388.46%)
Mutual labels:  interpreter
Littlelang
A little language interpreter written in Go
Stars: ✭ 56 (-28.21%)
Mutual labels:  interpreter
Image To Xls
A simple tool to make ascii art from an image using excel colored cells.
Stars: ✭ 75 (-3.85%)
Mutual labels:  pixel-art
Lily
This repository has moved: https://gitlab.com/FascinatedBox/lily
Stars: ✭ 1,081 (+1285.9%)
Mutual labels:  interpreter
Pascalnide
Pascal Compiler for Android
Stars: ✭ 63 (-19.23%)
Mutual labels:  interpreter
Python lite
[WIP] A simple, lightweight implementation of python3 language.
Stars: ✭ 77 (-1.28%)
Mutual labels:  interpreter
Ntphp
Ever wanted to execute PHP in your kernel driver? Look no further!
Stars: ✭ 76 (-2.56%)
Mutual labels:  interpreter
Dicebear
DiceBear is an avatar library for designers and developers.
Stars: ✭ 1,161 (+1388.46%)
Mutual labels:  pixel-art

SmallBASIC is a fast and easy to learn BASIC language interpreter ideal for everyday calculations, scripts and prototypes. SmallBASIC includes trigonometric, matrices and algebra functions, a built in IDE, a powerful string library, system, sound, and graphic commands along with structured programming syntax.

Initialise dependencies

$ git submodule update --init

Building the SDL version

Initial setup on linux

 $ sudo apt-get install git autotools-dev automake gcc g++ libsdl2-dev libfreetype6-dev libfontconfig1-dev xxd
 $ git clone https://github.com/smallbasic/SmallBASIC.git
 $ cd SmallBASIC
 $ sh autogen.sh

Build in linux

 $ ./configure --enable-sdl
 $ make

Build the debian package

 $ sudo apt-get install dpkg-dev build-essential debhelper
 $ make deb

On windows, install tools: https://www.gtk.org/download/windows.php

 $ ./configure --host=i686-w64-mingw32 --enable-sdl
 $ make

or for cross-compiling under linux:

 $ sudo apt-get install mingw-w64
 $ ./configure --host=i686-w64-mingw32 --prefix=/devsw/mingw --enable-sdl

Note: requires building SDL2 and freetype-2 into the prefix folder

Building on MacOSX

Open the terminal window, then type the following commands at the prompt:

$ brew install sdl2
$ brew install freetype
$ brew link --overwrite freetype
$ brew install fontconfig
$ brew install autotools
$ brew install automake
$ brew install autoconf

Next download the SmallBASIC source code from git and then build:

$ git clone https://github.com/smallbasic/SmallBASIC.git
$ cd SmallBASIC
$ sh autogen.sh
$ ./configure --enable-sdl
$ make
$ cd /src/platform/sdl

Then type the following to run the executable:

$ ./sbasicg

Building the non-graphical console version (cygwin or linux)

 $ ./configure && make

Windows 32 bit mingw console:

 $./configure --host=i686-w64-mingw32 && make

Windows 64 bit mingw console:

 $./configure --host=x86_64-w64-mingw32 && make

Building the Android port

  1. Setup .bashrc
export PATH=$PATH:~/android-sdk/depot_tools:~/android-sdk/android-sdk-linux/platform-tools/
export ANDROID_SDK_ROOT=~/android-sdk/android-sdk-linux
export TARGET_DEVICE=arm
export PLATFORM_PREFIX=~/android-sdk/android-ext/
export PATH=${PLATFORM_PREFIX}/bin:${PATH}
export NDK=~/android-sdk/android-ndk-r10d
export NDK_PLATFORM=android-19
export ANDROID_LOG_TAGS="DEBUG:I smallbasic:I AndroidRuntime:E *:S"
  1. Build FreeType First, prepare the cross-compiler from the NDK:
  $NDK_PATH/build/tools/make-standalone-toolchain.sh \
      --platform=$NDK_PLATFORM --install-dir=$PLATFORM_PREFIX --arch=arm

Then use it to cross-compile the tools:

  cd freetype-2.5.3/
  CFLAGS="-std=gnu99" ./configure --host=arm-linux-androideabi --prefix=/freetype --without-zlib --without-png --without-harfbuzz
  make
  make install DESTDIR=$(pwd)
  1. setup config.h
./configure --enable-android
  1. Build the native activity
$ cd src/platform/andoid/jni && $NDK/ndk-build NDK_DEBUG=0
$ cd - && cd ide/android/ && ant release install

Useful adb commands for debugging: adb shell dumpsys cpuinfo adb shell top -m 10

Building the FLTK version

  1. Install and build FLTK 1.4
$ cd ~/github
$ git clone https://github.com/fltk/fltk.git
$ sudo make install

  1. Build
$ cd ~/github/SmallBASIC
$ ./configure --enable-fltk
$ make -s

.indent.pro settings

 -brf -nbap -br -brs -cdb -cdw -ce -cli0 -fca -i2 -l110 -lc110 -lp
 -nbbo -nbc -ncs -nip -npcs -npsl -nut -ppi0 -sc
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].