Identyfikator (programowanie)
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][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].
Spis treści |
Zastosowanie identyfikatorów [edytuj]
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]
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]
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]
Przypisy
- ↑ identyfikator (pol.). Encyklopedia PWN. [dostęp 2011-02-05].
- ↑ identyfikator (2) (pol.). Słownik języka polskiego PWN. [dostęp 2010-02-05].
- ↑ 3,0 3,1 3,2 identyfikator (2) (pol.). Słownik wyrazów obcych PWN. [dostęp 2010-02-05].
- ↑ 4,0 4,1 4,2 Podręcznik języka C na Wikibooks
- ↑ 5,0 5,1 5,2 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.)
- ↑ 6,0 6,1 6,2 Jan Bielecki: Turbo C z grafiką na IBM PC. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990, seria: Mikrokomputery. ISBN 83-204-1101-7. (pol.)
- ↑ 7,0 7,1 7,2 7,3 7,4 Jan Bielecki: Od C do C++, programowanie obiektowe w języku C. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990. ISBN 83-204-1332-X. (pol.)
- ↑ 8,0 8,1 8,2 Podręcznik języka C++ na Wikibooks
- ↑ 9,0 9,1 9,2 9,3 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. ISSN 0867-6011. ISBN 83-85060-53-7. (pol.)
- ↑ 10,0 10,1 10,2 10,3 Andrzej Marciniak: Borland Pascal 7.0. Poznań: Nakom, 1994, seria: Biblioteka Użytkownika Mikrokomputerów. ISSN 0867-6011. ISBN 83-85060-53-7. (pol.)
- ↑ 11,0 11,1 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.)
- ↑ 12,0 12,1 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. wydanie 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. ISSN 0867-6011. ISBN 83-204-0828-8. (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#) (ang.). MSDN. [dostęp 2012-10-02].
- ↑ 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]
- 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.)