https://github.com/frozenlemontee/liscpp
A simple Scheme interpreter
https://github.com/frozenlemontee/liscpp
cpp debugger interpreter lisp lisp-interpreter scheme scheme-interpreter
Last synced: about 2 months ago
JSON representation
A simple Scheme interpreter
- Host: GitHub
- URL: https://github.com/frozenlemontee/liscpp
- Owner: FrozenLemonTee
- License: mit
- Created: 2025-01-11T10:23:55.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-23T02:41:14.000Z (over 1 year ago)
- Last Synced: 2025-02-23T03:24:49.331Z (over 1 year ago)
- Topics: cpp, debugger, interpreter, lisp, lisp-interpreter, scheme, scheme-interpreter
- Language: C++
- Homepage:
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# liscpp
一款基于c++实现的Lisp([Clojure](https://en.wikipedia.org/wiki/Clojure))语言解释器。
### 使用方式
支持REPL(Read-Eval-Print-Loop)交互模式和文件执行模式。
REPL交互模式:
* 输入指令
```shell
liscpp
```
* 进入REPL交互界面
```text
user>
```
文件执行模式:
* 输入指令
```shell
liscpp "hello_world.mal"
```
* 输出结果
```text
Hello world!
```
### 支持功能 && 未来计划
已完成部分:
✅ 内置类型系统:
MalType --> MalPair, MalList, MalVector, MalMap,MalBool, MalInt, MalString, MalSymbol, ...
✅ 三大组件: 解析器(Reader), 求值器(Evaluator), 打印器(Printer)
✅ 流程控制关键字(do, if), 定义关键字(let*, fn*, def!), ...
✅ 大部分标准内建函数: +, -, *, /, prn, println, eval, load-file, ...
待实现:
📝 相关读取器宏
📝 异常捕捉系统
📝 元数据
📝 解释器内存管理优化
📝 解释器LLVM移植