[antlr-interest] Reporting a bug in C Target

Jim Idle jimi at temporal-wave.com
Sun Dec 6 10:33:24 PST 2009


Please search past posts for info on why this is and what to do. You  
must use pointers basically.

Jim

On Dec 5, 2009, at 13:42, Gokulakannan Somasundaram  
<gokul007 at gmail.com> wrote:

> Just found out from C.stg, the types that are dealt by antlr and it  
> sets NULL to the rest. i feel that the initialization should  not be  
> done like this and left to the user to make his own initializations,  
> if he needs it. Or he should be provided with a way to customize the  
> initialization that's happening.
>
> Gokul.
>
> On Sun, Dec 6, 2009 at 2:50 AM, Gokulakannan Somasundaram <gokul007 at gmail.com 
> > wrote:
> Hi,
>    Seems like the C Target initializes unknown types to NULL. I made  
> a rule which returns enum value and the code generated by ANTLR C  
> Target is nt getting compiled in MSVC.
>
> The code is as follows..
>
> grammar Test1;
>
> options
> {
>     language = C;
> }
>
> @includes
> {
>     enum ObjectType
>     {
>         OBJECT_A
>         , OBJECT_B
>         , OBJECT_C
>
>         , OBJECT_TOTAL
>     };
> }
>
> id_list returns [ObjectType result]:
>     a=id  { $result = $a.result; }
>     (',' b=id  { $result = OBJECT_C; } )*
>     ;
>
> id returns [ObjectType result]: ID+ '=' ID+ ';' NEWLINE { $result =  
> OBJECT_A; }
>  | NEWLINE { $result = OBJECT_B; }
>  ;
>
> NEWLINE: '\r'? '\n' ;
>
> ID: ('a' .. 'z' | 'A' .. 'Z')+ ;
>
> WS: (' '|'\t'|'\r'|'\n')+ {skip();} ;
>
>
> I actually tried writing a code returning C++ objects (not pointers)  
> and i found that ANTLR initializes it to NULL. Later found that it  
> is doing the same for enum values also. Is it possible to fix this,  
> so that it works for C++ objects also. Like when i return a  
> std::string, it assigns NULL and the compiler reports an error.
>
> Thanks,
> Gokul.
>
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20091206/1b8e025f/attachment.html 


More information about the antlr-interest mailing list