From c54065160a03f266c1406edf74d97ab74ee75d51 Mon Sep 17 00:00:00 2001 From: Benjamin Paassen Date: Fri, 31 Oct 2014 13:20:09 +0000 Subject: finished work on TokenTree and tested it. git-svn-id: file:///var/local/svn/basicwriter@88 daaaf23c-2e50-4459-9457-1e69db5a47bf --- src/core/utils/Tokenizer.cpp | 13 ++++++------- src/core/utils/Tokenizer.hpp | 8 ++++---- 2 files changed, 10 insertions(+), 11 deletions(-) (limited to 'src/core/utils') diff --git a/src/core/utils/Tokenizer.cpp b/src/core/utils/Tokenizer.cpp index 1a84f0c..38f7585 100644 --- a/src/core/utils/Tokenizer.cpp +++ b/src/core/utils/Tokenizer.cpp @@ -21,11 +21,11 @@ namespace ousia { namespace utils { -static std::unordered_map buildChildren( +static std::map buildChildren( const std::map &inputs) { - std::std::unordered_map children; - std::unordered_map> nexts; + std::map children; + std::map> nexts; for (auto &e : inputs) { const std::string &s = e.first; @@ -57,7 +57,7 @@ static int buildId(const std::map &inputs) if (e.first.empty()) { if (tokenId != -1) { throw TokenizerException{std::string{"Ambigous token found: "} + - e.second}; + std::to_string(e.second)}; } else { tokenId = e.second; } @@ -67,10 +67,9 @@ static int buildId(const std::map &inputs) } TokenTreeNode::TokenTreeNode(const std::map &inputs) - : children(buildChildren(inputs), tokenId(buildId(inputs))) + : children(buildChildren(inputs)), tokenId(buildId(inputs)) + { } - } } - diff --git a/src/core/utils/Tokenizer.hpp b/src/core/utils/Tokenizer.hpp index 1d0db43..24c4f30 100644 --- a/src/core/utils/Tokenizer.hpp +++ b/src/core/utils/Tokenizer.hpp @@ -20,7 +20,7 @@ #define _OUSIA_UTILS_TOKENIZER_HPP_ #include -#include +#include #include namespace ousia { @@ -30,14 +30,14 @@ class TokenizerException : public std::exception { public: const std::string msg; - ArgumentValidatorError(const std::string &msg) : msg(msg){}; + TokenizerException(const std::string &msg) : msg(msg){}; virtual const char *what() const noexcept override { return msg.c_str(); } }; class TokenTreeNode { public: - const std::unordered_map children; + const std::map children; const int tokenId; TokenTreeNode(const std::map &inputs); @@ -59,7 +59,7 @@ class Tokenizer { private: const std::istream &input; const TokenTreeNode root; - const std::queue peek; + const std::queue peekQueue; public: Tokenizer(const TokenTreeNode &root, std::istream &input); -- cgit v1.2.3