Langbahn Team – Weltmeisterschaft

Terminator (programowanie)

Terminator – element składni w określonym języku programowania, kończący w kodzie źródłowym określoną jednostkę kodu, taką jak: instrukcja, moduł, program, pakiet, podprogram itd.

Rola terminatora

Terminator w kodzie źródłowym pełni więc rolę ogranicznika zamykającego w tekście kolejne jednostki – zdania języka programowania. Użycie takiego elementu jest niezbędne, w celu umożliwienia podziału tekstu kodu źródłowego na konkretne, ustalone w składni danego języka, części – zdania, mające określone znaczenie (interpretację) w danym języku. Obrazowo, w uproszczeniu, można więc terminator porównać do znaku interpunkcyjnego – kropki kończącej zdanie, w języku naturalnym.

Oprócz swej podstawowej funkcji, terminator może pełnić równocześnie rolę separatora jednostek leksykalnych.

Terminator a separator

W językach programowania, w zależności od przyjętej konwencji, stosuje się oprócz terminatorów, także separatory instrukcji. Te ostatnie, w odróżnieniu od terminatorów, jedynie rozdzielają kolejne, następujące po sobie instrukcje. Ostatnią instrukcję w ciągu instrukcji zawartych w danym bloku nie trzeba więc, w przeciwieństwie do terminatora, zamykać separatorem. Co więcej, użycie separatora za taką ostatnią instrukcją jest najczęściej traktowane jak utworzenie instrukcji pustej. Różnicę pomiędzy terminatorem a separatorem obrazuje poniższy przykład:

Język Pascal[1][2] – separator instrukcji Język C[3][4][5][6] – terminator instrukcji
begin
  if a<0 then
    write('ujemna')
  else
    write('nieujemna');
  a:=0
end
{
  if (a<0)
    printf("ujemna");
  else
    printf("nieujemna");
  a=0;
}

W powyższym porównaniu widać separator (język Pascal[1][2]) i terminator (język C[3][4][5][6]), w tym konkretnym przypadku zapisywany jest za pomocą tego samego symbolu: średnik ";". W języku C[3][4][5][6], w którym stosuje się terminator instrukcji wymagane jest użycie terminatora po instrukcji wywołania funkcji printf przed słowem else i przed ogranicznikiem kończącym blok "}".

Z pracą (1) można podać, że zasada, iż każda jednostka wymaga użycia określonego terminatora, jest znacznie bardziej jednoznaczna, co skutkuje mniejszą liczbą błędów w kodzie.

Terminatory w językach programowania

język programowania terminatory przykłady
Język C[3][4][5][6]

; /* średnik */

instrukcja, deklaracja

} /* nawias klamrowy zamykający */

blok (funkcji lub instrukcji blokowej)
{
  int a=0;
  printf("a=%d",a);
}
Pascal[1][2]

; {średnik}

deklaracje, nagłówki: programu, podprogramu, modułu (TP)

. {kropka}

program, moduł (TP)
program a1;
const C1=1;
var   a:=C1;
begin
  write(a)
end.
PL/I[7][8] ; /* średnik */
  A=0;
  DO I=1 TO 10;
    A=A+1;
  END;
Python[9] # Zmniejszenie wcięcia
  a = 0
  for i in data:
    a += i
  print(a)

Przypisy

  1. a b c 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.).
  2. a b c Andrzej Marciniak: Borland Pascal 7.0. Poznań: Nakom, 1994, seria: Biblioteka Użytkownika Mikrokomputerów. ISBN 83-85060-53-7. ISSN 0867-6011. (pol.).
  3. a b c d 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.).
  4. a b c d Jan Bielecki: Turbo C z grafiką na IBM PC. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990, seria: Mikrokomputery. ISBN 83-204-1101-7. (pol.).
  5. a b c d Jan Bielecki: Od C do C++, programowanie obiektowe w języku C. Warszawa rok =1990: Wydawnictwa Naukowo-Techniczne. ISBN 83-204-1332-X. (pol.).
  6. a b c d Podręcznik języka C na Wikibooks
  7. 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.).
  8. 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.).
  9. Podręcznik języka Python na Wikibooks

Bibliografia

Zobacz też