Copyright (C) 2011 - 2015 W. Renxin

Introduction

MY-BASIC is a tiny cross-platform easy extendable BASIC interpreter written in pure C with about 6000 lines of source code. Its grammar is similar to structured BASIC in early era, but without line number. It is aimed to be either an embeddable scripting language or a standalone interpreter. The core is pretty light; all in a C source file and an associated header file. You can combine MY-BASIC with an existing C/C++/Objective-C project easily, scripting driven can make your projects more powerful, elegant and neat.

Main features

  • Written in clean ANSI C, source code portable
  • Most GW-BASIC like syntax, but without line numbers
  • Small (binary less than 80KB, memory less than 500KB) and fast
  • Case-insensitive tokens
  • Integer/float point/string/boolean/array data types support
  • IF-THEN-ELSE support
  • FOR-TO-STEP-NEXT/WHILE-WEND/DO-UNTIL support
  • GOTO/GOSUB-RETURN support
  • Numeric functions
  • String functions
  • Easy to embed into C/C++/Objective-C projects
  • High expansibility, easy to use APIs, easy to write customized scripting interfaces
  • It is free

Installation

Use standalone interpreter binary

This repository contains precompiled binaries for Win32 and MacOS, it's efficient to download it and have a first impressive playground.

To compile an interpreter binary for your own platform, please see the steps as follow.

  • Retrieve core and shell folders
  • Setup your compile toolchain configuration
  • Use your compiler to process core/my_basic.c and shell/main.c, both require including core/my_basic.h

Combine with exist projects

MY-BASIC is cleanly written in a single C source file and an associated header file. Just copy my_basic.c and my_basic.h to your project folder and add them to a build configuration.

For more details about using MY-BASIC with exist projects, please see MY-BASIC Quick Reference.

WIKI

Redirect PRINT and INPUT

FAQ

References

Notes


You can support MY-BASIC development with a donation:
paypal

Description
No description provided
Readme MIT 32 MiB
Languages
C 99%
HTML 0.8%