diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-05-24 13:24:31 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-05-24 13:24:31 +0200 |
commit | 0cef93b4e2e9bf39b0ca542876f9ab1af6d0f01d (patch) | |
tree | 187b83b65f28cdf4f8a2b0feadf392b49554fbf3 /unit-tests/cc/lexer/number.test | |
parent | b3526a5c925169b3be00a5dd4d8c8222f3a475cd (diff) |
Implement support for tokenization of preprocessed C/C++ source
Diffstat (limited to 'unit-tests/cc/lexer/number.test')
-rw-r--r-- | unit-tests/cc/lexer/number.test | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/unit-tests/cc/lexer/number.test b/unit-tests/cc/lexer/number.test new file mode 100644 index 0000000..1d9b9c5 --- /dev/null +++ b/unit-tests/cc/lexer/number.test @@ -0,0 +1,48 @@ +# file : unit-tests/cc/lexer/number.test +# copyright : Copyright (c) 2014-2017 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 |