MiniLisp —— Lisp 解释器
MiniLisp 是个用 1000 行 C 语言写的 Lisp 解释器,其支持:
- 整数、符号、cons 单元格
- 全局变量
- 局部变量
- 原始函数,例如 +、=、< 或list,
- 用户定义的函数
- 宏观系统
- 垃圾收集器
编译
$ make
MiniLisp 已经在 Linux x86/x86-64 和 64 位 macOS 上进行了测试。代码与体系结构无关,因此应该能够在其他类 Unix 操作系统上编译和运行。
测试
MiniLisp 带有一个全面的测试套件。为了运行测试,给出“test”参数。
$ make test
语言特点
MiniLisp 是传统的 Lisp 解释器。它一次从标准输入中读取一个表达式,对其求值,然后打印出表达式的返回值。这是有效输入的示例。
(+ 1 2)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
每日一博 | 详解 Java 线程问题诊断工具 Thread Dump
摘要:Thread Dump是非常有用的诊断Java应用问题的工具。 本文分享自华为云社区《调试排错 - Java 线程分析之线程Dump分析》,作者:龙哥手记。 Thread Dump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dump的能力,虽然各个 Java虚拟机打印的thread dump略有不同,但是 大多都提供了当前活动线程的快照,及JVM中所有Java线程的堆栈跟踪信息,堆栈信息一般包含完整的类名及所执行的方法,如果可能的话还有源代码的行数。 Thread Dump特点 能在各种操作系统下使用; 能在各种Java应用服务器下使用; 能在生产环境下使用而不影响系统的性能; 能将问题直接定位到应用程序的代码行上; Thread Dump抓取 一般当服务器挂起,崩溃或者性能低下时,就需要抓取服务器的线程堆栈(Thread Dump)用于后续的分析。在实际运行中,往往一次 dump的信息,还不足以确认问题。为了反映线程状态的动态变化,需要接连多次做thread dump,每次间隔10-20s,建议至少产生三次 dum...
- 下一篇
WebKit 新增实验性 WebCodecs AV1、dav1d 解码器
Apple 的网络浏览器 Safari 所使用的 WebKit 浏览器已经发布了一个值得注意的技术预览更新:添加了实验性 WebCodecs AV1、dav1d 解码器,新版本的 WebKit 引擎已被 Apple 的 Safari Technology 161 Preview 版本采用。 WebKit是开源的 Web 浏览器引擎,它被用于苹果的 Safari 浏览器,其分支 Blink 是由Google主导开发的开源浏览器渲染引擎,Blink 属于Chromium 浏览器内核的一部分。 Safari Technology Preview 161 对 WebKit 添加了实验性 WebCodecs AV1 支持,其编码的软件支持依赖于 libaom。此更新还更改了WebKit 的默认 AV1 解码器,现在使用 VLC 开发的 dav1d 解码器而不是 AOMedia 的 libaom 解码器。Apple 开发人员在对 dav1d 的更改中指出: dav1d 解码器比 libaom 解码器更高效,因此最好使用 dav1d。dav1d 是一个在 WebCore 中链接的库,因此我们在 We...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池