From 395cac905d514bb8f4d963ac1f66613ee247d4ca Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Mon, 28 Sep 2020 18:02:10 -0700 Subject: [PATCH] Improved tuple member parsing --- IDEHelper/Compiler/BfParser.cpp | 7 +++++++ 1 file changed, 7 insertions(+) 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--;