[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