📄 dfa.cpp
字号:
#include "DFA.h"
int RULE_NUM = 13;
STATE_CHANGE StateChangeTable[] =
{
Q0, SIGN, Q1,
Q0, DIGIT, Q2,
Q1, DIGIT, Q2,
Q2, DIGIT, Q2,
Q2, DOT, Q3,
Q2, EXP, Q5,
Q3, DIGIT, Q4,
Q4, DIGIT, Q4,
Q4, EXP, Q5,
Q5, SIGN, Q6,
Q5, DIGIT, Q7,
Q6, DIGIT, Q7,
Q7, DIGIT, Q7
};
int DFA::Input(SYMBOL input)
{
int i,num;
STATE newstate;
num = -1;
if (state == MISTAKE) return num;
newstate = MISTAKE;
for(i = 0; i < RULE_NUM ; i++)
if (StateChangeTable[i].oldstate == state &&
input == StateChangeTable[i].input)
{
newstate = StateChangeTable[i].newstate;
num = i;
break;
}
state = newstate;
return num;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -