Atari ST - 1988
REMbo

- Genre
- Programming - Aids / Routines / Tools
- Year
- 1988
- Language
- GFA BASIC
- Publisher
- [no publisher]
- Controls
- Keyboard / Mouse
- Distributor
- —
- Resolution
- High
- Developer
- [n/a]
- ST Type
- ST, STe, TT, Falcon030 / 0.5MB
- Licensed from
- —
- Programmer(s)
- Egner, Daniel R.
- Country

- MIDI
- —
- Software
- German
- Version
- 1.3
- Box/Instructions
- German
- Number of Disks
- 1 / Double Sided / HD Installable
- License
- PD / Freeware / Shareware
- Dump
- Download
- Serial
- —
- Dump format
- MSA
- Protection
- —
INSTRUCTIONS
Programm-Name: »REMBO«
Version: 1.2
Datum: 08.09.1988
Programm-Autor: Daniel R. Egner
Altkönigstr. 15
6233 Kelkheim/Ts.
PGiroA Ffm (BLZ: 500 100 60)
Konto: 3038 67-600
Computertyp: ATARI ST
Programmiersprache: GfA BASIC V3.00
BASIC-File: REMBO.GFA
weitere Dateien: REMBO.RSC -> ReSourCe
REMBO.TXT -> AnleitungsTeXT
B E D I E N U N G S A N L E I T U N G
Dieses Programm dient dazu, aus einem Basic-Programm alle REMs zu beseitigen.
Dazu sollte ich vielleicht ein paar Worte verlieren.
Wie Sie sicher wissen, können Sie in Ihre Programme sogenannte REMarks (=Be-
merkungen) einbauen, die der Dokumentation und der Übersicht dienen. Diese
werden vom Interpreter bei Ausführung des Programms überlesen.
Aus eigener Erfahrung kann ich nur sagen: Machen Sie viel Gebrauch davon! Bei
längeren Programmen verliert man nämlich recht schnell die Übersicht. Außerdem
erleichtert es die Wiederaufnahme nach längeren Unterbrechungen ungemein. Oder
wissen Sie nach sechs Wochen noch, warum Sie beispielsweise die Variable z% im
Unterprogramm SHOW_BLOCK benutzt haben?
Selbst wenn Sie zu den wenigen begnadeten Programmierern gehören, die da noch
durchblicken, denken Sie wenigstens daran, daß bei einer eventuellen Weiter-
gabe von Listings an Freunde oder User-Club-Mitglieder diese auch ganz gern
von Ihrem Knowhow profitieren wollen.
Jetzt fragen Sie sich aber vielleicht: "Wieso soll ich erst Anmerkungen ma-
chen, wenn ich sie dann wieder löschen soll?" Ganz einfach, REMs haben zwei
Nachteile, die ich hier nicht verschweigen will. (Aber keine Bange, Ihre Ar-
beit ist natürlich nicht umsonst, doch dazu später.)
1. Durch eifriges Benutzen von REMs wird das Programm aufgebläht, es braucht
mehr Speicherplatz, sowohl im Rechner als natürlich auch auf Diskette oder
Festplatte.
2. Das Abarbeiten der einzelnen Befehle erfordert je nach Komplexität mehr
oder weniger viel Zeit. Der Interpreter muß jede Zeile auf Befehlsworte hin
analysieren. Ich weiß zwar nicht, ob der GfA-Interpreter nach den REMs
"weiterliest" oder den Rest der Programmzeile übergeht, aber er liest zu-
mindest das Befehlswort selbst. Bei hundert REMs sind das halt auch hun-
dertmal x Zeiteinheiten! Die könnte man sich sparen.
Falls Sie noch mit einer der GfA-BASIC-Versionen 1.xx oder 2.xx arbeiten und
den zugehörigen Compiler benutzen, so brauchen Sie sich über die erwähnten
Nachteile keine Sorgen zu machen. Er übernimmt nämlich die REMs gar nicht erst
in das Compilat.
Jetzt gibt es aber zum Einen noch Leute, die den Compiler nicht besitzen und
die Programme mittels des RUN-ONLY-Interpreters betreiben, zum Anderen wird
der Compiler für die BASIC-Version 3.00 voraussichtlich erst zum Jahresende
1988 zu erhalten sein!
Hier setzt »REMBO« an!
Übrigens, die Ähnlichkeit mit dem Namen eines schießwütigen Ex-Söldners ist
(fast) zufällig. Gemeint ist vielmehr "REMarks Beat Off", oder auf deutsch,
das Heraushauen der Bemerkungen aus dem Listing. Das allerdings macht »REMBO«
ebenso gründlich und radikal wie sein (Fast-)Namensvetter!
So, nach der langen Vorrede nun ans Eingemachte:
Gehen Sie wie folgt vor:
1. Speichern Sie Ihr erstelltes Programm mittels des Befehls SAVE,A als ASCII-
Datei ab. Da hier die Befehle nicht als sogenannte "Tokens", sondern quasi
"in Reinschrift" abgespeichert werden, kann »REMBO« nun nach bestimmten
Zeichenfolgen suchen.
In diesem Zusammenhang sollte ich vielleicht erwähnen, daß ich als maximale
Anzahl von Programmzeilen 9000 vorgesehen habe. Das sollte ja wohl wirklich
ausreichen, oder? Wenn nicht, dann müßten Sie vielleicht mal Ihren Program-
mierstil überprüfen!!
2. Starten Sie das Programm »REMBO«.
Das Basic-File "REMBO.GFA" wird dazu entweder mit dem beigefügten RUN-ONLY-
Interpreter oder, falls vorhanden, mit dem Interpreter 3.00 aufgerufen.
»REMBO« erkennt und entfernt folgende Fälle, sofern sie nicht Bestandteil
eines Strings sind:
»Rem« »REM« »'« »!« ».«
In den beiden Fällen der REM-Zeile beziehungsweise des Apostrophs am Zei-
lenbeginn wird eine mögliche Einrückung ebenso berücksichtigt wie Groß-
oder Kleinschreibung (siehe Befehl DEFLIST)
In Zeilen mit angehängtem Kommentar hinter dem Ausrufezeichen bleibt der
Befehlsteil erhalten, der Rest fällt »REMBO« zum Opfer.
Falls es sich um eine DATA-Zeile handelt, bleibt sie unberührt, denn hier
dürfen gar keine REMs stehen. Es sind also immer DATAs und die werden ja
wohl noch gebraucht, gelle!
Der letzte Fall ist eigentlich kein REM im engeren Sinne, er stellt in der
BASIC-Version 3.00 eine Anweisung dar, mit der man ein formatiertes Druk-
kerlisting erzeugen kann. Da sowas aber nichts mit dem Programmablauf zu
tun hat, heißt es auch hiervon Abschied nehmen.
3. »REMBO« läßt die Quell-Datei übrigens unberührt, es wird vielmehr eine neue
Datei mit der Endung ".NEU" erzeugt, dorthin werden die verkürzten Pro-
grammzeilen zurückgeschrieben. Die kann dann mittels MERGE in den Interpre-
ter geladen werden. Nun kann man das, teilweise erheblich gekürzte, Pro-
gramm als *.BAS- beziehungsweise *.GFA-Datei SAVEn (je nach Interpreter-
Version).
Sie können mit der kleinen Datei "REMTEST.LST" einmal diese Vorgehensweise
durchtesten. Ich habe verschiedene Formen von Anmerkungen in ein kleines
Programm eingebaut. Nach der "Behandlung" durch »REMBO« ist die Datei zwar
geschrumpft, aber immer noch voll funktionsfähig (, wenn auch überflüssig).
So, das war's. Wenn Ihnen »REMBO« zusagt, dann sollten Sie meine Bemühungen
mit einer kleinen "Spende" (unter Absenderangabe!) in Höhe von DM 15,- beloh-
nen. Ich werde Ihnen dann das Listing zuschicken, logischerweise mit den REMs!
Vielleicht haben Sie noch ein, zwei Ideen, wie »REMBO« zu verbessern ist. Oder
stecken noch Fehler drin, die Sie gern beseitigt hätten? Diese Anregungen kön-
nen Sie bei der Gelegenheit gleich mit loswerden.
*** Änderungen gegenüber älteren Versionen: ***
Wie so oft, stecken Änderungen im Detail, sind also nicht sofort zu erkennen.
-> Es ist jetzt möglich, »REMBO« in einem beliebigen Ordner abzulegen. Aller-
dings sollte man dann den RUN-ONLY-Interpreter in demselben Verzeichnis ha-
ben, da dieser scheinbar intern immer das aktuelle Verzeichnis als Pfad
einstellt und nicht etwa das Verzeichnis, welches man über die Fileselect-
Box angewählt hat. Mal sehen, ob ich das Problem demnächst lösen kann ...
-> Die Fehlerabfrage wurde verbessert, so daß hier eigentlich nicht mehr mit
Überraschungen zu rechnen sein dürfte.
-> Eventuell könnte bei früheren Versionen durch mehrmaliges Aufrufen des Pro-
grammes die Speicherverwaltung "aus dem Tritt" gekommen sein, da mir hier
ein Fehler im Zusammenhang mit dem RSC-File passiert war. Zukünftig ist das
Problem behoben.
Der Rest ist mehr "kosmetischer" Natur und hat keine spürbaren Auswirkungen
auf die Arbeit mit dem Programm.
Trotzdem ist es gelungen, den Umfang von Programm + Resource sogar um ein paar
Byte zu reduzieren, und das sogar ganz ohne »REMBO«!
Also dann, "Fleißiges Killen" (Alle Pazifisten mögen mir verzeihen ...)
