6.2. ANTLR的预处理Preprocess

6.2.1. ANTLR自身是不支持预处理功能的

ANTLR本身,对于预处理方面是否支持,答案是不支持的。

详见:

【记录】关于ANTLR中对于预处理的支持:以为支持普通文件的预处理呢,但是实际上是ANTLR自身识别你写的语法文件的预处理

6.2.2. 可以使用ANTLR去实现预处理的功能

而对于,真正的用ANTLR去实现预处理这个功能,可以参考之前我的一些折腾:

【记录】将antlr v2的C/C++的preprocess,即cpp.g,转换为antlr v3

【记录】用antlr的preprocess去预处理一个新的eddl文件去除eddl中不支持的元素对应的文件内容

【整理】分析cppLexer.g中的多参数的#define实现宏替换的逻辑过程

【记录】让antlr的预处理,支持无参数的宏替换

【记录】尝试用antlr处理C代码中的#include