⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dfa_dfamin.h

📁 智能的词法分析
💻 H
字号:
#ifndef DFA_DFAMIN_H
#define DFA_DFAMIN_H 
#include<iostream>
#include<map>
#include<vector>
#include<deque> 
#include<set> 
#include "Z_nfa.h" 
using namespace std; 
struct link
{
  int state;     
  link* next;     
}; 
class DFA_DFAmin : public Z_nfa
{
  private:
          set<int> minDFAend ; 
          int minDFAstart;
          int DFAstart;
          set<int> DFAend;
          map<int ,wedge* >DFA; // 确定有穷自动机的图     
          map< set<int>, int > set_int; // 把集合重新定义为一个状态的字典 
          map<int,wedge* > minDFA;
          set <char> opnum; // 用来存操作数的,也就是字母表 
          int DFAstatenum;
          int minDFAstatenum; 
          deque <set<int> > mydeque; //状态分组,每个组是一个集合,用来存等价组的  
          int map_map(); // 用来实现 map<int ,wedge* > NFA到minDFA之间的深复制 
          int solve_DFA();
          int displayDFA();
          int solve_DFAstart();
          int solve_DFAend(); 
          int solve_opnum(); 
          int freeDFA(); 
          int displayset_int(); 
          int solve_equal_state(); 
          int display_mydeque() ;
          int DFAmin(); 
          int dispalyminDFA(); 
          int freeminDFA(); 
          int run();
          int solve_minDFAend(); 
          int find(const int &first,const char &c, const int & second); 
          int re_minDFA(); 
  public:
         DFA_DFAmin():Z_nfa()  //构造函数 
         {  
            minDFAstart=0;
            cout<<"执行了DFA_DFAmin的构造函数"<<endl;
            DFAstart = 0 ;
            minDFAstatenum = 0 ;
            DFAstatenum = 0;
            opnum = Z_nfa::get_opnum();  
            DFA_DFAmin::run();                 
         } 
         ~DFA_DFAmin(); 
         int get_minDFA(map<int,wedge* >& G); 
         int get_minDFAstart(){return minDFAstart; }
         set<int> get_minDFAend(){return minDFAend; } 
         int get_minDFAstatenum(){return minDFAstatenum;} 
}; 
#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -