grammartree.h

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

H
56
字号
#ifndef GRAMMARTREE_H
#define GRAMMARTREE_H

#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include "LytWString.h"
#include "Tree.h"
#include "SomeDataType.h"

using namespace std;

// A = A '|' B
// A = B
// B = BC
// B = C
// C = C '+'
// C = C '*'
// C = C '?'
// C = '(' A ')'
// C = D
// D = char
// D = '\' char
// D = '[' E ']'
// D = "[^" E ']'
// E = EF
// E = F
// F = char '-' char
// F = char
// F = '\' char

class GrammarTree
{
public:
	Tree<CharType> Data;
	
	GrammarTree();
	GrammarTree(const wchar_t* Input);
	void GetGrammarTree();
	LytWString GetErrorMessage();
	bool IsError();

private:
	const wchar_t* Expression;
	LytWString ErrorMessage;

	void SetErrorMessage(const LytWString ErrorInformation);
	TreeNode<CharType>* GetA(TreeNode<CharType>* Current);
	TreeNode<CharType>* GetB(TreeNode<CharType>* Current);
	TreeNode<CharType>* GetC(TreeNode<CharType>* Current);
	TreeNode<CharType>* GetD(TreeNode<CharType>* Current);
	TreeNode<CharType>* GetE(TreeNode<CharType>* Current);
	TreeNode<CharType>* GetF(TreeNode<CharType>* Current);
};

#endif

⌨️ 快捷键说明

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