classes.h

来自「简单的有穷自动机词法分析」· C头文件 代码 · 共 36 行

H
36
字号
#include<iostream>
using namespace std;

struct SResultNode
{
	char * m_pWord;
	int    m_nWord;
	int    m_iCode;
	SResultNode()
	{
		m_pWord = NULL;
		m_nWord = 0;
		m_iCode =0;
	}
};

class  CWordAnalyzing
{
private:
	int          m_iWordLine;//当前分析的单词所在的行
	char        *m_pSrcChar;
	int          m_nCharLength;
	SResultNode  *m_pNode;
	int          m_iNodeUsedPos;
	int          m_StateMap[8][7];
protected:
	int CodeChar(char ch);//对一个字符进行编码
	int GetNextState(int iCurrentState,int iIpt);//获得下一个状态
public:
	CWordAnalyzing();//初始化所有内部变量
	~CWordAnalyzing();
	void Create(char *pSrcChar,int nLength);//获得输入字符串
	bool WordAnalyzing();//词法分析
	void DisPlayResult();//输出分析的结果
	void GetWords(SResultNode **ppNode,int &nLength);
};

⌨️ 快捷键说明

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