projman/hlp/fr/tcl/Tcl.htm

48 lines
8.7 KiB
HTML
Raw Normal View History

2015-10-19 13:27:31 +03:00
<HTML><HEAD>
<BASEFONT FACE="Times New Roman" SIZE="2" COLOR="#000000">
</HEAD>
<BODY>
<div><H3><b>Tcl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Commandes Internes Tcl</b></H3></div>
<HR ALIGN="center">
<div><b>NOM</b></div><br>
<div ALIGN="LEFT" style="margin-left: 51px;">Tcl - Sommaire de la syntaxe du langage Tcl.</div><br>
<div><b>DESCRIPTION</b></div><br>
<div ALIGN="LEFT" style="margin-left: 51px;">Les r<>gles suivantes definissent la syntaxe et la s<>mantique du langage Tcl:
<DL>
<DT>&#91;1]</DT><DD>Un script Tcl est une cha<68>ne contenant une ou plusieurs commandes. Les point-virgules et les sauts de lignes sont des s<>parateurs de commandes sauf plac<61>s entre guillemets comme d<>crit ci-dessous. Les crochets fermants sont des terminateurs de commande pendant la substitution de commande (voir ci-dessous) sauf plac<61>s entre guillemets.
</DD>
<DT><br>&#91;2]</DT><DD>Une commande est <20>valu<6C>e en deux <20>tapes. D'abord, l'interpr<70>teur Tcl divise la commande en <i>mots</i> et effectue les substitutions comme d<>crit ci-dessous. Ces substitutions sont effectu<74>es de la m<>me fa<66>on pour toutes les commandes. Le premier mot est utilis<69> pour localiser une commande <20> ex<65>cuter, ensuite tous les mots de la commande sont transmis <20> la fonction de la commande. La fonction de la commande est libre d'interpr<70>ter chacun des mots <20> sa guise, tel un entier, un nom de variable, une liste, ou un script Tcl. Diff<66>rentes commandes interpr<70>tent leurs mots diff<66>remment.</DD>
<DT><br>&#91;3]</DT><DD>Les mots d'une commande sont s<>par<61>s par un espace (except<70> les saut de lignes, qui sont des s<>parateurs de commandes). </DD>
<DT><br>&#91;4]</DT><DD>Si le premier caract<63>re d'un mot est un guillemet double(&quot;) alors le mot est termin<69> par le guillemet double suivant. Si des points-virgules, crochets fermants, ou un espace (incluant les sauts de lignes) apparaissent entre les guillemets alors ils sont trait<69>s comme des caract<63>res ordinaires et inclus dans le mot. Les substitution de commandes, substitution de variable , et la substitution backslash sont effectu<74>es sur les caract<63>res entre les guillemets comme d<>crit ci-dessous. Le double-guillemets ne sont pas retenus comme partie du mot.</DD>
<DT><br>&#91;5]</DT><DD>Si le premier caract<63>re d'un mot est une accolade ouvrante (&#123;) alors le mot est termin<69> par l'accolade fermante correspondante (}). Si les accolades sont imbriqu<71>es dans le mot: pour chaque accolade ouverte suppl<70>mentaire il doit y avoir une accolade fermante suppl<70>mentaire (n<>anmoins, si une accolade ouvrante ou fermante dans le mot est pr<70>c<EFBFBD>d<EFBFBD>e avec un antislash alors il n'est pas n<>cessaire de lui faire correspondre une accolade fermante). Aucune substitution n'est effectu<74>e sur les caract<63>res entre les accolades except<70> pour les substitutions backslash-newline d<>crites ci-dessous, et les points-virgules, saut de lignes, crochets fermants, ou l'espace ne font l'objet d'une quelconque interpr<70>tation sp<73>ciale. Le mot consistera en exactement les caract<63>res entre les accolades externes, non inclues les accolades elles-m<>me.</DD>
<DT><br>&#91;6]</DT><DD>Si un mot contient un crochet ouvert (&quot;&#91;&quot;) alors Tcl effectue une <i>substitution de </i><i>commande</i>. Pour ceci il appelle l'interpr<70>teur Tcl r<>cursivement pour traiter les caract<63>res suivants le crochet ouvert comme un script Tcl. Le script peut contiennent n'importe quel nombre de commandes et doit <20>tre termin<69> par un crochet ferm<72> (&quot;]&quot;). Le r<>sultat du script (i.e. le r<>sultat de sa derni<6E>re commande) est substitu<74> en un mot <20> la place des crochets et de tous les caract<63>res entre eux. Il peut y avoir quelconque nombre de substitution de commandess dans un seul mot. La substitution de commandes n'est pas effectu<74>e sur les mots entour<75>s d'accolades.</DD>
<DT><br>&#91;7]</DT><DD>Si un mot contient un signe dollar (&quot;&#36;&quot;) alors Tcl effectue une <i>substitution de </i><i>variable</i>:&nbsp; le signe dollar et les caract<63>res suivants sont remplac<61>s dans le mot par les valeur d'une variable. La substitution de variable peut prendre quelconque des formes suivantes:<DL>
<DT><b>&#36;</b><i>name</i><br></DT><DD><i>Name</i> est le nom d'une variable scalaire; le nom est termin<69> par tout caract<63>re qui n'est pas une lettre, un chiffre, ou un underscore.</DD>
<DT><b>&#36;</b><i>name</i><b>(</b><i>index</i><b>)</b><br></DT><DD><i>Name</i> donne le nom d'une variable tableau et <i>index</i> donne le nom d'un <20>l<EFBFBD>ment <20> l'int<6E>rieur du tableau. <i>Name</i> doit contenir seulement des lettres, chiffres, et underscores. La substitution de commandes, substitution de variables, et substitutions backslash sont effectu<74>es sur les caract<63>res de <i>index</i>.</DD>
<DT><b>&#36;&#123;</b><i>name</i><b>}</b><br></DT><DD><i>Name</i> est le nom d'une variable scalaire. Il peut contenir tous les caract<63>res except<70>s des accolades fermantes.</DD>
</DL>
Il peut y avoir n'importe quel nombre de substitution de variables dans un seul mot. La substitution de variables n'est pas effectu<74>e sur les mots entour<75>s d'accolades.</DD>
<DT><br>&#91;8]</DT><DD>Si un antislash (&quot;\&quot;) apparail <20> l'int<6E>rieur un mot alors une <i>substitution</i> <i>backslash </i>se produit. Dans tout les cas sauf ceux d<>crit ci-dessous le backslash est omis et le caract<63>re suivant est trait<69> comme un caract<63>re ordinaire et inclus dans le mot. Ceci permet aux caract<63>res tels que les double guillemets, crochets fermants, et signes dollar d'<27>tre inclus dans les mots sans d<>clencher de traitement sp<73>cial. La table suivante liste les sequences backslash qui sont g<>r<EFBFBD>es sp<73>cialement, avec la valeur qui remplace chaque s<>quence. <DL>
<DT>\<b>a</b><br></DT><DD>Bip (bell) (0x7). </DD>
<DT>\<b>b</b><br></DT><DD>Retour arri<72>re (0x8). </DD>
<DT>\<b>f</b><br></DT><DD>Saut de page (0xc). </DD>
<DT>\<b>n</b><br></DT><DD>Saut de ligne (0xa).</DD>
<DT>\<b>r</b><br></DT><DD>Retour chariot (0xd). </DD>
<DT>\<b>t</b><br></DT><DD>Tabulation (0x9).</DD>
<DT>\<b>v</b><br></DT><DD>Tabulation verticale (0xb).</DD>
<DT>\<b>&lt;newline&gt;</b><i>whiteSpace</i><br></DT><DD>Un espace remplace les backslash, newline, et tout les espaces et tabulationss apr<70>s le saut de ligne. Cette s<>quence backslash est unique dans le sens ou elle est remplac<61>e dans un pre-traitement s<>par<61> avant que la commande soit analys<79>e. Ceci signifie qu'elle sera remplac<61>e m<>me quand elle se produit entre accolades, et l'espace r<>sultant sera trait<69> comme un separateur de mot s'il n'est pas entre accolades ou guillemets.</DD>
<DT>\\<br></DT><DD>Backslash (&quot;\&quot;). </DD>
<DT>\<i>ooo</i> <br></DT><DD>Les chiffres <i>ooo</i> (un, deux, ou les trois ) donnent la valeur octale sur huit bits du caract<63>re Unicode qui sera ins<6E>r<EFBFBD>. Les bits forts du caract<63>re Unicode seront <20> 0. </DD>
<DT>\<b>x</b><i>hh</i> <br></DT><DD>Les chiffres hexad<61>cimaux <i>hh</i> donnent la valeur hexad<61>cimale sur huit bits du caract<63>re Unicode qui sera ins<6E>r<EFBFBD>. N'importe quel nombre de chiffres hexad<61>cimaux peuvent <20>tre pr<70>sents; n<>anmoins, tout sauf les deux derniers sont ignor<6F>s (le r<>sultat est toujours une quantit<69> sur un octet). Les bits forts du caract<63>re Unicode seront <20> 0.</DD>
<DT>\<b>u</b><i>hhhh</i> <br</DT><DD>Les chiffres hexad<61>cimaux <i>hhhh</i> (un, deux, trois, ou les quatre) donnent la valeur hexad<61>cimale sur seize bit du caract<63>re Unicode qui sera ins<6E>r<EFBFBD>.</DD>
</DL>
La substitution backslash n'est pas effectu<74>e sur les mots entour<75>s d'accolades, except<70> pour backslash-newline comme d<>crit plus haut.
</DD>
<DT><br>&#91;9]</DT><DD>Si un caract<63>re di<64>se (&quot;#&quot;) apparait <20> un point o<> Tcl attend le premier caract<63>re du premier mot d'une commande, alors le caract<63>re di<64>se et les caract<63>res qui suivent, jusqu'au saut de ligne suivant, sont consid<69>r<EFBFBD>s comme des commentaires et ignor<6F>s. Le caract<63>re commentaire a seulement une signification quand il apparait au d<>but d'une commande.</DD>
<DT><br>&#91;10]</DT><DD>Chaque caract<63>re est trait<69> exactement une fois par l'interpr<70>teur Tcl comme partie de la cr<63>ation des mots d'une commande. Par exemple, si une substitution de variable se produit alors aucune substitution suivante n'est effectu<74>e sur la valeur de la variable; la valeur est ins<6E>r<EFBFBD>e dans le mot texto. Si une substitution de commandes se produit alors la commande imbriqu<71>e est trait<69>e enti<74>rement par l'appel recursif de l'interpr<70>teur Tcl; aucune substitution n'est effectu<74>e avant l'appel recursif et aucune substitution suppl<70>mentaire n'est effectu<74>e dans le r<>sultat du script imbriqu<71>.</DD>
<DT><br>&#91;11]</DT><DD>Les substitutions n'affectent pas les limites des mots d'une commande. Par exemple, pendant une substitution de variable la valeur totale de la variable devient une partie d'un simple mot, m<>me si la valeur de la variable contient des espaces. </DD>
</DL>
</div>
<div>Derni<EFBFBD>re r<>vision: 8.1</div>
</BODY></HTML>