|
|
||||
Folge 21.3: Stackinterpreter |
||||
Schritt 8 - Interpretieren der Codedatei
|
||||
|
Hier sehen Sie das BlueJ-Klassendiagramm des aktuellen Projektes. Im Zentrum steht die Klasse StackInterpreter (haben Sie Nachsicht, manchmal schreibe ich diese Klasse auch mit einem kleinen i in der Mitte, also Stackinterpreter. Das liegt an den vielen verschiedenen Versionen, die ich inzwischen von diesem Projekt erstellt habe). Der Stackinterpreter hat einen Codebuffer und eine Stackmaschine, letztere ist eine Tochterklasse von Stack. Um den Interpreter besser und schneller testen zu können, empfiehlt es sich, eine eigene Testklasse zu schreiben, die den Interperter initialisiert, dem Interpreter den Befehl gibt, die Textdatei einzulesen und dann den jeweils nächsten Befehl zu interpretieren. Hier der Quelltext von meiner persönlichen Testklasse: public class Test
{
Stackinterpreter s;
public Test()
{
s = new Stackinterpreter();
s.liesDatei("Readme.txt");
}
public void step()
{
s.interpretiereNaechstenBefehl();
}
}
Die Experten unter Ihnen werden schon gesehen haben, dass ich die Projekt-Dokumentations-Datei "Readme.txt" als Datei für den Stackcode missbrauche. Ich hatte einfach keine Lust, immer einen externen Texteditor mitlaufen zu lassen, der dann eine Datei namens "Code.txt" oder so ähnlich verwaltet. So kann ich einfach mit BlueJ selbst die Datei für den Stackcode schreiben.
|
Siehe auch: |
|||
weiter mit dem Erweiterungsteil für FortgeschritteneDieser Erweiterungsteil ist für fortgeschrittene Schüler(innen), die sich gut mit der Programmierung von Applets und graphischen Elementen sowie mit dem Thema Buttons und Ereignisbehandlungen auskennen (eigentlich sollten das ja alle können, die den gesamten Kurs durchgearbeitet haben, denken Sie nur an die Folge 6), und die noch richtig viel Zeit haben. Übermäßig viele Punkte gibt es im Erweiterungsteil nicht zu verdienen - lassen Sie mich einmal nachzählen - 7 Punkte. Aber 7 Punkte mehr oder nicht können schon den Unterschied zwischen einer 1 in Informatik und einer 2 ausmachen. Sie können dem Kern-Kurs aber ohne Weiteres auch folgen, wenn Sie den Erweiterungsteil nicht durcharbeiten. Dann müssen Sie eben die Variablenverwaltung und weitere Erweiterungen des Interpreters im Textmodus (System.out.println) und mit dem Objektinspektor testen. Das ist aber durchaus möglich. Umgekehrt können Sie aber natürlich auch eine viel bessere Oberfläche für den Stackinterpreter basteln, die viel cooler aussieht. In meinem aktuellen Informatik-Kurs am Söderblom-Gymnasium hatten die Schüler (warum schreibe ich jetzt wohl nicht "die Schüler(innen)") unheimlich tolle Ideen. Die Oberflächen sahen teils nach Star Trek, teil nach iPod bzw. iPhone und noch doller aus... Für eine solche tolle Oberfläche können Sie noch bis zu drei weitere Punkte erhalten, vorausgesetzt, der Interpreter funktioniert fehlerfrei. weiter mit Folge 22: VariablenverwaltungDer Stackinterpreter, den wir uns in Folge 21 zusammengebastelt haben, kann nur einfache arithmetische Ausdrücke berechnen. Was bisher fehlte, sind Variablen, wie wir sie aus anderen Programmiersprachen kennen. Am Ende dieser Folge kann unser Stackinterpreter mit richtigen Variablen rechnen. |
||||
|
Diese HTML-Seite wurde erstellt von Ulrich Helmich am 21. Juli 2006 und sehr stark überarbeitet, ach was, völlig umgestellt, beinahe neu geschrieben, am 10. Mai 2008. |
||||