int SymbolTable::getVarType(int varID)
{
	map<int, int>::iterator it = varTypes.find(varID);
	if(it == varTypes.end())
	{
		box_out("Internal Error: Can't find the variable type!");
		box_eol();
		return -1;
	}
	return it->second;
}
int StackFrame::getOffset(int vid)
{
	map<int, int>::iterator it = stackoffset.find(vid);
	if(it == stackoffset.end())
	{
		box_out("Internal Error: Can't find variable stack offset!");
		box_eol();
		return 0;
	}
	return stackoffset[vid];
}
int SymbolTable::getVarType(AST *obj)
{
	map<AST *, int>::iterator it = astToID.find(obj);
	if(it == astToID.end())
	{
		box_out("Internal Error: Can't find the AST ID!");
		box_eol();
		return -1;
	}
	return getVarType(it->second);
}
Example #4
0
int NewQuestFile(int template_slot)
{
    memset(filepath,0,255);
    memset(temppath,0,255);
#ifdef ALLEGRO_MACOSX
    sprintf(filepath, "../../../");
    sprintf(temppath, "../");
#endif
    first_save=false;
    box_start(1, "Initializing Quest", lfont, pfont, false);
    box_out("Please wait.");
    box_eol();
    box_out("This may take a few moments.");
    box_eol();
    
    init_quest(QuestTemplates[template_slot].path);
    saved=true;
    box_end(false);
    refresh(rALL);
    return D_O_K;
}