aboutsummaryrefslogtreecommitdiff
path: root/unit-tests/cc/lexer/number.test
blob: 7336037816acb396618388277c2a86f58a16f7e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# file      : unit-tests/cc/lexer/number.test
# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
# license   : MIT; see accompanying LICENSE file

# Test numbers.
#

$* <'1'  >'<number literal>'
$* <'.1' >'<number literal>'
$* <'1.' >'<number literal>'

$* <'0b101'  >'<number literal>'
$* <'0123'   >'<number literal>'
$* <'0X12AB' >'<number literal>'

$* <'1e10'     >'<number literal>'
$* <'1E+10'    >'<number literal>'
$* <'0x1.p10'  >'<number literal>'
$* <'0x1.P-10' >'<number literal>'

$* <"123'456"     >'<number literal>'
$* <"0xff00'00ff" >'<number literal>'

$* <'123f'  >'<number literal>'
$* <'123UL' >'<number literal>'
$* <'123_X' >'<number literal>'

: separate-punctuation
:
$* <'123;' >>EOO
<number literal>
';'
EOO

: separate-plus-minus
:
$* <'1.0_a+2.0' >>EOO
<number literal>
<punctuation>
<number literal>
EOO

: separate-whitespace
:
$* <'123 abc' >>EOO
<number literal>
'abc'
EOO