Principy překladačů Překladač Jakub Yaghob. Literatura a slajdy Aho, Sethi, Ullman: Compilers - Principles, Techniques and Tools, Addison-Wesley 1986.

Slides:



Advertisements
Podobné prezentace
HYPERTEXT PREPROCESSOR. PROGRAMOVÁNÍ. DEFINICE POJMŮ Problém Problém nevyřešený, nežádoucí stav obvykle vyžaduje nějaké řešení Neřešitelný problém Neřešitelný.
Advertisements

 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
A4B33OSS (J. Lažanský) verze: Podzim 2013 Od programu k procesu 1 Obsah Téma 8 – Od programu k procesu 1.Interpretace a kompilace 2.Od zdrojového textu.
Softwarový systém DYNAST
Principy překladačů Běhová podpora Jakub Yaghob. Běhová podpora Statická podpora jazyka Překladač Interface na knihovny Hlavičkové soubory Dynamická podpora.
Principy překladačů Mezikód Jakub Yaghob.
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Principy překladačů Interpretované jazyky Jakub Yaghob.
Generování mezikódu Jakub Yaghob
Principy překladačů Vysokoúrovňové optimalizace Jakub Yaghob.
Principy překladačů Architektury procesorů Jakub Yaghob.
Lexikální a syntaktická analýza Jakub Yaghob
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Hana Kotinová Struktura a cíl práce Metody předzpracování dat Systémy předzpracování dat Historie vývoje DPT Jak program pracuje Budoucnost.
Lestes C++ compiler. Obsah 1. Úvod 2. Architektura 3. Implementace 4. Framework 5. Závěr.
25. ALGORITMIZACE A PROGRAMOVÁNÍ
Kapitoly z metodologie pedagogického výzkumu Prostředí pro výuku algoritmů Vojtěch Ouška.
Příklady použití zásobníkového automatu
Základy algoritmizace a programování
Modelovací jazyk UML. Jazyk UML je víceúčelový modelovací jazyk, který byl vyvinut speciálně pro účely softwarového inženýrství. Obsahuje formalizovaný.
+ZPE Ing.Jan MAYER (Základy programování pro elektrotechniku)
Sémantická analýza Jakub Yaghob
Příklady jazyků Příklad 1: G=({S}, {0,1}, P, S)
Syntaxí řízený překlad
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
Load Balancer RNDr. Václav Petříček Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný
Modelování a simulace MAS_02
Simulační modely a programové vybavení. Vývoj simulačních programů  Původně pouze strojový kód –Příliš dlouhé, náročné na programátora, obtížné hledání.
Vztah bezkontextových jazyků a ZA
Dokumentace informačního systému
Regulární výrazy Regulární výrazy představují další možnost popisu regulárních jazyků (právě od nich dostaly své jméno). Definice: Množina všech regulárních.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Souběžný návrh hardware a software (Language for Instruction Set Simulator-Oriented Model) MPO ČR, FT-TA3/128, Jazyk a vývojové prostředí pro.
Konečné automaty Vít Fábera.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Metodika objektového přístupu při tvorbě překladačů. Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
http:// Metody morfologické analýzy Seznam slovních tvarů –books: book-1/NNS, book-2/VBZ Zadrátovat do programu –hlavní.
Zásobníkový automat s omezeným obsahem zásobníku
JADEGen Nástroj pro generování chování z prostředí Agent Studio Implementace (ver0.1)
Infrastruktura pro dotazování nad sémantickými daty Jiří Dokulil, Jakub Yaghob, Filip Zavoral Katedra softwarového inženýrství, MFF UK Praha
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Programování POCSI. Programovani/POCSI2 Základní pojmy Akce - děj nad objekty, mající začátek a konec, a mající přesně definovaný účinek. Příkaz - popis.
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
1 Jaroslav Šmarda Excelent – využití možností Excelu v aplikacích Vema.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Digital Rights Managment Diplomová práce Petr Švenda MASARYKOVA UNIVERSITA Fakulta Informatiky Brno 06/2004
Lingvistický software Morfologický analyzátor – AJKA Morfologický analyzátor – AJKA Morfologická databáze – I_PAR Morfologická databáze – I_PAR Desambiguace.
Visual Basic - programování
CD B A Průmyslová aplikace v Control Webu Virtuální přístroje Propojená technologie Řadič měřící/řídící karty Výstupní.
Počítačové zpracování češtiny v Ústavu formální a aplikované lingvistiky
Překladače Vnitřní struktura překladače © Milan Keršláger
KURZ ALGORITMIZACE A PROGRAMOVÁNÍ V JAZYCE C Lekce č. 4: Programovací jazyk C Bc. Radek Libovický.
Orbis pictus 21. století Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Interkomunikační adresní systém.
Tým 32, varianta b/4/I.  Jakub Kadlubiec  Roman Pijáček  Petr Pliska  Jan Štourač  Václav Tunka (vedoucí)
Překladače 6. Sémantická analýza
A jeho praktická aplikace Štěpán Vacek Univerzita Hradec Králové Liberecké informatické fórum 2010.
Překladače 4. Lexikální analýza © Milan Keršlágerhttp:// Obsah: ● vstupní formáty,symboly.
XML a datový standard Zdeněk Jirkovec Softwarové Aplikace a systémy.
Základní pojmy v automatizační technice
Překladače 5. Syntaktická analýza
ZAL – 3. cvičení 2016.
Překladače Syntaktická analýza
Výukový materiál zpracován v rámci projektu
Překladače 2. Vnitřní struktura překladače
Název projektu: Moderní výuka s využitím ICT
Operační systémy Vnitřní struktura překladače
Překladače 6. Sémantická analýza
METODOLOGIE PROJEKTOVÁNÍ
Téma 8 – Od programu k procesu
Analýza informačního systému
Transkript prezentace:

