Korlát-alapú típuskövetkeztetés a Q programozási nyelvhez

OData támogatás
Konzulens:
Dr. Szeredi Péter
Számítástudományi és Információelméleti Tanszék

Dolgozatomban egy Prolog nyelven készített típusellenőrző és típuskövetkeztető

alkalmazást mutatok be, mely a Q programozási nyelvhez készült. A Q egy

vektor-feldolgozó nyelv, az APL egy leszármazottja. A nyelv az utóbbi időben egyre

népszerűbbé válik, leginkább a pénzügyi szektorban terjedt el. A Q egy

dinamikusan ellenőrzött, erősen típusos nyelv a Prologhoz hasonlóan. A nyelv

statikus típusellenőrzéssel való kiegészítése számos előnnyel járhat. Egyrészt

segít a programozókat olvashatóbb kódok írásában, másrészt megteremti annak

lehetőségét, hogy a típushibákra már fordítási időben fény derüljön, ezzel

javítva a programozók hatékonyságát.

Első lépésben létre kellett hozni egy típusleíró nyelvet. A Q nyelvű programból

és a típuskifejezésekből ezt követően egy absztrakt kódot állítok elő egy

elemző segítségével. Az absztrakt kódot felhasználva megfelelő korlátok

segítségével lehetővé vált a típusellenőrző program elkészítése.

A Prolog ideális eszköznek bizonyult az alkalmazás implentációjához. A

nyelvtani elemzést a DCG(Definite Clause Grammars) szabályok, a

típusellenőrzést a CHR(Constraint Handling Rules) szabályok alkalmazása

egyszerűsíti. A dolgozat bemutatja a megvalósítás során megoldandó problémákat

és azok lehetséges megoldásait.

A típuskövetkeztető eszköz szintén a Prolog CHR szabályain alapuló korlátokat

fog használni. Az alkalmazás futása közben meghatározza a Q programban található

összes kifejezés típusát és megállapítja ezek konzisztenciáját.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.