From ab24cc3b559f59339ac73fd845b18988874fe292 Mon Sep 17 00:00:00 2001 From: wizardforcel <562826179@qq.com> Date: Mon, 12 Sep 2016 11:51:01 +0800 Subject: [PATCH] 3.6.3. --- 3.6.md | 66 +++++++++++++++++++++++++++++++++++++++++++++ img/logo_apply.png | Bin 0 -> 37821 bytes img/logo_eval.png | Bin 0 -> 23200 bytes 3 files changed, 66 insertions(+) create mode 100644 img/logo_apply.png create mode 100644 img/logo_eval.png diff --git a/3.6.md b/3.6.md index 9e390f6..7843a0f 100644 --- a/3.6.md +++ b/3.6.md @@ -835,3 +835,69 @@ empty ![](img/sier.png) +## 3.6.3 结构 + +这一章描述了 Logo 解释器的普遍结构。虽然这一章是独立的,它也确实引用了配套项目。完成这个项目会从零制造出这一章描述的解释器的有效实现。 + +Logo 的解释器可以共享计算器解释器的相同结构。解析器产生表达式数据结构,可由求值器来解释。求值函数检查表达式的形式,并且对于调用表达式,它在一些参数上调用函数来应用某个过程。但是,还是是一些结构上的不同以适应 Logo 的特殊语法。 + +**行。**Logo 解析器并不读取一行代码,而是读取可能按序包含多个表达式的整行代码。它不返回表达式树,而是返回 Logo 句子。 + +解析器实际上只做微小的语法分析。特别是,解析工作并不会将调用表达式的运算符和操作数子表达式区分为树的不同枝干。反之,调用表达式的组件顺序排列,嵌套调用表达式表示为摊平的记号序列。最终,解析工作并不判断基本表达式,例如数值的类型,因为 Logo 没有丰富的类型系统。反之,每个元素都是单词或句子。 + +```py +>>> parse_line('print sum 10 difference 7 3') +['print', 'sum', '10', 'difference', '7', '3'] +``` + +解析器做了很魏霞的分析,因为 Logo 的动态特性需要求值器解析嵌套表达式的结构。 + +解析器并不会弄清句子的嵌套结构,句子中的句子表示为 Python 的嵌套列表。 + + +```py +>>> parse_line('print sentence "this [is a [deep] list]') +['print', 'sentence', '"this', ['is', 'a', ['deep'], 'list']] +``` + +`parse_line`的完整实现在配套项目的`logo_parser.py`中。 + +**求值。**Logo 一次求值一行。求值器的一个框架实现定义在配套项目的`logo.py`中。有`parse_line`反馈的句子传给了`eval_line`函数,它求出行中的每个表达式。`eval_line`函数重复调用`logo_eval`,它求出行中的第一个完整表达式,直到这一行全部求值完毕,之后返回最后一个值。`logo_eval`函数求出单一的表达式。 + +![](img/logo_eval.png) + +`logo_eval`函数求出不同形式的表达式,我们已经在上一节中介绍过它们了:基本、变量、定义、引用和调用表达式。Logo 中多元素表达式的形式可以由检查第一个元素来判断。表达式的每个形式都有自己的求值规则。 + +1. 基本表达式(可以解释为数值、`True`或`False`的单词)求值为自身。 +2. 变量在环境中查找。环境会在下一节中详细讨论。 +3. 定义处理为特殊情况。用户定义过程也在下一节中详细讨论、 +4. 引用表达式求值为引用的文本,它是个去掉前导引号的字符串。句子(表示为 Python 列表)也看做引用,它们求值为自身。 +5. 调用表达式在当前环境中查找运算符名称,并且调用绑定到该名称的过程。 + +下面是`logo_apply`的简单实现。我们去掉了一些错误检查,以专注于我们的讨论。配套项目中有更加健壮的实现。 + +```py +>>> def logo_eval(line, env): + """Evaluate the first expression in a line.""" + token = line.pop() + if isprimitive(token): + return token + elif isvariable(token): + return env.lookup_variable(variable_name(token)) + elif isdefinition(token): + return eval_definition(line, env) + elif isquoted(token): + return text_of_quotation(token) + else: + procedure = env.procedures.get(token, None) + return apply_procedure(procedure, line, env) +``` + +上面的最后情况调用了第二个过程,它由函数`apply_procedure`来表达。为了调用由运算符记号命名的过程,这个运算符会在当前环境中查找。在上面的定义中,`env`是`Environment `类的实例,会在下一节中描述。`env.procedures`属性是个储存运算符名称和过程之间映射的字典。在 Logo 中,环境拥有单词的这种映射,并且没有局部定义的过程。而且,Logo 为过程名称和变量名称维护分离的映射,叫做分离的命名空间。但是,以这种方式复用名称并不推荐。 + +**过程调用。**过程调用以调用`apply_procedure`函数开始,它被传入由`logo_apply`查找到的函数,并带有代码的当前行和当前环境。Logo 中过程调用的过程比计算器中的`calc_apply`更加通用。特别是,`apply_procedure`必须检查打算调用的过程,以便在求解`n`个运算符表达式之前,判断它的参数数量`n`。这里我们会看到,为什么 Logo 解析器不能仅仅由语法分析构建表达式树,因为树的结构由过程决定。 + +`apply_procedure`函数调用`collect_args `函数,它必须重复调用`logo_eval`来求解行中的下`n`个表达式。之后,计算完过程的参数之后,`apply_procedure`调用了`logo_apply`,实际上这个函数在参数上调用过程。下面的调用图示展示了这个过程。 + +![](img/logo_apply.png) + diff --git a/img/logo_apply.png b/img/logo_apply.png new file mode 100644 index 0000000000000000000000000000000000000000..06af39f43e059f00a2ebb11e13b8faad7fdc5e65 GIT binary patch literal 37821 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 GILEK`~~)HKeHmJm#gT_QGj!h=~y_hP?L^ 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 literal 0 HcmV?d00001 diff --git a/img/logo_eval.png b/img/logo_eval.png new file mode 100644 index 0000000000000000000000000000000000000000..3a7b0146b0bc694b05411dc2479666151251dde2 GIT binary patch literal 23200 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 F{{hdruC4$8 literal 0 HcmV?d00001 -- GitLab