]> code.bitgloo.com Git - clyne/interpreter.git/commitdiff
Update README.md
authorclyne <tullivan99@gmail.com>
Sun, 29 Apr 2018 19:50:20 +0000 (15:50 -0400)
committerGitHub <noreply@github.com>
Sun, 29 Apr 2018 19:50:20 +0000 (15:50 -0400)
README.md

index 8a4e94aca78214d1787b25578124fcfac782fb0c..9aa89b3a5e071ebb682b062d262389b3961e5e95 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,25 +1,27 @@
 # interpreter
 
-*interpreter* is a minimal scripting language aimed at low-spec embedded systems. 
+*interpreter* is a minimal scripting language aimed at low-memory embedded systems. 
 
-Many other scripting languages currently exist for embedded use, including Lua, Tcl, and BASIC; however, their implementations require certain system calls (e.g. read()/write()) that may not be available or used on an embedded device. As a result, *interpreter* was made with the goal to allow advanced scripts to be run in minimal conditions. This included things like having only a few built-in functions, and only loading script from C-strings one at a time.  
+Many other scripting languages currently exist for embedded use, including Lua, Tcl, and BASIC; however, their implementations require certain system calls (e.g. read()/write()) that may not be available or used on an embedded device. Additionally, their memory and/or non-volatile memory requirements may be too large for the targeted device. As a result, *interpreter* was made with the goal to allow advanced scripts to be run in minimal conditions. This included things like having only a few built-in functions, and only loading script from C-strings.  
   
 To use *interpreter* with your own device, you will need some malloc/free implementation and a freestanding standard library. Newlib can work well for this, although functions like atoi() and snprintf() will probably need to be rewritten (if you don't have an \_sbrk defined).  
   
 ### interpreter features:  
 * Variable/function definition - in C and in script
+* dynamic arrays
 * if/else conditionals
 * while loops
 * a solve function to parse strings at script runtime
 
 ### inconvenient features:  
 * some code formatting is enforced due to parser limitation
-* all variables are global
+* all variables are global (i.e. scopes don't exist)
 * whitespace is not always ignored
 
 ### some TODO items:  
 * add better error messages
 * better array support
+* better string support
 * for loops
 * variable scopes
 
@@ -27,9 +29,9 @@ To use *interpreter* with your own device, you will need some malloc/free implem
 
 This project can be made for the host system (```mv shell.c.bak shell.c; make```) or an ARM system (```mv shell.c shell.c.bak; make arm```). Make's ```-j``` argument may be used to multithread compilation.  
   
-To run on the host system, run ```./shell some_script_file```. Note that no IO functions are built in, so you must define your own.  
+To run on the host system, run ```./shell some_script_file```. Note that IO functions are **not** built in, so you must define your own.  
 To use on an ARM device, simply link ```libinterp.a``` into your program and use the header files. See ```shell.c``` for an idea of how to the interpreter.  
 
 &nbsp;  
 
-This project is still in heavy development, so don't expect too much. See the wiki for a scripting guide.
+This project is still in heavy development, so don't expect too much. See the wiki for a scripting guide.