From 2425d19f9f445182a8c357f8d3269ca7c7a438ae Mon Sep 17 00:00:00 2001 From: Username404 Date: Wed, 9 Mar 2022 20:47:15 +0100 Subject: [PATCH] Add a Parser::parse overload which takes input iterators as arguments Signed-off-by: Username404 --- src/headers/parsing/Parser.hpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/headers/parsing/Parser.hpp b/src/headers/parsing/Parser.hpp index 20e612d..2ea29ed 100644 --- a/src/headers/parsing/Parser.hpp +++ b/src/headers/parsing/Parser.hpp @@ -16,6 +16,10 @@ namespace Parser { const tok& token, const string& text, const bool& quoteTokenText = false ) { error(token, text, token.line, quoteTokenText); } + + IS(ParseTree) + inline T parse(const input_iterator auto&, const input_iterator auto&); + IS(ParseTree) T parse(const span&& lexed) { T parseTree; @@ -95,6 +99,8 @@ namespace Parser { } return parseTree; } + template T> + inline T parse(const input_iterator auto& begin, const input_iterator auto& end) { return parse(span(begin, end)); } } #endif //YERBACON_PARSER_HPP \ No newline at end of file