aboutsummaryrefslogtreecommitdiff
path: root/include/lexer/symbol_property.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lexer/symbol_property.h')
-rw-r--r--include/lexer/symbol_property.h48
1 files changed, 0 insertions, 48 deletions
diff --git a/include/lexer/symbol_property.h b/include/lexer/symbol_property.h
deleted file mode 100644
index c933605..0000000
--- a/include/lexer/symbol_property.h
+++ /dev/null
@@ -1,48 +0,0 @@
-#pragma once
-
-#include <unordered_map>
-#include <string>
-
-#include "lexer/enum_type.h"
-
-using namespace std;
-
-namespace ov4
-{
-
-class T_property
-{
-public:
- bool continuable = true;
-
- // -1 means it's NOT operator
- // any positive values mean it's operator
- int pivot_priority = -1;
-
- // require: MUST
- // accept: optional, but if it doesn't accept, but there is indeed a child, then error
- child_existence_type left;
- child_existence_type right;
-
- enum_token_type enum_type = TEXT;
-};
-
-inline const unordered_map<string, T_property> symbol_property = {
-
- // bracket
- {"(", {.continuable = false, .enum_type = LEFT_BRACKET}},
- {")", {.continuable = false, .enum_type = RIGHT_BRACKET}},
-
- // operator
- {"&", {.continuable = true, .pivot_priority = 2000, .left = child_existence_type::EXIST, .right = child_existence_type::NOT_EXIST, .enum_type = ASYNC}},
- {"|", {.continuable = true, .pivot_priority = 100, .left = child_existence_type::EXIST, .right = child_existence_type::EXIST, .enum_type = PIPE}},
- {"&&", {.continuable = true, .pivot_priority = 1000, .left = child_existence_type::EXIST, .right = child_existence_type::EXIST, .enum_type = LOGIC_AND}},
- {"||", {.continuable = true, .pivot_priority = 1000, .left = child_existence_type::EXIST, .right = child_existence_type::EXIST, .enum_type = LOGIC_OR}},
-
-};
-
-string symbol_enum2string(enum_token_type e);
-
-bool symbol_contains_enum_type(enum_token_type e);
-
-}