Fixed some label issues

Added PROC queueing (to prevent symbol
This commit is contained in:
David Anderson
2004-08-12 16:31:50 +00:00
parent 796a7ad4d7
commit 2a00a62bcb
13 changed files with 175 additions and 50 deletions

View File

@ -37,7 +37,7 @@ public:
~LabelMngr();
LabelMngr() { CError = NULL; assert(CError!=NULL); }
LabelMngr(ErrorMngr *e) { CError = e; }
void AddLabel(SymbolList::Symbol *sym, int cip);
LabelMngr::Label *AddLabel(SymbolList::Symbol *sym, int cip);
LabelMngr::Label *FindLabel(std::string &sym);
int GetCip(std::string &sym);
void Clear();
@ -45,8 +45,9 @@ public:
void QueueLabel(std::string &sym, Asm *ASM);
void CompleteQueue(bool isLocal = false);
bool EraseLabel(std::string &sym);
void PrintList();
private:
std::vector<LabelMngr::Label *> List;
std::list<LabelMngr::Label *> List;
std::map<std::string, std::stack<Asm *> > LQ;
ErrorMngr *CError;
public: