用java写lisp 解释器 (9 全中文编程? 难吗)
今天和小伙伴聊天谈到了:
理论上所有语言都可以用现有的语法用来实现成其他语言的解释器
也可以用来解释自己
小伙伴说:
国产编程语言
[图片]
你发现了 实现国产编程语言的本质
我接着说:
hh , 这没什么 java 还是用c写的
别夸大就好
只要 不是技术而是圈钱的手段 陷入这里面去就好
真解决了实际的问题
然后我说:
一个语言没有关键字,函数都是引用,那么定义一个名称引用这个函数的引用即可,然后就实习了 可以全中文编程了
比如这个
(
(defun println (x) (
(display x)
(newline)
))
(println 'hello-world')
)
=> 'hello-world'
可以这样
(
(define 定义 define)
(定义 定义函数 defun)
(定义 显示 display)
(定义 换行 newline)
(定义函数 打印 (打印的字)
(显示 打印的字)
(换行)
)
(打印 '你好 中国')
)
=> '你好 中国'
然后我们就实现了支持全中文定义函数,定义变量...
推荐阅读
scheme4r - (1) 起手式
几个月前,用rust写了第一版的lisp 解释器,里面混合了很多lisp方言的语法,还扩展实现了多线程等,这次是打算基于r7rs规范实现一个更规范的Scheme方言的lisp解释器。
yangrd阅读 326
Java12的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 63阅读 11.9k
Java8的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 32阅读 24.6k评论 1
一文搞懂秒杀系统,欢迎参与开源,提交PR,提高竞争力。早日上岸,升职加薪。
前言秒杀和高并发是面试的高频考点,也是我们做电商项目必知必会的场景。欢迎大家参与我们的开源项目,提交PR,提高竞争力。早日上岸,升职加薪。知识点详解秒杀系统架构图秒杀流程图秒杀系统设计这篇文章一万多...
王中阳Go赞 33阅读 2.5k评论 1
Java11的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 28阅读 15.4k评论 3
Java5的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 13阅读 20.4k
Java9的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...
codecraft赞 20阅读 14.5k
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。