Szöveges szakterületi nyelv kidolgozása

OData támogatás
Konzulens:
Dr. Mezei Gergely
Automatizálási és Alkalmazott Informatikai Tanszék

Egy széles körben használt alkalmazásnak elengedhetetlen feltétele a konfigurálhatóság, ez által válik a program rugalmassá. Egy konfigurációs fájl struktúráját sokféleképpen adhatjuk meg, de vannak olyan struktúrák, amik széles körben elterjedtek és ismertek. Ilyen például az XML vagy a JSON formátum. Ezeket használva a programozó már meglévő könyvtárakat tud használni a leírt konfiguráció beolvasásához a kódban. A könyvtárak általában könnyen érthető visszajelzést adnak szintaktikai hiba esetén arról, hogy mi van elírva és hol, de nem adnak visszajelzést arról, hogy a program működése szempontjából értelmes-e a konfiguráció. A fájl szerkesztőjének tehát ismernie kell a típus és érték megkötéseket és függőségeket a bizonyos konfigurációs mezők között ahhoz, hogy a szöveg értelmezhető maradjon szerkesztés után is a program számára. Ez viszont egy nehéz feladat nagy méretű, komplex konfiguráció esetén.

Ennek a problémának a megoldására született a szakdolgozatomban elkészített nyelv és annak értelmezője. A felhasználásukkal lehetővé válik a JSON konfigurációk szemantikai ellenőrzése. A nyelvet az ANTLR keretrendszer felhasználásával készítettem el, az értelmezőjét Java kódban írtam meg. A végtermék egy Java 8 alapú könyvtár, amivel könnyen lehet JSON fájlokban előforduló szemantikai függőségeket leírni, majd ellenőrizni. A nyelv által megkötéseket írhatunk a JSON node-ok típusára, értékére és összefüggéseire más JSON dokumentumbéli node-okkal. Az értelmező kimenete egy olyan objektum, mellyel tetszőleges számú JSON fájlt lehet ellenőrizni.

Letölthető fájlok

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