tokenize.h

来自「PL编译器」· C头文件 代码 · 共 66 行

H
66
字号
// Tokenize.h: interface for the CTokenize class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TOKENIZE_H__19FF8FE4_5DC8_4882_953D_96ED738ECC04__INCLUDED_)
#define AFX_TOKENIZE_H__19FF8FE4_5DC8_4882_953D_96ED738ECC04__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


#include <ctype.h>
#include <string.h>
#include <stdio.h>

//单词的分类
const int SYN_ID = 1;			//标识符
const int SYN_NUM = 2;			//数字
const int SYN_VAR = 3;			//VAR
const int SYN_BEGIN = 4;		//BEGIN
const int SYN_END = 5;			//END
const int SYN_IF = 6;			//IF
const int SYN_THEN = 7;			//THEN
const int SYN_ELSE = 8;			//ELSE
const int SYN_WHILE = 9;		//WHILE
const int SYN_DO = 10;			//DO
const int SYN_INTEGER = 11;		//INTEGER	
const int SYN_PLUS = 12;		//+
const int SYN_SUB = 13;			//-
const int SYN_MUL = 14;			//*
const int SYN_DIV = 15;			///
const int SYN_LT = 16;			//<
const int SYN_LE = 17;			//<=
const int SYN_LG = 18;			//>
const int SYN_ME = 19;			//>=
const int SYN_NE = 20;			//<>
const int SYN_EQ = 21;			//==
const int SYN_SEMI = 22;		//;
const int SYN_PERIOD = 23;		//.
const int SYN_COLON = 24;		//:
const int SYN_COLE = 25;		//:=
const int SYN_COMMA = 26;		//,
const int SYN_LPAREN = 27;		//(
const int SYN_RPAREN = 28;		//)


const int KEY_NUM = 9;			//保留字个数


//定义词法分析类
class CTokenize  
{
public:
	CTokenize();
	virtual ~CTokenize();
	void PASCALscan(FILE * fSource,FILE * fObject);	//词法分析函数

private:
	char ch;					//每次读入的字符
	char token[50];				//识别出的单词

};

#endif // !defined(AFX_TOKENIZE_H__19FF8FE4_5DC8_4882_953D_96ED738ECC04__INCLUDED_)

⌨️ 快捷键说明

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