Ich weiß, dass dies ein ziemlich spezifisches Problem ist, aber ich habe alles getan, um eine Antwort zu finden und habe immer noch nichts Wertvolles gefunden. Ich benutze Pycparser, um etwas Code zu parsen (Überraschung, Überraschung) und wenn es die Verbindung macht, scheitert es mit dem Fehler unten. Wenn jemand irgendwelche Gedanken hat, wäre ich dankbar für etwas Hilfe.Pycparser parse Fehler auf byteswap.h
File "test.py", line 14, in <module>
cpp_args=['-E', r'-Iutils/fake_libc_include'])
File "/usr/lib/python2.7/site-packages/pycparser/__init__.py", line 93, in parse_file
return parser.parse(text, filename)
File "/usr/lib/python2.7/site-packages/pycparser/c_parser.py", line 146, in parse
debug=debuglevel)
File "/usr/lib/python2.7/site-packages/ply/yacc.py", line 265, in parse
return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
File "/usr/lib/python2.7/site-packages/ply/yacc.py", line 1047, in parseopt_notrack
tok = self.errorfunc(errtoken)
File "/usr/lib/python2.7/site-packages/pycparser/c_parser.py", line 1680, in p_error
column=self.clex.find_tok_column(p)))
File "/usr/lib/python2.7/site-packages/pycparser/plyparser.py", line 55, in
_parse_error
raise ParseError("%s: %s" % (coord, msg))
/usr/include/bits/byteswap.h:46:1: before: {
Dies ist auf CentOS 7.
Der Code:
(((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))
#ifdef __GNUC__
# if __GNUC_PREREQ (4, 3)
static __inline unsigned int
__bswap_32 (unsigned int __bsx)
{
return __builtin_bswap32 (__bsx);
}
# elif __GNUC__ >= 2
# if __WORDSIZE == 64 || (defined __i486__ || defined __pentium__ \
|| defined __pentiumpro__ || defined __pentium4__ \
|| defined __k8__ || defined __athlon__ \
|| defined __k6__ || defined __nocona__ \
|| defined __core2__ || defined __geode__ \
|| defined __amdfam10__)
Bitte geben Sie den Code von 'byte swap.h' aus Zeile 40 bis 50 – ForceBru
Hinzugefügt, sorry darüber! – rreichel
Ist dies die einzige Fehlermeldung, die Sie erhalten? Es ist ziemlich bedeutungslos, meiner Meinung nach sollte es länger sein – ForceBru