diff options
Diffstat (limited to 'src/html_token.cpp')
-rw-r--r-- | src/html_token.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/html_token.cpp b/src/html_token.cpp new file mode 100644 index 0000000..904e79a --- /dev/null +++ b/src/html_token.cpp @@ -0,0 +1,31 @@ +#include "html_token.hpp" +#include <matte/logger.h> + +const char* TOKEN_TO_NAME_MAP[HtmlTokenType_Length] = { + "Text", + "Start Tag", + "End Tag", + "Attribute", + "EOF", + "Character" +}; + +void HtmlToken::print() { + const char* name = TOKEN_TO_NAME_MAP[type]; + switch (type) { + case HtmlTokenType_Character: + logger_info("%s, %c", name, character_token); + break; + case HtmlTokenType_StartTag: + case HtmlTokenType_EndTag: + logger_info("%s, %s", name, tag_name.c_str()); + break; + default: + logger_info("%s", name); + } +} + +void HtmlToken::reset() { + type = HtmlTokenType_None; + tag_name.clear(); +} |