Version 6 of Man Tcl - po polsku

Updated 2003-07-31 12:51:22

Polish translation of Man Tcl (see Endekalogue for other languages). Please use UTF-8 charcter coding in your broser to see corect characters.

Tekst ten jest tłumaczeniem z niemieckiego, które z kolei jest tłumacyeniem z angielskiego 11 reguł określających semantykę języka Tcl. Ponieważ nie mieszkam w Polsce już wiele lat nie jestem całkiem pewien co do jakości tłumaczenia. W razie wątpliwości proszę o kierowanie się oryginałem dostępnym pod http://www.tcl.tk/man/tcl8.4/TclCmd/Tcl.htm . Także gramatyka i ortografia tego tekstu może pozostawiać wiele do życzenia. Proszę o korekty. Jest to tylko jedno z tłumaczeń które mają podkreślać międzynarodowy charakter Tcl.

Składnia języka Tcl jest zdefiniowana następującymi regułami:

1. Polecenia Skrypt Tcl jest łańcuchem znaków Unikodu, który zawiera jedeno lub wiele poleceń języka Tcl. Polecenia są odzielone przez średnik lub powrót karetki, jeśli nie są zamaskowane cudzysłowiem. Zamykający nawias kwadratowy kończy polecenie w czasie zastępownia, chyba że jest on zamaskowany.

2. Ewaluacja Wykonanie polecenia jest przeprowadzane w dwóch krokach. Na początku polecenie jest dzielone na słowa, na których dokonywane są zastąpienia. To wykonywane jest jednakowo dla wszystkich poleceń. Pierwsze słowo służy jako nazwa polecenia, które jest wykonywane, z argumentami zlożonymi z następnych słów. Interpretacja tych słów jest wolna i zależna od polecenia, na przykład: liczba, nazwa zmiennej, lista, skrypt Tcl. Różne polecenia interpretują swoje śłowa na różne sposoby.

3. Słowa Słowa polecenia są dzielowne przez tzw. Whitespace (Odstęp lub Tabulator, jednak nie powrót karetki, która dzieli polecenia).

