文档章节

为什么 Lisp 的解释器难度小一些

沙枣
 沙枣
发布于 2015/02/27 13:01
字数 156
阅读 29
收藏 0
  1. Lisp 没有运算符的优先级问题。

在别的语言中,+ - * / ^ var[index] 都要解决优先级问题,将代码转换成语法树,就要涉及很多的问题。

  1. Lisp 的函数表达具有同源性

别的语言中,进行函数代换,需要处理许多的变量替换,备份问题,但 LISP 不需要,Lisp 的函数表达结构, 可以整体进行替换。

(define (function-name arg1 arg2) (expression arg1 arg2))

© 著作权归作者所有

共有 人打赏支持
沙枣
粉丝 23
博文 148
码字总数 176652
作品 0
深圳
后端工程师
前端要以正确的姿势学习编译原理(上篇)

前端要以正确的姿势学习编译原理(上篇) 发布于 02:05 文章被以下专栏收录

brambles
05/22
0
0
用JavaScript实现一门编程语言 1 (前言)

这一个关于如何用JavaScript实现一门编程语言的教程。如果你曾经写过解释器或者编译器,这个教程你可能学不到什么新的东西,但是,如果你正在用正则表达式去 “解析”任何看起来看起来像编程...

缪宇
2017/10/16
0
0
SICP第四章阅读心得 - Lisp解释器的实现

经过近两个月的苦战,笔者终于将SICP(Structure and Interpretation of Computer Programs(计算机程序的构造和解释))一书读到了第四章过半,开始接触书中关于语言级抽象(metalinguistic abs...

lqt0223
03/31
0
0
Lisp 的永恒之道

Lisp之魅 长久以来,Lisp一直被许多人视为史上最非凡的编程语言。它不仅在50多年前诞生的时候带来了诸多革命性的创新并极大地影响了后来编程语言的发 展,即使在一大批现代语言不断涌现的今天...

虫虫
2012/06/09
4K
9
GNU Guile 1.9.10 已经发布

GNU Guile 1.9.10已经发布,这可能是2.0前的最后一个预发行版(pre-release).新版本有很多值得关注的特性特别是增加了一个编译器和虚拟即.我 们建议您可以对guile的这些特性进行测试也可以给我...

红薯
2010/04/18
475
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 反向跟踪

当反向跟踪(Trackback )被启用后,在任何你链接到可用启用自动发现功能的外部页面中,Confluence 将会自动发送一个方向跟踪 ping,这个 ping 能通知链接的页面有了内容改变。 Confluence 页...

honeymose
昨天
0
0
日期和时间API - 读《Java 8实战》

日期与时间 LocalDate 创建一个LocalDate对象并读取其值 // 根据年月日创建日期LocalDate date1 = LocalDate.of(2014, 3, 18);// 读取System.out.println(date1.getYear()); // 2014Sys...

yysue
昨天
0
0
8月15日任务

8月15日任务 Memcached命令行 • telnet 127.0.0.1 11211 • set key2 0 30 2 ab STORED get key2 VALUE key2 0 2 ab END 实例: [root@localhost 02]# telnet 127.0.0.1 11211-bash: te......

寰宇01
昨天
1
0
LNMP架构(Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间)

Nginx访问日志 1.打开配置文件,搜索log_format vim /usr/local/nginx/conf/nginx.conf 2.访问日志常用变量含义 $remote_addr : 客户端IP(公网IP) $http_x_forwarded_for : 代理服务器的IP ...

蛋黄_Yolks
昨天
0
0
lombok 不用再写pojo的getset

java实体类不写get/set方法 1、下载地址https://projectlombok.org/download Myeclipse、eclipse安装lombok Lombok是一种Java实用工具,可以帮助开发人员消除Java的冗长,具体看lombok的官网...

木之下
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部