ANTLR本身,对于预处理方面是否支持,答案是不支持的。
详见:
【记录】关于ANTLR中对于预处理的支持:以为支持普通文件的预处理呢,但是实际上是ANTLR自身识别你写的语法文件的预处理
而对于,真正的用ANTLR去实现预处理这个功能,可以参考之前我的一些折腾:
【记录】将antlr v2的C/C++的preprocess,即cpp.g,转换为antlr v3
【记录】用antlr的preprocess去预处理一个新的eddl文件去除eddl中不支持的元素对应的文件内容
【整理】分析cppLexer.g中的多参数的#define实现宏替换的逻辑过程
【记录】让antlr的预处理,支持无参数的宏替换
【记录】尝试用antlr处理C代码中的#include