diff options
author | Jo-Philipp Wich <jo@mein.io> | 2022-06-01 12:36:44 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2022-06-01 12:53:26 +0200 |
commit | d99604749d658f5f344d53e77dd52fbb0f6d176c (patch) | |
tree | 2e60555dc4ce9e81b42b7556dd2e2491473f776c /tests/custom/00_syntax | |
parent | 9efbe183d7805eb60652a3745ec48cd32682ef8d (diff) |
syntax: adjust number literal parsing and string to number conversion
- Recognize new number literal prefixes `0o` and `0O` for octal as well
as `0b` and `0B` for binary number literals
- Treat number literals with leading zeros as octal while parsing but
as decimal ones on implicit number conversions, means `012` will yield
`10` while `+"012"` or `"012" + 0` will yield `12`
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'tests/custom/00_syntax')
-rw-r--r-- | tests/custom/00_syntax/10_numeric_literals | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/tests/custom/00_syntax/10_numeric_literals b/tests/custom/00_syntax/10_numeric_literals index 7aa49b6..a19bbd5 100644 --- a/tests/custom/00_syntax/10_numeric_literals +++ b/tests/custom/00_syntax/10_numeric_literals @@ -8,6 +8,8 @@ doubles internally. -- Expect stdout -- Integers literals: 123, 127, 2748, 57082 Float literals: 10, 10.3, 1.23456e-65, 16.0625 +Octal literals: 63, 118 +Binary literals: 7, 11 Special values: Infinity, Infinity, NaN, NaN Minimum values: -9223372036854775808, -1.79769e+308 Maximum values: 9223372036854775807, 1.79769e+308 @@ -18,6 +20,8 @@ Maximum truncation: 18446744073709551615, Infinity -- Testcase -- Integers literals: {{ 123 }}, {{ 0177 }}, {{ 0xabc }}, {{ 0xDEFA }} Float literals: {{ 10. }}, {{ 10.3 }}, {{ 123.456e-67 }}, {{ 0x10.1 }} +Octal literals: {{ 0o77 }}, {{ 0O166 }} +Binary literals: {{ 0b111 }}, {{ 0B1011 }} Special values: {{ Infinity }}, {{ 1 / 0 }}, {{ NaN }}, {{ "x" / 1 }} Minimum values: {{ -9223372036854775808 }}, {{ -1.7976931348623158e+308 }} Maximum values: {{ 9223372036854775807 }}, {{ 1.7976931348623158e+308 }} |