带有Python运行时3.1.3的ANTLR 3.5.1(最新3.x版本)(仅适用于Python运行时)

时间:2013-10-29 22:10:50

标签: python antlr antlr3

看起来3.5.1是最新的3.x版本,而3.1.3是唯一可用的版本(http://www.antlr.org/download/Python/)。但是,当我尝试使用该示例运行解析器时,我得到的投诉是我的运行时版本与我的ANTLR版本不兼容:

$ PYTHONPATH=/home/dustin/build/antlr3/antlr_python_runtime-3.1.3 python SimpleCalcParser.py /tmp/lang 
Traceback (most recent call last):
  File "SimpleCalcParser.py", line 231, in <module>
    main(sys.argv)
  File "SimpleCalcParser.py", line 220, in main
    lexer = SimpleCalcLexer(char_stream)
  File "/home/dustin/development/antlr/antlr3/hello_world_python/SimpleCalcLexer.py", line 31, in __init__
    super(SimpleCalcLexer, self).__init__(input, state)
  File "/home/dustin/build/antlr3/antlr_python_runtime-3.1.3/antlr3/recognizers.py", line 1072, in __init__
    BaseRecognizer.__init__(self, state)
  File "/home/dustin/build/antlr3/antlr_python_runtime-3.1.3/antlr3/recognizers.py", line 184, in __init__
    self.antlr_version_str))
RuntimeError: ANTLR version mismatch: The recognizer has been generated by V3.0.1, but this runtime is V3.1.3. Please use the V3.0.1 runtime.

有人能把我放在正确的道路上吗?由于可供下载的版本稀缺,我似乎无法做很多事情。

1 个答案:

答案 0 :(得分:2)

如果你想使用Python运行时,必须使用ANTLR 3.1.3来生成[Python]词法分析器和解析器。

在此处下载3.1.3:http://www.antlr3.org/download/antlr-3.1.3.jar

以下Q&amp; A提供了一个有效的Python示例:ANTLR parsing MismatchedTokenException

相关问题