所以我要构建一个语法来解析c++
头文件。
我只为头文件编写了语法,我并不打算为实现编写任何语法。
我的问题是如果方法是在标头中实现而不是仅仅定义。
Foo bar()
{
//some code
};
我只想将bar
的实现与
BLOCK
: '{' INTERNAL_BLOCK*? '}'
;
fragment INTERNAL_BLOCK
: BLOCK
| ~('}')
;
但是这会干扰包含{ ... }
的任何其他语法,因为这将始终匹配两个大括号之间的内容。无论如何都要指定在存在歧义时使用哪个令牌?
P.S。我不知道BLOCK
的语法是否有效,但你得到了要点。