void BaseSemanticWalker::setCurrentScope(RefPortugolAST id, const SymbolList& params) { _currentScopeSymbol = _symtable->getSymbol(id->getText(), params.typeList()); _symtable->setScope(_currentScopeSymbol); }
void BaseSemanticWalker::declareProc(RefPortugolAST id, SymbolList& params, Type *rettype) { Type *type = _typeBuilder->subprogramType(params.typeList(), rettype); Symbol s(id->getText(), type, _symtable->globalScope(), _symtable->unit(), id->getLine(), id->getColumn()); declareProc(s, params); }