https://github.com/battila7/jield-tdk
Generátorok előállítása CPS-transzformációval Java nyelven
https://github.com/battila7/jield-tdk
Last synced: about 2 months ago
JSON representation
Generátorok előállítása CPS-transzformációval Java nyelven
- Host: GitHub
- URL: https://github.com/battila7/jield-tdk
- Owner: battila7
- Created: 2017-03-01T22:55:01.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-04-13T08:46:38.000Z (about 6 years ago)
- Last Synced: 2025-02-16T14:53:20.409Z (4 months ago)
- Language: TeX
- Homepage:
- Size: 711 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Generátorok előállítása CPS-transzformációval Java nyelven
## Debreceni Egyetem, Informatikai Kar, Számítógéptudományi Tanszék
Szerző: Bagossy Attila
Témavezetők: Dr. Battyányi Péter, Balla Tibor
## Absztrakt
A dolgozatban egy olyan transzformációs eljárás kerül ismertetésre, mely lehetővé teszi generátorok használatát Java nyelvben. Az eljárás a nyelv és a fordító módosítása nélkül, a Java által biztosított annotációk és a Pluggable Annotation Processing API segítségével valósítja meg a generátorok támogatását. Ennek köszönhetően használata nem igényel speciális futtatókörnyezetet. Az implementáció részletei mellett a dolgozat egy áttekintő képet ad az úgynevezett Continuation Passing Style használatáról és a generátorral rokon szerkezetek családjáról.
Az eljárás kifejtését követően gyakorlati példák szemléltetik a generátorok felhasználásának lehetőségeit. Ezzel együtt a transzformáció segítségével, és a Java jelenlegi szerkezeteit használva nyert generátorok összehasonlítására is sor kerül, teljesítményt és más szempontokat figyelembe véve.
Zárásként az eljárás továbbfejlesztésének lehetséges irányai szerepelnek, mint a haladottabb vezérlési szerkezetek modellezése, vagy a nyelvi szintű támogatás bevezetése.
## Build
A dolgozat PDF-be való buildeléséhez Windowson felhasználható a `make.bat` állomány. A buildhez a `latexmk` és a `pdflatex` programok szükségesek.