lexical.h

来自「词法分析器,学编译原理时做的,很简单,可供初学者借鉴」· C头文件 代码 · 共 57 行

H
57
字号
#ifndef LEXICAL_H_
#define LEXICAL_H_

#include <fstream>
using namespace std;

void Scanner();
void IsNumber();
void IsAlpha();
void IsChar();
void IsNotes();
void IsOther();
void Error(int);
void Output();
bool symbleExist();

typedef struct token
{
	int label;
	int code;
	int addr;
	char name[30];
	int line;             //该标志符在程序中的第几行
}token;

typedef struct symble
{
	int code;
	int addr;
	char name[30];
}symble;

typedef struct keyWord                //
{
	int code;
	char name[30];
}keyWord;

const int numOfKeyWord = 26;
const int maxVariable = 200;

int err_count;
int lineOfProc;
int label_count;
int addr_count;
int var_count;
char currentLetter;

token currentToken;
keyWord key[numOfKeyWord];
symble symbleList[maxVariable];
ofstream tokenOut;
ofstream symbleOut;
ifstream keyIn;
ifstream sourceIn;

#endif 

⌨️ 快捷键说明

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