Name: Snorri Agnarsson 2009-12-31 22:07
Einingin GRUNNUR er samsett úr mörgum öðrum einingum. Hverri þessara eininga er lýst í
undirkafla í þessum kafla. Grunnurinn er ansi stór eining og inniheldur fleiri stef en flest forrit
nota. Það er því oft ástæða til að nota minni grunn en þann sem fylgir Fjölni. Notandi Fjölnis getur
smíðað sinn eigin grunn ef hann vill, eða notað beint þær einingar sem grunnurinn er samsettur úr.
Í mynd 10.1 er sýnt hvernig einingarnar í grunninum tengjast saman, þ.e.a.s. hvernig einingarnar
kalla á stef úr hver annarri. Þar má t.d. sjá að ef nota þarf stef úr einingunni INN þá þarf einnig að
flytja inn einingarnar UT, SNUA, LESALINU og DOSSKRIU. Auk þess þarf nærri alltaf að flytja
inn eininguna KJARNI, eða einhverja einingu sem inniheldur þá einingu, t.d. GRUNNUR sjálfur,
þar eð langflestar einingar vísa í einhver kjarnastef. Við köllum eininguna KJARNI kjarnann og
eininguna GRUNNUR grunninn og stef í kjarnanum köllum við kjarnastef, og stef í grunninum
grunnstef:
undirkafla í þessum kafla. Grunnurinn er ansi stór eining og inniheldur fleiri stef en flest forrit
nota. Það er því oft ástæða til að nota minni grunn en þann sem fylgir Fjölni. Notandi Fjölnis getur
smíðað sinn eigin grunn ef hann vill, eða notað beint þær einingar sem grunnurinn er samsettur úr.
Í mynd 10.1 er sýnt hvernig einingarnar í grunninum tengjast saman, þ.e.a.s. hvernig einingarnar
kalla á stef úr hver annarri. Þar má t.d. sjá að ef nota þarf stef úr einingunni INN þá þarf einnig að
flytja inn einingarnar UT, SNUA, LESALINU og DOSSKRIU. Auk þess þarf nærri alltaf að flytja
inn eininguna KJARNI, eða einhverja einingu sem inniheldur þá einingu, t.d. GRUNNUR sjálfur,
þar eð langflestar einingar vísa í einhver kjarnastef. Við köllum eininguna KJARNI kjarnann og
eininguna GRUNNUR grunninn og stef í kjarnanum köllum við kjarnastef, og stef í grunninum
grunnstef:
"fibo" =
{
f ->
stef(;n)
stofn
ef n <= 2
skila 1
annars
skila f(;n-1)+f(;n-2)
eflok
stofnlok
};