有没有办法向pycparser添加关键字?

时间:2013-10-23 13:54:10

标签: pycparser

有人知道是否有办法向pycparser添加新关键字?我需要解析基于C99的编译器的C代码,但略有不同。有一些关键字不属于C99。

感谢任何帮助

1 个答案:

答案 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
                        ...

相同的方法适用于其他类型的关键字。