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 */
} /* nawias klamrowy zamykający */
| { int a=0; printf("a=%d",a); } |
Pascal[1][2] | ; {średnik}
. {kropka}
| 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
- ↑ 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.).
- ↑ 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.).
- ↑ 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.).
- ↑ 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.).
- ↑ 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.).
- ↑ a b c d Podręcznik języka C na Wikibooks
- ↑ 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.).
- ↑ 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.).
- ↑ Podręcznik języka Python na Wikibooks
Bibliografia
- Michael Marcotty, Henry Ledgord, W kręgu języków programowania, tłumaczenie: Krystyna Jerzykiewicz, Wydawnictwa Naukowo-Techniczne, Warszawa 1980, Seria: Biblioteka Inżynierii Oprogramowania, ISBN 83-204-1342-7
- John E. Nicholls, Struktura języków programowania, Wydawnictwa Naukowo-Techniczne, Warszawa 1980, Seria: Informatyka, ISBN 83-204-0246-8
Zobacz też
- Separator instrukcji
- Instrukcja (informatyka)
- Separator (programowanie)
- Ogranicznik (programowanie)