diff --git a/IDEHelper/Compiler/BfParser.cpp b/IDEHelper/Compiler/BfParser.cpp index 92180dc9..cb3055dd 100644 --- a/IDEHelper/Compiler/BfParser.cpp +++ b/IDEHelper/Compiler/BfParser.cpp @@ -2399,6 +2399,8 @@ void BfParser::NextToken(int endIdx) } } + bool endNumber = false; + // The 'prevIsDot' helps tuple lookups like "tuple.0.0", interpreting those as two integers rather than a float if (((c == '.') && (!prevIsDot)) || (hasExp)) { @@ -2510,8 +2512,13 @@ void BfParser::NextToken(int endIdx) } return; } + else if (c == '.') + endNumber = true; if (IsWhitespaceOrPunctuation(c)) + endNumber = true; + + if (endNumber) { mTokenEnd = mSrcIdx - 1; mSrcIdx--;