This is a Work-in-progress translation (to Swedish) of the eleven syntactic rules of Tcl. (see Endekalogue for other translations).
Eventuellt kontroversiella �vers�ttningar:
BESKRIVNING
F�ljande regler definierar syntax och semantik f�r programmeringsspr�ket Tcl:
(1) Kommandon
Ett Tcl-skript �r en (unicode-)str�ng som inneh�ller ett eller flera kommandon. Semikolon och nyradstecken �r kommandoavskiljare s�vida de inte �r anf�rda enligt beskrivning nedan. H�gerhakparenteser avslutar kommandon under kommandosubstituering (se nedan) s�vida de inte �r anf�rda.
(2) <Evaluation.>
Ett kommando <is evaluated> i tv� steg. F�rst delar Tcl-tolken upp kommandot i ord och utf�r substituering s� som beskrivs nedan. Dessa substitueringar utf�rs p� samma s�tt f�r alla kommandon. Det f�rsta ordet anv�nds f�r att finna en kommandoprocedur som ska utf�ra kommandot, de �vriga orden l�mnas till kommandoproceduren. Kommandoproceduren har frihet att tolka vart och ett av orden p� vilket s�tt den �nskar, t ex som ett heltal, variabelnamn, lista eller Tcl-skript. Olika kommandon tolkar sina ord p� olika s�tt.
(3) Ord
Orden i ett kommando avskiljs fr�n varandra av vita tecken (med undantag f�r nyradstecken, som �r kommandoavskiljare.
(4) Dubbelcitattecken
Om det f�rsta tecknet i ett ord �r ett dubbelcitattecken (") s� avslutas ordet av n�sta dubbelcitattecken. Om semikolon, h�gerhakparenteser eller vita tecken (inklusive nyradstecken) f�rekommer mellan citattecknen behandlas de som vanliga tecken och r�knas in i ordet. Komandosubstituering, variabelsubstituering och backstreckssubstituering utf�rs p� tecknen mellan citattecknen s� som beskrivs nedan. Dubbelcitattecknen ing�r inte i sj�lva ordet.
(5) Klamrar
Om det f�rsta tecknet i ett ord �r en v�nsterklammer ({) s� avslutas ordet av n�sta motsvarande h�gerklammer (}). Klamrar kan n�stlas inom ett ord: f�r varje ytterligare v�nsterklammer m�ste det finnas ytterligare en h�gerklammer (men om en v�nster- eller h�gerklammer inom ordet �r anf�rd med ett backstreck r�knas den inte i klammerpassningen). Inga substitueringar utf�rs p� tecknen mellan klamrarna med undantag f�r backstreck-nyradstecken-substitueringar som beskrivs nedan. Inte heller kommer semikolon, nyradstecken, h�gerhakparenteser eller vita tecken att tolkas som speciella tecken. Ordet kommer att best� av exakt de tecken som st�r mellan de yttersta klamrarna; de yttre klamrarna ing�r inte i ordet.
(6) Kommandosubstituering
Om ett ord inneh�ller en v�nsterhakparentes ([) s� genomf�r Tcl kommandosubstituering. F�r detta �ndam�l startar den Tcl-tolken rekursivt f�r att bearbeta tecknen som f�ljer efter v�nsterhakparentesen som ett Tcl-skript. Skriptet f�r inneh�lla ett godtyckligt antal kommandon och m�ste avslutas med en h�gerhakparentes (]). Skriptets resultat (dvs resultatet av dess sista kommando) s�tts in i ordet som ers�ttning f�r hakparenteserna och alla tecken mellan dem. Ett godtyckligt antal kommandosubstitueringar f�r f�rekomma i ett enskilt ord. Kommandosubstituering utf�rs inte p� ord som omsluts av klamrar.
(7) Variabelsubstituering
Om ett ord inneh�ller ett dollartecken ($) s� genomf�r Tcl variabelsubstituering: dollartecknet och de f�ljande tecknen ers�tts i ordet av variabelns v�rde. Variabelsubstituering f�rekommer i f�ljande former:
Ett godtyckligt antal variabelsubstitueringar kan f�rekomma i ett enskilt ord. Variabelsubstituering utf�rs inte p� ord som omsluts av klamrar.
(8) Backstreckssubstituering
Om ett backstreck (\) f�rekommer i ett ord s� utf�rs backstreckssubstituering. I alla f�rekomster utom de som beskrivs nedan utel�mnas backstrecket och det f�ljande tecknet hanteras som ett vanligt tecken och f�r ing� i ordet. Detta till�ter att tecken som dubbelcitattecken, h�gerklamrar och dollartecken ing�r i ord utan att orsaka s�rskild bearbetning. F�ljande tabell visar de backstreckssekvenser som hanteras annorlunda, tillsammans med de v�rden som ers�tter varje sekvens.
Backstreckssubstitution utf�rs inte p� ord som omsluts av klamrar, med undantag f�r backstreck-radbrytning, s� som beskrivs ovan.
(9) Kommentarer
Om ett br�dg�rdstecken (#) st�r p� en plats d�r Tcl f�rv�ntar sig det f�rsta tecknet av det f�rsta ordet i ett kommando, s� kommer br�dg�rdstecknet och de tecken som f�ljer det, till och med n�sta nyradstecken, att hanteras som en kommentar och ignoreras. Kommentarstecknet har den h�r betydelsen enbart n�r den st�r i b�rjan av ett kommando.
(10) Substitueringsordning
Varje tecken behandlas exakt en g�ng av Tcl-tolken under proceduren d� orden i ett kommando fastst�lls. Till exempel g�ller att om variabelsubstituering intr�ffar kommer inga ytterligare substitueringar att g�ras p� variabelns v�rde; detta v�rde s�tts in i ordet som det �r. Om kommandosubstituering intr�ffar s� bearbetas det n�stlade kommandot helt och h�llet av det rekursiva anropet till Tcl-tolken; inga substitueringar utf�rs innan det rekursiva anropet g�rs, och inga ytterligare substitueringar utf�rs p� resultatet av det n�stlade skriptet.
Substitueringar utf�rs fr�n v�nster till h�ger, och varje substituering <is evaluated> helt och h�llet innan tolken b�rjar <evaluate> n�sta. D�rf�r kommer en sekvens som
set y [set x 0][incr x][incr x]
alltid att s�tta variabeln y till v�rdet 012.
(11) Substituering och ordgr�nser
Substitueringar p�verkar inte ordgr�nserna i ett kommando. Vid t ex variabelsubstituering kommer hela v�rdet av variabeln att bli en del av ett enda ord, �ven om v�rdet inneh�ller mellanslag.
Vem �r det som jobbar p� detta? Hj�lper g�rna till! - VL 21 maj 2003.
Peter Lewerin jobbar p� detta. Svensktalande personer �r v�lkomna att l�mna f�rslag, antingen h�r p� sidan eller per e-post. Notera att alla �ndringar ovanf�r horisontalstrecket ovan riskerar att f�rsvinna om jag uppdaterar texten utan att m�rka att n�gon annan gjort en �ndring.
Skall ta en titt n�r jag har lite tid �ver, vore trevligt att f� ihop de elva - VL
Speciellt �nskar jag att du kunde titta p� de ord som jag inte hittat n�gon bra �vers�ttning f�r. Jag har markerat dem <s� h�r>. "Substituering" trivs jag ocks� d�ligt med, men �nnu s�mre med "ers�ttning", tror jag.
2003-05-22: R��vers�ttningen �r klar, nu �terst�r finputsning och �vers�ttning av de sista o�versatta fraserna.