我试图使用ANSI、莱克斯和雅克语法来解析我的C项目。在对语法的描述中,它需要
假设翻译阶段1.5已经完成,包括预处理和_Pragma处理。字符串文本的Lex规则将执行级联(翻译阶段6)。通用字符名的音译(\uHHHH或\UHHHHHHHH)必须是由预处理器完成的,或者是替换Lex (或Flex使用的YY_INPUT函数)用于读取字符的输入()宏。
如何利用GCC处理翻译阶段1.5?
发布于 2018-08-06 03:31:16
如何利用GCC处理翻译阶段1.5?
GCC提供的最接近的是它的-E选项,它使它在“预处理阶段之后”停止,并将结果发送到标准输出。
GCC的预处理阶段至少与C的抽象翻译模型中的翻译阶段4大致一致,但我不能证明gcc -E的输出是否与第1-4阶段的结果完全匹配。如果是这样的话,那么这个结果与您仅在源字符集与执行字符集和不同时才会问到的结果不同--源包含至少一个由这些字符集以不同方式映射的字符。
https://stackoverflow.com/questions/51700107
复制相似问题