[antlr-interest] bug of antlr-3.1.2 python target generated from Lua.g
Chunlin Zhang
zhangchunlin at gmail.com
Thu Apr 29 03:10:18 PDT 2010
I got a Lua.g from http://www.antlr.org/grammar/1178608849736/Lua.g ,and
I use "java -jar antlr-3.1.2.jar Lua.g" to generate LuaLexer.py and
LuaParser.py.
LuaLexer.py have Syntax error(but modify all "skip()" to "self.skip()")
will be OK
error in my computer:
'''
> "D:\Python26\python.exe" -u "E:\DEV\luaparser\LuaLexer.py" factorial.lua
Traceback (most recent call last):
File "E:\DEV\luaparser\LuaLexer.py", line 2980, in <module>
main(sys.argv)
File "E:\DEV\luaparser\LuaLexer.py", line 2976, in main
main.execute(argv)
File
"D:\Python26\lib\site-packages\antlr_python_runtime-3.1.2-py2.6.egg\antlr3\main.py",
line 151, in execute
self.parseStream(options, inStream)
File
"D:\Python26\lib\site-packages\antlr_python_runtime-3.1.2-py2.6.egg\antlr3\main.py",
line 180, in parseStream
for token in lexer:
File
"D:\Python26\lib\site-packages\antlr_python_runtime-3.1.2-py2.6.egg\antlr3\recognizers.py",
line 1055, in next
token = self.nextToken()
File
"D:\Python26\lib\site-packages\antlr_python_runtime-3.1.2-py2.6.egg\antlr3\recognizers.py",
line 1117, in nextToken
self.mTokens()
File "E:\DEV\luaparser\LuaLexer.py", line 2537, in mTokens
self.mLINE_COMMENT()
File "E:\DEV\luaparser\LuaLexer.py", line 2103, in mLINE_COMMENT
skip();
NameError: global name 'skip' is not defined
'''
But LuaParser.py I can not use...
The error:
'''
>> "D:\Python26\python.exe" -u "E:\DEV\luaparser\LuaParser.py" bisect.lua
> Traceback (most recent call last):
> File "E:\DEV\luaparser\LuaParser.py", line 3264, in <module>
> main(sys.argv)
> File "E:\DEV\luaparser\LuaParser.py", line 3260, in main
> main.execute(argv)
> File "D:\Python26\lib\site-packages\antlr_python_runtime-3.1.2-py2.6.egg\antlr3\main.py", line 151, in execute
> self.parseStream(options, inStream)
> File "D:\Python26\lib\site-packages\antlr_python_runtime-3.1.2-py2.6.egg\antlr3\main.py", line 218, in parseStream
> result = getattr(parser, options.parserRule)()
> TypeError: getattr(): attribute name must be string
'''
Can It be fixed??
Thanks!
More information about the antlr-interest
mailing list