★ APPLICATIONS ★ PROGRAMMATION ★ CROSSREFERENZ (SCHNEIDER AKTIV) ★ |
CROSSREFERENZ (SCHNEIDER AKTIV) | CROSS-REFERENZ-ANPASSUNG AN DEN CPC 6128 |
Kein Basic-Programmierer kann es sich erlauben, den Überblick über die von ihm benutzten Variablen zu verlieren. Tritt aber bei der Bearbeitung eines Programms eine längere Pause ein, so kann dies doch schon mal geschehen. Um sich nach einer solchen Pause schnell wieder einzuarbeiten und den nötigen Durchblick zu erhalten, ist eine CROSSREFERENZ unentbehrlich. Mit Hilfe eines solchen Programms ist es möglich, ein Basicprogramm nach seinen benutzten Variablen zu durchforsten. Diese werden dann in sortierter Reihenfolge mit den Zeilennummern ausgegeben, in denen sie auftreten (siehe Beispiel). Genauso wichtig wie die Variablenanlistung sind die in einem Programm enthaltenen Verzweigungen. Hierzu werden in einer 2. Liste in aufsteigender Reihenfolge die Zeilennummern ausgegeben, zu denen aus den rechts daneben stehenden Zeilen über GOTO, THEN und ELSE verzweigt wird. Eine 3. Liste gibt Auskunft Uber die GOSUB's.Links steht die erste Zeilennummer der SUB-Routine, rechts die Zeilen, aus denen die SUB-Routine aufgerufen wird. Haben Sie Ihr Basic-Programm auf diese Weise analysiert, fällt Ihnen der Wiedereinstieg wesentlich leichter. Das hier abgedruckte CROSSREFERENZ-Programm ermöglicht Ihnen eine solche Analyse in der beschriebenen Form. Genaugenommen besteht das vorliegende CROSSREFERENZ-Programm aus 4 Programmteilen: Das erste Programm "CROSSREF.BAS" analysiert Ihr Programm und schreibt das Ergebnis der Analyse in die Datei "CRDATEI.DAT". Im 2. Programm "CRAUSG.BAS" wird die Datei "CRDATEI.DAT" mit Hilfe des MC-Pro-gramms "CRSORT.BIN" sortiert und ausgegeben. Das in Maschinensprache geschriebene Programm "CRSORT.BIN" wird mit Hilfe des Basic-Ladeprogramms "CRLOAD.BAS" erzeugt. Es ermöglicht das Sortieren von Feldern in Form eines RSX-Commands und kann von Ihnen auch in anderen Anwendungen benutzt werden. ! CRLOAD.BAS ! ! CROSSREF.BAS ! Bevor Sie also erstmalig Ihre CROSSREFERENZ aufrufen, müssen Sie mit RUN "CRLOAD.BAS" die Binär-Datei "CRSORT. BIN" auf derselben Diskette installieren, auf der auch Ihre CROSSREFERENZ laufen soll. Programmbeschreibung "CROSSREF.BAS" Mit dem Aufruf dieses Programms werden Sie nach dem Namen des zu untersuchenden Basic-Programms gefragt. Dieses Programm wird dann zum CROSSREF-Programm "gemergt".Da das Programm erst mit der Zeilennummer 65200 beginnt, können alle Programme "gemergt" werden, deren letzte Zeilennummer < 65200 ist. Eine CROSS-Referenz auf "CROSSREF.BAS" kann aus diesem Grund natürlich nicht funktionieren. Vor dem Mergen wurde noch eine Routine durchlaufen, die das Mergen erst möglich macht, da der CPC 464 hier einen Fehler im Betriebssystem aufweist. Nun erfolgt die Prüfung, ob auf Ihrer Diskette überhaupt noch genügend Platz vorhanden ist, um die Datei "CRDATEI.DAT" (sie enthält später die komplette Auswertung) auf Diskette zu schreiben. Ist dies nicht der Fall, erhalten Sie einen entsprechenden Hinweis und das Programm kommt zum vorzeitigen Ende. Bei genügend Platz legt es jetzt mit der Auswertung los, wobei Ihnen noch mitgeteilt wird, wieviel Minuten die Auswertung maximal dauern wird. Nun wird jede Zeile des gemergten Programms nach Variablen, GOTO's, THEN, ELSE und GOSUB's untersucht und diese Informationen werden in die Datei "CRDATEI.DAT" geschrieben. Nach Beenden der Auswertung erfolgt der automatische Aufruf des Programms "CRAUSG.BAS". Programmbeschreibung "CRAUSG.BAS" Dieses Programm dient dazu, die in der Datei "CRAUSG.DAT" enthaltenen Informationen Ihren Wünschen entsprechend aufzubereiten. Hierzu werden Sie gefragt, ob Sie die Ausgabe auf dem Drucker oder Bildschirm haben wollen. Zuerst werden die Variablen aus der Datei gelesen und sortiert. Sollen sie auf dem Drucker ausgegeben werden, haben Sie nach der letzten Variablen die Möglichkeit eine neue Seite einzuspannen, da die Ausgabe der GOTO‘s erst nach Betätigen, einer beliebigen Taste erfolgt. Genauso verhält es sich mit den GOSUB‘s. Bei der Bildschirmausgabe wird immer der Bildschirm vollgeschrieben, bevor mit dem Betätigen einer beliebigen Taste die Fortsetzung folgt. Zuletzt haben Sie die Möglichkeit, die Datei "CRDATEI.DAT" zu löschen oder bestehen zu lassen. Dies hat den Sinn, mit RUN "CRAUSG.BAS" die Ausgabe nochmals erfolgen zu lassen, ohne eine neue Auswertung zu starten. Dies wäre z.B. denkbar, wenn Sie zuerst die Bildschirm -Ausgabe gewählt hatten und nun doch noch eine Liste gedruckt haben möchten. Karl Jahns , Bodo Sobanski, SA |
|
|