Python之父已开始着手改写Python解释器,并完成解析器的基础框架

7月28日,Python之父Guido更新了自己的第二篇medium博文《Building a PEG Parser》。

在博文中,Guido说虽然自己还没有完整地理解PEG解析,但是他已经开始着手自己编写一个了。不仅如此,他还在博文中分享了他构建自己的“第一个PEG Parser”的思路和过程。

Guido并不想实现一个通用的PEG Parser,因为实际上开源界已经有很多通用的PEG Parser了,比如TatSu,一个用Python编写并生成Python代码的PEG Parser。Guido专注于编写一个Python可以使用的PEG Parser,并且这可能比通用的PEG Parser更复杂。比如标识化这一步,由于Python使用缩进来决定层次关系,所以在标识化这一步中就需要一个堆栈来记录层级关系。另外,处理Python的换行和引号也并不轻松。对于Python代码的标识化,CPython提供了两套可用的工具,一套是C编写的内部使用的,另一套是提供在标准库中的纯Python编写的,并且和内部使用的完全一致的标识化工具。Guido这次直接使用了标准库中的标识化工具。

Guido在博文中,对自己的思路进行了详细的阐述,并配以简化的代码来辅助说明,俨然一副编写教程的样子。国内的小伙伴如果有参与某类编程语言的开发及维护的,可以翻看下Guido的博文哦~

英文原文地址:https://medium.com/@gvanrossum_83706/building-a-peg-parser-d4869b5958fb

国内PDF地址:https://qiniumedia.freelycode.com/vcdn/1/优质文章长图3/Building_a_PEG_Parser.pdf

· 番 · 外 · 篇 ·

Python之父已开始着手改写Python解释器,并完成解析器的基础框架

David Beazley (Python Cookbook 作者)

谢谢你把文章更新到medium。我对PEG解析不太了解,所以这很有趣。

Python之父已开始着手改写Python解释器,并完成解析器的基础框架

Guido van Rossum

哦,我知道得也还是太晚了。:-)我想你只需阅读维基百科的文章和关于packrat解析的论文,很快就会明白的。

Python之父已开始着手改写Python解释器,并完成解析器的基础框架

David Beazley (Python Cookbook 作者)

嗯。。。。。25年后,我想我才刚刚开始了解继承之类的事情。所以,我还是慢慢来吧;-)。

注:我这有个学习Python基地,里面有很多学习资料,感兴趣的+Q群:895817687

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 花下猫语: 近日,Python 之父在 Medium 上开通了博客,并发布了一篇关于 PEG 解析器的文章(参见我...
    豌豆花下猫阅读 418评论 0 1
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,808评论 0 10
  • (稻盛哲学学习会)打卡第68天 姓名:孔丽春 部门:CR 组别:反省二组 【知~学习】 诵读《京瓷哲学》001部分...
    KellyWellin阅读 797评论 0 0
  • 今天放学的时候,我和爸爸正骑着车准备回家,刚骑到碧桂园售楼处的时候,忽然看见有好多的人聚集在一起,原来他们...
    0浩雨0阅读 276评论 1 3
  • 在前言部分,书中提到了要想在某方面取得成就,不是只有努力就可以,也不是跟随新起的一万小时定律学习做事可以获得。所有...
    猫小哚阅读 180评论 0 0