📄 symboltable.h
字号:
#pragma once
#include "Semantic.h"
#include "Common.h"
#include "Lex.h"
class CSymbolTable
{
public:
CSymbolTable(void);
~CSymbolTable(void);
};
typedef struct symbol {
int type;// ID INTLITERAL FUNCTION's ID
struct {
char text[WORD_LEN];// for ID FUNCTION's ID
int int_val; // for INTLITERAL
};
} Symbol;
typedef struct symboltable {
int freepointer; // point to the first free unit in the smb
Symbol smb[ MAX_SYMBOL ]; // common.h
} SymbolTable;
void init_global_symboltable();
void init_local_symboltable();
Symbol * lookup(cstr s);
Symbol * lookup(int v);
void enter(cstr s, token);
void enter(int v);
char * extract(expr_rec & s);
char * extract(op_rec & op);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -