Allgemeines:
------------

Dieser Telix-SALT-Recompiler ermglicht es, aus einem bereits mit dem
CS compilerten SALT-Script wieder die Quelle zu rekonstruieren.
Dabei bleibt die gesamte Struktur des Programms erhalten, nur die
im SALT-Script enthaltenen Variablen- und Funktionsnamen werden,
mit Ausnahme der BUILT-IN-Variablen- und Funktionsnamen, durch generierte
Namen ersetzt.

Dieser Recompiler wurde mit den Versionen 3.15 und 3.20 getestet, aber
er drfte auch mit den Versionen 3.10 und 3.12 laufen.

WICHTIG:
Der Recompiler darf, wie ein Disassembler, *nicht* dazu eingesetzt
werden, mit Copyright versehene compilerte SALT-Scripts zu verndern
oder etwa die erzeugten Quellen weiter zu verbreiten.

Dieses Programm ist aus der Not heraus entstanden, weil mir meine
gesamte Directory mit diversen SALT-Quell-Scripts zerstrt wurde und
natrlich auch die Sicherungsdisketten bereits nur die zerstrten
Files enthielten.

Ich gebe diesen Recompiler nur deshalb als Public-Domain-Programm
frei, damit andere bei hnlichen Problemen nicht gleich in tiefe
Agonie fallen.

Copyright (c) 1992 by Bernd-Gunter Nitzler
		      Frankenstrae 6
		      D-1000 Berlin 30
		      Deutschland

Kein Teil dieses Programms darf ohne meine vorherige schriftliche
Zustimmung verndert werden.

Dieses Programm darf frei kopiert und weiter gegeben werden solange,
auer einem Material- und Kopierpreis von nicht mehr als 5 DM, nichts
dafr verlangt wird und folgende Dateien zusammen bleiben:

	RESALT.EXE
	LIESMICH
	README
	FILE_ID.DIZ

Aufruf des Recompilers:
-----------------------

resalt <pathname>

wobei <pathname> ohne Extension anzugeben ist. Als Eingabedatei wird
an den Namen die Extension .SLC angehngt. Die Ausgabedatei erhlt
den gleichen Namen, jedoch mit der Extension .SLX um eine vorhandene
.SLT-Datei nicht zu berschreiben.

Generierung der Variablennamen:
-------------------------------

globale String-Variablen:	gs<n>	n ist die Adresse in der slc-Datei
globale Integer-Variablen:	gi<n>	n ist die Adresse in der slc-Datei
Funktionen:			f<n>	n ist die Adresse in der slc-Datei
Parameter String-Variablen:	ps<n>	n ist die Nummer der Variablen
Parameter Integer-Variablen:	pi<n>	n ist die Nummer der Variablen
lokale String-Variablen:	ls<n>	n ist die Distanz in der Funktion
lokale Integer-Variablen:	li<n>	n ist die Distanz in der Funktion
Labels:				m<n>	n ist die Adresse in der slc-Datei

For-Schleifen werden in jedem Fall als while-Schleifen dargestellt, da
nicht mehr sicher erkannt werden kann, um welchen Schleifentyp es sich
in der ursprnglichen Quelle handelte. Dies hat aber keine Funktions-
nderung zur Folge.

Es werden auch einzelne Statements hinter if oder while in geschweiften
Klammern dargestellt.

Fehlermeldungen:
----------------

Interner Fehler bei add_fkt %x
	ein Funktionscode kann nicht richtig recompilert werden

Interner Fehler bei add_dyop %x
	ein dyadischer Operator kann nicht richtig recompilert werden

Interner Fehler bei add_monop %x
	ein monadischer Operator kann nicht richtig recompilert werden

Interner Fehler bei put_op, optyp = %x
	eine Operation kann nicht richtig recompilert werden

Aufruf: RESALT Scriptname
	Falscher Aufruf des Recompilers

Telix-Script <pathname> nicht gefunden
	Die angegebene SLC-Datei kann nicht gefunden werden

Zieldatei <pathname> kann nicht geffnet werden
	Die angegebene SLX-Datei kann nicht erzeugt werden

<pathname> ist kein Telix-Script
	Die angegebene Datei ist kein Telix-SALT-Script

sonstige Meldungen:
-------------------

<pathname>: dummy = $%x, length = $%x, flags = $%x, start = $%x
	gibt die Daten des Headers der SLC-Datei aus

f<n>	protokolliert die gerade recompilierte Funktion
