Primitivní jazyk - Language primitive

V oblasti výpočetní techniky jsou jazykové primitivy nejjednoduššími prvky dostupnými v programovacím jazyce . Primitiv je nejmenší „jednotka zpracování“, kterou má programátor daného stroje k dispozici, nebo může být atomovým prvkem výrazu v jazyce.

Primitiva jsou jednotky s významem, tj. Sémantickou hodnotou v jazyce. Liší se tedy od tokenů v analyzátoru , což jsou minimální prvky syntaxe .

Primitivové na úrovni strojů

Strojová instrukce , obvykle generován assembler programu, je často považován za nejmenší jednotka zpracování, i když to není vždy případ. Obvykle provádí to, co je vnímáno jako jedna operace, jako je kopírování bajtu nebo řetězce bajtů z jednoho umístění paměti počítače do jiného nebo přidání jednoho registru procesoru do jiného.

Mikrokódové primitivy

Mnoho dnešních počítačů však ve skutečnosti ztělesňuje ještě nižší jednotku zpracování známou jako mikrokód, která interpretuje strojový kód, a právě tehdy by pokyny pro mikrokód byly skutečnými primitivy. Tyto pokyny jsou obvykle k dispozici pro úpravu pouze programátory dodavatele hardwaru .

Primitivní jazykové primitivy

Program HLL ( high-level programming language ) se skládá z diskrétních příkazů a primitivních datových typů, které mohou být také vnímány k provedení jedné operace nebo představují jedinou datovou položku, ale na vyšší sémantické úrovni, než jaké poskytuje stroj. Kopírování datové položky z jednoho umístění na druhé může ve skutečnosti zahrnovat mnoho strojových pokynů, které například

než konečně

  • provedení operace konečného úložiště do cílového cíle.

Některé příkazy HLL, zejména ty, které zahrnují smyčky , mohou generovat tisíce nebo dokonce miliony primitiv v nízkoúrovňovém programovacím jazyce (LLL), které obsahují skutečnou délku cesty instrukce, kterou musí procesor provést na nejnižší úrovni. Toto vnímání bylo označováno jako trest za abstrakci .

Interpretovaní jazykoví primitivové

Interpretovaný jazyk výpis má podobnosti s HLL primitivy, ale s další přidanou vrstvu . Než lze příkaz provést způsobem velmi podobným příkazu HLL: musí být nejprve zpracován tlumočníkem , což je proces, který může zahrnovat mnoho primitiv v cílovém strojovém jazyce.

Jazykoví primitivové čtvrté a páté generace

Programovací jazyky čtvrté generace (4GL) a páté generace programovacích jazyků (5GL) nemají jednoduchou korespondenci typu one-to-many od primitivů na vysoké až nízké úrovni. Ve specifikacích 4GL a 5GL je obsaženo několik prvků primitiv interpretovaného jazyka, ale přístup k původnímu problému je méně procedurální jazykový konstrukt a je více orientován na řešení problémů a systémové inženýrství .

Viz také

Reference

  1. ^ Surana P (2006). „Meta-kompilace jazykových abstrakcí“ ( PDF ) . Archivováno (PDF) z originálu dne 2015-02-17 . Citováno 2008-03-17 . Citační deník vyžaduje |journal=( nápověda )
  2. ^ Kuketajev. „Benchmark Data Abstraction Penalty (DAP) pro malé objekty v Javě“ . Archivovány od originálu na 2009-01-11 . Citováno 2008-03-17 .
  3. ^ Chatzigeorgiou; Stephanides (2002). „Hodnocení výkonu a síly objektově orientovaných vs. procedurálních programovacích jazyků“. V Bliebergeru; Strohmeier (eds.). Sborník - 7. mezinárodní konference o spolehlivých softwarových technologiích - Ada -Europe'2002 . Springer. p. 367. ISBN 978-3-540-43784-0.