From 7df47da35486d607c1871e11d7050b0fbf7cb61f Mon Sep 17 00:00:00 2001 From: Username404 Date: Wed, 20 Apr 2022 15:23:00 +0200 Subject: [PATCH] Fix the parsing of ParseTree to ignore previous parsed instances Signed-off-by: Username404 --- src/headers/parsing/Parser.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/headers/parsing/Parser.hpp b/src/headers/parsing/Parser.hpp index 2a69526..c5a3939 100644 --- a/src/headers/parsing/Parser.hpp +++ b/src/headers/parsing/Parser.hpp @@ -119,7 +119,9 @@ namespace Parser { if (not parseTree.empty()) { try { auto& previous = dynamic_cast(*parseTree.at(parseTree.size() - 1)); - if (current.toktype != LPAR or previous.getId() == typeid(Call)) { + if (find_if(reverse_iterator(lexed.begin() + i), lexed.rend(), [&closingCharacter](const tok& token){ + return token.toktype != SEMICOLON; + })->toktype != *closingCharacter) { previous = parse(subTokens); i = distance(lexed.begin(), closingCharacter); break;