X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Floader%2FTokenizer.h;h=15eadf8710e20b4d42ed550ad9b72f7697d3e2e7;hb=996552758ec3bc748081b65b26b4a61bcd619324;hp=f761e5fb725d590cc057b8709a4d94ca8bca091c;hpb=d1c2bdda89b4e5542fd09eaa548e5365f20c592a;p=l2e.git diff --git a/src/loader/Tokenizer.h b/src/loader/Tokenizer.h index f761e5f..15eadf8 100644 --- a/src/loader/Tokenizer.h +++ b/src/loader/Tokenizer.h @@ -17,7 +17,7 @@ namespace loader { class Tokenizer { public: - Tokenizer(std::istream &in) : in(in), isPutback(false) { } + explicit Tokenizer(std::istream &in) : in(in), isPutback(false) { } ~Tokenizer() { } private: Tokenizer(const Tokenizer &); @@ -47,7 +47,7 @@ public: }; Token() : type(UNKNOWN), number(0) { } - Token(Type t) : type(t), number(0) { } + explicit Token(Type t) : type(t), number(0) { } Type type; std::string str; @@ -75,61 +75,47 @@ private: }; - -std::ostream &operator <<(std::ostream &out, Tokenizer::Token::Type t) { +inline const char *TokenTypeToString(Tokenizer::Token::Type t) { switch (t) { case Tokenizer::Token::ANGLE_BRACKET_OPEN: - out << "ANGLE_BRACKET_OPEN"; - break; + return "ANGLE_BRACKET_OPEN"; case Tokenizer::Token::ANGLE_BRACKET_CLOSE: - out << "ANGLE_BRACKET_CLOSE"; - break; + return "ANGLE_BRACKET_CLOSE"; case Tokenizer::Token::CHEVRON_OPEN: - out << "CHEVRON_OPEN"; - break; + return "CHEVRON_OPEN"; case Tokenizer::Token::CHEVRON_CLOSE: - out << "CHEVRON_CLOSE"; - break; + return "CHEVRON_CLOSE"; case Tokenizer::Token::COLON: - out << "COLON"; - break; + return "COLON"; case Tokenizer::Token::COMMA: - out << "COMMA"; - break; + return "COMMA"; case Tokenizer::Token::BRACKET_OPEN: - out << "BRACKET_OPEN"; - break; + return "BRACKET_OPEN"; case Tokenizer::Token::BRACKET_CLOSE: - out << "BRACKET_CLOSE"; - break; + return "BRACKET_CLOSE"; case Tokenizer::Token::NUMBER: - out << "NUMBER"; - break; + return "NUMBER"; case Tokenizer::Token::STRING: - out << "STRING"; - break; + return "STRING"; case Tokenizer::Token::KEYWORD_EXPORT: - out << "KEYWORD_EXPORT"; - break; + return "KEYWORD_EXPORT"; case Tokenizer::Token::KEYWORD_FALSE: - out << "KEYWORD_FALSE"; - break; + return "KEYWORD_FALSE"; case Tokenizer::Token::KEYWORD_INCLUDE: - out << "KEYWORD_INCLUDE"; - break; + return "KEYWORD_INCLUDE"; case Tokenizer::Token::KEYWORD_TRUE: - out << "KEYWORD_TRUE"; - break; + return "KEYWORD_TRUE"; case Tokenizer::Token::IDENTIFIER: - out << "IDENTIFIER"; - break; + return "IDENTIFIER"; case Tokenizer::Token::TYPE_NAME: - out << "TYPE_NAME"; - break; + return "TYPE_NAME"; default: - out << "UNKNOWN"; - break; + return "UNKNOWN"; } +} + +inline std::ostream &operator <<(std::ostream &out, Tokenizer::Token::Type t) { + out << TokenTypeToString(t); return out; }