Separator instrukcji, to element składni w określonym języku programowania, rozdzielający w kodzie źródłowym dwie kolejne, następujące po sobie instrukcje.
Separator instrukcji w kodzie źródłowym pełni więc rolę ogranicznika rozdzielając w tekście dwie 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 separator instrukcji porównać do znaku interpunkcyjnego, przecinka, w języku naturalnym.
Oprócz swej podstawowej funkcji, separator instrukcji może pełnić równocześnie rolę separatora jednostek leksykalnych lub ogranicznika bloków.
W językach programowania, w zależności od przyjętej konwencji, stosuje się oprócz separatorów, także terminatory instrukcji. Te ostatnie, w odróżnieniu od separatorów, muszą kończyć każdą instrukcję, także ostatnią instrukcję w ciągu instrukcji zawartych w danym bloku. Różnicę pomiędzy separatorem a terminatorem obrazuje poniższy przykład:
Język Pascal – separator instrukcji | Język C – 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) i terminator (język C), w tym konkretnym przypadku zapisywany jest za pomocą tego samego symbolu: średnik ";". W przypadku separatora nie ma konieczności stosowania go po instrukcji przed słowem else
oraz przed słowem end, po ostatniej instrukcji ciągu instrukcji bloku begin … end
. Natomiast w języku C, w którym stosuje się terminator instrukcji wymagane jest użycie terminatora także po instrukcji przed słowem else i przed ogranicznikiem kończącym blok "}". Należy podkreślić, że użycie separatora po instrukcji wywołania procedury write, przed frazą else
instrukcji warunkowej, zostałoby zasygnalizowane jako błąd. Użycie takiego separatora przed słowem end
w zasadzie nie spowodowałoby wykazania błędu i może być traktowane jako wstawienie instrukcji pustej.
język programowania | separatory | przykłady |
---|---|---|
Pascal | ; {średnik} |
begin
a:=0;
b:=1
end;
c:=2;
|
Snobol |
|
|
Visual Basic |
|
A=0
B=1 : C=2
|