python之父考虑重构python解释器_Python之父考虑重构Python解释器-嵌入式系统-与非网...

Python之父吉多·范罗苏姆提出,由于现有pgen限制了Python语法自由度,他计划使用PEGParser替换LL(1)Parser来重构Python解释器。PEGParser能更灵活地解析语法,但可能需要更多内存。这一改变不会影响Python语法,旨在提升语法树的整洁性和表达力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 语法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值