From 173bcd90df7e8c2236b832966928be720c281ce3 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Wed, 27 Jun 2018 17:34:48 +0300 Subject: [PATCH] Simplify lexer rule for typed integers --- compiler/psi/src/org/jetbrains/kotlin/lexer/Kotlin.flex | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler/psi/src/org/jetbrains/kotlin/lexer/Kotlin.flex b/compiler/psi/src/org/jetbrains/kotlin/lexer/Kotlin.flex index 669aacdee51..eaaeae3d06d 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/lexer/Kotlin.flex +++ b/compiler/psi/src/org/jetbrains/kotlin/lexer/Kotlin.flex @@ -92,11 +92,12 @@ EOL_COMMENT="/""/"[^\n]* SHEBANG_COMMENT="#!"[^\n]* INTEGER_LITERAL={DECIMAL_INTEGER_LITERAL}|{HEX_INTEGER_LITERAL}|{BIN_INTEGER_LITERAL} -DECIMAL_INTEGER_LITERAL=(0|([1-9]({DIGIT_OR_UNDERSCORE})*))({UNSIGNED_SUFFIX}?{LONG_SUFFIX}?)? -HEX_INTEGER_LITERAL=0[Xx]({HEX_DIGIT_OR_UNDERSCORE})*({UNSIGNED_SUFFIX}?{LONG_SUFFIX}?)? -BIN_INTEGER_LITERAL=0[Bb]({DIGIT_OR_UNDERSCORE})*({UNSIGNED_SUFFIX}?{LONG_SUFFIX}?)? +DECIMAL_INTEGER_LITERAL=(0|([1-9]({DIGIT_OR_UNDERSCORE})*)){TYPED_INTEGER_SUFFIX} +HEX_INTEGER_LITERAL=0[Xx]({HEX_DIGIT_OR_UNDERSCORE})*{TYPED_INTEGER_SUFFIX} +BIN_INTEGER_LITERAL=0[Bb]({DIGIT_OR_UNDERSCORE})*{TYPED_INTEGER_SUFFIX} LONG_SUFFIX=[Ll] UNSIGNED_SUFFIX=[Uu] +TYPED_INTEGER_SUFFIX = {UNSIGNED_SUFFIX}?{LONG_SUFFIX}? //FLOAT_LITERAL=(({FLOATING_POINT_LITERAL1})[Ff])|(({FLOATING_POINT_LITERAL2})[Ff])|(({FLOATING_POINT_LITERAL3})[Ff])|(({FLOATING_POINT_LITERAL4})[Ff]) //DOUBLE_LITERAL=(({FLOATING_POINT_LITERAL1})[Dd]?)|(({FLOATING_POINT_LITERAL2})[Dd]?)|(({FLOATING_POINT_LITERAL3})[Dd]?)|(({FLOATING_POINT_LITERAL4})[Dd])