我正在尝试解析一个c文件并查找以" Apple _"开头的所有变量。我将整个c文件读取为字符串,然后使用正则表达式获取所有变量。但我有一个宏定义为:
#define IAMMACRO(var,ext) var##ext
所以,如果我有
IAMAMACRO(Apple_,Variable)
我需要在解析后得到值Apple_Variable,而不是Apple_。
PS:我更喜欢简单的解决方案。
答案 0 :(得分:0)
据了解,您想要:
所以,使用gcc galaxy的解决方案相当复杂,而且很重(事实上,你不关心编译)。
建议:不要试图解析自己。这是一项很大的工作!
解决方案:只需解析。使用库来做到这一点。
使用ANTLR4(不那么容易),使用已经制作的C / C ++语法:
ANTLR4:http://www.antlr.org/
希望它有所帮助!