Słowo zastrzeżoneMichael Marcotty, Henry Ledgord, W kręgu języków programowania, tłumaczenie: Krystyna Jerzykiewicz, Wydawnictwa Naukowo-Techniczne, Warszawa 1980, Seria: Biblioteka Inżynierii Oprogramowania, John E. Nicholls, Struktura języków programowania, Wydawnictwa Naukowo-Techniczne, Warszawa 1980, Seria: Informatyka, Andrzej Marciniak, Borland Pascal 7.0, Wyd. Nakom, Poznań 1994 r., seria: Biblioteka Użytkownika Mikrokomputerów , ISSN 0867-6011Jan Bielecki, Turbo C z grafiką na IBM PC, Wydawnictwa Naukowo-Techniczne, Warszawa 1990, Seria: Mikrokomputery, , słowo zarezerwowaneRalph E. Griswold, Madge T. Griswold, Icon, Wydawnictwa Naukowo-Techniczne, Warszawa 1987, Seria: Biblioteka Inżynierii Oprogramowania, – słowo (ciąg znaków) zdefiniowane w składni określonego języka programowania, które nie może być użyte jako definiowany przez programistę element kodu źródłowego, mimo iż spełnia ono pozostałe kryteria definiowania danego elementu (np. identyfikatora).

Stosowanie słów zastrzeżonych Najczęściej słowa zastrzeżone, w danym języku programowania, są jednocześnie słowami kluczowymi tego języka. W większości języków wysokiego poziomu wszystkie słowa kluczowe są słowami zastrzeżonymi. Słowa zastrzeżone nie mogą być używane do tworzenia (nazywania, identyfikowania) definiowanych przez programistę elementów kodu źródłowego, takich jak identyfikatory dla zmiennych, nazwy podprogramów, modułów. Nie mogą być również wartościami typów wyliczeniowych ani etykietami instrukcji. Ze względów praktycznych (łatwości zapamiętania przypisanej funkcjonalności) słowa zastrzeżone i kluczowe są przeważnie identyczne ze słowami języka naturalnego, najczęściej angielskiego. Pod względem zestawu zastosowanych znaków oraz długości słowa spełniają one kryteria tworzenia nazw dla elementów programu (np. identyfikatorów), jednak użycie ich w tym celu jest niedozwolone i najczęściej rozpoznawane jako błąd składni.

Poziomy zastrzeżeń Słowa kluczowe języków programowania mogą być: zastrzeżone w każdym kontekście; częściowo zastrzeżone – są to słowa zastrzeżone jedynie w pewnych kontekstach kodu; niezastrzeżone – mogą być swobodnie stosowane jako nazwy, co jednak nie jest zalecane.

Przykładem współistnienia wszystkich trzech rozwiązań jest Turbo Pascal firmy Borland począwszy od wersji 5.5Jest to rozszerzona implementacja języka Pascal w ramach środowiska programistycznego „Turbo”. Większość słów kluczowych jest tam zastrzeżona w każdym kontekście, jednak słowa public i private są zastrzeżone jedynie w ramach deklaracji klasysłowa te nie mogą być stosowane do identyfikowania pól i metod klasy; jednak poza deklaracją klasy mogą być dowolnie stosowane do definiowania nazw., zaś słowa takie jak forward, inline, assembler (i kilka innych niewystępujących w standardowym Pascalu bądź też będących słowami zastrzeżonymi we wcześniejszych implementacjach Turbo Pascala) pozostają niezastrzeżone.

Dla odróżnienia od słów kluczowych zastrzeżonych niezależnie od kontekstu, wymienione tu słowa nazwano, w nomenklaturze Turbo Pascala, dyrektywami języka.

Języki bez słów zastrzeżonych W pewnych językach ze składnią kontekstową nie ma słów zastrzeżonych, mimo iż języki te definiują pojęcie słów kluczowych i wymieniają ich listę. Przykładem takiego języka jest PL/IJan Bielecki, Rozszerzony PL/I i JCL w systemie OS/RIAD, Państwowe Wydawnictwo Naukowe, Warszawa 1986, Seria: Biblioteka Informatyki, . Brak zastrzeżenia dla słów kluczowych umożliwia programiście tworzenie definiowanych obiektów programu o nazwach identycznych ze słowami kluczowymi. Takie postępowanie jest jednak mocno krytykowane przez literaturę przedmiotu ze względu na zaciemnienie kodu mogące prowadzić do błędów.

Przykład w PL/I: DCL WHILE FLOAT; ... WHILE: DO WHILE(WHILE<0); ... END; Słowo WHILE zostało użyte tutaj jako identyfikator zmiennej i etykieta instrukcji, mimo iż jednocześnie jest słowem kluczowym służącym do organizacji pętli.

Obecność w wybranych językach Języki programowania, w których zdefiniowane są słowa zastrzeżone, to między innymi: AdaA. Nico Habermann, Dewayne E. Perry, Ada dla zaawansowanych, Wydawnictwa Naukowo-Techniczne, Warszawa 1989 r., seria: Biblioteka Inżynierii Oprogramowania, , CJan Bielecki, Od C do C++, programowanie obiektowe w języku C, Wydawnictwa Naukowo-Techniczne, Warszawa 1990, , C++, Modula-2Niklaus Wirth, Modula 2, Wydawnictwa Naukowo-Techniczne, Warszawa 1987, Seria: Biblioteka Inżynierii Oprogramowania, , PascalMichał Iglewski, Jan Madey, Stanisław Matwin, Pascal. Język wzorcowy – Pascal 360., Wydawnictwa Naukowo-Techniczne, Warszawa 1984, wydanie trzecie – zmienione, Seria: Biblioteka Inżynierii Oprogramowania, , PL/MJan Bielecki, PL/M język programowania mikroprocesorów, Wydawnictwa Komunikacji i Łączności, Warszawa 1987, Seria: Elektronizacja, zeszyt 25, Visual Basic.

Języki, w których słowa kluczowe nie są zastrzeżone, to między innymi: Fortran, PL/I.

Zobacz też słowo kluczowe

Uwagi

Przypisy

Kategoria:Konstrukcje programistyczne