Mezijazyk

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Mezijazyk je v informatice speciální jazyk využívaný abstraktním počítačem, jenž pomáhá v analýze počítačového programu. Termín mezijazyk je používán u překladačů pro označení mezikroku (odtud tedy mezijazyk) před generováním cílového strojového nebo objektového kódu. Mezikód je volen s ohledem na snadnější optimalizací nebo jiných transformací za účelem zlepšení jeho některých parametrů.

V lingvistice přirozených jazyků se jako mezijazyk označuje nářečí nebo idiolekt, v němž se mísí prvky dvou či více jazyků, například při osvojování druhého jazyka nebo v lokalitách, kde se dva jazyky ovlivňují a mísí.

Charakteristika

Mezijazyk se od normálního strojového kódu liší typicky ve třech základních aspektech:

* každá instrukce vyjadřuje právě jednu základní operaci; např. nejsou přítomny operace „shift-add“, které jsou běžné v mikroprocesorech * informace o řídící struktuře nemusí být součástí instrukční sady * počet dostupných registrů může být velký, dokonce nekonečný

Oblíbeným formátem pro mezijazyky je tříadresní kód.

Variací významu termínu „mezijazyk“ jsou jazyky používané jako mezijazyky některými vyššími programovacími jazyky, jejichž výstupem není objektový nebo strojový kód, ale právě pouze mezijazyk. Mezijazyk je poté zpracován vlastním překladačem, jehož výstupem je finální objektový nebo strojový kód. +more Mezijazyk se zde používá kvůli optimalizaci nebo získání vyšší přenositelnosti (použitím mezijazyka, pro který existují překladače pro různé procesory, architektury a operační systémy, jako např. programovací jazyk C). Jazyky, které se takto používají, spadají svou komplexností mezi vyšší programovací jazyky a nižší programovací jazyky, jako např. jazyk symbolických adres.

Jazyky

Jazyk C

Jazyk C je využíván jako mezijazyk mnoha programovacími jazyky, využívá ho např. Eiffel, Sather, Esterel, některé dialekty Lispu (Lush, Gambit), Haskell (Glasgow Haskell Compiler), C odnož Squeak Slang, ale i další. +more Některé varianty jazyka C byly navrženy tak, aby poskytly vlastnosti přenositelnosti jazyku symbolických adres, například C--, C Intermediate Language. a Low Level Virtual Machine.

Java Bytecode

Java Bytecode (od Sun Microsystems) je mezijazyk vytvořený pro potřeby Java Virtual Machine do kterého se překládají zdrojové kódy v různých jazycích pro běh na platformě Java Virtual Machine. JVM pak může provést JIT kompilaci, při níž je vytvořen strojový kód, který dosahuje vyššího výkonu.

Common Intermediate Language

Common Intermediate Language (od Microsoftu) je obdobou Java Bytecode, ale pro platformu . +moreNET. CIL je nezávislý na hardwarové platformě.

GCC

GNU Compiler Collection (GCC) používá vnitřně hned několik mezijazyků, aby zjednodušil přenositelnost a usnadnil křížovou kompilaci. Mezi tyto jazyky patří:

* historický Register Transfer Language (RTL) * stromový jazyk GENERIC * na SSA založený GIMPLE

Parrot Intermediate Representation

Zatímco je většina mezijazyků navržena pro podporu staticky typovaných jazyků, Parrot Intermediate Representation je navržen pro podporu dynamicky typovaných jazyků (původně Perl a Python).

Reference

Externí odkazy

http://suif.stanford.edu - The Stanford SUIF Group

Kategorie:Překladače

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top