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

mar*_*s c 7 c c++ clang

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

谢谢.

SK-*_*gic 7

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

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

#define your_new_qualifier __attribute__((your_new_attribute))

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