Rozdział 4. Biblioteka libpar

Spis treści
4.1. Format pliku szarp.cfg
4.1.1. Opis ogólny
4.1.2. Sekcje
4.1.3. Parametry
4.1.4. Dyrektywy
4.1.5. Funkcje
4.1.6. Zmienne
4.2. Interfejs biblioteki
4.2.1. Inicjalizacja biblioteki
4.2.2. Odczytywanie wartości parametrów

Rozdział opisuje format głównego pliku konfiguracyjnego systemu SZARP - szarp.cfg i bibliotekę libpar służącą do odczytywania wartości konfiguracyjnych z tego pliku. Unikalną własnością stosowanego rozwiązania jest możliwość korzystania w pliku konfiguracyjnym z wartości opcji podanych przy uruchamianiu programu.

4.1. Format pliku szarp.cfg

4.1.1. Opis ogólny

Plik szarp.cfg zawiera parametry o zadanym nazwach i wartościach, podzielone na sekcje. Spośród sekcji (o dowolnych nazwach) jedna sekcja - sekcja globalna jest wyróżniona. Program pytający się (za pomocą biblioteki libpar) o wartość parametru może wskazać, w jakiej sekcji należy szukać parametru. Jeżeli parametr nie zostanie znaleziony we wskazanej sekcji, szukany jest w sekcji globalnej. Jeżeli program nie poda nazwy sekcji, parametr będzie szukany tylko w sekcji globalnej.

Poza deklaracjami sekcji i parametrów w pliku można znaleźć także dyrektywy i deklaracje zmiennych.

Wszędzie poza nazwami sekcji i parametrów oraz nazwą pliku w dyrektywie $include (a więc w komentarzach, dyrektywach, stałych znakowych i w wartościach parametrów) backslash na końcu linii powoduje jej kontynuację.

Edycję pliku szarp.cfg ułatwia wykorzystanie pliku do podświetlania składni edytora vim. Wykorzystywany typ pliku to libpar (:set ft=libpar).

Linie puste są ignorowane. Podobnie linie zaczynające się od znaku # - traktowane są jako komentarze. Wszystkie istotne linie (poza komentarzami i pustymi) muszą kończyć się znakiem końca linii a nie np. końca pliku. W miejscach, gdzie dopuszczalny jest "biały znak", mogą wystąpić spacje i tabulacje w dowolnej ilości.