Version 5 of De elva reglerna

Updated 2003-05-21 21:12:48

This is a Work-in-progress translation of the eleven syntactic rules of Tcl. (see Endekalogue for other translations).

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 bakstreckssubstituering 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 bakstreck r�knas den inte i klammerpassningen). Inga substitueringar utf�rs p� tecknen mellan klamrarna med undantag f�r bakstreck-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.

to be continued...


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.