在byteswap.h上的Pycparser解析错误

时间:2016-05-22 19:25:52

标签: python centos7 pycparser

我知道这是一个非常具体的问题,但我已经做了尽我所能来寻找答案,但仍然无法提出任何有价值的东西。我使用pycparser尝试解析一些代码(惊讶,惊讶),当它进行链接时,它会因下面的错误而失败。如果有人有任何想法,我会感激一些帮助。

{
    "_id" : ObjectId("57321290c46ff86ce9e00b35"),
    "parent_id" : null,
    "author" : "xxx@hotmail.com",
    "name" : "Mammal",
    "status" : "active",
    "sub_species" : [ 
        "Dog", 
        "Cat", 
        "Cow"
    ]
}

{
    "_id" : ObjectId("57321c10c46ff86ce9e00b36"),
    "author" : "xxx@hotmail.com",
    "name" : "Dog",
    "status" : "active",
    "parent_id" : "57321290c46ff86ce9e00b35"
}

这是在CentOS 7上。

代码:

db.animals.insert( {
    "author" : "xxx@hotmail.com",
    "name" : "Dog",
    "status" : "active",
    "parent_id" : {db.animals.find( { name: { $eq: 'Mammal' } } )}
} )

2 个答案:

答案 0 :(得分:2)

所以我确实没有答案,但我至少会将此作为解决方法发布,以防其他人遇到同样的问题。我必须通过预处理器手动运行我的代码,因为我认为有一些编译器问题会导致pycparser问题(我知道这很奇怪)。无论如何,手动预处理代码然后使用pycparser解析为我工作!

答案 1 :(得分:1)

pyparser不支持__inline之类的编译器特定关键字。您必须使用fake_libc_include标头。见https://github.com/eliben/pycparser/wiki/FAQ