Потпрограм — разлика између измена

Садржај обрисан Садржај додат
Autobot (разговор | доприноси)
м Разне исправке; козметичке измене
м fix homoglyphs: convert Cyrillic characters in [А]da to Latin
Ред 249:
Модерни језици после [[АLGOL]] попут PL/ 1 и C готово увек користе складиште, обично уз подршку најсавременијим рачунарским упутством постављаним да обезбеди свеж активициони регистар за свако извршење потпрограма. На тај начин, угнеждено извршење је слободано да измени своје локалне променљиве без угрожености за ефекат на друге суспендована извршења у току. Како се угниеждени позива акумулирају, позив складишне структуре је формиран и састоји од једног активационог регистра за сваки суспендован потпрограма. У ствари, складишна структура је практично свеприсутна, и тако се регистри активирања обично називају складишни оквири.
 
Неки језици, као што су [[Паскал (програмски језик)|Pascal]] и [[Ада (програмски језик)|АdaAda]] такође подржавају уметнуте подпрограме, који су потпрограми који се могу позвати само у оквиру спољашњег (родитељског) потпрограма. Унутрашњи подпрограми имају приступ локалним променљивим спољашњег потпрограма који их позива. Ово је постигнуто чувањем додатне текстуалне информације у активационом регистру, такође називаном екран.
 
Ако потпрограм може добро да функционише чак и када је позван док је друго извршење већ у току, за тај потпрограм се каже да је улазни. Рекурзивни потпрограм мора бити улазни. Улазни подпрограми су такође корисни у мулти-тематским ситуацијама, јер више тематски могу позвати исти потпрограм без страха од међусобног ометања. У [[IBM]] [[CICS]] системима за обраду трансакција, квази-улазни је био мало мање рестриктиван, али сличан, услов за апликације које су заједничке за многе теме.