create a testParser.cpp file which consists of 1 line
#include "testParser.c"

When your project compiles testParser.cpp the generated code for declaring
flag will work.

NOTE: you cannot use the variable flag in any predicate or production
before the first token is consumed.
      code before the first token may be "hoisted" into the parent rule
and the local variable flag will
      not be defined in the parent rule context.

On 11/7/11 9:26 AM, "yushang" <yus...@gmail.com> wrote:

>Hi , everyone,
>I found varibale put in init section will raise compiler error , for
>example
>test
>@init{
>int flag=0;
>}
> :  expr -> ^(EXPR expr)
> ;
>will generate following code fragment
>...
>root_0 = NULL;
>int flag = 0;
>...
>this will be error by C compiler , because C language do not allow
>variable
>declaration middle of block.
>BTW I'm using ANTLR v3.4 and C runtime v3.4
>Many thanks
>
>List: http://www.antlr.org/mailman/listinfo/antlr-interest
>Unsubscribe: 
>http://www.antlr.org/mailman/options/antlr-interest/your-email-address



List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe: 
http://www.antlr.org/mailman/options/antlr-interest/your-email-address

-- 
You received this message because you are subscribed to the Google Groups 
"il-antlr-interest" group.
To post to this group, send email to il-antlr-inter...@googlegroups.com.
To unsubscribe from this group, send email to 
il-antlr-interest+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en.

Reply via email to