文件名称:microlisp:简单的Lisp编译器。 将最小的Lisp方言编译为ANSI C
文件大小:1.29MB
文件格式:ZIP
更新时间:2024-06-08 10:46:51
c common-lisp transpiler educational lisp-compiler
微囊 描述: 一个简单的Lisp编译器。 将最小的Lisp方言(“ Microlisp”)编译为ANSIC。该编译器以Common Lisp编写。 Microlisp的方言非常简单。 它具有从Common Lisp借来的列表,实数,符号,字符和宏功能。 所有数据都是不可变的,并且使用了引用计数垃圾收集器。 我开发了这个项目,作为我的学徒期末实践考试。 从那时开始(2012年),我除了进行错误修复外没有做太多事情,并且由于情况的本质,某些部分的源代码(尤其是编译器)有些匆忙。 源代码的内联文档已完成并以英语编写,而随附的论文则以德语编写。 对于试图了解Microlisp的人们,我建议阅读{test /}和{includes /}目录中的源文件。 该代码库非常适合用于教育目的。 Microlisp的最初目标是成为嵌入式系统的动态脚本语言。 但是,它从未部署在真正的嵌入式系统上。 说明文
【文件预览】:
microlisp-master
----compile.lisp(17KB)
----documentation()
--------ast.png(268KB)
--------systemlandschaft.dia(2KB)
--------ablaufplan.png(588KB)
--------projekt-antrag.mk2(7KB)
--------komponenten.png(420KB)
--------systemlandschaft.svg(6KB)
--------ablaufplan.dia(3KB)
--------systemlandschaft.png(113KB)
--------komponenten.svg(14KB)
--------ast.dia(3KB)
--------issues.mk2(251B)
--------ast.svg(16KB)
--------projekt-dokumentation.mk2(27KB)
--------komponenten.dia(3KB)
--------ablaufplan.svg(12KB)
--------bedienungsanleitung.mk2(10KB)
----interpret.lisp(10KB)
----microlisp.asd(586B)
----test()
--------test.ml(174B)
--------axioms.ml(3KB)
--------units.ml(3KB)
--------units-c.c(4KB)
----micro.lisp(3KB)
----vocabulary.lisp(406B)
----parse.lisp(2KB)
----macros()
--------standard.lisp(6KB)
--------test.lisp(289B)
----macro.lisp(1KB)
----README.md(1KB)
----includes()
--------standard.ml(1KB)
--------test.ml(176B)
----runtime()
--------character-structure.h(86B)
--------cell-structure.h(87B)
--------number.c(4KB)
--------predicate.h(112B)
--------value-types.h(853B)
--------symbol.h(212B)
--------memory.h(130B)
--------value.c(2KB)
--------procedure.h(246B)
--------gmon.out(15KB)
--------number.h(433B)
--------runtime.h(207B)
--------procedure.c(3KB)
--------cell.c(848B)
--------garbage.c(3KB)
--------cell.h(149B)
--------number-structure.h(110B)
--------io.h(115B)
--------value.h(319B)
--------error.h(305B)
--------procedure-structure.h(193B)
--------symbol-structure.h(105B)
--------character.h(188B)
--------symbol.c(2KB)
--------memory.c(408B)
--------io.c(10KB)
--------units.c(18KB)
--------gprof.txt(50KB)
--------units(28KB)
--------garbage.h(144B)
--------character.c(972B)
----COPYING(34KB)