How computer program are interpreted and evaluated

花了一些时间重新捋了一遍自己关于解释器的学习笔记:CS 61A Summer 2018 Lecture 20: Interpreters

稍稍得了一些门道,把自己的想法记录一下。

自己目前的编程以动态语言 Python 为主,想要对动态语言有一个完整的理解和掌握,解释器这部分是必须要掌握的点。

简单来说,解释器就是程序的求值器。当我们花费心思构建起针对一个个功能实现的程序之后,下一步就是把那些代码喂给解释器,然后解释器把我们的代码当作一段文本,当作一些字符串一样的东西,进行解释求值。

本质上就是一句话:我们写的代码之于解释器来说就是一些待求值的数据。正所谓:code is data, data is code.

具体来讲,解释器求值有一个通用流程:Read-Eval-Print Loop,读入-求值-打印输出 循环进行。

光是这么讲还是太抽象。还需要继续拆分:


不知是该恭喜,还是该怎样,总之阅读到该文的,你是第 人。每一次刷新,都是不同的自己。