[RS] boldly starts this Italian translation of the [Endekalogue] with what Babelfish makes out of man Tcl, and fixes evident blunders. Italiani sono pregati di ammigliorarlo! ---- Le seguenti regole definiscono la sintassi e la semantica della lingua di Tcl: '''(1) Ordini:''' Uno scritto di Tcl è una stringa che contiene uno o più ordini. I punti e virgola ed i newlines sono segni di separazione dei comandi a meno che citato come descritti qui sotto. Le staffe vicine sono terminali di ordine durante la sostituzione di ordine (veda sotto) a meno che citate. '''(2) Valutazione:''' Un ordine è valutato a due punti. In primo luogo, l'interpretatore di Tcl rompe l'ordine nelle parole ed effettua le sostituzioni come descritte qui sotto. Queste sostituzioni sono effettuate nello stesso senso per tutti gli ordini. La prima parola è usata per cercare una procedura di ordine per effettuare l'ordine, quindi tutte le parole dell'ordine sono passate alla procedura di ordine. La procedura di ordine è libera interpretare ciascuna delle relative parole in tutto il senso che gradisce, quale un numero intero, il nome, la lista, o lo scritto variabile di Tcl. Gli ordini differenti interpretano diversamente le loro parole. '''(3) Parole:''' Le parole di un ordine sono separate da spazio bianco (tranne i newlines, che sono segni di separazione dei comandi). '''(4) Citazioni del doppio:''' Se il primo carattere di una parola è doppio-citi (") allora la parola è terminato dal seguente doppio-citano il carattere. Se i punti e virgola, le staffe vicine, o i caratteri bianchi bianchi (newlines compresi) compaiono fra le citazioni allora sono trattare come i caratteri ordinari e sono inclusi nella parola. Comandi la sostituzione, la sostituzione variabile e la sostituzione di backslash è effettuata sui caratteri fra le citazioni come descritta qui sotto. Doppio-cita non sono mantenuti come componente della parola. '''(5) Sostegni:''' Se il primo carattere di una parola è un ({) aperto del sostegno allora la parola è terminata dai sostegni vicini di corrispondenza del sostegno (}). annida all'interno della parola: per ogni sostegno aperto supplementare ci deve essere un sostegno vicino supplementare (tuttavia, se un sostegno aperto o il sostegno di fine all'interno della parola è citato con un backslash allora non è contato nell'individuazione del sostegno vicino di corrispondenza). Nessuna sostituzione è effettuata sui caratteri fra i sostegni tranne le sostituzioni di backslash-backslash-newline descritte qui sotto, né i punti e virgola, i newlines, staffe vicine, o lo spazio bianco riceve tutta l'interpretazione speciale. La parola consisterà esattamente dei caratteri fra i sostegni esterni, ad esclusione dei sostegni essi stessi. '''(6) Sostituzione di ordine:''' Se una parola contiene un ([[) aperto della staffa allora il Tcl effettua la sostituzione di ordine . Per fare questo invoca ricorrentemente l'interpretatore di Tcl per procedere i caratteri che seguono la staffa aperta come scritto di Tcl. Lo scritto può contenere tutto il numero di ordini e deve essere terminato da una staffa vicina (]]). che il risultato dello scritto (cioè il risultato del relativo ultimo ordine) si sostituisce nella parola al posto delle staffe e di tutti i caratteri fra loro. Ci può essere qualsiasi numero di sostituzioni di ordine in una parola singola. La sostituzione di ordine non è effettuata sulle parole chiuse in sostegni. '''(7) Sostituzione variabile:''' Se una parola contiene un dollaro-segno ($) allora il Tcl effettua la sostituzione variabile : il dollaro-segno ed i seguenti caratteri sono sostituiti nella parola dal valore di una variabile. La sostituzione variabile può prendere c'è ne di seguenti forme: $nome Il nome è il nome di una variabile scalare; il nome è una sequenza di uno o più caratteri che sono una lettera, una cifra, un sottolineamento, o i separatori del namespace (due o più due punti). $nome(indice) Il nome dà il nome di una variabile di allineamento e l'indice dà il nome di un elemento all'interno di quell'allineamento. Il nome deve contenere soltanto le lettere, le cifre, i sottolineamenti ed i separatori del namespace e può essere una stringa vuota. Comandi le sostituzioni, le sostituzioni variabili e le sostituzioni di backslash sono effettuate sui caratteri dell'indice . ${nome} Il nome è il nome di una variabile scalare. Può contenere tutti i caratteri qualunque tranne i sostegni vicini. Ci può essere qualsiasi numero di sostituzioni variabili in una parola singola. La sostituzione variabile non è effettuata sulle parole chiuse in sostegni. '''(8) Sostituzione di backslash:''' Se un backslash (\) compare all'interno di una parola allora la sostituzione di backslash accade. In tutti i casi ma in quei descritti qui sotto il backslash è caduto ed il seguente carattere è trattare come un carattere ordinario ed è incluso nella parola. Ciò permette i caratteri quali le doppie citazioni, le staffe vicine ed i segni del dollaro essere incluso nelle parole senza innescare l'elaborazione speciale. Il piano seguente presenta le sequenze di backslash che sono maneggiate specialmente, con il valore che sostituisce ogni sequenza. \a Allarme udibile (flangia) (0x7). \b Ritorno (0x8). \f Nuova pagina (0xc). \n Nuova linea (0xa). \r Ritorno a margine (0xd). \t Linguetta (0x9). \v Linguetta verticale (0xb). \< whiteSpace > di newline Un singolo carattere bianco sostituisce il backslash, il newline e tutti gli spazi e linguette dopo il newline. Questa sequenza di backslash è unica in quanto è sostituita in un separato pre-passa prima che l'ordine realmente sia analizzato. Ciò significa che sarà sostituita anche quando si presenta fra i sostegni e lo spazio risultante sarà trattare come un separatore di parola se non è dentro sostegni o citazioni. \\ Backslash (``\''). \ ooo Il give di ooo delle cifre (uno, due, o tre di loro) un valore ottale ad otto bit per il carattere di Unicode che sarà inserito. Le punte superiori del carattere di Unicode saranno 0. \xhh Il give esadecimale del hh delle cifre un valore esadecimale ad otto bit per il carattere di Unicode che sarà inserito. Qualsiasi numero di cifre esadecimali può essere presente; tuttavia, tutti ma gli ultimi due sono ignorati (il risultato è sempre una quantità di un-byte). Le punte superiori del carattere di Unicode saranno 0. \uhhhh Il give esadecimale del hhhh delle cifre (una, due, tre, o quattro di loro) un valore esadecimale della sedici-punta per il carattere di Unicode che sarà inserito. La sostituzione di backslash non è effettuata sulle parole chiuse in sostegni, tranne il backslash-backslash-newline come descritto precedentemente. '''(9) Commenta:''' Se un (``#'') del carattere del hash compare ad un punto in cui il Tcl sta prevedendo il primo carattere della prima parola di un ordine, allora il carattere del hash ed i caratteri che lo seguono, con sul newline seguente, sono trattate come un commento e sono ignorati. Il carattere di commento ha soltanto importanza quando compare all'inizio di un ordine. '''(10) Ordine di sostituzione:''' Ogni carattere è proceduto esattamente una volta dall'interpretatore di Tcl come componente della generazione delle parole di un ordine. Per esempio, se la sostituzione variabile accade allora nessuna ulteriore sostituzione è effettuata sul valore della variabile; il valore è inserito nella parola verbatim. Se la sostituzione di ordine accade allora l'ordine annidato è proceduto interamente dal ricorsivo denomina all'interpretatore di Tcl; nessuna sostituzione è effettuata prima di fare la chiamata ricorsiva e nessuna sostituzione supplementare è effettuata sul risultato dello scritto annidato. Le sostituzioni avvengono da sinistra a destra ed ogni sostituzione è valutata completamente prima di tentare di valutare il seguente. Quindi, una sequenza come set y [set x 0][incr x][incr x] ;# (1) sempre mettrà il valore 012 alla variabile y. '''(11) Sostituzioni e contorni di parole:''' Le sostituzioni non interessano i contorni di parola di un ordine. Per esempio, durante la sostituzione variabile l'intero valore della variabile si transforma in in parte di una parola singola, anche se il valore della variabile contiene gli spazi. ---- (1) Babelfish turned this into regoli y [ regoli il x][incr x di x 0][incr ] Better not let it translate your scripts... ;) ---- [Natural languages] | [Arts and crafts of Tcl-Tk programming]