小编Swe*_*ent的帖子

无法向Python添加新关键字

通过遵循此博客文章本PEP,我尝试为Python添加新的关键字(新的流程语句)。根据我提到的PEP,我很确定我已经添加了需要添加到正确位置的内容。这些是我修改过的文件:

Grammar/Grammar
Parser/Python.asdl
Python/ast.c
Python/Python-ast.c
Python/Python-ast.h
Python/symbtable.c
Python/compile.c
Run Code Online (Sandbox Code Playgroud)

我在Windows上执行此操作,因此make我没有运行而是运行了PCbuild/build.bat。构建似乎是成功的。但是,当我运行新构建的时python.exe,我的关键字未被识别(NameError: name [...] is not defined)。

作为一项健全性测试,我试图通过break_stmt从中删除Grammar/Grammar并重新运行来从Python中删除break语句PCbuild/build.bat。break语句工作得很好,这意味着删除失败。

我还注意到这些文件Include/graminit.cInclude/graminit.h并没有重新生成,并且根据我提到的PEP,它应该由来完成pgen,应该由来调用make。但是正如我前面提到的,我跑步了PCbuild/build.bat,但没有参加make。我尝试pgen手动运行,但是由于出现异常而失败ImportError: attempted relative import with no known parent package

因此,由于删除关键字的操作也失败了,所以我认为自定义Python的构建不正确(即使构建看起来很成功并且生成了python.exe)。是什么原因造成的?

编辑:我也试图删除该文件Grammar/Grammar并重建,并且该生成仍然有效。有点不对劲。

python windows language-specifications

6
推荐指数
0
解决办法
92
查看次数

标签 统计

language-specifications ×1

python ×1

windows ×1