From 4058f9b1704322f8185136c2558c2ab96a4d835c Mon Sep 17 00:00:00 2001 From: mattkae Date: Sun, 23 Apr 2023 20:23:54 -0400 Subject: Initial commit with a working parser --- src/html_token.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/html_token.cpp (limited to 'src/html_token.cpp') 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 + +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(); +} -- cgit v1.2.1