簡體   English   中英

在python 2.6中使用antlr4 python運行時

[英]use antlr4 python runtime with python 2.6

是否可以將antrr4 python運行時與python 2.6一起使用,還是最低要求的python 2.7版本? 我想在python 2.6.6隨附的CentOS 6.3上使用它。 如果不可能,是否知道使用了python 2.7的哪些功能?

最后我可以自己回答。 無法在centos6.3(具有python 2.6.6)上使用antlr4-python2運行時,我已經安裝了它並嘗試了本示例 結果如下:

[lg@localhost py]$ python test.py data.txt 
Traceback (most recent call last):
  File "test.py", line 15, in <module>
    main(sys.argv)
  File "test.py", line 10, in main
    tree = parser.r()
  File "/home/lg/antlr/py/HelloParser.py", line 74, in r
    self.enterRule(localctx, 0, self.RULE_r)
  File "/usr/lib/python2.6/site-packages/antlr4/Parser.py", line 367, in enterRule
    self._ctx.start = self._input.LT(1)
  File "/usr/lib/python2.6/site-packages/antlr4/CommonTokenStream.py", line 85, in LT
    self.lazyInit()
  File "/usr/lib/python2.6/site-packages/antlr4/BufferedTokenStream.py", line 209, in lazyInit
    self.setup()
  File "/usr/lib/python2.6/site-packages/antlr4/BufferedTokenStream.py", line 212, in setup
    self.sync(0)
  File "/usr/lib/python2.6/site-packages/antlr4/BufferedTokenStream.py", line 134, in sync
    fetched = self.fetch(n)
  File "/usr/lib/python2.6/site-packages/antlr4/BufferedTokenStream.py", line 146, in fetch
    t = self.tokenSource.nextToken()
  File "/usr/lib/python2.6/site-packages/antlr4/Lexer.py", line 131, in nextToken
    tokenStartMarker = self._input.mark()
AttributeError: 'builtin_function_or_method' object has no attribute 'mark'
[lg@localhost py]$ 

您使用的示例寫得不好。 input是內置Python函數的名稱。 Lexer一個FileStream ,它可能會起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM