parsing.h

来自「一个简单的基于Chart的自底向上句法分析器」· C头文件 代码 · 共 38 行

H
38
字号
// parsing.h 自动句法分析所需要的数据结构,包括规则,局部分析等

class CRule:public CObject
{
public:
	CString Ls,Rs1,Rs2;
	CRule() {
	}
	CRule(CString Line);
};

class CEdge:public CObject
{
public:
	CString Root;
	int First,Last,Sub1,Sub2,WordNumber;
	CEdge() {
	}
	CEdge(CString wt,int wid);
	CEdge(CEdge *p, int pid, CString r);
	CEdge(CEdge *p1,CEdge *p2,int pid1,int pid2,CString r);
	CString GetRoot() {
		int i=Root.Find('(');
		if(i<0)
			return Root;
		else
			return Root.Left(i);
	}
};

// Bottom-up分析需要用到的函数

CString Parsing(CString s); // 分析一个句子
void Expanding(); // 根据规则增加局部分析
BOOL GetRule(CString &ls,CString rs1, CString rs2=""); // 查找规则
CString GetTrees(int wid); // 返回若干个分析树
CString GetOneTree(CEdge *e); // 返回一个局部分析所代表的子树

⌨️ 快捷键说明

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