Ogranicznik – w programowaniu element składni określonego języka programowania, służący do wyodrębniania w kodzie źródłowym określonego elementu: jednostki leksykalnej, instrukcji lub bloku.
Funkcje ogranicznika Ogranicznik jest elementem składni konkretnego języka programowania umożliwiającym wyodrębnianie z kodu źródłowego, który jest na podstawowym poziomie ciągiem znaków alfabetu danego języka, pewnych elementów lub bloków, mających zdefiniowane w języku znaczenie i interpretację. Ogranicznik może być separatorem lub ogranicznikiem o funkcji wyodrębniania jednostek tekstu uszeregowanych na wyższym poziomie abstrakcji niż pojedyncza jednostka leksykalna, wyodrębniając takie elementy jak instrukcje proste, złożone czy bloki, sekcje, moduły itp., a także jednostek leksykalnych złożonych.
Obrazowo, w dużym uproszczeniu można rolę ograniczników porównać do nawiasów lub znaków interpunkcyjnych i akapitów.
Rodzaje ograniczników Można wyróżnić następujące rodzaje ograniczników: separator ogranicznik instrukcji separator instrukcji terminator instrukcji ograniczniki instrukcji blokowych ograniczniki bloków ogranicznik literału złożonego ogranicznik specyfikacji parametrów i argumentów ogranicznik specyfikacji indeksów ogranicznik komentarzy nawiasy w wrażeniach Występowanie, bądź nie, danego ogranicznika w określonym języku programowania zależy od specyfiki składni rozpatrywanego języka.
Ograniczniki Separator
Separatory to rodzaj ograniczników rozdzielających jednostki leksykalne. Typowym przykładem separatorów są białe znaki jak spacja, znaki nowej linii, tabulacja itp.
Ograniczniki instrukcji Ograniczniki instrukcji służą do wyodrębniania większych jednostek – zdań języka programowania – zapisanych w kodzie źródłowym. Do wyodrębniania instrukcji prostych stosuje się zwykle jedno z dwu rozwiązań: separator instrukcji tj. taki ogranicznik, który rozdziela dwie instrukcje, nie ma więc potrzeby stosować separatora po ostatniej instrukcji w ciągu, terminator instrukcji tj. taki organicznik, który zamyka instrukcję i musi wystąpić po każdej instrukcji. Do wyodrębniania instrukcji złożonych służą specjalne symbole lub słowa kluczowe: otwierające instrukcję blokową – np. { w języku C, begin w języku Pascal, Modula-2; zamykające instrukcję blokową – np. } w języku C, end w języku Pascal, Modula-2. Ograniczniki bloków wyznaczają największe części kodu jak cały program, moduł, podprogram, pakiet i inne specyficzne dla określonego języka, np. moduł w Turbo Pascal : unit .. end.; słowo (podprogram) w Forth : : .. ;; w Lisp: ( .. ) .
Ogranicznik literału złożonego Literały złożone składają się w typowym przypadku, z ciągu pewnych literałów prostych. Początek takiego ciągu wyznacza ogranicznik otwierający, a koniec organicznik zamykający. Specyfika danego literału decyduje o tym czy w takim ciągu – liście literałów prostych wymagane jest stosowanie separatorów listy, czy też nie: ograniczniki literałów łańcuchowych np. cudzysłów " w języku C, apostrof ' w języku Pascal, ograniczniki literałów tablicowych np. ( ) w języku Visual Basic, VBA, ograniczniki literałów zespolonych np. ( ) w języki Fortran 77, ograniczniki literałów zbiorowych np. [ ] w języku Pascal, { } w języku Modula 2, ograniczniki literałów rekordowych np. ( ) w języku Pascal, ograniczniki list np. [ ] w języku Turbo Prolog.
Ogranicznik specyfikacji parametrów i argumentów
Specyfikacja parametrów występuje w nagłówku lub prototypie podprogramu, natomiast argumentów w instrukcji wywołania lub w wywołaniu funkcji w wyrażeniu, po identyfikatorze podprogramu. Najczęściej dla obu specyfikacji stosuje się te same ograniczniki w postaci nawiasów okrągłych ( ..), np. write('wynik=',result);
Ogranicznik specyfikacji indeksów
Ograniczniki specyfikacji indeksów dla struktur takich jak tablice, listy itp., zapisuje się zwykle po identyfikatorze danej struktury, ujęte w odpowiednie nawiasy. Do najczęściej stosowanych rozwiązań należą: nawiasy kwadratowe [ ] np. C, Pascal nawiasy okrągłe ( ) np. Visual Basic, VBA W niektórych językach czy systemach obliczeniowych, stosuje się inne nietypowe rozwiązania, np. nawiasy kątowe < > np. Snobol.
Ogranicznik komentarzy
Komentarze zapisywane są w zależności od rodzaju komentarzy zastosowanych w języku, albo jako komentarze blokowe, które wymagają symbolu otwierającego (np. /* w języku C, C++, PL/I; { w języku Pascal) i symbolu zamykającego (np. */ w języku C, C++, PL/I; } w języku Pascal), albo jako komentarze liniowe w którym ograniczniki otwierające zapisuje się w postaci symbolu (np. // w C++), a koniec komentarza jako znak nowej linii.
Nawiasy w wrażeniach
Większość uniwersalnych języków programowania umożliwia zapis wyrażeń w postaci wrostkowej. Taka forma notacji wymaga użycia nawiasów do wymuszenia prawidłowej kolejności obliczeń. Najczęściej nawiasy są zapisywane w postaci typowej dla notacji matematycznej tzn. za pomocą znaków: otwierającego ( i zamykającego ). Nawiasy zagnieżdżone mają identyczną formę i nie stosuje się różnicowania graficznego zapisu nawiasów wewnętrznych.
Zobacz też jednostka leksykalna separator (programowanie)
Przypisy Podręcznik języka C na Wikibooks
Podręcznik Visual Basic na Wikibooks
Bibliografia
Kategoria:Konstrukcje programistyczne