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

Slides:



Advertisements
Similar presentations
ŠKOLA: Gymnázium, Tanvald, Školní 305, příspěvková organizace ČÍSLO PROJEKTU: CZ.1.07/1.5.00/ NÁZEV PROJEKTU: Šablony – Gymnázium Tanvald ČÍSLO.
Advertisements

YOUR LOGO Networking I. YOUR LOGO Obsah prednášky  Network Access,  Remote Access Server,  VPN, dial-up,  Network Access Protection – NAP, 802.3,
Mapy a digitálne umenie. Mercator: Imperiální společenství – ako príloha novin Graphic.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 531 Compiler Construction Final Lecture of the Semester Spring 2010 Marco.
Martin Vacek Filozofický Ústav Slovenská Akadémia Vied Školite ľ : Prof. Marián Zouhar, PhD. 14/01/2013
ŠKOLA: Gymnázium, Tanvald, Školní 305, příspěvková organizace ČÍSLO PROJEKTU: CZ.1.07/1.5.00/ NÁZEV PROJEKTU: Šablony – Gymnázium Tanvald ČÍSLO.
Paneurópsky prieskum verejnej mienky o ochrane zdravia a bezpečnosti pri práci Výsledky z celej Európy a Slovenska - Máj 2013 Reprezentatívne výsledky.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 531 Compiler Construction Ch.2: Language Processors Spring 2010 Marco.
Reference Book: Modern Compiler Design by Grune, Bal, Jacobs and Langendoen Wiley 2000.
PRÍTOMNÝ PRIEBEHOVÝ ČAS PRESENT CONTINUOUS Mgr.Anna Görnerová ZŠ Moskovská Banská Bystrica Anglický jazyk 6.ročník ZŠ.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 531 Compiler Construction Ch.2 Spring 2007 Marco Valtorta
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 531 Compiler Construction Ch.1 Spring 2010 Marco Valtorta
XML pre programátorov 7. víkend s Linuxom 5. – 6. október 2002 Žilina Stanislav Meduna ETM Aktiengesellschaft
UPLATŇOVANIA METODIKY CLIL NA SLOVENSKÝCH ŠKOLÁCH
Slovak University of Technology in Bratislava Faculty of Civil Engineering Prof. Ing.Jan Szolgay, PhD. Vice-dean for Science, Research and Foreign Relations.
Ján GENČI PDT 2009 Systém riadenia bázy dát (Database Management System)
Fuzzy ES - Fuzzy množiny_ stručný náhľad Približne dva alebo aj trochu viac /matematizácia neurčitosti/ Fuzzy logic is a very powerful technique that enables.
Chih-Hung Wang Chapter 0: Introduction 參考書目 Leland L. Beck, System Software: An Introduction to Systems Programming (3rd), Addison-Wesley,
ŠKOLIACE CENTRUM INFOVEKU OBCHODNÁ AKADÉMIA LEVICE Využitie IKT v Anglickom jazyku 9.ročník Ing.Katarína Rudzanová jún 2005.
Analýza textu Márius Šajgalík. Spracovanie prirodzeného jazyka Segmentácia reči Rozpoznávanie reči Strojový preklad OCR...
HORIZON RNDr. Eva Majkova, DrSc. SAV Štefánikova 49 SK Bratislava Mobil Kontakt.
1 Global Positioning System (GPS) Joe Montana IT Fall 2003 pp.0-17 preklad: R. Vislai, r.2010, Košice.
2007 Microsoft Office System Zmeny v licencovaní.
Atomic Force Microscopy
Bezpečnosť a ochrana zdravia pri práci sa týka každého z nás. Cenná pre Vás. Prínos pre firmu. Paneurópsky prieskum verejnej mienky o ochrane zdravia a.
7. Symbol Table Chih-Hung Wang Compilers References 1. C. N. Fischer and R. J. LeBlanc. Crafting a Compiler with C. Pearson Education Inc., D.
8. Symbol Table Chih-Hung Wang
Analyzing dichotomous dummy variables
Konference Kvalita jazykového vzdelávania na univerzitách v Európe VI Bratislava Lenka Zouhar Ludvíková Martina Šindelářová Skupeňová Masaryk University.
Autor: Gabriel Halasi Predmet: Úvod do bakalárskej práce
Zariadenia na ochranu pred predpätím a výpadkom napätia.
PROGRAMOVÉ VYBAVENIE Obsah: program programovacie jazyky
Správa pamäti.
Sme produkty, musíme sa predať
Podnikové komunikačné systémy Dušan Kováč
K jazykovej politike Európskej komisie EURÓPSKA ZNAČKA a EURÓPSKY UČITEĽ JAZYKOV ROKA 2010 Bratislava 24. september 2010.
Prednáška 8 podprogramy typy podprogramov lokálne a globálne objekty
Motivácia Ukážky vypracovaných projektov: Projekt 1 , Projekt 2 , Projekt 3 Opakovanie HTML Kaskádové štýly alebo CSS Java Script PHP SQL Značka pre telo.
Procedurálne programovanie: 2. prednáška
Procedurálne programovanie 1. prednáška
Typy informácií a ich prezentácia a spracovanie
Operačné systémy a ich funkcie.
Sieťový operačný systém
Procedurálne riadenie letovej prevádzky
Človek vo sfére peňazí ročník.
KVANTITATÍVNE METÓDY V MARKETINGU
William Shakespeare Životopis
Integritné obmedzenia v SQL
Spresnenie požiadaviek pri hodnotení kvality veterinárnych liekov
Webové prehliadače.
OPERAČNÝ SYSTÉM.
Vlastnosti kvantitatívnych dát
Big Data & Analytics Prediktívna analýza pomáha poľskej sieti drogérií Rossmann pochopiť vzory nákupov a vyladiť propagačné akcie Urýchľuje generovanie.
História vzniku internetu
Metódy kĺzavých priemerov (MA – moving averages) - Marcel Kocifaj
Spínané zdroje Jaroslav Henzély I.V 2013/2014.
Performativita. Kódová podstata. Procedurálny model komunikácie.
INCITES: Journal Citation Reports
CSCE 531 Compiler Construction Ch.2
Smelý Palko v Ohiu alebo pán Turing ide voliť
Open Access v H2020 Barbora Kubíková Národný kontaktný bod
Patrik Ort Acount Executive , Stredná Európa
Práca vývojárskeho tímu
ROVINNÉ (2D) SYMBOLY DWG
Princípy počítačov 1 LS 2002/2003
Poznámky k súčasným zmenám vo fyzikálnom vzdelávaní na gymnáziách
10 NAJKRAJŠÍCH MIEST SVETA
Andrej Lúčny Témy bakalárskych prác Andrej Lúčny
NOVINKA 2015.
5. Bottom-Up Parsing Chih-Hung Wang
Presentation transcript:

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

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

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

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)

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

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

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

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č

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

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ý

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

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

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ď.

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

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

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

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

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.

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

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

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, 1983.

OK