本文摘要:7月26日消息近日,Python之父吉多·范罗苏姆公开发表一篇取名为《PEGParser》的文章,范罗苏姆回应,他于是以考虑到用于PEGParser替换现有的类LL(1)Parser(取名为pgen),来重构Python解释器。
7月26日消息近日,Python之父吉多·范罗苏姆公开发表一篇取名为《PEGParser》的文章,范罗苏姆回应,他于是以考虑到用于PEGParser替换现有的类LL(1)Parser(取名为pgen),来重构Python解释器。范罗苏姆回应,现在的pgen容许了Python语法的维度,使得一些语法难以实现,也让当前的语法树根过于干净,一定程度上影响了语法树根的表音,无法最差地反映设计者的意图。PEG语法解释器在解析语法的时候,不会重复使用读取全部代码,所以解释器可以根据给定方位的符号来辨别语法的语义。
而目前的LL(1)Parse解析语法的时候只不会向前检测一个符号,来猜测语义,造成部分语法有二义性的展现出,进而容许了Python语言的语法定义方式。当然,重复使用读取全部代码,也意味著PEGParser必须更大的内存来运营。
针对上述情况,Python解释器处置没法的问题就不能让Python团队大大在代码中重新加入“特例”来处置这些边缘情况。范罗苏姆称之为,Python刚出来的时候,内存还是很贵的,LL(1)Parse用于十分适合,但是现在内存价格早已大幅度减少,所以用PEGParser重构Python更为适合。范罗苏姆回应,用PEGParser重构Python解释器会导致语法上的影响,因为底层重构会影响Python语法。
本文来源:ku酷游网址-www.pawleysislandlitchfieldbeach.com