symboltable.h
来自「现代编译原理C语言实现中的第二章的编译器实现。并在书中的基础上有所改变。包括词法」· C头文件 代码 · 共 36 行
H
36 行
#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 + =
减小字号Ctrl + -
显示快捷键?