From 252f50108b0b1f22e39519c643b17c898340db8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20L=C3=BChne?= Date: Sun, 7 Aug 2016 16:22:26 +0200 Subject: [PATCH] Removed unnecessary file. --- include/plasp/utils/Parser.h | 1 - include/plasp/utils/ParserTraits.h | 363 ----------------------------- 2 files changed, 364 deletions(-) delete mode 100644 include/plasp/utils/ParserTraits.h diff --git a/include/plasp/utils/Parser.h b/include/plasp/utils/Parser.h index 957d678..4e5b0b7 100644 --- a/include/plasp/utils/Parser.h +++ b/include/plasp/utils/Parser.h @@ -10,7 +10,6 @@ #include #include -#include #include #include diff --git a/include/plasp/utils/ParserTraits.h b/include/plasp/utils/ParserTraits.h deleted file mode 100644 index e6c7afb..0000000 --- a/include/plasp/utils/ParserTraits.h +++ /dev/null @@ -1,363 +0,0 @@ -#ifndef __PLASP__UTILS__PARSER_TRAITS_H -#define __PLASP__UTILS__PARSER_TRAITS_H - -#include -#include -#include - -namespace plasp -{ -namespace utils -{ -/* -//////////////////////////////////////////////////////////////////////////////////////////////////// -// -// ParserTraits -// -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -class ParserTraits -{ -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -class ParserTraits -{ - public: - static std::string parse(Parser &parser); - static bool testAndReturn(Parser &parser, const std::string &value); - static bool testAndSkip(Parser &parser, const std::string &value); - static void expect(Parser &parser, const std::string &expectedValue); - static bool test(Parser &parser, const std::string &value); -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -class ParserTraits -{ - public: - static char parse(Parser &parser); - static bool testAndReturn(Parser &parser, const char &value); - static bool testAndSkip(Parser &parser, const char &value); - static void expect(Parser &parser, const char &expectedValue); - static bool test(Parser &parser, const char &value); -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -class ParserTraits -{ - public: - static uint64_t parse(Parser &parser); - static bool testAndReturn(Parser &parser, const uint64_t &value); - static bool testAndSkip(Parser &parser, const uint64_t &value); - static void expect(Parser &parser, const uint64_t &expectedValue); - static bool test(Parser &parser, const uint64_t &value); -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -class ParserTraits -{ - public: - static int64_t parse(Parser &parser); - static bool testAndReturn(Parser &parser, const int64_t &value); - static bool testAndSkip(Parser &parser, const int64_t &value); - static void expect(Parser &parser, const int64_t &expectedValue); - static bool test(Parser &parser, const int64_t &value); -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -class ParserTraits -{ - public: - static uint32_t parse(Parser &parser); - static bool testAndReturn(Parser &parser, const uint32_t &value); - static bool testAndSkip(Parser &parser, const uint32_t &value); - static void expect(Parser &parser, const uint32_t &expectedValue); - static bool test(Parser &parser, const uint32_t &value); -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -class ParserTraits -{ - public: - static int32_t parse(Parser &parser); - static bool testAndReturn(Parser &parser, const int32_t &value); - static bool testAndSkip(Parser &parser, const int32_t &value); - static void expect(Parser &parser, const int32_t &expectedValue); - static bool test(Parser &parser, const int32_t &value); -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -class ParserTraits -{ - public: - static bool parse(Parser &parser); - static bool testAndReturn(Parser &parser, const bool &value); - static bool testAndSkip(Parser &parser, const bool &value); - static void expect(Parser &parser, const bool &expectedValue); - static bool test(Parser &parser, const bool &value); -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -bool ParserTraits::testAndReturn(Parser &parser, const Type &value) -{ - const auto position = parser.position(); - - const auto result = test(parser, value); - - parser.seek(position); - - return result; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -bool ParserTraits::testAndSkip(Parser &parser, const Type &value) -{ - const auto position = parser.position(); - - const auto result = test(parser, value); - - if (result == false) - parser.seek(position); - - return result; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -void Parser::expect(const Type &expectedValue) -{ - if (testAndSkip(parser, expectedValue)) - return; - - std::stringstream message; - message << "unexpected value, expected “" << expectedValue << "”"; - - throw ParserException(parser.coordinate(), message.str()); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -std::string ParserTraits::parse(Parser &parser) -{ - parser.skipWhiteSpace(); - - const auto startPosition = parser.position(); - - while (!parser.isWhiteSpace(parser.currentCharacter())) - parser.advance(); - - const auto endPosition = parser.position(); - const auto length = static_cast(endPosition - startPosition); - - std::string value; - value.reserve(length); - - parser.seek(startPosition); - - for (size_t i = 0; i < length; i++) - { - value.push_back(parser.currentCharacter()); - parser.advance(); - } - - return value; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -char ParserTraits::parse(Parser &parser) -{ - const auto value = parser.currentCharacter(); - - parser.advance(); - - return value; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -uint64_t parseIntegerBody(Parser &parser) -{ - parser.checkStream(); - - if (!std::isdigit(parser.currentCharacter())) - throw ParserException(parser.coordinate(), "could not parse integer value"); - - uint64_t value = 0; - - while (!parser.atEndOfStream()) - { - const auto character = parser.currentCharacter(); - - if (!std::isdigit(character)) - break; - - value *= 10; - value += character - '0'; - - parser.advance(); - } - - return value; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -int64_t ParserTraits::parse(Parser &parser) -{ - parser.skipWhiteSpace(); - - bool positive = parser.template testAndSkip('+') || !parser.template testAndSkip('-'); - - const auto value = parseIntegerBody(parser); - - return (positive ? value : -value); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -uint64_t ParserTraits::parse(Parser &parser) -{ - parser.skipWhiteSpace(); - - if (parser.currentCharacter() == '-') - throw ParserException(parser.coordinate(), "expected unsigned integer, got signed one"); - - return parseIntegerBody(parser); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -int32_t ParserTraits::parse(Parser &parser) -{ - return static_cast(ParserTraits::parse(parser)); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -uint32_t ParserTraits::parse(Parser &parser) -{ - return static_cast(ParserTraits::parse(parser)); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -bool ParserTraits::parse(Parser &parser) -{ - parser.skipWhiteSpace(); - - if (parser.template testAndSkip('0')) - return false; - - if (parser.template testAndSkip('1')) - return true; - - throw ParserException(parser.coordinate(), "could not parse Boolean value"); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -bool ParserTraits::test(Parser &parser, const std::string &expectedValue) -{ - if (!parser.isWhiteSpace(expectedValue.front())) - parser.skipWhiteSpace(); - - const auto match = std::find_if(expectedValue.cbegin(), expectedValue.cend(), - [&parser](const auto &expectedCharacter) - { - const auto character = static_cast(parser.currentCharacter()); - - if (character != expectedCharacter) - return true; - - parser.advance(); - - return false; - }); - - return (match == expectedValue.cend()); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -bool ParserTraits::test(Parser &parser, const char &expectedValue) -{ - const auto result = (parser.currentCharacter() == expectedValue); - - parser.advance(); - - return result; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -bool ParserTraits::test(Parser &parser, const int64_t &expectedValue) -{ - const auto value = parse(parser); - - return (value == expectedValue); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -bool ParserTraits::test(Parser &parser, const uint64_t &expectedValue) -{ - const auto value = parse(parser); - - return (value == expectedValue); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -bool ParserTraits::test(Parser &parser, const int32_t &expectedValue) -{ - return ParserTraits::test(parser, static_cast(expectedValue)); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -bool ParserTraits::test(Parser &parser, const uint32_t &expectedValue) -{ - return ParserTraits::test(parser, static_cast(expectedValue)); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// -*/ -} -} - -#endif