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 <[email protected]> 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 <[email protected] > > 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 -- You received this message because you are subscribed to the Google Groups "il-antlr-interest" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en.
List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address
