biaoge.h
来自「编译课程设计」· C头文件 代码 · 共 45 行
H
45 行
// Biaoge.h: interface for the Biaoge class.
//
//////////////////////////////////////////////////////////////////////
#ifndef __BIAOGE_H
#define __BIAOGE_H
#include "pl0.h"
#include "errors.h"
#include "yufa.h"
#define TABLE_SIZE 100
enum object {constant,variable,procedure};
struct table_type
{
char name[IDENT_LENGTH+1];
object kind;
union{
int val;
struct{
int level,adr,size;
};
};
};
class CBiaoge
{
public:
CBiaoge(CPlCompiler*);
void Enter(enum object k);
int Position(char *id);
int TableIndex(){return tx[lev];}
public:
table_type table[TABLE_SIZE];
private:
int tx[MAX_LEVEL+1];
int lev;
CPlCompiler *pl;
};
#endif // biaoge.h