Przejdź do zawartości

Ogranicznik (programowanie)

Z Wikipedii, wolnej encyklopedii

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

[edytuj | edytuj kod]

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

[edytuj | edytuj kod]

Można wyróżnić następujące rodzaje ograniczników:

  • separator
  • ogranicznik instrukcji
  • 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

[edytuj | edytuj kod]

Separator

[edytuj | edytuj kod]
 Osobny artykuł: Separator (programowanie).

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

[edytuj | edytuj kod]

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:

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[6] : unit .. end.; słowo (podprogram) w Forth[7][9][10] : : .. ;; w Lisp: ( .. ) .

Ogranicznik literału złożonego

[edytuj | edytuj kod]

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
 Osobny artykuł: Literał łańcuchowy.
np. cudzysłów " w języku C[1][2][3][4], apostrof ' w języku Pascal[5][6][7],
ograniczniki literałów tablicowych
 Osobny artykuł: Literał tablicowy.
np. ( ) w języku Visual Basic[11], VBA[12],
ograniczniki literałów zespolonych
 Osobny artykuł: Literał zespolony.
np. ( ) w języki Fortran 77[13],
ograniczniki literałów zbiorowych
 Osobny artykuł: Literał zbiorowy.
np. [ ] w języku Pascal[5][6][7], { } w języku Modula 2[8],
ograniczniki literałów rekordowych
np. ( ) w języku Pascal[5][6][7],
ograniczniki list
np. [ ] w języku Turbo Prolog[14].

Ogranicznik specyfikacji parametrów i argumentów

[edytuj | edytuj kod]
 Osobny artykuł: Parametr (informatyka).
 Osobny artykuł: Argument (informatyka).

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

[edytuj | edytuj kod]
 Osobny artykuł: Indeks (informatyka).

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[1][2][3][4], Pascal[5][6][7]
nawiasy okrągłe ( )
np. Visual Basic[11], VBA[12]

W niektórych językach czy systemach obliczeniowych, stosuje się inne nietypowe rozwiązania, np.

nawiasy kątowe < >
np. Snobol[15].

Ogranicznik komentarzy

[edytuj | edytuj kod]
 Osobny artykuł: Komentarz (informatyka).

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[1][2][3][4], C++[3], PL/I[16][17]; { w języku Pascal[5][6][7]) i symbolu zamykającego (np. */ w języku C[1][2][3][4], C++[3], PL/I[16][17]; } w języku Pascal[5][6][7]), albo jako komentarze liniowe w którym ograniczniki otwierające zapisuje się w postaci symbolu (np. // w C++[3]), a koniec komentarza jako znak nowej linii.

Nawiasy w wrażeniach

[edytuj | edytuj kod]
 Osobny artykuł: Nawias.

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ż

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]
  1. a b c d e f 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.).
  2. a b c d e f Jan Bielecki: Turbo C z grafiką na IBM PC. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990, seria: Mikrokomputery. ISBN 83-204-1101-7. (pol.).
  3. a b c d e f g h i Jan Bielecki: Od C do C++, programowanie obiektowe w języku C. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990. ISBN 83-204-1332-X. (pol.).
  4. a b c d e f Podręcznik języka C na Wikibooks
  5. a b c d e f g h 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.).
  6. a b c d e f g h i Andrzej Marciniak: Borland Pascal 7.0. Poznań: Nakom, 1994, seria: Biblioteka Użytkownika Mikrokomputerów. ISBN 83-85060-53-7. ISSN 0867-6011. (pol.).
  7. a b c d e f g h i Mike Ducka, tłumaczenie: Marcin Turski: Języki mikrokomputerów. Przewodnik dla początkujących. Basic, Pascal, Logo, Prolog, Comal, Forth. Warszawa: Wydawnictwa Naukowo-Techniczne, 1988. ISBN 83-204-0966-7. (pol.).
  8. a b c Niklaus Wirth: Modula 2. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-0828-8. ISSN 0867-6011. (pol.).
  9. Jan Bielecki: Język FORTH. Warszawa: Wydawnictwa Naukowo-Techniczne, 1988, seria: Mikrokomputery. ISBN 83-204-0930-6. (pol.).
  10. Jan Ruszczyc: Poznajemy FORTH. Warszawa: SOETO, 1987, seria: Informatyka mikrokomputerowa. (pol.).
  11. a b Podręcznik Visual Basic na Wikibooks
  12. a b John Walkenbach: Excel 2003 PL. Programowanie w VBA.. HELION, 2004. ISBN 837361-504-0. (pol.).
  13. Ryszard K. Kott, Krzysztof Walczak: Programowanie w języku Fortran 77. Warszawa: Wydawnictwa Naukowo-Techniczne, 1991. ISBN 83-204-1362-1. (pol.).
  14. Janusz Szajna, Marian Adamski, Tomasz Kozłowski: Turbo Prolog. Programowanie w języku logiki.. Warszawa: Wydawnictwa Naukowo-Techniczne, 1991, seria: Mikrokomputery. ISBN 83-204-1395-8. (pol.).
  15. Paweł Gizbert-Studnicki, Jerzy Kaczmarczuk: Snobol4. Warszawa: Wydawnictwa Naukowo-Techniczne, 1984, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-0546-7. (pol.).
  16. a b 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.).
  17. a b 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.).

Bibliografia

[edytuj | edytuj kod]
  • Michael Marcotty, Henry Ledgord, tłumaczenie: Krystyna Jerzykiewicz: W kręgu języków programowania. Warszawa: Wydawnictwa Naukowo-Techniczne, 1980, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-1342-7. (pol.).
  • John E. Nicholls: Struktura języków programowania. Warszawa: Wydawnictwa Naukowo-Techniczne, 1980, seria: Informatyka. ISBN 83-204-0246-8. (pol.).