Version 7 of Man Tcl - po polsku

Updated 2005-02-18 18:36:25

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