⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grammer.h

📁 此程序为LR递归下降程序
💻 H
字号:
/*
	"grammer.h"
	关于语法分析器的一些声明
*/
#include <stdio.h>
#define MAXProcTable 20/*过程表长度*/
#define MAXVarTable 30/*变量表长度*/


struct procTable process[20];/*过程表*/
struct varTable variable[30];/*变量表*/
int lineLocation=1;/*当前分析的位置*/
long recordLength=-sizeof(struct record);/*回退一条记录的长度*/
int curProcPtr=0;/*当前过程所要写入的位置*/
int curVarPtr=0;/*当前变量所要写入的位置*/
int varcount=0;/*记录参数个数*/
int varLocation=-1;/*当前参数所在位置*/
int totalCount=0;/*当前过程所含变量和参数的总个数*/

void procProcess(FILE *fpread,int level);
void processShift(FILE *fpread,int level);
void processPL(FILE *fpread);
void processVariable(FILE *fpread,int level);
void processProc(FILE *fpread,int level);
void processID(FILE *fpread,int level);
void processProg(FILE *fpread,int level);
void skip(FILE *fpread);
void skipLine(FILE *fpread);
int searchprocTable(char procName[]);
void enterProcTable(char procName[],int level,int exProc);
int searchVarTable(char varName[]);
void enterVarTable(char varName[],int level,int relative);
void displayVarTable();
void displayProcTable();
void backPatch();
void ishaveLast(FILE *fpread);

⌨️ 快捷键说明

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