Presentation is loading. Please wait.

Presentation is loading. Please wait.

Prekladač, jeho funkcia a štruktúra, spôsob prace

Similar presentations


Presentation on theme: "Prekladač, jeho funkcia a štruktúra, spôsob prace"— Presentation transcript:

1 Prekladač, jeho funkcia a štruktúra, spôsob prace

2 Prekladač Program, ktorý transformuje (preloží) program
V zdrojovom jazyku – zdrojový program Do cieľového jazyka – cieľový program Samotný prekladač, ako program, je napísaný v implementačnom jazyku Zdrojový jazyk je zvyčajne „vyšší“, cieľový zvyčajne „nižší“, vzhľadom na strojový jazyk Implementačný jazyk – jazyk, ktorý musí „poznať“ počítač, na ktorom sa realizuje preklad

3 Zobrazenie prekladača vzhľadom na jazyky
ZJ CJ IJ

4 Zobrazenie prekladača vzhľadom na jazyky. Príklad.
ZJ – Pascal CJ – strojový jazyk počítača PX IJ – jazyk C Predpoklad – „počítač“ PX „pozná“ jazyk C (má prekladač jazyka C)

5 Zobrazenie Prekladač jazyka Pascal Pascal Strojový kód PX C

6 Použitie hosťujúceho počítača
Hosťujúci počítač zabezpečí preklad z C do strojového kódu počítača PX Toto umožní písať prekladač v C

7 Použitie hosťujúceho počítača Cont1
Prekladač jazyka C C Strojový kód PX Strojový kód PX

8 Použitie hosťujúceho počítača Cont2
Prekladač jazyka Pascal Pascal Stroj_kód PX C Prekladač Jazyka Pascal Pascal Stroj_kód PX Stroj_kód PX Prekladač Jazyka C C Stroj_kód PX Stroj_kód hosť_poč

9 Bootstrap V implementačnom jazyku sa napíše prekladač vybranej časti jazyka ZJ Kompletný preklač sa napíše v samotnom jazyku ZJ

10 Spôsob práce prekladača
Vstup – reťazec znakov reprezentujúcich ZP Výstup cieľový program – kompilátor alebo realizácia zdrojového programu – interprét Spôsob práce kompilačný alebo interpretačný

11 Kompilátor Vstupné údaje Zdrojový program Kompilátor Cieľový program

12 Interprét Vstupné údaje Zdrojový program Interprét Výstupné údaje

13 História 1950 – pre FORTRAN Veľmi dobre rozpracovaná problematika
Rozpracované metódy a techniky majú podstatne širšiu použiteľnosť než sú samotné prekladače V súčasnosti JIT (Just-In-Time) kompilácia „stiahnutých“ Java appletov Optimalizovaný kód – ak sa požaduje „vysoká rýchlosť“ a malý rozsah – videorecorder, mobil Kompilačné techniky sa používajú vo web browseroch, postscriptových interpretoch, automatických prekladoch, atď.

14 Preklad a Štruktúra prekladača
Preklad nie je priamočiary proces – vyžaduje si celý rad viac alebo menej samostatných činností Prekladač musí najprv zistiť a „pochopiť“, čo je na vstupe – robí to časť prekladača - analyzátor Analyzátor – analyzuje ZP a zisťuje či je napísaný podľa pravidiel zdrojového jazyka Informácie získané pri analýze tvoria základ pre preklad ZP do CP – jeho syntézu, ktorú zabezpečuje zodpovedajúca časť prekladača Syntetizátor – zabezpečuje samotnú syntézu CP, prípadne aj jeho realizáciu

15 Grafická reprezentácia prekladača
Tabuľka symbolov Syntaktická analýza Generovanie Cieľového programu ZP Lexikálna analýza Spracovanie sémantiky/ Sémantická reprezáentácia CP Ošetrenie chýb

16 Analýza a syntéza prekladu
Analýza je rozdelená na 2 úrovne Lexikálnu vstupom je reťazec znakov Výstupom reťazec lexikálnych jednotiek Syntaktickú Vstupom je reťazec lexikálnych jednotiek Výstupom je reťazec syntaktických štruktúr

17 Komunikácia medzi časťami prekladača
Okrem „štandardných mechanizmov“ je dôležitým prvkom Tabuľka symbolov, ktorá je vlastne spoločnou pamäťou, ktorú zdielajú a využívajú jednotlivé časti prekladača ako pre vlastnú potrebu, tak pre vzájomnú komunikáciu. Každá časť prekladača vykonáva predpísanú činnosť a v prípade výskytu chyby v ZP – hovoríme o „ošetrení“ chýb – oznámi sa chyba a pokračuje sa v práci s tým, že už sa vie, že sa vyskytla chyba, ktorá má svoje dôsledky

18 Opis zdrojového jazyka
Zdrojový jazyk (ale nielen zdrojový) má presné pravidlá, ktoré sa musia pri písaní programu dodržiavať a hovoríme im syntaktické alebo gramatické pravidlá Na opis – špecifikáciu programovacích jazykov je rozpracovaný formálny matematický aparát, ktorý umožňuje nielen rýchlu a efektívnu kontrolu gramatickej správnosti programu, ale aj automatizáciu konštruovania jednotlivých častí prekladača. Vytvorené metódy a techniky opisu - špecifikácie jazykových konštrukcií a následnej automatickej konštrukcii jednotlivých častí prekladača presahujú oblasť prekladačov, a majú ďaleko všeobecnejšie použitie.

19 Literatúra Steven John Metsker : Building Parsers With Java™. © 2001 / / Addison Wesley Professional Charles Fischer, University of Wisconsin : Crafting a Compiler with C, Richard LeBlanc, Georgia Institute of Technology, © 1991 / / Addison-Wesley

20 Literatúra Alfred V. Aho, Jeffrey D. Ullman, Compilers, © 1986 / / Addison-Wesley Dick Grune, Henri E. Bal, Ceriel J.H. Jacobs, and Koen G. Langendoen : Modern Compiler Design, John Wiley & Sons, Ltd., pp xviii, 2000.

21 Literatúra Molnár L., Češka,M., Melichar,B.: Gramatiky a jazyky, Bratislava, ALFA, 1987. Molnár L.: Programovacie jazyky - implementácia. Bratislava, EF,

22 OK

23


Download ppt "Prekladač, jeho funkcia a štruktúra, spôsob prace"

Similar presentations


Ads by Google