discussion icon indicating copy to clipboard operation
discussion copied to clipboard

Arduino-Shell: Token Threaded Forth Shell for Arduino

Open mikaelpatel opened this issue 8 years ago • 3 comments

Started a small project last week with the intention to revisit Forth-land and token threading. This time around I wanted to build an interpreter/virtual machine that 1) used printable characters as token (abbreviated forth words), 2) code could be written directly without an outer interpreter (i.e. token compiler), 3) small enough to be added to Arduino sketches for scripting configuration and/or parts of the application.

The result is a strange marriage between some of the concepts from PostScript with the traditional Forth stack machine.

For more details please see the repository.

mikaelpatel avatar Mar 02 '16 22:03 mikaelpatel

Completed the first round of this "natural" token thread interpreter. The latest update includes a unified address space for SRAM, EEPROM and PROGMEM (flash) so that scripts can be run from all address spaces. Script definitions are automatically saved to EEPROM. Together with an op-code to synchronize variables with EEPROM this allow persistent defined scripts and restart.

mikaelpatel avatar Mar 14 '16 08:03 mikaelpatel

Good job

2016-03-14 9:44 GMT+01:00 Mikael Patel [email protected]:

Completed the first round of this "natural" token thread interpreter. The latest update includes a unified address space for SRAM, EEPROM and PROGMEM (flash) so that scripts can be run from all address spaces. Script definitions are automatically saved to EEPROM. Together with an op-code to synchronize variables with EEPROM this allow persistent defined scripts and restart.

— Reply to this email directly or view it on GitHub https://github.com/ForthHub/discussion/issues/26#issuecomment-196206440.

jjonethal avatar Mar 14 '16 13:03 jjonethal

Completed the second round of performance improvements. Benchmarks are improving but there is a long way to go. Please see benchmark measurements https://github.com/mikaelpatel/Arduino-Shell/issues/40 and ongoing performance improvements, https://github.com/mikaelpatel/Arduino-Shell/issues.

mikaelpatel avatar Apr 03 '16 22:04 mikaelpatel