Electronic – Survey of High-Level Language Interpreters/Compilers for Microcontrollers

microcontrollerprogramming

I would like to generate a list of high-level language interpreters and compilers (e.g. something that compiles LISP to C code) for microcontrollers.

I've done a bit of research so far that I will document here:

List of projects for running Python on microcontrollers:
http://web.media.mit.edu/~nvawter/projects/pyMicro/

PyMite:
http://wiki.python.org/moin/PyMite

python-on-a-chip:
http://code.google.com/p/python-on-a-chip/

Armpit Scheme:
http://armpit.sourceforge.net/

TinyScheme:
http://tinyscheme.sourceforge.net/home.html

Minimal LISP Interpreter:
http://www.sonoma.edu/users/l/luvisi/sl5.c

Embedded ML:
http://embeddedml.sourceforge.net/Site/Intro.html

eLua:
http://www.eluaproject.net/

Embedded JAVA:
http://en.wikipedia.org/wiki/Embedded_Java

amforth:
http://amforth.sourceforge.net/

TinyTCL:
http://tinytcl.sourceforge.net/

Tiny BASIC:
http://www.ittybittycomputers.com/IttyBitty/TinyBasic/index.htm

AVR shell:
http://www.instructables.com/id/AVRSH-A-Command-Interpreter-Shell-for-ArduinoAVR/

Bitlash shell (AVR): http://bitlash.net/wiki/start

Transterpreter (occam-pi on AVR):
http://www.transterpreter.org/

Rite (embedded Ruby) (will be released in 2011):
http://www.slideshare.net/yukihiro_matz/rubyconf-2010-keynote-by-matz

Jal (pascal like) for PICs, compiler: http://www.casadeyork.com/jalv2/ libraries: http://code.google.com/p/jallib/

.NET Micro Framework (C# and VB.NET): http://netmf.codeplex.com/

This is a community wiki – please feel free to add to the list.

Best Answer

I would add Staapl to this list.

Staapl allows you to use Scheme macros as a metaprogramming tool on top of a forth-like stack language. Staapl currently targets the PIC18 chips.

Forth is definitely not a high level language, but the addition of Scheme on top of it eases the development.