我有一个以 C 为目标语言的 ANTLR3 树语法。此树语法实际上生成 C++ 对象,因此需要包含这些类的标头。我为此使用该@header
部分。但是,在输出中,还有一个包含标题部分输出的extern C {
and块。}
这会导致错误,因为标头具有模板,不能将其声明为具有“C”链接。我想在标题部分输出的开头关闭该块并在最后重新打开它。不幸的是,在@header
节内写大括号会破坏 ANTLR3 语法 - 大括号标记@header
节的开始和结束。
我怎样才能摆脱这些大括号?
TLDR:我需要将左括号和右括号写入@header
我的 ANTLR3 树语法部分。这样做会破坏@header
节的语法。如何转义左/右大括号,以便生成的输出的标题部分可以包含左/右括号?
在每次输出后手动编辑它们......很麻烦。