Literał

Literałjednostka leksykalna reprezentująca ustaloną wartość (liczbową, tekstową itp.) wpisaną przez programistę bezpośrednio w danym miejscu w kod programu. Prawie wszystkie języki programowania mają odpowiednie formy zapisu dla podstawowych wartości takich jak liczby całkowite, liczby zmiennoprzecinkowe, łańcuchy znaków i zazwyczaj dla wartości typu logicznego i znakowego. Niektóre mają także formy zapisu dla elementów typu wyliczeniowego i złożonych wartości jak tablice, rekordy czy obiekty. Poza tym funkcje anonimowe są literałami dla typu funkcyjnego.

W przeciwieństwie do literałów, stałe i zmienneidentyfikatorami, które mogą przyjmować określony typ ustalonych wartości, przy czym stałe nie mogą ich zmieniać. Literały są często używane do inicjalizacji zmiennych; w poniższym przykładzie 35 jest literałem liczbowym, a łańcuch znaków „alfa” jest literałem łańcuchowym (w języku Java):

int a1 = 35;
String lit = "alfa";

W analizie leksykalnej literały danego typu, zgodnie z zasadami gramatyki, mają postać „łańcuch cyfr” w przypadku literałów liczb całkowitych. Inne znów literały mogą być określonymi słowami kluczowymi jak np. true dla literału logicznego „true”.

Przykłady

W języku PHP:

$x = 5; // 5 jest literałem
$y = "tekst"; // "tekst" jest literałem
$z = time() / 2; // literałem jest tu tylko 2, ponieważ jest ustaloną wartością
$z = time() / $x; // $x nie jest literałem, (posiada wartość, ale niekoniecznie musi ona być zawsze taka sama)

W języku C:

char znak = 'c'; // 'c' jest literałem
char x;
x = getchar();
printf("%c",x); // literałem jest "%c", x jest tutaj zmienną i nie ma ustalonej wartości

W języku Pascal[1][2]:

const tekst = 'ala ma kota'; // 'ala ma kota' jest literałem

W języku JavaScript:

tablica1 = new Array("ala", "ma", "kota"); //Array to obiekt, literałami są "ala", "ma" oraz "kota"
tablica2 = ["ala", "ma", "kota"]; //["ala", "ma", "kota"] to literał tablicowy który jest inicjatorem obiektu Array

Literały

Zobacz też

Przypisy

  1. Michał Iglewski, Jan Madey, Stanisław Matwin: Pascal. Język wzorcowy – Pascal 360. Wyd. wydanie trzecie – zmienione. Warszawa: Wydawnictwa Naukowo-Techniczne, 1984, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-85060-53-7. ISSN 0867-6011. (pol.)
  2. Andrzej Marciniak: Borland Pascal 7.0. Poznań: Nakom, 1994, seria: Biblioteka Użytkownika Mikrokomputerów. ISBN 83-85060-53-7. ISSN 0867-6011. (pol.)

Bibliografia

  • Michael Marcotty, Henry Ledgord, tłumaczenie: Krystyna Jerzykiewicz: W kręgu języków programowania. Warszawa: Wydawnictwa Naukowo-Techniczne, 1980, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-1342-7. (pol.)
  • John E. Nicholls: Struktura języków programowania. Warszawa: Wydawnictwa Naukowo-Techniczne, 1980, seria: Informatyka. ISBN 83-204-0246-8. (pol.)