Python 在Antlr4中,有哪些方法可以加快解析速度?

Python 在Antlr4中,有哪些方法可以加快解析速度?,python,parsing,antlr,antlr4,Python,Parsing,Antlr,Antlr4,我对Antlr4的性能有些怀疑 我目前正在使用Python和Antlr4。与Java(使用Antlr4 IntelliJ插件验证)相比,它的速度非常慢。因为我需要使用更大的代码进行解析,所以我计划切换到使用Antlr最快的语言(例如:Java、C或Python)。有什么建议吗 关于优化Antlr语法以加快解析速度的任何提示(我正在尝试一些在线资源) 如果我继续使用Python本身,加快解析的最佳方法是什么?(注意:本文件建议使用中提供的antlr4进行加速)。有人试过吗 更新 使用github

我对Antlr4的性能有些怀疑

  • 我目前正在使用Python和Antlr4。与Java(使用Antlr4 IntelliJ插件验证)相比,它的速度非常慢。因为我需要使用更大的代码进行解析,所以我计划切换到使用Antlr最快的语言(例如:Java、C或Python)。有什么建议吗
  • 关于优化Antlr语法以加快解析速度的任何提示(我正在尝试一些在线资源)
  • 如果我继续使用Python本身,加快解析的最佳方法是什么?(注意:本文件建议使用中提供的antlr4进行加速)。有人试过吗
  • 更新

  • 使用github repo中的Antlr 4.7.1帮助我加快了Python中的解析过程。(当我从github repo使用Antlr 4.7.1时,Ubuntu 16.04附带的Antlr 4.5花了3个多小时还没有完成的解析过程在25分钟左右就完成了)

  • 哪个ANTLR版本?如果是ANTLR 3,您是否使用任何谓词/回溯,或者仅仅使用普通的LL(*)语法?如果在不好的地方使用,前者可能导致指数复杂度,后者应该具有线性复杂度。我用+?等等,不仅仅是*。谓词和回溯是什么意思?我对v4不太熟悉,希望其他人也能加入进来。我相信谓词不再在v4中使用,但在v4如何解决非LL决策方面可能存在一些缺陷。