summaryrefslogtreecommitdiff
path: root/src/html_token.cpp
diff options
context:
space:
mode:
authormattkae <mattkae@protonmail.com>2023-04-23 20:23:54 -0400
committermattkae <mattkae@protonmail.com>2023-04-23 20:23:54 -0400
commit4058f9b1704322f8185136c2558c2ab96a4d835c (patch)
treef764007c2cdd0f41372d66dcf02ccde26509b839 /src/html_token.cpp
Initial commit with a working parser
Diffstat (limited to 'src/html_token.cpp')
-rw-r--r--src/html_token.cpp31
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();
+}