Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 17 - Interpreter

V dnešním tutoriálu Návrhové vzory GoF si představíme návrhový vzor chování Interpreter, který definuje způsob implementace interpretace nějakého jazyka pomocí objektově orientovaného programování.

Motivace použití vzoru Interpreter

I když je v dnešní době spíše přebytek programovacích jazyků, občas se stále můžeme dostat do situace, kdy je výhodné implementovat nějaký vlastní metajazyk. Např. nějakou českou obdobu SQL pro firemní skripty, kterou budou umět ovládat i osoby bez znalosti angličtiny a bude mít i o něco jednodušší gramatiku. Kód v takovém jazyce by mohl vypadat například takto:

Aktualizuj osoby a nastav jim jmeno na "Jan" když mají jmeno "Honza"

Kód v tomto jazyce bychom následně chtěli zpracovat, převést (interpretovat) na kód nějakého jiného jazyka. Například spouštět opravdové SQL příkazy na základě tohoto českého databázového jazyka. Nemusí se jednat jen o interpretaci vlastního programovacího jazyka, ale také například o vyhodnocení matematického výrazu.Pro ideální implementaci našeho interpreteru nemusíme chodit daleko, je jedním z návrhových vzorů GoF.

Definice vzoru Interpreter

Vzor řeší, jak kód jazyka reprezentovat v paměti jako množinu objektů a jak jej následně spustit. Naopak vůbec neřeší problém parsování zdrojového kódu do tohoto objektového modelu. Pouze popisuje, jak by měl model vypadat a jak jej následně vyhodnocovat. Funkční parsování matematických výrazů si ukážeme na příkladu níže. Interpreter zavádí dva základní typy výrazů jazyka:


 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

Koupit tento kurz

Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za pouhých 625 Kč
Aktuální stav konta 0 Kč
Koupí tohoto balíčku získáš přístup ke všem 26 článkům (21 lekcí, 5 testů) tohoto kurzu.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Neomezený a trvalý přístup k jednotlivým lekcím.
  • Kvalitní znalosti v oblasti IT.
  • Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.

Popis článku

Požadovaný článek má následující obsah:

V tutoriálu Návrhové vzory GoF si představíme návrhový vzor Interpreter, který definuje jakým způsobem implementovat interpretaci nějakého jazyka.

Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Článek pro vás napsal David Hartinger
Avatar
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity