1

在 ANTLR 版本 2.X 中,您可以通过以下代码指定要在 ANTLR 包含之前或之后执行的操作。

header "pre_include_hpp" 
{
    #pragma warning( push )
    #pragma warning( disable : 4511 )   // couldn't generate copy constructor
}

header "post_include_hpp" 
{
    #pragma warning( pop )
}

在 ANTLR v3.X 中,它看起来已经被一个 @header 块所取代。

有没有办法做我们之前对 ANTLR v2 所做的事情?

4

1 回答 1

2

我发现我应该使用

@lexer::preinclude
@lexer::postinclude

当我从 Antlr2 移动到 Antlr3 时替换上述定义

见:http ://www.antlr.org/api/C/atsections.html

更多细节。

于 2009-11-10T16:09:40.357 回答