【发布时间】:2013-10-23 13:54:10
【问题描述】:
有人知道是否有办法向 pycparser 添加新关键字吗?我需要为基于 C99 但略有不同的编译器解析 C 代码。有一些关键字不是 C99 的一部分。
感谢任何帮助
【问题讨论】:
标签: pycparser
有人知道是否有办法向 pycparser 添加新关键字吗?我需要为基于 C99 但略有不同的编译器解析 C 代码。有一些关键字不是 C99 的一部分。
感谢任何帮助
【问题讨论】:
标签: pycparser
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
...
同样的方法适用于其他类型的关键字。
【讨论】: