1 / 22

Programozáselmélet

Programozáselmélet. Logikák és módszerek a programhelyesség bizonyításához. Programmodellek szekvenciális programok rekurzív programok nemdeterminisztikus elemek párhuzamos programok funkcionális programok Programok szemantikája transzlációs szemantika attribútumnyelvtanok

hye
Download Presentation

Programozáselmélet

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. Programozáselmélet Logikák és módszerek a programhelyesség bizonyításához

  2. Programmodellek szekvenciális programok rekurzív programok nemdeterminisztikus elemek párhuzamos programok funkcionális programok Programok szemantikája transzlációs szemantika attribútumnyelvtanok operációs szemantika denotációs szemantika axiomatikus szemantika Programozáselmélet

  3. Programozáselmélet

  4. Irodalom • Jan van Leeuwen ed.: Handbook of Theoretical Computer Science: Formal Models and Semantics, Elsevier Pub. 1990. • P. Cousot: Methods and Logic for Proving Programs • H. P. Barendregt: Functional Programming and Lambda Calculus • H. R. Nielson - F. Nielson: Semantics with Applications: A Formal Introduction, 1992. www.daimi.au.dk/~hrn • Kozma L. - Varga L.: A szoftvertechnológia elméleti kérdései, ELTE 2003. • Csörnyei Z.: Lambda-kalkulus, előadás jegyzet ELTE

  5. Transzlációs szemantika Program Input adat Transzlációs függvény Tárgyprogram Végrehajtás Program output

  6. Szövegkörnyezet • Nem hiszek a reinkarnációban. Már az előző életemben sem hittem benne. • Edd meg fiam a héját is! – mondta a sas a válogatós fiókájának. • Bizonytalan vagyok. Vagy mégsem?

  7. Attribútumnyelvtan Komponensei: • G környezetfüggetlen nyelvtan • A attribútumok rendszere • A nyelvtan nemterminális szimbólumaihoz attribútumokat (adott típusú változókat) rendelhetünk, Ezek tartalma lesz a jelentés egy-egy komponense. Az attribútumok kétfélék: szintetizáltak és örököltek. Az előbbiek a nemterminálisból levezetett szóból kinyer-hető jelentést, míg az utóbbiak a szövegkörnyezet jelentés-módosító hatásait tartalmazzák. • P szemantikai egyenletek • Az egyenletekkel lehet definiálni a nyelvtan szabályaiban szereplő nemterminálisok attribútumai közti összefüggéseket

  8. Attribútumnyelvtan Egy mondat jelentésének meghatározása: A mondat szintaxisfájában szereplő nemterminálisok attribútumai annyi példányban szerepelnek, ahány példányban maga a nemterminális szerepel. Egy nemterminálisból levezetett részszó jelentését a nemterminális szintetizált attribútumai képviselik, amely függ a külső hatásokat megtestesítő örökölt attribútumuktól. Azaz a kiszámítás folyamatában az örökölt attribútumok az input adatok, a szintetizáltak az outputok. Az attribútumelőfordulások tartalmának meghatározása a szemantikai egyenletek alapján történik.

  9. pA q uB v . . . xC y Attribútumfüggőségek sémája Szintetizált attribútumok: q, v, y Örökölt attribútumok: p, u, x

  10. Példa: Bináris valós konstansok • Környezetfüggetlen nyelvtan: • Attribútumok rendszere:

  11. S v rN v l . rN v l rN v l rN v l rB v Példa: Bináris valós konstansok • Szemantikai egyenletek és a lokális függőség

  12. rB v rN v l rB v 1 0 Példa: Bináris valós konstansok • Szemantikai egyenletek és a lokális függőség

  13. Szintaxisfa S . N N B N B N N B 0 N B 1 1 0

  14. Attribútum előfordulások S v rN v l . rN v l rN v l rB v rN v l rB v rN v l rB v 0 rN v l rB v 1 1 0

  15. Lokális attribútum függőségek S v rN v l . rN v l rN v l rB v rN v l rB v rN v l rB v 0 rN v l rB v 1 1 0

  16. Globális attribútum függőségek S v rN v l . rN v l rN v l rB v rN v l rB v rN v l rB v 0 rN v l rB v 1 1 0

  17. Attribútumok redukálása S v rN v l . rN v l rN v l rB v rN v l rB v rN v l rB v 0 rN v l rB v 1 1 0

  18. Attribútumok kiértékelése 2.25 S v 0.25 0 -2 rN v l 2 . rN v l 2 0 1 0 rN v l rB v rN v l rB v 2 1 0.25 -2 rN v l rB v 0 rN v l rB v 1 2 0 1 0 0 0 1 0

  19. Operációs szemantika Program Input adat Operációspecifikáció Eredmény • Az operációspecifikáció szokásos komponensei: • konfigurációk halmaza • operációs reláció: bináris reláció a konfigurációk halmazán (a megtehető elemi operációk halmaza) • kezdő konfigurációk, végkonfigurációk

  20. Denotációs szemantika Program Jelentésfüggvény Matematikai denotáció Az inputot és outputot, és a köztük lévő kapcsolatot kifejező matematikai objektum a matematika nyelvén megfogalmazva

  21. Axiomatikus szemantika • Magasabb absztrakciós szint: nem a program inputja és outputja közti kapcsolat közvetlen leírása a cél. • Feladat (pl. input- és output- feltételpár) • Helyességfogalmak (feladat és program viszonya) • Kalkulus a helyesség bizonyításához • A helyességet kifejező formulák • Axiómák, levezetési szabályok (pl. Hoare-kalkulus, Dijkstra-kalkulus stb.)

  22. Pragmatika • - Nincs itt túl meleg?= Legyen szíves kinyitni az ablakot.- Mindjárt kinyitom az ablakot. • - Nem unja már? = Nagyon zavar, amit csinál, legyen szíves befejezni.- Ha zavarja, befejezem. • - Mi van itt, bolondok háza?! = Azonnal fejezzék be ezt a rendetlenkedést.- Elnézést, azonnal befejezzük. vagy- Igen, de mi itt csak látogatók vagyunk.

More Related