如何为clang添加一个新关键字,一个被视为主要关键字的关键字?

如何将新关键字添加到clang? new关键字应该是函数限定符。 申报部分将去哪里?

谢谢。

您必须将它添加到include / clang / Basic / TokenKinds.def,然后向ParseDeclarationSpecifiers(…)添加一个新案例。

可能更容易的选择是定义一个新属性,然后使用

#define your_new_qualifier __attribute__((your_new_attribute))

否则,您必须将此限定符支持添加到AST,这可能容易出错,而属性会在同一函数的各种声明中自动传播。