[Tustep-Liste] Re: Quo vadis?

Kuno Sch�lkle Schaelkle at zdv.uni-tuebingen.de
Fr Jun 25 11:45:57 CEST 2004


Lieber Herr Leicht,

der Entwickler des TUSTEP-Dateiformats sieht keine rechtlichen
Bedenken gegen Ihr Angebot, über die im TUSTEP-Handbuch
veröffentlichten Dokumentation hinaus weitere Informationen zum
TUSTEP-Dateiformat und/oder Programme zum Zugriff auf solche
Dateien zur Verfügung zu stellen.

Fuer technisch Interessierte ein paar weitere Hinweise:

Jeder TUSTEP-Benutzer kann mit Hilfe des Kommandos #DUMPE
den internen Aufbau einer TUSTEP-Datei anschauen.

Das TUSTEP-Dateiformat wurde zu einer Zeit festgelegt, als
manche Rechner die Daten in einer Datei nicht (wie heute ueblich)
byteweise, sondern nur "wortweise" adressieren konnten. Ein
"Wort" entsprach 4 Bytes. Um fuer alle Rechner ein einheitliches
Dateiformat zu ermoeglichen, mussten fuer Pointer Wortadressen
statt Byteadressen verwendet werden. Mulitpliziert man eine
Wortadresse mit 4, erhaelt man die entsprechende Byteadresse.

Der Dateikopf ist in einzelne Informationsbloecke aufgeteilt. Die
Bloecke koennen bei Bedarf in zukuenftigen TUSTEP-Versionen
erweitert werden. Aus diesem Grund ist die Lage der einzelnen
Bloecke nicht fix. Ein Programm, das eine TUSTEP-Datei lesen
will, sollte deshalb nicht direkt auf diese Bloecke zugreifen, sondern
indirekt ueber die ab Adresse 12 stehenden Pointer. Die Lage
dieser Pointer auf die einzelnen Bloecke ist fix. Für ein Programm
zum Lesen einer TUSTEP-Datei ist insbesondere der erste Block
wichtig, dessen erster Wert ein Pointer auf den (logisch) ersten
Satz der Datei ist.

Bei den eingentlichen Daten einer TUSTEP-Datei ist zu beachten,
dass Sie nicht in reinem 7-bit-ASCII, sondern in dem im Handbuch
auf Seite 515 beschriebenen internen TUSTEP-Code gepeichert
sind.

Mit herzlichen Gruessen
Kuno Schaelkle

> ------------------------------------------------------------
>
> Liebe Diskussionsteilnehmer,
>
> Während ich die Beiträge in der Liste besonders in letzter Zeit aufmerksam
> verfolgte, da ich mir von möglichen Neuerungen und einer Öffnung  des
> Komplexes "Tustep" bezüglich anderer Sprachen viel erhoffte, fiel mir immer
> wieder auf, daß das Tustep-Dateiformat kritisiert wurde und besonders, daß es
> eine "geheimgehaltene Schnittstelle" sei. Die Tatsache, daß größere Datenmengen
> nicht auf dem rein sequentiellen Weg in einer ASCII-Datei bearbeitet werden
> sollten, hat Herr Trauth schon geklärt und ich vermute, daß jeder, der sich mit
> dieser Problematik beschäftigt hat, dem nur zustimmen kann. Für einen Beweis
> des Gegenteils wäre ich nicht nur offen, sondern sogar sehr dankbar.
> Zugegebenermaßen war ich nicht mäßig erstaunt, als ich im Handbuch stöberte, um
> etwas über das so geheime Dateiformat zu erfahren und dort eine ausführliche
> Dokumentation zum Aufbau der Tustep-Datensätze fand (inklusive der Pointer auf
> folgende und vorangehende Datensätze, der Seiten-Zeilennummer usw.). Nur der
> Header der Datei ist etwas knapp beschrieben.
> Obwohl ich mich, was die Programmierung betrifft, als "blutigen Anfänger"
> bezeichnet wissen möchte, war ich nach einem kurzen Studium einiger SEQ-Dateien
> mit #DUMPE in der Lage, die Bedeutung der einzelnen Werte zu erkennen und mit
> C++ ein kleines Programm zu basteln, das die SEQ-Dateien einliest und als ASCII-
> Datei wieder ausgibt. Insgesamt brauchte es dazu:
> - 2 Stunden Zeit (den größten Teil davon mußte ich darauf verwenden, mich mit
> einigen C++-Anweisungen vertraut zu machen, die ich bis dahin nicht kannte.
> - für die eigentliche Umwandlung in C++ eine Schleife und ein paar Anweisungen
> (insgesamt 13 Zeilen).
> - ein wenig Neugier
>
> Ich habe in diesem Programm darauf verzichtet, im Header befindliche
> Informationen, die nicht unbedingt zum Auslesen notwendig waren (z.B. Länge des
> längsten/kürzesten Satzes, Anzahl der Sätze, Anzahl der Zeichen, Datum der
> letzten Bearbeitung usw.) zu interpretieren, jedoch stellt auch dies kein
> Problem dar.
> Inzwischen bin ich mir nicht mehr ganz sicher, ob tatsächlich diese
> Schnittstelle gemeint ist, da, wer auch immer sie entworfen hat, bestimmt nicht
> auf Geheimhaltung oder Verschlüsselung bedacht war und vermutlich in jeder
> beliebigen Programmiersprache mit ähnlich geringem Aufwand SEQ-Dateien gelesen
> werden können. Auch das Schreiben sollte nicht wesentlich schwieriger sein. Hat
> sich einer der Diskussionsteilnehmer eigentlich in Tübingen schon einmal nach
> einer vollständigeren Dokumentation als im Handbuch erkundigt?
> Obwohl ich mir dagegen sehr sicher bin, daß jeder, der sich damit befasst, in
> kürzester Zeit mindestens ebensoweit kommen wird wie ich, bin ich gerne bereit,
> meine Erkenntnisse mit anderen zu teilen und sowohl eine kleine
> Beispielanwendung in Form einer .exe-Datei, die SEQ-Dateien in ASCII-Dateien
> umwandelt, als auch den Quellcode dieser Anwendung und/oder eine Beschreibung
> der Funktionen der einzelnen Einträge im Header der Tustep-Dateien, soweit ich
> sie herausfand, an Interessierte weiterzugeben. Voraussetzung dafür ist
> selbstverständlich, daß dies keine Verletzung irgendwelcher Urheberrechte
> bedeutet. Da ich mich damit jedoch nicht auskenne, möchte ich die
> Verantwortlichen in Tübingen bitten, mir eine Nachricht zukommen zu lasssen,
> falls irgendwelche rechtlichen Bedenken bestehen.
>
> Viele Grüße in die Runde
>
> Johannes Leicht


Mehr Informationen über die Mailingliste Tustep-Liste