diff options
| author | _ov4 <ov4@ov4.org> | 2026-09-21 04:50:06 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-09-21 04:50:06 +0000 |
| commit | 1c630655b2beb0f4b84fb7e1bc034ba62520be37 (patch) | |
| tree | e90e70c425813df29c8bbd5c1e84ef22f4e4a176 /include/lang_analysis/lexer_class.h | |
| parent | 9f5936bf64deb625a27259d778937e281ca19cea (diff) | |
fix name typo, and remove outdated parse
Diffstat (limited to 'include/lang_analysis/lexer_class.h')
| -rw-r--r-- | include/lang_analysis/lexer_class.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/include/lang_analysis/lexer_class.h b/include/lang_analysis/lexer_class.h new file mode 100644 index 0000000..4100b97 --- /dev/null +++ b/include/lang_analysis/lexer_class.h @@ -0,0 +1,42 @@ +#pragma once + +#include <string> +#include <unordered_map> +#include <vector> + +#include "lang_analysis/enum_type.h" + +using namespace std; + +namespace ov4 +{ + +class T_lexer +{ +public: + + // token.h + class T_token; + string trim(const string &s, const string &trim_target = " \t"); + bool is_single_symbol(char c); + void bracket_depth_changer(char c, int &bracket_depth); + bool token_continue(const string &s, char next); + void token_push(const string &push_s, int bracket_depth, bool force_text = false); + int tokenizer(const string &s); + + // ast.h + class T_ast; + string final_trim(size_t _begin, size_t _end); + size_t alloc_ast(); + int get_pivot_order(enum_token_type x); + bool is_operator(enum_token_type x); + void parse(size_t cmd_begin, size_t cmd_end, size_t ast_vec); + + // shared + std::vector<T_ast> ast; + std::vector<T_token> token; + size_t ast_index = 0; + +}; + +} |
