# file      : unit-tests/cc/lexer/number.testscript
# 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