Add support for C++14 binary literals
This commit is contained in:
@ -284,12 +284,14 @@ TOKEN :
|
||||
|
||||
TOKEN:
|
||||
{
|
||||
< #DECIMALDIGIT: ["0"-"9"] >
|
||||
< #BINARYDIGIT: ["0"-"1"] >
|
||||
| < #OCTALDIGIT: ["0"-"7"] >
|
||||
| < #DECIMALDIGIT: ["0"-"9"] >
|
||||
| < #HEXDIGIT: ["a"-"f", "A"-"F", "0"-"9"] >
|
||||
| < #INT_SUFFIX: ["u", "U", "l", "L"] | "uL" | "Ul" | "UL" | "ul" | "lu" | "Lu" | "lU" | "LU" >
|
||||
|
||||
| < ZERO: "0" >
|
||||
| < BINARY_INT_LITERAL: "0" ["b", "B"] ("'" | <BINARYDIGIT>)+ (<INT_SUFFIX>)? >
|
||||
| < OCTAL_INT_LITERAL: "0" ("'" | <OCTALDIGIT>)+ (<INT_SUFFIX>)? >
|
||||
| < DECIMAL_INT_LITERAL: ["1"-"9"] ("'" | <DECIMALDIGIT>)* (<INT_SUFFIX>)? >
|
||||
| < HEXADECIMAL_INT_LITERAL: "0" ["x", "X"] <HEXDIGIT> ("'" | <HEXDIGIT>)+ (<INT_SUFFIX>)? >
|
||||
|
@ -37,4 +37,7 @@
|
||||
auto hex_literal = 0x0F00'abcd'6f3d;
|
||||
auto silly_example = 1'0'0'000'00;
|
||||
|
||||
// boolean literals
|
||||
int b1 = 0B001101; // C++ 14 binary literal
|
||||
int b2 = 0b000001; // C++ 14 binary literal
|
||||
}
|
@ -118,6 +118,18 @@ L38
|
||||
[=] 24 24
|
||||
[1'0'0'000'00] 26 37
|
||||
[;] 38 38
|
||||
L40
|
||||
L41
|
||||
[int] 5 7
|
||||
[b1] 9 10
|
||||
[=] 12 12
|
||||
[0B001101] 14 21
|
||||
[;] 22 22
|
||||
L42
|
||||
[int] 5 7
|
||||
[b2] 9 10
|
||||
[=] 12 12
|
||||
[0b000001] 14 21
|
||||
[;] 22 22
|
||||
L43
|
||||
[}] 1 1
|
||||
EOF
|
||||
|
Reference in New Issue
Block a user