Python 3.5的语法是LL(1)吗?

时间:2015-07-26 13:21:36

标签: python parsing compiler-construction grammar

我看到http://matt.might.net/teaching/compilers/spring-2015/说Python 3.4是LL(1)

Python 3.5的语法仍然是LL(1)所以可以写一个递归下降解析器吗?

1 个答案:

答案 0 :(得分:13)

是。这是一个深思熟虑的语言功能,而不仅仅是碰巧的情况。 http://www.html5rocks.com/en/tutorials/speed/static-mem-pools/显式拒绝对Python 2的任何更改 - > 3过渡(一个明显比任何3.x更大的过渡 - > 3.y将会是:)

  
      
  • 解析器不会比LL(1)更复杂。

         

    简单比复杂更好。这个想法延伸到解析器。将Python的语法限制为LL(1)解析器是一种祝福,而不是一种祝福   诅咒。它让我们戴上手铐,防止我们过火   并最终得到一些其他动态的时髦语法规则   将被命名的语言,例如Perl。

  •