I'm not sure if this is intentional or not, but the following produces produces a compiler error.
It looks like the parser is treating the "1" character as a complete token and an integer literal, so the "e" character is unexpected. The function "asStringScanDouble", however, is able to convert the string "1e5" to the appropriate double.
The parser requires a "." for all floating point literals. Can we change the parser to also interpret the presence of the "e" or "E" character as a double?
The following change to the asCTokenizer::IsConstant function (line 258 of "as_tokenizer.cpp") seems to be the only change needed to make this happen.
if( n < sourceLength && source[n] == '.' )
if( n < sourceLength && (source[n] == '.' || source[n] =='e' || source[n] == 'E') )
Edited by Jason Goepel, 20 May 2013 - 09:34 AM.