- 5
- 0
- 约1.46万字
- 约 17页
- 2017-01-03 发布于贵州
- 举报
如何使用Python编写一个Lisp解释器原文:?Peter Norvig译者:?johnc本文有两个目的: 一是讲述实现计算机语言解释器的通用方法,另外一点,着重展示如何使用Python来实现Lisp方言Scheme?的一个子集。我将我的解释器称之为Lispy(lis.py)。几年前,我介绍过如何使用Java编写一个Scheme解释器,同时我还使用Common Lisp语言编写过一个版本。这一次,我的目的是尽可能简单明了地演示一下Alan Kay所说的“软件的麦克斯韦方程组” (Maxwells Equations of Software)[1]。Lispy支持的Scheme子集的语法和语义大多数计算机语言都有许多语法规约 (例如关键字、中缀操作符、括号、操作符优先级、点标记、分号等等),但是,作为Lisp语言家族中的一员,Scheme所有的语法都是基于包含在括号中的、采用前缀表示的列表的。这种表示看起来似乎有些陌生,但是它具有简单一致的优点。(一些人戏称Lisp是?Lots of Irritating Silly Parentheses——“大量恼人、愚蠢的括号“——的缩写;我认为它是?Lisp Is Syntactically Pure——“Lisp语法纯粹”的缩写。考虑下面这个例子:Java??????Schemeif?(x.val() 0) {???z = f(a *
原创力文档

文档评论(0)