Identyfikator (programowanie) – Wikipedia, wolna encyklopedia
Identyfikator – podstawowa jednostka leksykalna określonego języka programowania, tworzona przez programistę zgodnie ze składnią danego języka programowania, służąca identyfikacji i odwoływaniu się do określonego elementu kodu źródłowego. Tak rozumiane pojęcie identyfikatora można przez analogię porównać do pojęcia nazwy własnej[1] lub symbolu[2][3], ale stosowanej w programowaniu, odnoszącej się do konkretnego, odrębnego obiektu programu. Słowo identyfikator wywodzi się od słowa identyfikować i do języka polskiego zapożyczone zostało z języków obcych[3].
Zastosowanie identyfikatorów
[edytuj | edytuj kod]Identyfikatory stosuje się do nazwania i identyfikacji takich elementów programu jak:
- stałe
- zmienne
- typy
- etykiety
- pola struktur i klas
- parametry
- podprogramy (procedury, funkcje, metody, makra)
- klasy
- moduły, pakiety, biblioteki itp.
- programy
- i innych dostępnych w danym języku lub systemie programowania.
Tworzenie identyfikatorów
[edytuj | edytuj kod]Tworzenie identyfikatorów w określonym języku programowania odbywa się w oparciu o reguły określone w składni danego języka programowania. Powiązanie identyfikatora z określonym elementem następuje w deklaracji. W poszczególnych językach zasady są różne, przy czym różnice te dotyczą:
- dopuszczalnych znaków, z których można tworzyć identyfikator,
- dopuszczalnej długości identyfikatora,
- liczby znaków znaczących (branych pod uwagę przez translator) w identyfikatorze,
- dopuszczalnych znaków, od których może rozpoczynać się identyfikator,
- rozróżniania wielkich i małych liter.
Najczęściej spotykane przypadki to:
- identyfikatory mogą składać się z: liter, znaku podkreślenia ("_") i cyfr, przy czym pierwszy znak identyfikatora nie może być cyfrą,
- identyfikator może składać się z dowolnych znaków,
- identyfikator może być jednym z określonych w składni słowem (ciągiem znaków), dotyczy to nielicznych, historycznych lub specjalizowanych języków.
W większości języków programowania składnia określa listę słów kluczowych. Słowa te, mimo że najczęściej spełniają kryteria wynikające z zasad tworzenia identyfikatorów w danym języku programowania, są w większości przypadków, słowami zastrzeżonymi służącymi identyfikacji instrukcji i nie mogą być stosowane jako identyfikatory, np. C[4][5][6][7], C++[8][7], Pascal[9][10].
- Przykłady w języku Pascal[9][10]: while, if, then i inne
- Przykłady w języku C[4][5][6][7][8]: while, if, switch, break i inne
Istnieją jednak języki programowania o tak skonstruowanej składni, że słowa kluczowe nie są zastrzeżone i mogą być stosowane jako identyfikatory, choć nie jest to zalecane ze względu na złą czytelność kodu źródłowego. Tak jest np. w języku PL/1[11][12]:
/* przykład w PL/1 */ DECLARE WHILE DECIMAL FLOAT (8); … DO WHILE (WHILE<0); … END;
Podobnie jest w języku C#, w którym prefix @
pozwala na identyfikatory będące słowami kluczowymi, co pozwala na wykorzystywanie kodu napisanego w innych językach[19]:
/* przykład w C# */ int @while = 8; while (@while-- > 0) { … }
Etykiety
[edytuj | edytuj kod]W wielu językach tworzenie etykiet różni się od zasad tworzenia identyfikatorów dla innych elementów programu. W tym zakresie mogą występować następujące przypadki:
- etykietę tworzy się tak jak identyfikator
- etykieta może być:
- identyfikatorem
- innym określonym ciągiem znaków
- zasady tworzenia identyfikatorów są całkowicie odmienne od zasad tworzenia identyfikatorów (np. Basic[20][21], w którym etykietami są numery wierszy).
Na przykład w języku Pascal[9][10] etykietą może być identyfikator lub ciąg znaków składający się z cyfr, przy czym zera znaczące nie mają wpływu na wartość etykiety („0011” jest tą samą etykietą co „11”).
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ identyfikator, [w:] Encyklopedia PWN [online], Wydawnictwo Naukowe PWN [dostęp 2011-02-05] .
- ↑ identyfikator (2). Słownik języka polskiego PWN. [dostęp 2010-02-05]. (pol.).
- ↑ a b identyfikator (2). Słownik wyrazów obcych PWN. [dostęp 2010-02-05]. (pol.).
- ↑ a b c Podręcznik języka C na Wikibooks
- ↑ a b c Brian W. Kernighan, Dennis M. Ritche: Język C. Warszawa: Wydawnictwa Naukowo-Techniczne, 1988, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-1067-3. (pol.).
- ↑ a b c Jan Bielecki: Turbo C z grafiką na IBM PC. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990, seria: Mikrokomputery. ISBN 83-204-1101-7. (pol.).
- ↑ a b c d e Jan Bielecki: Od C do C++, programowanie obiektowe w języku C. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990. ISBN 83-204-1332-X. (pol.).
- ↑ a b c Podręcznik języka C++ na Wikibooks
- ↑ a b c d Michał Iglewski, Jan Madey, Stanisław Matwin: Pascal. Język wzorcowy – Pascal 360. Wyd. trzecie – zmienione. Warszawa: Wydawnictwa Naukowo-Techniczne, 1984, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-85060-53-7. ISSN 0867-6011. (pol.).
- ↑ a b c d Andrzej Marciniak: Borland Pascal 7.0. Poznań: Nakom, 1994, seria: Biblioteka Użytkownika Mikrokomputerów. ISBN 83-85060-53-7. ISSN 0867-6011. (pol.).
- ↑ a b Jan Bielecki: Rozszerzony PL/I i JCL w systemie OS/RIAD. Warszawa: Państwowe Wydawnictwo Naukowe, 1986, seria: Biblioteka Informatyki. ISBN 83-01-06146-4. (pol.).
- ↑ a b M. I. Auguston i inni: Programowanie w języku PL/1 OS JS. Warszawa: Państwowe Wydawnictwo Naukowe, 1988. ISBN 83-01-07463-9. (pol.).
- ↑ Jan Bielecki: PL/M język programowania mikroprocesorów. Wyd. drugie uzupełnione. Warszawa: Wydawnictwa Komunikacji i Łączności, 1987, seria: Elektronizacja. zeszyt 25. (pol.).
- ↑ Jan Bielecki: System operacyjny ISIS-II. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Mikrokomputery. ISBN 83-204-0893-8. (pol.).
- ↑ Niklaus Wirth: Modula 2. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-0828-8. ISSN 0867-6011. (pol.).
- ↑ Jan Bielecki: Język FORTH. Warszawa: Wydawnictwa Naukowo-Techniczne, 1988, seria: Mikrokomputery. ISBN 83-204-0930-6. (pol.).
- ↑ Jan Ruszczyc: Poznajemy FORTH. Warszawa: SOETO, 1987, seria: Informatyka mikrokomputerowa. (pol.).
- ↑ Piotr Misiurewicz, Andrzej Rydzewski: Minikomputer MERA-300. Instrukcja dla użytkownika.. Warszawa: Wydawnictwa Politechniki Warszawskiej, 1979, seria: skrypt. (pol.).
- ↑ 2.4.2 Identifiers (C#). MSDN. [dostęp 2012-10-02]. (ang.).
- ↑ Zbigniew Czech, Krzysztof Nałęcki, Stanisław Wołek: Programowanie w języku BASIC. Wyd. drugie uzupełnione. Warszawa: Wydawnictwa Naukowo-Techniczne, 1985. ISBN 83-204-0776-1. (pol.).
- ↑ Wacław Iszkowski: Nauka programowania w języku BASIC dla początkujących. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Mikrokomputery. ISBN 83-204-0834-2. (pol.).
Bibliografia
[edytuj | edytuj kod]- 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.).