Python之父考虑重构Python解释器

时间:2019-08-12 来源:www.regencymuskogee.com

Python之父考虑重构Python解释器

PingWest于7月26日上场。据IT House称,最近,Python的父亲Guido Van Rossum发表了一篇名为《PEGParser》的文章,Van Rossum表示他正在考虑使用PEGParser。现有的类LL(1)Parser(名为pgen)用于重构Python解释器。

Van Rossum表示,目前的pgen限制了Python语法的自由,使得一些语法难以实现,并且使当前的语法树不够整洁,在一定程度上影响了语法树的意义,而不能最好地反映设计者的意图。 PEG语法解释器正在解析语法。代码一次加载,因此解释器可以根据任何位置的符号判断语法的语义。当前的LL(1)解析解析语法仅检测前向符号以猜测语义,这导致一些语法的模糊表达,这限制了Python语言的语法定义。当然,一次加载所有代码意味着PEGParser需要更多内存才能运行。

针对上述情况,Python解释器无法处理问题,只有Python团队会继续在代码中添加“特殊情况”来处理这些边缘情况。 Van Rossum表示,当Python首次出现时,内存仍然非常昂贵。 LL(1)Parse非常合适,但现在内存价格已大大降低,因此使用PEGParser重构Python更为合适。

Van Rossum说使用PEG

22: 14

来源: PingWest播放

Python之父考虑重构Python解释器

PingWest于7月26日上场。据IT House称,最近,Python的父亲Guido Van Rossum发表了一篇名为《PEGParser》的文章,Van Rossum表示他正在考虑使用PEGParser。现有的类LL(1)Parser(名为pgen)用于重构Python解释器。

Van Rossum表示,目前的pgen限制了Python语法的自由,使得一些语法难以实现,并且使当前的语法树不够整洁,在一定程度上影响了语法树的意义,而不能最好地反映设计者的意图。 PEG语法解释器在解析语法时立即加载所有代码。因此,解释器可以基于任何位置的符号来判断语法的语义。当前的LL(1)解析解析语法仅检测前向符号以猜测语义,这导致一些语法的模糊表达,这限制了Python语言的语法定义。当然,一次加载所有代码意味着PEGParser需要更多内存才能运行。

针对上述情况,Python解释器无法处理问题,只有Python团队会继续在代码中添加“特殊情况”来处理这些边缘情况。 Van Rossum表示,当Python首次出现时,内存仍然非常昂贵。 LL(1)Parse非常合适,但现在内存价格已大大降低,因此使用PEGParser重构Python更为合适。

Van Rossum说使用PEG

仅提供信息存储空间服务。

范罗森

解释

语法

PGEN

读()

投诉