aboutsummaryrefslogtreecommitdiff
path: root/include/lexer/symbol_property.h
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-09-09 09:05:21 +0000
committer_ov4 <ov4@ov4.org>2026-09-09 09:05:21 +0000
commitc7bf5df4b1faf8493bb431bbe23e9f182153ddbb (patch)
tree0be5cff947bee957de6daa6ead9f1c115ae4f39d /include/lexer/symbol_property.h
parent992487d4e425db4443b6f692f349e61de78ea43e (diff)
symbol enum converter
Diffstat (limited to 'include/lexer/symbol_property.h')
-rw-r--r--include/lexer/symbol_property.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/lexer/symbol_property.h b/include/lexer/symbol_property.h
index 2e94cf7..caff263 100644
--- a/include/lexer/symbol_property.h
+++ b/include/lexer/symbol_property.h
@@ -40,5 +40,22 @@ unordered_map<string, T_property> symbol_property = {
{"||", {.operand_number = 1, .continuable = true, .pivot_priority = 1000, .left = EXIST, .right = EXIST, .enum_type = LOGIC_OR}},
};
+
+string symbol_enum2string(enum_token_type e)
+{
+ for (auto &c : symbol_property)
+ {
+ // pair<string, T_property>
+
+ if (c.second.enum_type == e)
+ return c.first;
+ }
+ return "";
+}
+
+bool symbol_contains_enum_type(enum_token_type e)
+{
+ return (symbol_enum2string(e) == "") ? false : true;
+}
}