4. Cudzysłow podwójny Jesli pierwszem znakiem polecenia jest cudzysłow ("), to słowo kończy się następnym cudzysłowiem. Średniki, nawisy kwadratowe lub Whitespaces sa traktowane wewnątrz tekstu między czydzysłowami jak normalne znaki i są częscią słowa. Na słowie dokonywane są zastapienia poleceń, zmienych i ukośnika lewego według opisu poniżej. Czydzysłowia nie stają sie elementami słowa.

5. Nawiasy Jeśli pierwszym zankiem słowa jest nawias ({) to słowo kończone jest pasującym nawiasem (}). Nawiasy ({}) mogą występowac wielokrotnie węwnatrz słowa (rekursywnie). Każdy otwierający nawias ({) musi posiadać nawias zamykający. (Nawiasy zamaskowane ukosnikiem lewym nie grają roli w rownowadze nawiasów). Na znakach wewnątrz nawiasów ({}) nie są dokonywane żadne zastąpienia, za wyjątkiem ukosnika lewego z powrotem karetki (\newline). Średniki, powroty karetki i nawiasy kwadratowe nie są szczególnie interpretowane. Wynikowe słowo jest dokładnym łańcuchem znaków stającym między otwierającym i zamykającym nawiasem ({}). Skrajne nawiasy nie należą do słowa.

6. Zestępowanie poleceń Jeśli w słowie występuja nawias kwadratowy to dokonywne jest zastąpienie poleceń. Zastępowania są wykonywane przez interpreter TCL rekursywnie, znaki po otwartym nawiasie kwadratowym interpretowane są jako skrypt TCL. Taki skrypt wewnątrz kwadratowych nawisów może zawierać jedno lub wiele poleceń Tcl i musi kończyć się zamykającym nawiasem kwadratowm. Wynik tego skryptu (ostatniego polecenia w skrypcie) jest wstawiany w miejsce wystepowanie kwadratowych nawiasów tak że zastępuje on nawias kwadratowy włącznie z jego zawartością. W jednym słowie może być dokonane dowolnie wiele zastąpień nawiasów kwadratowych. Zastępowanie nie ma miesjca jeśli słowo znajduję się w nawiasach ({})

7. Zestępowanie zmiennej Jeśli słowo zawiera znak dolara ($), następuje zastąpienie zmiennej. Znak dolara i następująoce po nim znaki zastępowane są w słowie przez wartość zmiennej, w następujących formach.

$nazwa - nazwa jest nazwą zmiennej skalarnej. Nazwa kończy się pierwszym znakiem który nie jest literą, cyfrą lub podlreśleniem (ta restrykcja może być zniwelowana przez zastosowanie zapisu ${nazwa})

$nazwa(indeks) “nazwa” jest nazwą tablicy. “indeks” jest nazwą elementu w tablicy. Nazwa może składać się wyłącznie z liter, cyfr i podkreślenia _. Na znakach łańcucha indeks dokonywane są zastąpienie poleceń, zmienennej i ukośnika lewego.

${nazwa} “nazwa” jest nazwą zmiennej skalarnej i może zawierać dowolne znaki z wyjątkiem nawiasu }.

W słowie może następować dowolna ilość zastąpień zmiennych. Zastąpienie nie odbywają się wewnątrz nawiasu {}.

8. Zastępowane ukośnika lewego Jeśli w słowie występuje ukosnik lewy (\), następuje zamiana ukośnika. W każdym oprocz niżej opisanych przypadkach ukośnik jest usuwany i następujące znaki są traktowane bez zmian. W ten sposób mogą znaki ({}$) być elementami słów bez wywołwanie zastąpień. Szczególnymi zastąpieniami ukośniaka są.

\a sygnał dżwiękowy (Bell, 0x7)

\b backspace 0x8

\f form feed 0xC

\n newline 0xA

\r powrót karetki 0xD

\t tabulator, 0x9

\v tabulator wertykalny, 0xB

\(newline)whitespace: Backslash, powrót karetki, wszystkie spacje i tabulatory po powrocie karetki zamieniane są na jedną spację

\ooo 1..3 cyfry systemu ósemkowego dają 8-bitową wartość znaku Unikodu, przez który są zastępowane.

\xhh cyfry stemu dają 8-bitową wartość znaku Unikodu, przez który są zastępowane. Może występować dowolna ilość cyfr, jednak tylko dwie ostatnie są używane.

\uhhhh cyfry 1-4 stemu dają 16-bitową wartość znaku Unikodu, przez który są zastępowane.

Zastąpowanie ukośnika lewego nie jest dokonywane na słowach znajdujących się wewnątrz nawiasów {} (wyjątek stanowi \newline. Patrz wyżej)

9 Komentarze Znak # stojący w miejscu w którym oczekiwany jest znak pierwszego słowa polecenia jest ignorowany razem z nastepującymi znakami do końca wiersza.

10. Kolejność zastąpień Każdy znak jest przetwarzany przez parser TCL przy grupowaniu słów dokładnie jeden raz. Jeśli na przykład jest dokonywana zamiana zmiennej to na powstałym przez ten sbośob nowym słowie nie sa dokonywane żadne inne zamiany. Jeśli następuje zamiana polecenia to, polecenie zamknięte w jest dokonywane bezpośrednio przez rekursywne wywołanie interpretera Tcl. Przed rekursywnym wywołaniem i także po nim nie są dokonywane żadne zastąpienia. Zamiany są dokonywane w kolejności od lewej do prawej, każda zamiana jest dokonywana aż do końca, przed następną zamianą.

11 Zastępowania i granice słowa Zamiany nie mają wpływu na granice polecenia. Na przykład w czasie zamiany zmiennej kompletna wartość zmiennej (ciągu znaków) staje się częścia pojedynczego słowa, nawet jeśli zawiera ona spacje.

Tłumaczenie dokonane zostało przez Artura Trzewika Artur Trzewik. Poprawki Wojciech Kocjan