30.12.2012 Aufrufe

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

36<br />

Programmierung graphischer Benutzerschnittstellen mit <strong>Tcl</strong>/<strong>Tk</strong><br />

3.4 Beispiel: <strong>Tcl</strong> als Addierer<br />

set s1 ""; set s2 ""<br />

puts "Bitte geben Sie den ersten Summanden ein:"<br />

gets stdin s1<br />

puts "Bitte geben Sie den zweiten Summanden ein:"<br />

gets stdin s2<br />

set result [expr $s1+$s2]<br />

puts "Ergebnis: $result"<br />

Bitte geben Sie den ersten Summanden ein:<br />

5<br />

Bitte geben Sie den zweiten Summanden ein:<br />

9<br />

Ergebnis: 14<br />

3.5 Substitution und Befehlsausführung<br />

Befehle in <strong>Tcl</strong> werden in zwei Phasen evaluiert. Zuerst findet eine Analyse<br />

(Parsing) statt, die rein syntaktisch erfolgt und nur Kommandonamen und<br />

Argumente liefert. Dabei findet aber bereits eine Substitution statt, z. B.<br />

wird der Text $a durch den Wert der Variablen a ersetzt, wobei der Parser<br />

nicht prüft, ob eine Variablenreferenz an dieser Stelle korrekt ist oder ob<br />

der gelieferte Wert an dieser Stelle paßt.<br />

In der zweiten Phase wird der nach der Substitution gelieferte String<br />

semantisch als Kommando evaluiert, wobei das erste Wort der Befehlsname<br />

ist, dessen Existenz geprüft wird. Bei Erfolg wird die Kontrolle an<br />

diese Prozedur abgegeben, die in der Interpretation der Argumente völlig<br />

frei ist.<br />

Diese Zweiteilung entspricht der Aufgabentrennung von Shell und<br />

Kommandos in UNIX, bei der bekanntlich die Shell einheitlich die Ein-<br />

/Ausgabeumlenkung regelt, jedes Kommando aber andere Optionen<br />

akzeptieren kann.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!