[fix] 删掉一部分无用函数

This commit is contained in:
LiuYuanchi 2024-05-09 16:54:24 +08:00
parent 1af61d2eef
commit 5a11da7827
2 changed files with 0 additions and 47 deletions

View File

@ -89,51 +89,6 @@ NFA RexToNFA() {
return NFA(startState, endStates, allStates);
}
// 构造状态机
NFA buildNFA(string filename) {
ifstream ifs(filename);
if (!ifs) {
cerr << "Cannot open file: " << filename << endl;
exit(EXIT_FAILURE);
}
int stateNum, inputNum;
ifs >> stateNum >> inputNum;
vector<State*> states(stateNum);
for (int i = 0; i < stateNum; i++) {
states[i] = new State(i);
}
State* startState = states[0];
set<State*, StatePtrCompare> endStates;
for (int i = 0; i < stateNum; i++) {
for (int j = 0; j < inputNum; j++) {
string targetStateIDs;
ifs >> targetStateIDs;
if (targetStateIDs.compare("#") != 0) {
stringstream ss(targetStateIDs);
string targetStateIDStr;
while (getline(ss, targetStateIDStr, ',')) {
int targetStateID = stoi(targetStateIDStr);
states[i]->addTransition(static_cast<InputCharType>(j), states[targetStateID]);
}
}
}
}
int endStateNum;
ifs >> endStateNum;
for (int i = 0; i < endStateNum; i++) {
int endStateID, wordTypeID;
ifs >> endStateID >> wordTypeID;
states[endStateID]->setFinalState(true, static_cast<WordType>(wordTypeID));
endStates.insert(states[endStateID]);
}
return NFA(startState, endStates, set<State*, StatePtrCompare>(states.begin(), states.end()));
}
void printNFA(const NFA& nfa) {
cout << "Start state: " << nfa.startState->id << endl;
cout << "End states: "<<endl;

View File

@ -160,8 +160,6 @@ public:
// 正则表达式构建状态机
NFA RexToNFA();
void printNFA(const NFA& nfa);
NFA buildNFA(string filename);
NFA RexToNFA();
set<State*, StatePtrCompare> move(const set<State*, StatePtrCompare>& states, InputCharType input);
set<State*, StatePtrCompare> epsilonClosure(const set<State*, StatePtrCompare>& states);