Simple Lisp compiler. Compiles a minimal Lisp dialect to ANSI C. Well suited for educational purposes.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
documentation
includes
macros
runtime
test
COPYING
README.md
compile.lisp
interpret.lisp
macro.lisp
micro.lisp
microlisp.asd
parse.lisp
vocabulary.lisp

README.md

Microlisp

Description:

A simple Lisp compiler. Compiles a minimal Lisp dialect ("Microlisp") to ANSI C. The compiler is written in Common Lisp. The Microlisp dialect is very simplistic. It features lists, real numbers, symbols, characters and a macro facility borrowed from Common Lisp. All data is immutable and a reference counting garbage collector is employed.

I developed this project as my apprenticeship's final practical exam. I haven't done much besides bug fixing since then (2012) and due to the nature of the circumstances some parts of the source code—especially the compiler—are somewhat rushed. While the inline documentation of the source code is complete and written in english, the included papers are written in german. For people trying to get a grasp of Microlisp I recommend reading the source files in the {test/} and {includes/} directories.

The codebase is very well suited for educational purposes. The original goal of Microlisp was to be a dynamic scripting language for embedded systems. It never was deployed on a real embedded system though.

Documentation: