1 / 8

Principy překladačů

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

spencer
Download Presentation

Principy překladačů

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. Principy překladačů Překladač Jakub Yaghob

  2. 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 • http://ulita.ms.mff.cuni.cz/pub/predn/PP/

  3. 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č Cílovýkód Zdrojovýkód Chybováhlášení

  4. Co je to překladač? O něco formálněji • Mějme vstupní jazyk Lin generovaný gramatikou Gin • Dále mějme výstupní jazyk Lout generovaný gramatikou Gout nebo přijímaný automatem Aout • Překladač je zobrazení Lin→Lout, kde ∀ win∈Lin∃ wout∈Lout. Pro win∉Lin zobrazení neexistuje

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

  6. Překlad programu rozhraní .pp zdrojovýkód preprocesor překladač .asm knihovnyobjekty .obj spustitelnýkód linker/loader assembler

  7. Fáze překladače • Průchodypřekladače tabulky backend front end lexikálníanalýza syntaktickáanalýza sémantickáanalýza generovánímezikódu optimalizacemezikódu generováníkódu zdrojovýkód cílovýkód syntaxí řízenýpřeklad obsluhachyb

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

More Related