Antlr C++;一代

Antlr C++;一代,antlr,Antlr,在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

在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做的那样?

我发现我应该使用

@lexer::preinclude
@lexer::postinclude
在我从Antlr2移动到Antlr3时替换上述定义

见:

更多细节