Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Koľko kompilátorov tj predok a zadných koncov je potrebných pre M jazyky n strojmi využívaním medziproduktu?

Tu je návod, ako rozdeliť požiadavky na kompilátor pre viacero jazykov a strojov pomocou stredného jazyka:

Pochopenie komponentov

* predný koniec (kompilátor): Táto časť kompilátora číta zdrojový kód v špecifickom programovacom jazyku a prekladá ho do strednej reprezentácie (IR). Budete potrebovať jeden predný koniec pre každý programovací jazyk, ktorý chcete podporiť.

* Intermediate Language (IR): Toto je bežný jazyk, ktorý slúži ako most medzi prednými koncami a zadnými koncami. Je navrhnutý tak, aby bol strojovo nezávislý.

* zadný koniec (kompilátor): Táto časť kompilátora berie IR a vygeneruje strojový kód pre konkrétny cieľový stroj. Pre každú architektúru stroja, ktorú chcete podporiť, budete potrebovať jeden zadný koniec.

Výpočet

* predné konce: Potrebujete jeden predný koniec pre každý jazyk: m predné konce

* zadné konce: Potrebujete jeden zadný koniec pre každý stroj: n zadné konce

Celkom: Potrebujete m + n kompilátory (predné konce a zadné konce).

Príklad

Povedzme, že máte:

* m =3 Programovacie jazyky (C ++, Python, Java)

* n =2 architektúry strojov (x86 a rameno)

Potrebovali by ste:

* 3 predné konce (jeden pre každý jazyk)

* 2 Zadné konce (jeden pre každú architektúru)

* Celkom:5 kompilátory

Výhody medziproduktu

Použitie stredného jazyka ponúka niekoľko výhod:

* Opätovné použitie kódu: Kód IR môže byť použitý rôznymi prednými koncami a zadnými koncami, čím sa znižuje vývojové úsilie.

* Prenosnosť: Kód zostavený do IR je možné spustiť na ľubovoľnom počítači so zodpovedajúcim zadným koncom.

* Optimalizácia: Optimalizácie je možné uplatniť na úrovni IR, z ktorých má úžitok všetky jazyky a stroje.

Dôležitá poznámka: Výber stredného jazyka je rozhodujúci. Mal by byť efektívny, dobre vhodný na optimalizáciu a mať zrelý ekosystém.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené