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