提交 f100c6bd 编写于 作者: W wizardforcel

fix

上级 8fdc1f15
......@@ -53,9 +53,9 @@ NAME(hello) RPAREN INTEGER(10) COMMA INTEGER(20) RPAREN
研究此转换,匹配扫描器输出的每一行,并使用表中的正则表达式将其与上述 Python 代码进行比较。你会看到这只是选取输入文本,将每个正则表达式匹配到记录名称,然后保存所需的任何信息,如`hello`或数字`10`
## 微小的 Python 扫描器
## 微 Python 扫描器
我编写了一个非常小的 Python 扫描器,演示了这个非常小的 Python 语言:
我编写了一个微型 Python 扫描器,演示了这个微型 Python 语言:
```py
import re
......
......@@ -247,14 +247,14 @@ pprint(parsed)
+ 接受一个`Scanner`对象并执行自身。你可以假设任何默认函数是语法的起始。
+ 拥有错误处理代码,比我简单的`assert`用法更好。
你应该实现`PunyPythonPython`,它可以解析这个微小的 Python 语言,并执行以下操作:
你应该实现`PunyPythonPython`,它可以解析这个微 Python 语言,并执行以下操作:
+ 不是仅仅产生`dicts`的列表,你应该为每个语法生产式的结果创建类。这些类之后成为列表中的对象。
+ 这些类只需要存储被解析的记号,但是要准备做更多事情。
+ 你只需要解析这个微小的语言,但你应该尝试解决“Python 缩进”问题。你可能需要秀阿贵扫描器,使其更智能,才能在行的开头匹配`INDENT`空白字符,并在其他位置忽略它。你还需要跟踪如何多少缩进了多少,同时也记录零缩进,所以你可以“压缩”代码块。
+ 你只需要解析这个微语言,但你应该尝试解决“Python 缩进”问题。你可能需要秀阿贵扫描器,使其更智能,才能在行的开头匹配`INDENT`空白字符,并在其他位置忽略它。你还需要跟踪如何多少缩进了多少,同时也记录零缩进,所以你可以“压缩”代码块。
一个泛用的测试套件涉及到,将这个微小的 python 的更多样本交给解析器,但现在只需要得到一个小文件来解析。尝试在测试中获得良好的覆盖率,并尽可能多地发现错误。
一个泛用的测试套件涉及到,将这个微 python 的更多样本交给解析器,但现在只需要得到一个小文件来解析。尝试在测试中获得良好的覆盖率,并尽可能多地发现错误。
## 研究性学习
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册