home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
- םגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגג™
- ø ø
- ø ף∞∞∞∞ ∞∞∞∞ף ∞∞∞∞ף Ein Compiler-Driver für ø
- ø ףץץץ ץ∞ ץ∞ BC-Fortran-77 V1.3c ø
- ø ף ץ∞ ץ∞ Version 0.12 ø
- ø ∞ ∞ ∞ (C)1992, U. Bartelt ø
- ø ø
- ijגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגך
-
-
-
-
-
- Ättänschn !!!
- גגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגג
-
- Dies Programm ist Freeware und frei jeglicher Versprechen
- meinerseits.
- - Es darf nicht verkauft werden, in PD-Sammlungen aufgenommen werden
- oder auf eine andere Art dem Geldverdienen Dritter dienen.
- - Ich verspreche nichts !!!
- Nichteinmal, daß das Programm funktioniert oder den Rechner
- unbeschadet läßt...
-
-
-
- Was, wie, warum, wozu ?
- גגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגג
-
- Vor einiger Zeit lief mir mal der von André Köstli stammende
- Fortran-77-Compiler über den Weg. (BC-Fortran-77 Version 1.3c)
- Der sah ja auch ganz nett aus...
- Aber er hatte ein paar Schwachstellen (in meinen Augen)...
-
- 1. Er verlangte eine nicht meiner Directory-Philosophie konforme
- Installation auf der Festplatte.
- 2. Außerdem hatte ich keine Lust, immer Compiler und Linker
- nacheinander aufzurufen. Ich bin halt an die üblichen
- C-Compiler-Driver gewöhnt, und die können das auch anders...
- 3. Ich konnte mir die Optionen des Compilers und des Linkers
- einfach nicht merken. Das liegt auch wieder daran, daß die
- üblichen C-Compiler-Driver zumindest bei den wichtigsten
- Optionen einen Quasi-Standard einhalten...
-
- So entstand dann --- als Quickhack --- F77.TTP, um diese drei Punkte
- zumindest halbwegs akzeptabel zu lösen...
-
-
-
- How 2 install...
- גגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגג
-
- Der BC-Fortran'sche Lieferumfang besteht aus den folgenden Dateien:
-
- 1) Fortran-77-Compiler BCF.TTP
- 2) Linker BCL.TTP
- 3) Basis-Library BCRTSY.B
- 4) Mathematik-Library MATHLIB.B
- 5) Kurzanleitung LIES.TXT
-
- (Nur wenn alle diese Files komplett weitergegeben werden, ist die
- Verbreitung von BC-Fortran erlaubt.)
-
- Gemäß meiner Directory-Struktur liegen
-
- - Compiler und Linker im Verzeichnis "c:\bin\bcf\"
- - Die Libraries im Verzeichnis "c:\lib\bcf\"
-
- und die Environment-Variablen "BCF_EXEC" und "BCF_LIB" werden auf
- diese Pfade eingestellt. Dies geschieht sinnigerweise im Profile der
- Lieblings-Shell oder mit einem im Auto-Ordner liegenden Programm,
- das ein Environment initialisiert.
- Weiter wird entweder "F77.TTP" in ein Verzeichnis gesteckt, das in
- der Environment-Variable "PATH" vorkommt oder man bedient sich eines
- ALIASes oder ähnlicher Funktionen, um "F77.TTP" griffbereit zu
- halten.
-
- In "MUPFEL.MUP" oder "GULAM.G" stände also
-
- setenv BCF_EXEC c:\bin\bcf # mit oder ohne "\" am Ende
- setenv BCF_LIB c:\lib\bcf
- alias f77 c:\bin\bcf\f77.ttp # oder die MUPFELsche "HASH"-
- # Funktion benutzen.
-
- Bei anderen Shells mag das eventuell anders aussehen, aber wer
- regelmäßig seine Shell benutzt, wird zumindest in der Lage sein,
- dies der Syntax seiner Shell anzupassen...
-
- Ist BCF_EXEC nicht definiert, so sucht F77.TTP in den durch PATH
- angegebenen Directories nach Compiler und Linker.
- Man könnte also die drei TTPs einfach in ein "Standard"-Programm-
- Directory kopieren und dies im PATH eintragen.
-
-
-
- F77 aufrufen...
- גגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגג
-
- Zunächst einmal ein paar Beispiele:
-
- 1. f77 test.f
- - Compiliert "test.f" zu "test.b". An den Compiler wird die
- Option -U übergeben, was dazu führt, daß nicht zwischen
- Groß- und Kleinschreibung in Namen unterschieden wird.
- (Dies erschien mir sinnvoll als Default, denn es entspricht
- dem, was man von Fortran so gewöhnt ist.)
- - Konnte "test.b" korrekt generiert werden, so wird der Linker
- instruiert, "test.b" und "mathlib.b" zu einem Programm
- zusammenzubinden. Dies heißt dann "test.prg" und liegt schön
- brav neben dem Quelltext...
- ("mathlib.b" wird defaultmäßig eingebunden, denn Fortran-
- Programme sollen ja haupsächlich RECHNEN...
- Dies kann auf Wunsch unterbleiben, dann ist die Option -r
- anzugeben.)
-
- 2. f77 -c test.f
- - Jagt "test.f" nur durch den Compiler. Der Linker wird nicht
- bemüht, es entsteht lediglich ein neues "test.b" (so man
- keinen Müll getippt hat)...
-
- 3. f77 test.b
- - Jagt "test.b" durch den Linker. (siehe bei 1.)
-
- 4. f77 myprog.b mysubs.b
- - Die beiden angegebenen Module werden mit der Mathe-Library
- zusammen zu einem Programm gelinkt. Dies hat dann den Namen
- der ersten Datei, also "myprog.prg".
-
- 5. f77 myprog.f mysubs.f
- - Ähnlich Beispiel 4, jedoch werden die angegebenen Quelltexte
- erstmal einzeln durch den Compiler genudelt.
- War dies erfolgreich, so werden sie wie in Beispiel 4 weiter-
- verarbeitet...
-
- Das sollte zunächst an Beispielen reichen.
-
- Ehrlicherweise muß ich noch nachtragen, daß die Library "bcrtsy.b"
- immer vom Linker eingebunden wird.
- (Muß ja auch sein, damit alles läuft...)
-
-
-
- Die Optionen von F77.TTP...
- גגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגג
-
- ...noch werden nicht alle Optionen des BC-Fortrans von F77.TTP
- bedient.
- Aber das wird sich evolutionär ändern...
-
- Momentan werden folgende Optionen erkannt:
-
- -c compile only
- -f no casefolding, distinguish upper and lowercase
- -g compile with debug code
- -n no actions, only show commands...
- -O optimize (currently only optimizes linking)
- -r don't link with MATHLIB.B
- -sn set stack size to n kBytes
- -v verbose compile and link
- -vc verbose compile
- -vl verbose link
-
- ...und noch zwei weitere, aber darauf wäre ja jeder selbst gekommen.
- ...oder etwa nicht ?
-
- -? helptext
- -h helptext
-
- Dem alten BC-Fortran-Hasen fällt natürlich sofort auf, daß dies
- nicht die üblichen Optionen von BCF und BCL sind.
- Schaut man sich aber mal die Optionen gängiger C-Compiler-Driver an,
- so fällt sofort auf, daß ich versucht habe, die Optionen ähnlich zu
- gestalten.
-
- So soll es auch bleiben. Amen !
-
-
-
- Bugs
- גגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגג
-
- - Scheinbar geben BCF und BCL keine Fehlercodes zurück...
- Nach einer erfolglosen Compilierung wird also dennoch der Linker
- bemüht.
- Dieser nörgelt dann natürlich an, er könne sein File nicht finden.
- Das wird eventuell später mal durch eine FILEEXIST()-Abfrage
- abgefangen werden...
-
- - Mit BC-Fortran erstellte Programme laufen nicht sauber im Konsole-
- Fenster von GEMINI. Vom Desktop aus ge-doppelklick-startet, machen
- sie keine Probleme. Benamst man sie einfach zu TOS-Programmen um,
- so machen sie auch im Konsole-Fenster keinen Ärger.
- Hieran werde ich nichts ändern, denn es ist durch einen kleinen
- Patch in BCL.TTP behebbar...
- Einen File-Monitor (z.B.: SED von der Kleisterscheibe) nehmen
- und in BCL.TTP die Zeichenfolge ".prg" suchen und durch ".tos"
- ersetzen !
-
-
-
- Ausklang
- גגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגגג
-
- Hab ich nun alles Wichtige erwähnt ?
- Ich hoffe ja...
-
- Falls doch nicht, einfach mal melden bei:
-
- Ulf Bartelt
-
- Fido : 2:241/4530.2
- Earn/Bitnet: stub @ dcztu1
- Internet : stub @ ibm.rz.tu-clausthal.de
-
-