Literál

Literál (z anglického slova „doslovný“) je přímý zápis určité hodnoty v programovacím jazyce. Zápisy 0, 3, 15.7, 6.67e-11 jsou číselné literály ve většině programovacích jazyků; v mnoha jazycích jsou jako literály označovány i přímé zápisy znakových ('a') nebo řetězcových ("abc") konstant, případně jiné konstanty zapsané klíčovým slovem, případně v jazyce definovaným identifikátorem (false, true, null).

Použití

V programování, ve skriptovacím nebo programovacím jazyce, představují literály pevně danou hodnotu, vyjádřenou explicitně, bez použití jiných prvků jazyka. Mezi literály tedy nepatří proměnné ani konstanty programu, literály se však používají k definování nebo inicializaci jejich hodnot.

Z pohledu lexikální analýzy programu či skriptu se často vyžaduje, aby literály byly atomické symboly, někdy aby se jednalo o klíčová slova jazyka.

Při syntaktické analýze se naopak slovem literál někdy označují všechny lexikální symboly (i identifikátory, klíčová slova, operátory, atd.), nejen přímé zápisy konkrétní hodnoty.

Literály mohou být různých typů – řetězcové (znakové), číselné, logické a jiné. Nejčastější literály (číselné a řetězcové) jsou vyjádřeny jako sekvence číslic nebo znaků, jiné (např. jako booleovské hodnoty true a false) mohou být definovány samotným jazykem.

Většina stylů programování nedoporučuje volné používání literálů v textu programu, nýbrž doporučuje je používat pouze pro deklarace pojmenovaných konstant. Motivací k tomuto omezení je usnadnění následných změn programu při změně konstant a odlišení případných hodnot, které jsou stejné jen náhodou. Úplný zákaz používání literálů mimo oblast deklarací však může vést k horší srozumitelnosti programů, zejména při použití nevhodných konvencí pro pojmenovávání.

Související informace naleznete také v článcích Blok (programování) a jmenný prostor.

Jiný výskyt pojmu

Související články

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.