Modify ↓
#3232 closed Bug (Fixed)
Issue when parsing scientific notation literals
| Reported by: | jchd18 | Owned by: | Jon |
|---|---|---|---|
| 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!)
Attachments (0)
Change History (8)
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) |
|---|
comment:4 by , on Apr 3, 2018 at 3:29:01 PM
| Owner: | set to |
|---|---|
| Status: | new → assigned |
comment:7 by , on Aug 10, 2020 at 12:38:34 PM
| Owner: | changed from to |
|---|
comment:8 by , on Jun 11, 2021 at 12:55:12 PM
| Milestone: | → 3.3.15.4 |
|---|---|
| Owner: | changed from to |
| Resolution: | → Fixed |
| Status: | assigned → closed |
Fixed by revision [12547] in version: 3.3.15.4
Note:
See TracTickets
for help on using tickets.

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