Terminal-BASIC is a BASIC-like language interpreter for ATMega-based uc boards.
Written in C++ using Arduino libs, it's not as lightweight as it should be, and not fits into 16k chips like ATMega168 at the moment.
From the other side, unlike many existing projects, like TinyBASIC ports, it supports real numbers and multidimensional arrays.
The language core support BASIC control structures, input, output and basic arithmetics of integer and real numbers and arrays, input, output and concatenation of the strings.
Extended functionality is available through the modules, that can be plugged to the core, adding
new commands and functions (and eating up huge ammounts of the program memory).
The architecture of the Terminal-BASIC is shown on the picture below:
The main interpreter object can be instantiated multiple times, using
different Stream objects. So, on the multi-USART systems, like
Atmega128 and Atmega2560, it is possible to create a multiterminal BASIC
timesharing system.
Wiki: Code examples
Wiki: Installation and usage
Wiki: Reference
Wiki: Work_with_sources