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

📄 global.h

📁 一个简单的编译器,接收表达式,并输出后缀表达式或者编译过程,可以计算的输出计算结果
💻 H
字号:
/***   global.h ******************************************/

#include <stdio.h>		/*输入\输出*/
#include <ctype.h>		/*加载字符测试程序*/
#include <malloc.h>
#include <string.h>

#define BSIZE 128		/*缓冲大小*/
#define NONE  -1		
#define EOS   '\0'

#define NUM   256
#define DIV   257
#define MOD   258
#define ID    259
#define DONE  260
#define SYMMAX 100

#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OK	1
#define ERROR	0
#define OVERFLOW	-1

typedef	int SElemType;
typedef	int	Status;

int tokenval;			/*记号的属性值*/
int lineno;				/*行数*/

struct entry {			/*符号表的表项格式*/
    char *lexptr;
    int  token;
};

typedef struct{			
	SElemType *base;
	SElemType *top;
	int stacksize;
}SqStack;

SqStack Fig;
struct entry symtable[SYMMAX];
FILE *fp1,*fp2;
char flags;	//指示输入是-s还是-c
int  allnum;//判断输入字符是不是全数字

void emit(int t, int tval);
void error(char *m);
void init();
int lexan();
void operate(SqStack *S,int theta);
int lookup(char s[]);
int insert(char s[],int tok);

void match(int t);
void factor();
void term();
void expr();
void parse();

Status InitStack(SqStack *S);
Status Push(SqStack *S,SElemType e);
Status Pop(SqStack *S);
Status DestroyStack(SqStack *S);

⌨️ 快捷键说明

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