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

📄 wording.h

📁 PL/0编译器
💻 H
字号:
//wording.h
//词法分析类

#pragma once
#ifndef __WORDING_H
#define __WORDING_H

#include <stdio.h>
#include "symset.h"
#include "pl0.h"

#define IDENT_LENGTH	11			//标志符的最大位数
#define NUMBER_LENGTH	9			//最大数位
#define MAX_NUMBER		2047		//最大整数

class CWording
{
public:
	CWording(CPl0*);
	~CWording(void);

	symbol GetSym();				//词法分析程序
	int GetLine() {return line;}	//获取当前行号

	char id[IDENT_LENGTH+1];		//储存标志符
	int num;

private:
	void Create_ht();				//创建关键字的Hush表
	int HushScan(char *word);		//
	int Hush(char *s);				//Hash函数

	struct word_table{
		char word[IDENT_LENGTH+1];
		symbol sym;
	}	*wt;						//关键字表
	char ht[20];					//关键字的Hush表

	char ch;						//读出的字符
	int line;						//行号
	CPl0 *pl;
};
#endif

⌨️ 快捷键说明

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