#pragma once #include #include "Parsing/Simple/SimpleParserValue.h" #include "Parsing/Matcher/AbstractMatcherFactory.h" class SimpleMatcherFactory : public AbstractMatcherFactory { public: explicit SimpleMatcherFactory(const IMatcherForLabelSupplier* labelSupplier); _NODISCARD MatcherFactoryWrapper Type(SimpleParserValueType type) const; _NODISCARD MatcherFactoryWrapper Keyword(std::string value) const; _NODISCARD MatcherFactoryWrapper KeywordIgnoreCase(std::string value) const; _NODISCARD MatcherFactoryWrapper KeywordPrefix(std::string value) const; _NODISCARD MatcherFactoryWrapper Identifier() const; _NODISCARD MatcherFactoryWrapper String() const; _NODISCARD MatcherFactoryWrapper Integer() const; _NODISCARD MatcherFactoryWrapper FloatingPoint() const; _NODISCARD MatcherFactoryWrapper Char(char c) const; _NODISCARD MatcherFactoryWrapper MultiChar(int multiCharacterSequenceId) const; _NODISCARD MatcherFactoryWrapper AnyCharBesides(std::vector chars) const; };