有些人可能看过我之前写的『怎样写一个解释器』。之前的文章虽然深入浅出,然而它仍然存在一些废话和误导。文章中实现的程序语言,缺少一些重要的构造(比如 let),使得例子程序,特别是关于 static/dynamic scoping 部分的例子代码,比较难看清楚。
所以最近更新并且提炼了这篇文章,使得它更加精炼,深入和易懂。新的文章比起以前的,使用了一些完全不同的思维方法。所以就算你以前看过这篇文章,我觉得它都值得再看一遍。没有看我微博的人,可能不知道文章有更新,所以在这里告知一下。