Principy překladačů Překladač Jakub Yaghob

Literatura a slajdy Aho, Sethi, Ullman: Compilers - Principles, Techniques and Tools, Addison-Wesley 1986 Chytil M.: Automaty a gramatiky, SNTL 1984 Muchnick S.S.: Advanced compiler design and implementation, Morgan Kaufman Publishers 1997 ftp://ulita.ms.mff.cuni.cz/predn/PP

Co je to překladač? Naivní představa Černá krabička, která převádí (překládá) zdrojový kód do cílového kódu Překladač Zdrojový kód Cílový kód Chybová hlášení

Co je to překladač? O něco formálněji Mějme vstupní jazyk L in generovaný gramatikou G in Dále mějme výstupní jazyk L out generovaný gramatikou G out nebo přijímaný automatem A out Překladač je zobrazení L in →L out, kde ∀ w in ∈ L in ∃ w out ∈ L out. Pro w in ∉ L in zobrazení neexistuje

Příklady užití technik překladačů Strukturovaný nebo syntax-highlighting editor Pretty-printer Statické kontroly programu LINT Interpretery Překladače modelovacích jazyků Verilog, VHDL Dotazovací jazyky SQL

Překlad programu preprocesorpřekladač assemblerlinker/loader knihovny objekty zdrojový kód.pp.asm.obj spustitelný kód rozhraní

Fáze překladače lexikální analýza optimalizace mezikódu generování kódu syntaktická analýza sémantická analýza generování mezikódu zdrojový kód cílový kód tabulky obsluha chyb front end back end syntaxí řízený překlad Průchody překladače

Nástroje pro vývoj překladačů Generátory parserů Produkují syntaktický analyzátor Obvykle popis bezkontextovou gramatikou Bison, Coco/R, ANTLR Generátory scannerů Produkují lexikální analyzátor Obvykle popis regulární gramatikou Flex Generátory generátorů kódu Produkují překlad pro každou instrukci mezikódu do cílového kódu Model procesoru a jeho popis Mono JIT