From adbe98ec00afe2fd8b755ff5d6c464172191ed87 Mon Sep 17 00:00:00 2001 From: Username404 Date: Tue, 22 Mar 2022 13:14:32 +0100 Subject: [PATCH] Increment i after finding the end iterator when parsing variables Signed-off-by: Username404 --- src/headers/parsing/Parser.hpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/headers/parsing/Parser.hpp b/src/headers/parsing/Parser.hpp index ccb2c0a..907bdf6 100644 --- a/src/headers/parsing/Parser.hpp +++ b/src/headers/parsing/Parser.hpp @@ -77,12 +77,11 @@ namespace Parser { } const unsigned increment = 2 + isFinalDefine; const auto beginning = lexed.begin() + i + increment; - parseTree << Define(isFinalDefine, current.toktext, parse( // TODO Find another way of choosing the tokens to parse - beginning, find_if(beginning, lexed.end(), [¤t](const tok& it){ - return it.line != current.line; - }) - )); - i += increment; + const auto end = find_if(beginning, lexed.end(), [¤t](const tok& it){ // TODO Find another way of choosing the tokens to parse + return it.line != current.line; + }); + parseTree << Define(isFinalDefine, current.toktext, parse(beginning, end)); + i += 1 + isFinalDefine + distance(beginning, end); } else if (next.toktype == LPAR) { parseTree << Call(current.toktext); } else