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