📄 symboltable.cpp
字号:
// SymbolTable.cpp: implementation of the SymbolTable class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "SymbolTable.h"
SymbolTable symbol_table;
SymbolTable::SymbolTable() {
//prestore a set of keywords (reserved words)
table.push_back(SymbolEntry("div", Token::DIV));
table.push_back(SymbolEntry("mod", Token::MOD));
}
int SymbolTable::find(const string& alexeme) const {
int i=0;
int size = table.size();
for(; i< size && table[i].lexeme != alexeme; ++i) {}
return i< size ? i: -1;
}
int SymbolTable::append(const SymbolEntry& se) {
table.push_back(se);
return table.size() -1;
}
Token SymbolTable::getToken(int index) const {
return Token((table[index]).token_type, index);
}
string SymbolTable::getLexeme(int index) const {
return table[index].lexeme;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -