我正在尝试使用pyCparser创建ART,
打印以下错误:

Traceback (most recent call last):
File "C:\Work\RE\Tools\VarsExporter\BuildExportedDb.py", line 1076, in
main()
File "C:\Work\RE\Tools\VarsExporter\BuildExportedDb.py", line 1032, in main
ast = parse_file(i_file)
File "C:\Python27\lib\site-packages\pycparser_init_.py", line 93, in
parse_file
return parser.parse(text, filename)
File "C:\Python27\lib\site-packages\pycparser\c_parser.py", line 152, in
parse
debug=debuglevel)
File "C:\Python27\lib\site-packages\pycparser\ply\yacc.py", line 331, in
parse
return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc)
File "C:\Python27\lib\site-packages\pycparser\ply\yacc.py", line 1199, in
parseopt_notrack
tok = call_errorfunc(self.errorfunc, errtoken, self)
File "C:\Python27\lib\site-packages\pycparser\ply\yacc.py", line 193, in
call_errorfunc
r = errorfunc(token)
File "C:\Python27\lib\site-packages\pycparser\c_parser.py", line 1761, in
p_error
column=self.clex.find_tok_column(p)))
File "C:\Python27\lib\site-packages\pycparser\plyparser.py", line 67, in _
parse_error
raise ParseError("%s: %s" % (coord, msg))
ParseError: Objectffly\SerDb.i:43:18: before: __loff_t

是什么原因导致上述问题?我该如何处理?
有什么建议我该如何调试它,并找出发生了什么情况?

最佳答案

从pyCparser git常见问题解答:


  C代码几乎总是#包括标准C库中的各种头文件,例如stdio.h。尽管可以(通过一些努力)使pycparser可以从任何C编译器解析标准头,但是使用utils / fake_libc_include中提供的“ fake”标准要简单得多。这些是标准C头文件,其中仅包含最基本的内容,以允许对使用它们的文件进行有效的解析。


为了解决该问题,我已经成功使用了here中描述的方法。

关于python - pycparser ParseError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49128661/

10-11 21:04