有谁知道是否有办法向 pycparser 添加新关键字?我需要为基于 C99 但略有不同的编译器解析 C 代码。有一些关键字不属于 C99。
任何帮助表示赞赏
c_lexer.py 模块有一个元组“关键字”定义。可以将新关键字添加到现有列表中。确保在 c_parser.py 中定义的语法规则中考虑了新关键字。例如,如果已将新类型“mytype_t”添加到关键字中,则还必须将其添加到 p_type_specifier 函数文档字符串中,以扩展“type_specifier”的定义,如下例所示:
def p_type_specifier_1(self, p):
""" type_specifier : VOID
| BOOL
| CHAR
| MYTYPE_T
...
相同的方法适用于其他类型的关键字。