[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Curiosity of decimal numbers followed by concatenation
- From: Peter Cawley <lua@...>
- Date: Thu, 4 Feb 2010 23:53:23 +0000
Hello all,
I was recently writing some syntax highlighting code for Lua, and
while trying to duplicate the behaviour of the standard Lua parser, I
noticed a curious behaviour. The first two of the following examples
are completely normal. The third is unexpected to me - according the
reference manual on numbers, "A numerical constant can be written with
an optional decimal part and an optional decimal exponent", so I would
expect it to be parsed like the first example, as the parser should
stop trying to match a number at the second decimal point. The fourth
example is included for completeness; it could in theory be parsed
like the second example, or as 1. followed by . and ""
> =1. ..""
1
> =1 ..""
1
> =1...""
stdin:1: malformed number near '1...'
> =1..""
stdin:1: malformed number near '1..'
Are there are reasons why the third example is parsed like it currently is?