Skip to main content

Co je metaprogramování?

Metaprogramming je proces psaní počítačových programů, které zase píšou další programy.Proces metaprogramování umožňuje větší flexibilitu počítačovým programátorům, protože práce obvykle prováděné během běhového období jsou přiděleny do období kompilace.Tento proces uvolňuje čas programátora zaměřit se na další úkoly, protože se omezuje na čas, který trvá ručně napsat kód programu.Zkompilace není nutná, protože metaprogramování umožňuje programům řešit nové situace s větší účinností.Metalungage je termín poskytovaný počítačovému jazyku, který metaprogram využívá.

Jazyk objektu je počítačový jazyk těch programů, které jsou psány procesem programování meta.Reflexivita je termín daný metalanguage, který také může způsobit metaprogramování.Metaprogramování funguje různými způsoby.Jedním ze způsobů je, aby rozhraní programování aplikací umožnilo programovacímu kódu přístup k vnitřkům běhového motoru.

Dalším způsobem, jak metaprogramování funguje, je umožnění programům psát další programy prostřednictvím procesu dynamického provádění.V tomto případě se v tomto procesu používají výrazy řetězců.Ačkoli stejný jazyk lze v těchto dvou procesech použít, není neobvyklé, že jazyky upřednostňují jeden proces před druhým.

metaprogramování také funguje obcházením jazyka.Umožňuje změnu jazyků prostřednictvím systémů transformace programu.Tento postup dává metaprogramování svobody používat jazyky, i když jazyk nevyužívá žádné charakteristiky metaprogramování.

Pro metaprogramování není nutný zdrojový kód.To lze provést přírůstkovou kompilací nebo programy měnící se runtime.Počítač Langaugae lisp je oblíbeným jazykem pro metaprogramovací proces.Je to kvůli jednoduchosti tohoto typu počítačového jazyka a jeho síly.Tento proces způsobuje, že metaprogramovací jazyk a hostitelský programovací jazyk stejný.Pokud k tomu dojde, lze tuto rutinu LISP recyklovat pro proces metaprogramování.

Jiné jazyky použily tento přesný proces s integrací programového tlumočníka.Tento tlumočník pracuje s daty v programu.Programovací jazyky specifické pro doménu v metaprogramování jsou další formou, která vytváří analyzátory analyzátorů a lexikální analyzátory.To umožňuje uživateli používat regulární výrazy k definování jazyka.