Opened on May 13, 2016 at 4:05:37 PM
Last modified on Jun 11, 2021 at 12:55:12 PM
#3232 closed Bug
Issue when parsing scientific notation literals — at Version 3
| Reported by: | jchd18 | Owned by: | |
|---|---|---|---|
| Milestone: | 3.3.15.4 | Component: | AutoIt |
| Version: | 3.3.14.0 | Severity: | None |
| Keywords: | Cc: |
Description (last modified by )
The runtime parser sometimes fails on reals in scientific notation immediately followed by some operators or silently gives a wrong result in some cases.
$x = 1e2 + 10 ConsoleWrite($x & @CRLF) ; 110 OK $x = (1e2)+10 ConsoleWrite($x & @CRLF) ; 110 OK $x = 1e2+10 ConsoleWrite($x & @CRLF) ; 100 Wrong! $x = 1e2-10 ConsoleWrite($x & @CRLF) ; 100 Wrong! $x = 1e2^10 ConsoleWrite($x & @CRLF) ; 1e+020 Wrong! $x = 1e2+ 10 ; Unable to parse line. ConsoleWrite($x & @CRLF) $x = 1e2- 10 ; Unable to parse line. ConsoleWrite($x & @CRLF) $x = 1e2^ 10 ; 1e+020 Wrong! ConsoleWrite($x & @CRLF)
+, - and ̂ are the only arithmetic operators affected: * and / seem to work correctly. (It was fun composing the exponentiation sign here!)
Change History (3)
comment:2 by , on May 24, 2016 at 9:07:20 AM
That's obvious, since tidying the code inserts whitespace between literals and operators, when needed, for readability. The bug remains that untidied code isn't parsed correctly or gives wrong results.
comment:3 by , on May 24, 2016 at 9:08:48 AM
| Description: | modified (diff) |
|---|
Note:
See TracTickets
for help on using tickets.

If I run Tidy on those lines, I get the correct results.