void routineEntry(SymTableNodePtr routineIdPtr) { if(debugger) debugger->traceRoutineEntry(routineIdPtr); memset(&returnValue, 0, sizeof(StackItem)); //------------------------------ // Switch to new code segment... codeSegmentPtr = routineIdPtr->defn.info.routine.codeSegment; //---------------------------------------------- // Allocate local variables onto system stack... for(SymTableNodePtr varIdPtr = (SymTableNodePtr)(routineIdPtr->defn.info.routine.locals); varIdPtr != nullptr; varIdPtr = varIdPtr->next) if(varIdPtr->defn.info.data.varType == VAR_TYPE_NORMAL) allocLocal((TypePtr)(varIdPtr->typePtr)); }