dfa.h

来自「正则表达式由一些普通字符和一些元字符(metacharacters)组成。普通字」· C头文件 代码 · 共 34 行

H
34
字号
#ifndef DFA_H
#define DFA_H

#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include "CharClass.h"
#include "StatusEdge.h"
#include "Nfa.h"

using namespace std;

typedef StatusBase<DfaStatusNumber, EdgeMatchContent> DfaStatusBase;
typedef DfaStatusBase::EdgeBase DfaEdgeBase;
typedef Status<DfaStatusBase, DfaEdgeBase> DfaStatus;
typedef DfaStatus::Edge DfaEdge;

class Dfa
{
public:
	DfaStatus Start;
	Set<DfaStatusBase*> UnsettledStatus;
	Set<DfaStatusBase*> ExisentStatus;

	Dfa();
	Dfa(Nfa& NfaGraph);
	DfaStatusBase* NfaStatusBaseToDfa(NfaStatusBase* Object);
	void FindCorrespondingNfaStatus(Set<int>& StatusNumber, Nfa& NfaGraph, Link<NfaStatusBase*>& Result);
	DfaStatusBase* IsExisentStatus(Set<int>& StatusNumber, bool Final);//如果状态不存在就加进UnsettledStatus、ExisentStatus
	void GetDfa(Nfa& NfaGraph);
	void Print();
};

#endif

⌨️ 快捷键说明

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