当前位置: 首页 > 知识库问答 >
问题:

设置示例中的ANTLR4 python语法错误

齐俊贤
2023-03-14

尝试按照以下说明为python设置ANTLR http://blog . an vard . org/articles/2016/03/15/ANTLR-python . html

另外使用antlr-4.7.2-complete.jar的本地副本

有语法错误。

使用python2这个:

> from antlr4 import *
  File "/usr/local/lib/python2.7/dist-packages/antlr4/__init__.py", 
line     1, in <module>
    from antlr4.Token import Token
  File "/usr/local/lib/python2.7/dist-packages/antlr4/Token.py", line 59
    def text(self, text:str):
                       ^

用python3这个:

> Traceback (most recent call last):
  File "test_Hello.py", line 1, in <module>
    from antlr4 import *
  File "/usr/local/lib/python3.6/dist-packages/antlr4/__init__.py", 
   line     5, in <module>
    from antlr4.BufferedTokenStream import TokenStream
  File "/usr/local/lib/python3.6/dist-packages/antlr4    
    /BufferedTokenStream.py", line 18, in <module>
    from antlr4.error.Errors import IllegalStateException
  File "/usr/local/lib/python3.6/dist-packages/antlr4/error/Errors.py",     
    line 39, in <module>
    from antlr4.Recognizer import Recognizer
  File "/usr/local/lib/python3.6/dist-packages/antlr4/Recognizer.py", line    
    6, in <module>
    from __builtin__ import unicode
ModuleNotFoundError: No module named '__builtin__'

为了生成python代码,我在工作目录中使用了Antlr4 - 版本4.7.1 - jar的新副本,并为python2生成了python文件,如下所示:

alias antlr4='java -jar antlr-4.7.2-complete.jar'
antlr4 -Dlanguage=Python2 Hello.g4

alias antlr4='java -jar antlr-4.7.2-complete.jar'
antlr4 -Dlanguage=Python3 Hello.g4

对于python3。

Python 2版本为2.7.15,Python3版本为3.6.8。

我已经看过一些类似的问题,像这样:Python ANTLR4:没有名为ANTLR4的模块

但是找不到解决这个问题的方法。

共有1个答案

濮君植
2023-03-14

您可以使用以下命令尝试我的解决方案

  1. 蟒蛇 3.7.6
  2. 点 22.1.2
  3. antlr4-python3-runtime 4.9

这个答案来自这里。

 类似资料:
  • Logstash 社区通常习惯用 shipper,broker 和 indexer 来描述数据流中不同进程各自的角色。如下图: 不过我见过很多运用场景里都没有用 logstash 作为 shipper,或者说没有用 elasticsearch 作为数据存储也就是说也没有 indexer。所以,我们其实不需要这些概念。只需要学好怎么使用和配置 logstash 进程,然后把它运用到你的日志管理架构中

  • 本文向大家介绍matplotlib图例legend语法及设置的方法,包括了matplotlib图例legend语法及设置的方法的使用技巧和注意事项,需要的朋友参考一下 1.图例legend基础语法及用法 legend语法参数如下: matplotlib.pyplot.legend(*args, **kwargs) Keyword Description loc Location code stri

  • 本文向大家介绍iOS中设置圆角的几种方法示例,包括了iOS中设置圆角的几种方法示例的使用技巧和注意事项,需要的朋友参考一下 前言 圆角(RounderCorner)是一种很常见的视图效果,相比于直角,它更加柔和优美,易于接受。但很多人并不清楚如何设置圆角的正确方式和原理。设置圆角会带来一定的性能损耗,如何提高性能是另一个需要重点讨论的话题。我查阅了一些现有的资料,收获良多的同时也发现了一些误导人错

  • 在混乱开始之前,这个问题是关于代码的,新的轻量级Visual Studio编辑器。您可以从以下网址获取:https://code.visualstudio.com/ 我有一个包含CSS的文本文件(.txt),希望获得语法高亮。您可以使用Ctrl+Shift+P打开命令调色板。但是在这里您不能像在sublime中那样设置语法。 有没有其他方法可以从我的文本文件中得到CSS着色?

  • 问题2B:如果我想指出“char that not before quote”,我是否应该使用“.<!before$quote>”而不是“<!before$quote>”。??

  • 我包含以下外部jar: Android-support-v7-appCombat.jar Android-support-v7-mediarouter.jar google-play-services.jar