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