Python之父考虑重构Python解释器
来源:智能网
时间:2019-07-27 10:04:29
热度:71
Python之父考虑重构Python解释器7月26日消息 近日,Python之父吉多·范罗苏姆发表一篇名为《PEG Parser》的文章,范罗苏姆表示,他正考虑使用PEG Pars
7月26日消息 近日,Python之父吉多·范罗苏姆发表一篇名为《PEG Parser》的文章,范罗苏姆表示,他正考虑使用PEG Parser 代替现有的类 LL(1) Parser(名为pgen),来重构Python解释器。
范罗苏姆表示,现在的 pgen 限制了Python语法的自由度,使得一些语法难以实现,也让当前的语法树不够整洁,一定程度上影响了语法树的表意,不能最好地体现设计者的意图。
PEG语法解释器在解析语法的时候,会一次性加载全部代码,所以解释器可以根据任意位置的符号来判断语法的语义。而目前的 LL(1) Parse 解析语法的时候只会向前检测一个符号,来猜测语义,导致部分语法有二义性的表现,进而限制了Python语言的语法定义方式。当然,一次性加载全部代码,也意味着 PEG Parser 需要更大的内存来运行。
针对上述情况,Python解释器处理不了的问题就只能让Python团队不断在代码中加入“特例”来处理这些边缘情况。范罗苏姆称,Python刚出来的时候,内存还是很贵的,LL(1) Parse使用非常合适,但是现在内存价格已经大幅降低,所以用PEG Parser重构Python更加合适。
范罗苏姆表示,用PEG Parser重构Python解释器不会造成语法上的影响,因为底层重构不会影响Python语法。
-
中国移动智能出入管理服务,重构无钥匙生活新篇章2019-07-09
-
怎样从汽车仪表盘入手,重构车载用户体验2019-06-25
-
python学习手册:连载——set集合2019-06-22
-
python学习手册:连载——元祖2019-06-19
-
物联网:Python传送温湿度信息到AWS IoT2019-06-04
-
Python数据科学:线性回归2019-05-28
-
python学习笔记——代码编辑器2019-05-28
-
Python开发者必备的6个库,你知道哪些?2019-05-28
-
使用Python+OpenCV进行图像处理(二)2019-05-28
-
Python数据科学:决策树2019-05-28
-
python修炼day32!2019-05-28
-
使用Python+OpenCV进行图像处理(三)2019-05-28
-
python学习笔记——pip的安装和使用2019-05-28
-
50行代码能做什么?教你用50行python代码制作一个计算器2019-05-28
-
Python数据科学:神经网络2019-05-28