An interpreted language allows us to program and test with the microcontroller faster than with compiled languages, but there are not many options to choose from. Here I present a few and the solution proposed by zserge.
LUA Is a good interpreted language. Powerful and flexible.
It occupies little space (200kB flash) but it is too much for small microcontrollers.
On larger microcontrollers, its garbage collection system makes it not recommended for real time applications.
FORTHIs the opposite. Powerful, fast, occupies only 2kB of flash and is suitable for real time systems.
The problem it has is that it tends to create read-only programs. Very complicated for an average user.
TCLAn extendable language, born out of frustration with having to build custom command languages again and again, is in fact very simple.
PARTCLTCL Adapted to microcontrollers:
https://zserge.com/posts/tcl-interpreter/ https://github.com/zserge/partclFeatures:
~600 lines of "pedantic" C99 code
No external dependencies
Good test coverage
Can be extended with custom Tcl commands
Runs well on bare metal embedded MCUs (~10k of flash is required)
Code distributed under MIT license