Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

14
Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül Podoski Péter és Zabb László

description

Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül. Podoski Péter és Zabb László. Bevezető. Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök hiányosságait - PowerPoint PPT Presentation

Transcript of Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Page 1: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Algoritmusok megjelenítése egy magas szintű programnyelv vizuális

nyomkövetőjén keresztülPodoski Péter és Zabb László

Page 2: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

BevezetőAlgoritmus-vizualizáció témakörében

végeztünk kutatásokat és fejlesztéseketFelmértük a manapság ismert eszközök

hiányosságaitKidolgoztunk egy saját rendszert, amiben az

algoritmusok vizualizációjához szükséges eszközök széles palettája elérhető

Page 3: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Az igény megfogalmazásaElvárások egy jó vizualizátorral kapcsolatban:

célközönség számára megfelelő megjelenítést lehessen hozzá tetszőleges vizualizációs modult

készíteni vagy csatolni

Szélsőségek túl részletes, túl kötött, csak megjelenítés, animálás

Megoldás a célunk („Arany középút”) -> PSimulex

Page 4: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Saját nyelvMagas szintű utasítások, lehetőségek.Legfőbb jellemzői: gyengén típusos, C-szerű,

modern nyelvekhez illeszkedő szintaxis,egyszerű, típuskonstrukció rekord, fontosabb

vezérlési szerkezetek, felhasználói függvények, importálás, globális változók

Page 5: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Szintaxis

Page 6: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Fordítás gépi kódraMiből mi lesz a négy lépés alatt az ábra

alapján. Eredmény a Microlex kód.

Page 7: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

ParancsobjektumokEgy kapott környezeten dolgoznak.Környezet: IP, RunStack, CallStack,

VáltozólistaHárom fő csoportjuk:

Vezérlés-átadó parancsobjektumokKonkrét műveleteket végrehajtó

parancsobjektumokVáltozókat, adatszerkezeteket kezelő

parancsobjektumok

Page 8: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Saját virtuális platformParancsobjektumok tömbje interpretálódik, a

környezet elemeiHW (többprocesszoros gép, memória)SW op. rendszer, alacsony szinten: runstack,

call stack, varlist, IP, SP Ide jön egy ábraVirtuális hálózat, virtuális gép (Mini OS ,

ütemező), folyamat, szál

Page 9: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Saját típusrendszerGazdag. BaseType == Object

Primitív típusok + gyűjtemények + fák + gráfok(Esetleg 2 spec Referencia + Property wrapper)

Saját típusok Hogy tudjuk mi micsodaHogy egyszerűen lehessen algoritmusokat megfogalmazni.

Felhasználói típus a rekord, példányosul, mezőinek kezdőértéket lehet megadni.

Gyengén típusosság miatt mindenbe mindent lehet tenni.

Konverzió + típus hierarchia. Szinte minden mindenre. Minden összetettre.

Page 10: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Saját IDEFunkciók

LexLighterSyntax highlightLéptetési módszerekKorszerű IDE, tabok, több forrásfájl kezelése,

testre szabható, ergonómikusNézetek váltása

Page 11: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Típushierarchia

Page 12: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Saját vizualizációDinamikus, változást követő, adatszerkezetek

megjelenítése, mit láthatunkEgy-két ábra egy-egy mondat erejéig.Montázs:

Hívási vermes megjelenítésEgy központi adatszerkezet kiemeléseEgymásba ágyazhatóság

Adatszerkezetek szerkesztése menet közben is, gráf editor(, fa editor)

Page 13: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Egy bináris fa megfigyelése

Page 14: Algoritmusok megjelenítése egy magas szintű programnyelv vizuális nyomkövetőjén keresztül

Felhasználási területekOktatás

AlgoritmusokProgramozásFordító programok

KutatásAlgoritmusok „megalkotása„Elméletek tesztelése

FejlesztésAlgoritmikus problémák megoldása itt és aztán implementálása

DemonstrációAutomatikusan létrejön a megjelenítés, testre szabható,

exportálható a program futása, eredménye, csak a programot kell megírni, az inputot megszerkeszteni.