Provided by:
manpages-pl-dev_20060617-3_all 
NAZWA
Tcl - Podsumowanie skladni jzyka Tcl
_________________________________________________________________
OPIS
Nastpujce reguly definiuj semantyk jzyka Tcl:
[1] Skrypt Tcl jest lacuchem, zawierajcym jedn, lub wicej komend.
redniki i nowe linie s separatorami komend, chyba e s
zacytowane. Zamykajce nawiasy s normalnie terminatorami komend.
[2] Komenda jest analizowana w dwoch krokach. Najpierw interpreter
Tcl rozbija komend na s/lowa i dokonuje opisanych niej podstawie.
Podstawienia te s dokonywane jednakowo dla wszystkich komend.
Pierwsze slowo jest uywane do lokalizowania procedury komendy,
ktora wykona polecenie, a nastpnie wszystkie pozostale slowa
komendy s przekazywane do tej procedury. Procedura moe
interpretowa kade ze swoich slow w dowolny sposob, np. jako
liczb calkowit, nazw zmiennej, list, lub skrypt Tcl. Rone
komendy ronie interpretuj swoje slowa.
[3] Slowa komendy s rozdzielane bialymi spacjami (poza nowymi
liniami, ktore s separatorami komend).
[4] Pierwszy znak slowa to podwojny cudzyslow (``"''), ostatni
rownie. Jeli midzy cudzyslowami pojawi si redniki, nawiasy czy
biale spacje, to bd one traktowane jak zwykle znaki wlczone w
slowo. Podstawianie komend i zmiennych, oraz podstawianie
ukonikowe jest dokonywane na znakach midzycudzyslowowych w
sposob opisany niej. Podwojne cudzyslowy nie s zachowywane jako
elementy slowa.
[5] Jeli pierwszy znak slowa jest otwartym nawiasem klamrowym
(``{''), to slowo jest koczone klamr zamykajc, (``}''). Klamry
zagniedaj si w slowie: kada otwarta klamra musi mie klamr
zamykajc (jednak jeli klamra jest cytowana lewym ukonikiem, to
jej dzialanie nie wymaga klamry zamykajcej). Na znakach midzy
klamrami nie dokonuje si adnych podstawie, nie liczc podstawie
lewy ukonik-nowa linia. Slowo sklada si dokladnie ze znakow
midzy klamrami, nie liczc samych klamr.
[6] Jeli slowo zawiera otwarty nawias kwadratowy (``[''), to Tcl
dokonuje podstawienia komendy. Aby tego dokona, wola
rekursywnie interpreter Tcl, ktory przetwarza znaki znajdujce za
nawiasem jako skrypt Tcl. Skrypt moe zawiera dowoln liczb komend
i musi by zakoczony nawiasem zamykajcym (``]''). Wyniki skryptu
(np. wynik ostatniej komendy) s podstawiane zamiast nawiasow,
wraz ze znakami znajdujcymi si midzy nimi. Moe by dowolnie
wiele podstawie w pojedynczym slowie. Podstawianie komend nie
jest dokonywane na slowach ujtych w nawiasy klamrowe.
[7] Jeli slowo zawiera znak dolara (``$'') to Tcl dokonuje
podstawienia zmiennej: znak dolara i nastpujce znaki s
zastpowane wartoci zmiennej. Podstawienie zmiennej moe przybra
jedn z postaci:
$nazwa
Nazwa jest nazw zmiennej skalarnej; nazwa jest
koczona dowolnym znakiem, ktory nie jest liter,
cyfr, lub podkreleniem.
$nazwa(indeks) Nazwa daje nazw zmiennej tablicowej, a indeks
daje nazw jej elementu. Nazwa musi sklada si
tylko z liter, cyfr i podkrele. Na znakach
indeksu dokonywane s podstawienia komend,
zmiennych i lewych ukonikow.
${nazwa} Nazwa jest nazw zmiennej skalarnej. Moe zawiera
dowolne znaki poza zamykajcymi nawiasami
klamrowymi.
W pojedynczym slowie moe by wiele podstawie zmiennych. Na
slowach, ujtych w klamry nie jest dokonywane podstawienie
zmiennych.
[8] Jeli w slowie znajduje si lewy ukonik (``\''), to nastpuje
podstawienie ukonikowe. We wszystkich wypadkach, poza opisanymi
niej, ukonik jest porzucany, a nastpujcy znak jest traktowany
jak zwykly i jest wlczany w slowo. Umoliwia to wlczanie znakow
takich, jak podwojne cytaty, nawiasy zamykajce i znaki dolara.
Nastpujca tabela pokazuje sekwencje ukonikowe, ktore s
traktowane szczegolnie, wraz z wartociami, ktore wchodz w ich
miejsce.
\a Dzwonek (0x7).
\b Backspace (0x8).
\f Form feed (0xc).
\n Nowa linia (0xa).
\r Powrot karetki (0xd).
\t Tabulacja (0x9).
\v Tabulacja pionowa (0xb).
\<nowalinia>bia/laspacja
Zamiast ukonika, nowej linii i bialej (bialych) spacji,
podstawiany jest pojedynczy znak spacji. Sekwencja
ukonikowa jest unikalna dlatego, e jest podstawiana w
oddzielnym przedbiegu przed przetworzeniem komendy.
Znaczy to, e bdzie podstawiona nawet gdy nastpi midzy
nawiasami, a wynikajca spacja bdzie traktowana jako
separator slow (o ile nie jest w cudzyslowach lub
klamrach).
\\ Lewy ukonik (``\'').
\ooo Cyfry ooo (jedna, dwie, lub trzy z nich) daj rzeczywist
osemkow warto znaku.
\xhh Cyfry szesnastkowe hh daj szesnastkow warto znaku. Obecna
moe by dowolna liczba cyfr.
Podstawianie ukonikowe nie jest dokonywane na slowach ujtych w
klamry, nie liczc podstawienia ukonik-nowa linia, opisanego
wyej.
[9] Jeli w miejscu, gdzie Tcl oczekuje pierwszego znaku pierwszego
slowa komendy znajduje si znak ``#'', to znak ten i znaki za nim
nastpujce, a do nowej linii, s traktowane jako komentarz i s
ignorowane. Znak komentarza ma znaczenie gdy znajduje si na
pocztku komendy.
[10] Kady znak jest przetwarzany przez interpreter Tcl tylko raz jako
element tworzenia slow komendy. Na przyklad, jeli nastpi
podstawienie zmiennych, dalsze podstawienia na wartoci zmiennej
nie nastpuj; warto jest wstawiana doslownie. Jeli nastpi
podstawianie komend, to zagniedone komendy s przetwarzane
calociowo przez rekursywne wywolania interpretera Tcl; przed tym
wywolaniem nie s robione adne podstawienia. Podobnie po
wywolaniu nie robi si adnych dodatkowych podstawie.
[11] Podstawienia nie tycz si ogranicznikow slow komendy. Na przyklad
podczas podstawiania zmiennych cala warto zmiennej staje si czci
pojedynczego slowa, nawet jeli warto zmiennej zawiera spacje.
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.