【文件属性】:
文件名称:tiny-lisp:一个用JS编写的小型lisp编译器
文件大小:66KB
文件格式:ZIP
更新时间:2021-02-01 11:36:33
language bison lisp interpreter compiler
微小的Lisp
这是一个用JavaScript和编写的小而简单但功能强大的lisp。 当然,它不是解决生产问题的一种认真的语言,但是如果您想了解如何编写自己的编程语言(或另一种正式语言),总是欢迎您使用或为该语言做出贡献。
这种语言能做什么?
请参阅下面的视频和示例,以了解使用该语言已经开发了多少功能。
操作简单
(+ 1 2 )
; 3
(* 2 2 2 )
; 8
(/ 4 2 )
; 2
(- 5 3 )
; 2
(+ (* 2 2 ) (/ 30 5 ))
; 10
(+ " Hello, " " world " " ! " )
; Hello, world!
定义
(def a 10 )
(a)
; 10
(def (sum a b) (+ a b))
(sum 10 20 )
; 30
“组!” 变异变量的功能
(def a 10 )
(set! a 20 )
(a)
; 20
“ do”函数用于执行顺序表达式。 它总是返回最后一个表达式的结果
( do (+ 1 2 )
(* 2 2 )
(/ 15 5 ))
; 3
条件
( if
【文件预览】:
tiny-lisp-master
----.gitignore(164B)
----package.json(798B)
----package-lock.json(151KB)
----src()
--------translator.js(4KB)
--------tiny-lisp.jison(5KB)
--------runtime()
--------stdlib()
--------util()
--------interpreter.js(273B)
----.travis.yml(88B)
----gulpfile.js(1KB)
----LICENSE(1KB)
----index.js(803B)
----README.md(3KB)
----tiny-lisp-logo.png(16KB)
----.npmignore(286B)
----test()
--------simple-progs.spec.js(710B)
--------standard-functions.spec.js(2KB)
--------definition.spec.js(5KB)
--------conditions.spec.js(5KB)
--------loops.spec.js(346B)
--------calculations.spec.js(2KB)
----.editorconfig(214B)