Prolog fogalomtár

argumentum (argument)
Lásd struktúra.
argumentumszám, aritás (arity)
Egy eljárás vagy egy struktúra argumentumainak a száma.
atom (atom)
Egy névkonstans. A kisbetűvel kezdődő és alfanumerikus karakterekkel folytatódó sorozatot, a csupa ,,speciális'' karakterből álló sorozatot és az aposztrófok közé zárt tetszőleges sorozatot atomnak tekinti a rendszer. Az atomok egyesítése gyors, ábrázolásuk tömör, viszont drága a létrehozásuk és szétszedésük.
atomi kifejezés (atomic term)
Lásd konstans.
behelyettesítés (binding)
Amikor egy változót egyesítünk valamivel (akár egy másik változóval is), akkor azt mondjuk, hogy a változót behelyettesítettük.
beépített eljárás (built-in predicate)
Egy rendszer által definiált reláció.
cél (goal)
Egy eljáráshívás. Egy cél vagy sikerül, vagy meghiúsul. Egy cél többféleképpen is sikerülhet.
deklaráció (declaration)
A fordítónak szóló állítások, amelyek a program értelmezését befolyásolják. Példa: operátor-deklaráció.
determinisztikus (determinate)
Egy hívás determinisztikus, ha legfeljebb egyféleképpen sikerülhet. Egy eljárás determinisztikus, ha tetszőleges hívása determinisztikus.
dinamikus eljárás (dynamic predicate)
Olyan eljárás, amelyhez futási időben adhatunk és amelyből futási időben vehetünk el klózokat.
diszjunkció (disjunction)
Vagy kapcsolat. Prologban a vagy kapcsolatban levő relációkat pontosvesszővel elválasztva egymás után írjuk, és általában zárójelekkel vesszük körbe.
egyesítés (unification)
Kifejezések mintaillesztéssel történő azonos alakra hozása.
egyhosszúságú atom (one-char atom)
Egyetlen jelből álló atom. Ezeket nevezzük karakternek.
egyszerű kifejezés (simple term)
Egy nem struktúra kifejezés, azaz változó vagy konstans.
eljárás-doboz (procedure box)
A Prolog programok végrehajtásának leírására használt (fogalmi) segédeszköz.
eljárás (procedure)
Egy beépített vagy egy felhasználó által definiált eljárás.
előfordulás-ellenőrzés (occurs-check)
Egy változó és egy struktúra egyesítésekor annak ellenőrzése, hogy a változó nem szerepel-e a struktúrában.
exportál (export)
Egy modul azokat az eljárásokat exportálja, amelyeket a modulon kívülről is elérhetővé akar tenni.
értékadás (instantiation)
Amikor egy változót egy nem változóval egyesítünk, akkor az értéket kap. (Az értékadás lehet részleges is, amennyiben a kifejezés, amivel egyesítettünk nem tömör.)
értékkel bíró (instantiated)
Egy változó értékkel bír, ha egyesítettük egy nem változó kifejezéssel.
értékkel nem bíró (unbound)
Egy változó, amit még soha nem egyesítettünk változótól különböző kifejezéssel.
fej (head)
Egy klóz következmény része.
felhasználó által definiált eljárás (user defined procedure)
Mindazon klózok összessége, amelyek feje adott nevű és argumentumszámú.
fordítás (compile)
Az a folyamat, amikor a program szövegéből lefordított alakot állítunk elő. A lefordított alak gyorsabban fut, mint az interpretált alak.
funktor (functor)
Egy struktúra nevéből és argumentumszámából képzett pár. Írásban általában / jellel elválasztva írjuk. Például a rendező('Luis Buńuel', 1900, 1983) struktúra funktora rendező/3.
füzér (string)
Karakterkódok listája.
importál (import)
Ha fel akarunk használni egy (másik) modulban definiált eljárást, akkor a használat előtt azt importálni kell.
indexelés (indexing)
Arra szolgál, hogy egy adott hívás esetén a rendszer ne próbálkozzon olyan klózokkal, amelyek semmiképp nem sikerülhetnek. Az indexelést a rendszer automatikusan végzi.
kampó eljárás (hook predicate)
Olyan eljárás, amit a felhasználó definiál, de közvetlenül a rendszer hívja meg.
karakterkód (character code)
Egy karakter numerikus kódja.
kifejezés (term)
A Prologban előforduló adatfajták gyűjtőneve.
klóz (clause)
Egy tényállítás vagy egy szabály.
konjunkció (conjunction)
És kapcsolat. Prologban az és kapcsolatban levő relációkat vesszővel elválasztva egymás után írjuk.
konstans (constant)
Egy egész vagy egy lebegőpontos szám, vagy egy atom. Az atomic/1 beépített eljárás pontosan ezekre igaz.
konzultálás (consult)
Az a folyamat, amikor a program szövegéből interpretált alakot állítunk elő. Az interpretált alak lassabban fut, mint a lefordított alak, de kilistázható (listing) és egy kicsit részletesebben nyomkövethető.
kérdés, célsorozat (query)
Célok konjunkciója. Ha egy célsorozatot közvetlenül az interpreternek adjuk oda, kérdésnek is nevezzük.
lista (list)
Vagy a '[]' (nil) atom, vagy egy '.'/2 struktúra, melynek második argumentuma egy lista. Ha egy lista vége nem nil, hanem változó, akkor nyitott végű listáról beszélünk.
meghívható kifejezés (callable term)
Egy atom vagy egy struktúra. A callable/1 eljárás pontosan ezekre igaz.
mellékhatás (side-effect)
Logikailag nem értelmezhető hatás.
meta eljárás (meta-predicate)
Olyan eljárás, amely meghívja valamelyik argumentumát.
meta hívás (meta-call)
Egy Prolog kifejezés hívásként való értelmezése. Lásd a call/1 eljárást!
modul (module)
Eljárások olyan (legbővebb) halmaza, amelyek azonos modul-deklaráció hatókörébe esnek.
névtelen változó (anonymous variable)
A névtelen változó egy minden más változótól különböző változó. Jelölése: _.
operátor (operator)
Olyan név, amelyet (operátor-deklaráció) segítségével prefix, infix vagy postfix alakban használhatóvá tettünk.
összetett kifejezés (compound term)
Lásd struktúra.
parancs (directive)
Fordítási időben végrehajtandó Prolog hívás.
precedencia (precedence)
Az a szám, amely megmondja egy operátorról, hogy mennyire szorosan köt.
predikátum (predicate)
Lásd eljárás.
program (database)
A felhasználó által definiált eljárások halmaza.
pár (pair)
A '-'/2 struktúra. Általánosan bármely kétargumentumú struktúrát nevezhetünk párnak, de ilyenkor meg kell mondani mi a neve.
redukciós lépés (reduction step)
A végrehajtásnak az a lépése, amikor egy hívást egy illeszkedő fejű klóz törzsével helyettesítünk.
rekurzió (recursion)
Egy eljárás rekurzív, ha végrehajtásához szükség van önmaga (esetleg közvetett) meghívására.
statikus eljárás (static predicate)
Egy nem dinamikus eljárás.
struktúra (structure)
Egyfajta Prolog kifejezés. A strúktúráknak van egy neve és egy vagy több argumentuma. Például a személy('Weöres Sándor', 1913, 1989) struktúra neve személy és három argumentuma van. A compund/1 eljárás pontosan ezekre igaz.
szabály (rule)
Egy klóz egy vagy több feltétellel. Egy szabály azt fejezi ki, hogy a törzséből következik a feje. Például a jókedvű(attila) :- kertész(attila). szabály azt fejezi ki, hogy ha Attila kertész, akkor jókedvű. Változókat használva általánosabb szabályokat is felírhatunk:
jóhírű(X) :- tejet_iszik(X), pipázik(X).
Ezzel azt állítjuk, hogy minden pipázó és tejivó X-re igaz, hogy jó a híre.
szemantika (semantics)
A Prolog kifejezések ,,értelme''.
szemétgyűjtés (garbage collection)
Az elérhetetlenné vált adatok által foglalt memóriaterületek újra felhasználhatóvá tétele.
szintaxis (syntax)
A nyelvtan azon része, amely azt írja le, hogyan állnak elő szimbólumokból érvényes Prolog kifejezések.
szülő (parent)
Az a hivás, amelynek redukciója során a kérdéses cél belekerült a célsorozatba. Más szóval az a hívás, amely a kérdéses célt tartalmazó klóz fejével illesztődött.
tényállítás (fact)
Egy klóz, amelynek nincs feltétel része, azaz a törzse üres. Egy tényállítás azt fejezi ki, hogy az adott reláció fennáll az argumentumaira. Példák tényállításokra (és lehetséges interpretációjukra):
      király(henrik, anglia).   % Henrik Anglia királya volt.
      csőre_van(madár).         % A madaraknak van csőrük.
      alkalmazott(lilla, adatfeldolgozás, 55000).
                                % Lilla az adatfeldolgozási osztályon dolgozik,
                                % keresete 55000.
      
tömör (ground)
Olyan Prolog kifejezés, amelyben nem szerepel értékkel nem bíró változó.
törzs (body)
Egy szabály feltétel része.
visszalépés (backtracking)
Ha egy egyszer már kielégített célt más módon újra megpróbálunk kielégíteni, akkor visszalépésről beszélünk.
változó (variable)
Egy név ami egy (esetleg ismeretlen) értéket jelöl a programban. Prologban a változókat nagybetűvel vagy aláhúzással kezdődő és alfanumerikus karaktersorozattal folytatódó szöveggel jelöljük.

benko@iqsoft.hu
Utolsó módosítás: 2002. 07. 29. 13:54:03