[antlr-interest] C runtime, VS2005 barfs at generated Initializers for double!!
Vamsi Juvvi
juvvij at gmail.com
Wed Nov 12 19:57:02 PST 2008
Hi list/the-not-so-idle-idle:
While preparing a small antlr presentation for my colleagues I managed to
generate code that VS 2005 simply refuses to compile.
in my tree parser for a simple calculator example. I have
atom returns [double val]
: (
a=DECIMAL_LITERAL
| a=HEX_LITERAL
| a=OCTAL_LITERAL
)
{ val = parseInt($a.text);}
| a=FLOATING_POINT_LITERAL
{val = parseDouble($a.text);}
;
The generated code for the atom method does this to initialize val
double val = 0.0D;
It does not compile unless I remove the D suffix on the 0.0. 0.0D is not a
legal double literal for Visual studio C/C++. Is there any way I can turn
this automatic initialization off ? Or is this a bug that'll need to be
fixed in the C templates ? I can workaround this using a struct to wrap my
double but that would be perverse.
thanks much for reading.
-vamsi
--
Between impulse and reaction lies man's greatest strength: The freedom to
create a choice, to create his universe, to choose - Victor Frankl (adapted)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20081112/f60e3039/attachment.html
More information about the antlr-interest
mailing list