User Tools

Site Tools


mscfordprog:xtextgyak

Xtext gyakorlati feladatok

Az alábbi feladatokhoz az Xtext példaszoftverből kell kiindulni. Az egyes részfeladatok megoldása után finomítsa a mellékelt példákat az újonnan bevezetett nyelvi elemek felhasználásával.

  • Bővítse ki a nyelvet úgy, hogy az állapotgépekhez lehessen konstruktorokat definiálni, továbbá a mezőkhöz megadhassunk inicializáló kifejezést. Készítsen validációt és gyorsjavítást ahhoz a hibához, mikor a konstruktor neve eltér a befoglaló állapotgép nevétől. Gondoskodjon a címkézés és a szerkezeti nézet kiegészítéséről is.
  • Adja hozzá a nyelvhez a kizáró diszjunkció (diszjunkciónál erősebb, konjunkciónál gyengébb, bal-asszociatív), illetve a hatványozás (a szorzásnál erősebb, az unáris műveleteknél gyengébb, jobb-asszociatív) operátorát. Jelezze a típushibákat.
  • Vezessen be állapotgépek közötti binér kapcsolatok kezelésére szolgáló nyelvi elemeket.
    • Lehessen asszociációkat definiálni az állapogépekkel egy szinten, a kapcsolat nevének, valamint végpontjai navigálhatóságának, állapotgép-típusának és nevének megadásával. Egészítse ki a címkézést és a szerkezeti nézetet.
    • Legyen lehetőség összekapcsolni példányokat egy olyan utasítással, amely két objektum-végpont párt vár. Ellenőrizze, hogy az összekapcsolás helyes.
    • Egy . operátorhoz hasonló kifejezéssel tegye lekérdezhetővé egy objektumhoz adott végpont mentén kapcsolt objektumok gyűjteményét. Jelezze, ha a kiinduló objektumon keresztül a lekérdezett végpont nem érhető el, vagyis ha az nem illeszkedik vagy nem navigálható. Készítsen gyorsjavítást arra az esetre, mikor csak a navigálhatóságon kellene módosítani. Egészítse ki az implementációt úgy, hogy a szerkesztőben jól láthatóvá váljanak az adott helyen lekérdezhető végpontok.
mscfordprog/xtextgyak.txt · Last modified: 2019/03/19 21:30 by deva