📄 parser.h
字号:
// YuFaFenXi.h: interface for the CYuFaFenXi class.
//
//////////////////////////////////////////////////////////////////////
#include "Stack.h" // Added by ClassView
class Parser
{
public:
CStack stack;
void Parsing();
void PrintTree(FILE* listing);
Parser();
~Parser();
private:
void Err();
int First[NUM_NTERM+1][12][30];//first集合下标1为第几个表达式,2为第几个选项,3为集合元素
int Follow[NUM_NTERM+1][30];
int Exp[NUM_NTERM+1][12][30]; //文法规则,表达式串,下标1为第几个表达式,2为第几个选项,3为右边的串;
int M[NUM_NTERM+1][NUM_TERM+1];//指向对应的表达式串
TreeNode *RootNode;
int dep;//分析树深度
void AddFirst(int Count_NTerm,int Choice,int Token);
void AddFollow(int Count_NTerm,int Token);
int InFirst(int Count_NTerm,int Choice,int Token);
int InFollow(int Count_NTerm,int Token);
int Parser::Have(int* list,int Token,int end);
void GenParsingTable();
int IsTerm(int i);
void GenFirst();
void GenFollow();
void PrintTree(FILE* listing,TreeNode* Node);
TreeNode* NewNode(int type);
// AddM(int Count_NTerm,int CurFirToken,int Choice);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -