parser.h
来自「c语言编写」· C头文件 代码 · 共 41 行
H
41 行
// 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 + =
减小字号Ctrl + -
显示快捷键?