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ż

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
Kembali kehalaman sebelumnya