Provided by: manpages-pl-dev_20060617-1_all bug

NAZWA

       Tcl - Podsumowanie składni języka Tcl
_________________________________________________________________

OPIS

       Następujące reguły definiują semantykę języka Tcl:

       [1]    Skrypt  Tcl  jest  łańcuchem,  zawierającym  jedną,  lub  więcej
              komend.  Średniki i nowe linie są separatorami komend, chyba  że
              są  zacytowane.   Zamykające  nawiasy są normalnie terminatorami
              komend.

       [2]    Komenda jest analizowana w dwóch krokach.  Najpierw  interpreter
              Tcl   rozbija  komendę  na  sowa  i  dokonuje  opisanych  niżej
              podstawień.  Podstawienia  te  są   dokonywane   jednakowo   dla
              wszystkich komend.  Pierwsze słowo jest używane do lokalizowania
              procedury komendy, która wykona polecenie, a następnie wszystkie
              pozostałe  słowa  komendy  są  przekazywane  do  tej  procedury.
              Procedura może interpretować każde  ze  swoich  słów  w  dowolny
              sposób,  np.  jako  liczbę całkowitą, nazwę zmiennej, listę, lub
              skrypt Tcl.  Różne komendy różnie interpretują swoje słowa.

       [3]    Słowa komendy  są  rozdzielane  białymi  spacjami  (poza  nowymi
              liniami, które są separatorami komend).

       [4]    Pierwszy  znak  słowa  to  podwójny  cudzysłów  (``"''), ostatni
              również.   Jeśli  między  cudzysłowami  pojawią  się   średniki,
              nawiasy  czy  białe  spacje,  to  będą one traktowane jak zwykłe
              znaki włączone w słowo.  Podstawianie komend i  zmiennych,  oraz
              podstawianie    ukośnikowe    jest    dokonywane    na   znakach
              międzycudzysłowowych   w   sposób   opisany   niżej.    Podwójne
              cudzysłowy nie są zachowywane jako elementy słowa.

       [5]    Jeśli  pierwszy  znak  słowa  jest  otwartym  nawiasem klamrowym
              (``{''), to słowo  jest  kończone  klamrą  zamykającą,  (``}'').
              Klamry zagnieżdżają się w słowie: każda otwarta klamra musi mieć
              klamrę zamykającą  (jednak  jeśli  klamra  jest  cytowana  lewym
              ukośnikiem, to jej działanie nie wymaga klamry zamykającej).  Na
              znakach między klamrami nie dokonuje się żadnych podstawień, nie
              licząc  podstawień  lewy  ukośnik-nowa  linia.  Słowo składa się
              dokładnie ze znaków między klamrami, nie licząc samych klamr.

       [6]    Jeśli słowo zawiera otwarty nawias kwadratowy  (``[''),  to  Tcl
              dokonuje   podstawienia   komendy.    Aby   tego  dokonać,  woła
              rekursywnie interpreter Tcl, który przetwarza  znaki  znajdujące
              za nawiasem jako skrypt Tcl. Skrypt może zawierać dowolną liczbę
              komend i  musi  być  zakończony  nawiasem  zamykającym  (``]'').
              Wyniki  skryptu  (np.  wynik  ostatniej  komendy) są podstawiane
              zamiast nawiasów, wraz ze znakami znajdującymi się między  nimi.
              Może   być  dowolnie  wiele  podstawień  w  pojedynczym  słowie.
              Podstawianie komend nie jest dokonywane  na  słowach  ujętych  w
              nawiasy klamrowe.

       [7]    Jeśli   słowo  zawiera  znak  dolara  (``$'')  to  Tcl  dokonuje
              podstawienia  zmiennej:  znak  dolara  i  następujące  znaki  są
              zastępowane   wartością  zmiennej.  Podstawienie  zmiennej  może
              przybrać jedną z postaci:

              $nazwa          Nazwa jest nazwą zmiennej skalarnej; nazwa  jest
                             kończona dowolnym znakiem, który nie jest literą,
                             cyfrą, lub podkreśleniem.

              $nazwa(indeks) Nazwa daje nazwę zmiennej  tablicowej,  a  indeks
                             daje  nazwę  jej elementu. Nazwa musi składać się
                             tylko z liter, cyfr  i  podkreśleń.   Na  znakach
                             indeksu   dokonywane   są   podstawienia  komend,
                             zmiennych i lewych ukośników.

              ${nazwa}       Nazwa  jest  nazwą   zmiennej   skalarnej.   Może
                             zawierać    dowolne   znaki   poza   zamykającymi
                             nawiasami klamrowymi.

              W pojedynczym słowie może być  wiele  podstawień  zmiennych.  Na
              słowach,  ujętych  w  klamry  nie  jest  dokonywane podstawienie
              zmiennych.

       [8]    Jeśli w słowie znajduje się lewy ukośnik (``\''),  to  następuje
              podstawienie   ukonikowe.    We   wszystkich   wypadkach,  poza
              opisanymi niżej, ukośnik jest porzucany, a następujący znak jest
              traktowany  jak  zwykły  i  jest włączany w słowo.  Umożliwia to
              włączanie znaków takich, jak podwójne cytaty, nawiasy zamykające
              i   znaki   dolara.    Następująca   tabela  pokazuje  sekwencje
              ukośnikowe, które są traktowane szczególnie, wraz z wartościami,
              które wchodzą w ich miejsce.

              \a    Dzwonek (0x7).

              \b    Backspace (0x8).

              \f    Form feed (0xc).

              \n    Nowa linia (0xa).

              \r    Powrót karetki (0xd).

              \t    Tabulacja (0x9).

              \v    Tabulacja pionowa (0xb).

              \<nowalinia>biaaspacja
                    Zamiast  ukośnika,  nowej linii i białej (białych) spacji,
                    podstawiany  jest  pojedynczy  znak   spacji.    Sekwencja
                    ukośnikowa  jest  unikalna  dlatego, że jest podstawiana w
                    oddzielnym  przedbiegu   przed   przetworzeniem   komendy.
                    Znaczy  to, że będzie podstawiona nawet gdy nastąpi między
                    nawiasami, a  wynikająca  spacja  będzie  traktowana  jako
                    separator   słów  (o  ile  nie  jest  w  cudzysłowach  lub
                    klamrach).

              \\    Lewy ukośnik (``\'').

              \ooo  Cyfry ooo (jedna, dwie, lub trzy z nich) dają  rzeczywistą
                    ósemkową wartość znaku.

              \xhh  Cyfry  szesnastkowe  hh  dają  szesnastkową wartość znaku.
                    Obecna może być dowolna liczba cyfr.

              Podstawianie ukośnikowe nie jest dokonywane na słowach ujętych w
              klamry,  nie  licząc  podstawienia ukośnik-nowa linia, opisanego
              wyżej.

       [9]    Jeśli w miejscu, gdzie Tcl oczekuje pierwszego znaku  pierwszego
              słowa  komendy  znajduje  się znak ``#'', to znak ten i znaki za
              nim następujące, aż do nowej linii, są traktowane jako komentarz
              i  są ignorowane.  Znak komentarza ma znaczenie gdy znajduje się
              na początku komendy.

       [10]   Każdy znak jest przetwarzany przez  interpreter  Tcl  tylko  raz
              jako element tworzenia słów komendy.  Na przykład, jeśli nastąpi
              podstawienie zmiennych, dalsze podstawienia na wartości zmiennej
              nie  następują; wartość jest wstawiana dosłownie.  Jeśli nastąpi
              podstawianie komend, to  zagnieżdżone  komendy  są  przetwarzane
              całościowo  przez  rekursywne  wywołania interpretera Tcl; przed
              tym wywołaniem nie są robione żadne  podstawienia.  Podobnie  po
              wywołaniu nie robi się żadnych dodatkowych podstawień.

       [11]   Podstawienia  nie  tyczą  się  ograniczników  słów  komendy.  Na
              przykład podczas podstawiania zmiennych  cała  wartość  zmiennej
              staje  się  częścią  pojedynczego  słowa,  nawet  jeśli  wartość
              zmiennej zawiera spacje.