1 / 14

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ü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

padma
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 • Kidolgoztunk egy saját rendszert, amiben az algoritmusok vizualizációjához szükséges eszközök széles palettája elérhető

  3. Az igény megfogalmazása • Elvá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

  4. Saját nyelv • Magas 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

  5. Szintaxis

  6. Fordítás gépi kódra • Miből mi lesz a négy lépés alatt az ábra alapján. Eredmény a Microlex kód.

  7. Parancsobjektumok • Egy kapott környezeten dolgoznak. • Környezet: IP, RunStack, CallStack, Változólista • Három fő csoportjuk: • Vezérlés-átadó parancsobjektumok • Konkrét műveleteket végrehajtó parancsobjektumok • Változókat, adatszerkezeteket kezelő parancsobjektumok

  8. Saját virtuális platform • Parancsobjektumok tömbje interpretálódik, a környezet elemei • HW (többprocesszoros gép, memória) • SW op. rendszer, alacsony szinten: runstack, callstack, varlist, IP, SP • Ide jön egy ábra • Virtuális hálózat, virtuális gép (Mini OS , ütemező), folyamat, szál

  9. Saját típusrendszer • Gazdag. BaseType == Object • Primitív típusok + gyűjtemények + fák + gráfok • (Esetleg 2 spec Referencia + Propertywrapper) • Saját típusok • Hogy tudjuk mi micsoda • Hogy 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.

  10. Saját IDE • Funkciók • LexLighter • Syntaxhighlight • Léptetési módszerek • Korszerű IDE, tabok, több forrásfájl kezelése, testre szabható, ergonómikus • Nézetek váltása

  11. Típushierarchia

  12. Saját vizualizáció • Dinamikus, változást követő, adatszerkezetek megjelenítése, mit láthatunk • Egy-két ábra egy-egy mondat erejéig. • Montázs: • Hívási vermes megjelenítés • Egy központi adatszerkezet kiemelése • Egymásba ágyazhatóság • Adatszerkezetek szerkesztése menet közben is, gráf editor(, fa editor)

  13. Egy bináris fa megfigyelése

  14. Felhasználási területek • Oktatás • Algoritmusok • Programozás • Fordító programok • Kutatás • Algoritmusok „megalkotása„ • Elméletek tesztelése • Fejlesztés • Algoritmikus 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.

More Related