diff --git a/README.md b/README.md index 6084d7c..8668004 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,18 @@ # interpreter -This project aims to provide a very minimal scripting language for embedded systems. Many other languages already exist, such as Lua, Tcl, or BASIC; however, most implementations require certain system calls like a read() and write(), as they expect a filesystem. This interpreter aims to be as independent and portable as possible: parsing script from strings one at a time, having minimal built-in functions (so the user can define their own prints and such), and only requiring a few standard library functions. +This project aims to provide a very minimal scripting language for embedded systems. Many other languages already exist, such as Lua, Tcl, or BASIC; however, most implementations require certain system calls like a read() and write(), as they expect a filesystem. This script interpreter intends to be as independent and portable as possible: parsing script from strings one at a time, having minimal built-in functions (so the user can define their own prints and such), and only requiring a few standard library functions. -To use this program with your own device, you need some malloc/free implementation, and string functions like those in string.h, atoi, and snprintf. Some of these functions may become coded in so that a standard library isn't required. +To use this program with your own device, you need some malloc/free implementation, atoi, strtof, and snprintf. Some other standard library functions are needed, but something like newlib should be able to provide them without needing any system calls. -Only a few commands are built in to the interpreter: -* set - set variables -* func/end - define functions -* if/end - if conditional -* do/while -* ret - return value from function +Features: +* function/variable defining through C +* functions and variables in script +* conditionals - if/else/end, do/while +* solve - solve expressions stored in string variables -Other features: -* function/variable defining in c -* expression solving -* no local variables -* whitespace hopefully ignored - -Soon: +Todo list: +* scopes for variables * error messages * arrays? * maybe for loops -This project is still in heavy development, so don't expect much. To include it in your own project, just link in parser.o and use the header files. +This project is still in heavy development, so don't expect much. To include it in your own project, just link in libinterp.a (for ARM, link all .o's for x86) and use the header files.