use*_*876 4 c c++ python parsing c-preprocessor
我有一个带条件编译的C/C++源文件.在我将它发送给客户之前,我想删除大多数#if语句,这样我的客户就不必担心将正确的-D选项传递给编译器.
我已经在Python中实现并使用它,但它只能正确处理#ifdef和#ifndef语句.我需要添加对#if语句的支持,但#if的语法要复杂得多.(例如,您可以使用&&,||,!,括号,关系运算符,算术等).
是否有任何现有的开源代码来解析和评估#if语句?(最好是在Python中).
我所知道的唯一实现是GCC,这对于这项任务来说太复杂了.
Kei*_*thB 12
如何通过C预处理器,并让它完成工作.它将摆脱所有这些,因此您可能需要预处理器前步骤和后预处理器步骤来保护您不想扩展的内容.