如何为actionscript 3编写LISP解释器?

时间:2010-03-23 21:53:56

标签: actionscript-3 lisp

我知道有一个,但实现我想要的方式并不容易。

我想知道解释lisp语言的步骤以及实现必不可少的功能。

7 个答案:

答案 0 :(得分:10)

首先,你学习Lisp,然后阅读LiSP并且(如果你已经足够了解ActionScript),你就开始了。 PAIP还有关于实现Lisp解释器和编译器的部分。

要了解通常如何处理它,您可以查看Write Yourself a Scheme in 48 hours。它使用Haskell作为实现语言,但它会给你一个想法。

这肯定不会是微不足道的,但它已经经常完成,并且可以从中学到很多东西。

答案 1 :(得分:2)

danlei's recommendations非常好。如果你想学习Lisp, PAIP 是一个更好的选择,因为它会教你很多关于Common Lisp和一小部分Scheme。

但是,我的建议是从The Structure and Interpretation of Computer Programs开始,它将教你至少与Lisp一样多的 PAIP (尽管你不会学到很多关于AI的知识) ,有一个关于如何编写Lisp解释器的更长更完整的部分,并且是一本很棒的书。此外,它可以在线完整使用。我必须通过邮件订购 PAIP LiSP

答案 2 :(得分:1)

查看“编程语言要点”一书(也称为EoPL)。

答案 3 :(得分:0)

您可以查看sporklisp(这是一个用vba编写的lisp变体)并在excel中工作。

https://github.com/spoonix/sporklisp

PS我已经能够将此端口移植到MS Access也没有问题。

------ sporklisp的作者注意-------

许多概念来自lisp向导,特别是计算机程序的结构和解释(SICP),Peter Norvig为LisPy和JScheme提供的优秀教程,以及Christian Queinnec的Lisp in Small Pieces。

答案 4 :(得分:0)

如果你想用更高级别的语言实现一个基本的lisp,你可能会从The Little Schemer的后续章节中获得一些里程(你在那里展示了如何在Scheme中编写元循环求值器) ,整个WYAS48(你在Haskell中展示了如何实现R5RS方案)和这些two Norvig articles(其中他在Python中实现了基本的类似lisp)。

答案 5 :(得分:-2)

我建议您阅读其中一个着名的dragon books。它几乎解释了解析,编译,代码生成,优化等整个过程。

答案 6 :(得分:-9)

如果你不得不问 - 你做不到。

实现编程语言是一件非常复杂的事情,即使你不必从头开始。而且我认为ActionScript不会有很多支持工具/库。最重要的是,LISP是一种函数式编程语言,除了通常的语言实现之外还需要相当多的额外技巧才能获得不错的性能。