4.8 KiB
Executable File
Copyright (C) 2011 - 2015 Wang Renxin
Why are existing script interpreters so complex? Why is it so difficult to integrate with them? Why not try MY-BASIC today!
Introduction
MY-BASIC is a tiny cross-platform easy extendable BASIC interpreter written in pure C with about 7000 lines of source code. Its grammar is similar to structured BASIC. 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, etc. project easily, scripting driven can make your projects more powerful, elegant and neat.
Main features
- It is free
- Written in clean ANSI C, source code portable
- With most common BASIC syntax
- Small (within memory usage less than 128KB) and fast
- Case-insensitive tokenization
- Integer, float point, string, boolean, user defined data types with array support, etc.
- Structured
IF-THEN-ELSEIF-ELSE-ENDIF
support - Structured
FOR-TO-STEP-NEXT/WHILE-WEND/DO-UNTIL
support - Structured user costomized sub routine definition by
DEF/ENDDEF
support GOTO/GOSUB-RETURN
support- Standard numeric functions
- Standard string functions
- Debug APIs
- High expansibility, easy to use APIs, easy to write customized scripting interfaces
- It's able to use it as a standalone interpreter, or integrate it with existing C, C++, Objective-C, etc. projects
- It's able to learn how to build an interpreter from scratch from MY-BASIC
- It's able to build your own dialect based on MY-BASIC
- More features/modules under developing
Interpreter workflow diagram
Installation
Use standalone interpreter binary
This repository contains precompiled binaries for Windows and OS X, it's efficient to download it and have a first impressive playground.
To compile an interpreter binary for your own platform, please follow the steps.
- Retrieve at least
core
andshell
folders for minimum build - Setup your compile toolchain configuration
- Use your compiler to compile
core/my_basic.c
andshell/main.c
, includingcore/my_basic.h
is required for both source files, then link up your own executable
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.
You can definitely link with MY-BASIC as a lib as well.
For more details about using MY-BASIC when it's already integrated with exist projects, please see MY-BASIC Quick Reference.
WIKI
- Passes
- Interpreter workflow diagram
- Link with MY-BASIC
- Customize a memory allocator
- Redirect PRINT and INPUT
- Redefine int_t and real_t
- Use usertype values
- Manipulate an array
- Customize macros
- Write a debugger
- More scripting APIs
- File module
- Bit operation module
- FAQ