nfa.h

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

H
35
字号
#ifndef NFA_H
#define NFA_H

#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include "StatusEdge.h"
#include "EpsilonNfa.h"

using namespace std;

typedef StatusBase<NfaStatusNumber, EdgeMatchContent> NfaStatusBase;
typedef NfaStatusBase::EdgeBase NfaEdgeBase;
typedef Status<NfaStatusBase, NfaEdgeBase> NfaStatus;
typedef NfaStatus::Edge NfaEdge;

class Nfa
{
public:
	NfaStatus Start;
	Link<NfaStatusBase*> AvailableStatus;

	Nfa();
	Nfa(EpsilonNfa& EpsilonNfaGraph);
	void GetAvailableStatus(EpsilonNfa& EpsilonNfaGraph);
	bool IsEpsilonEdge(NfaEdgeBase* Object);
	void GetEpsilonClosure(NfaStatusBase* Temp_AvailableStatus, Set<NfaStatusBase*>& EpsilonClosure);
	void InsertEdge();
	void RemoveUnnessaryData();
	void GetNfa(EpsilonNfa& EpsilonNfaGraph);
	void Print();

};

#endif

⌨️ 快捷键说明

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