// // Created by kagura on 4/24/24. // #ifndef INC_1_PARSER_H #define INC_1_PARSER_H #include #include #include #include "Classifier.h" using namespace std; class Parser { private: fstream file; Classifier classifier; string result; public: // 状态机的状态 enum State{ VOID, // 初始状态 INTEGER, // 整数 SEMICOLON, // 多个分号可以合并 NAME, // 名称 COMMENT_LINE, // 单行注释 COMMENT_BLOCK, // 多行注释 }; State state = VOID; State last_state = VOID; explicit Parser(const char* filename); ~Parser() = default; void parse(); void print_result(); void append_result(const string &name); }; #endif //INC_1_PARSER_H