Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eugeneia/microlisp
Simple Lisp compiler. Compiles a minimal Lisp dialect to ANSI C.
https://github.com/eugeneia/microlisp
c common-lisp educational lisp-compiler transpiler
Last synced: 3 months ago
JSON representation
Simple Lisp compiler. Compiles a minimal Lisp dialect to ANSI C.
- Host: GitHub
- URL: https://github.com/eugeneia/microlisp
- Owner: eugeneia
- License: other
- Created: 2015-02-05T20:29:03.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2015-07-26T17:50:54.000Z (over 9 years ago)
- Last Synced: 2023-08-15T08:00:30.275Z (over 1 year ago)
- Topics: c, common-lisp, educational, lisp-compiler, transpiler
- Language: C
- Homepage:
- Size: 1.4 MB
- Stars: 15
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# 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:**
* [Paper on Microlisp](http://mr.gy/software/microlisp/microlisp-architektur.html)
(in German)
* [User manual](http://mr.gy/software/microlisp/microlisp-bedienungsanleitung.html)
(in German)