Identyfikator (programowanie)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

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:

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ą,
    Poprawne identyfikatory: _A, identyfikator, zz12, a1b2_c3, ala_ma_kota.
    Niepoprawne ciągi: 12w, as y, 12_AS.
    Przykładowe języki programowania: C[4][5][6][7], C++[8][7], Pascal[9][10], PL/1[11][12], PL/M[13][14], Modula-2[15] i wiele innych.
  • identyfikator może składać się z dowolnych znaków,
    Przykładowe języki programowania: Forth[16][17]
  • 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.
Przykładowe języki programowania: asembler MOTIS[18] dla Mera 300.
Poprawne identyfikatory (MOTIS): Q1, Q2 ... Q77.

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].

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

  1. identyfikator (pol.). Encyklopedia PWN. [dostęp 2011-02-05].
  2. identyfikator (2) (pol.). Słownik języka polskiego PWN. [dostęp 2010-02-05].
  3. 3,0 3,1 identyfikator (2) (pol.). Słownik wyrazów obcych PWN. [dostęp 2010-02-05].
  4. 4,0 4,1 4,2 Podręcznik języka C na Wikibooks
  5. 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. 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. 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. 8,0 8,1 8,2 Podręcznik języka C++ na Wikibooks
  9. 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. 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. 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. 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.)
  13. 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.)
  14. Jan Bielecki: System operacyjny ISIS-II. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Mikrokomputery. ISBN 83-204-0893-8. (pol.)
  15. Niklaus Wirth: Modula 2. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Biblioteka Inżynierii Oprogramowania. ISSN 0867-6011. ISBN 83-204-0828-8. (pol.)
  16. Jan Bielecki: Język FORTH. Warszawa: Wydawnictwa Naukowo-Techniczne, 1988, seria: Mikrokomputery. ISBN 83-204-0930-6. (pol.)
  17. Jan Ruszczyc: Poznajemy FORTH. Warszawa: SOETO, 1987, seria: Informatyka mikrokomputerowa. (pol.)
  18. Piotr Misiurewicz, Andrzej Rydzewski: Minikomputer MERA-300. Instrukcja dla użytkownika.. Warszawa: Wydawnictwa Politechniki Warszawskiej, 1979, seria: skrypt. (pol.)
  19. 2.4.2 Identifiers (C#) (ang.). MSDN. [dostęp 2012-10-02].
  20. 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.)
  21. 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]

  1. 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.)
  2. John E. Nicholls: Struktura języków programowania. Warszawa: Wydawnictwa Naukowo-Techniczne, 1980, seria: Informatyka. ISBN 83-204-0246-8. (pol.)