  -------------------------------------------------------------------------
  CrossRef V1.0a, 27.07.1988, Written by J.R. Gutzke in M2Amiga Modula-2.
  -------------------------------------------------------------------------
  
  CrossRef V1.0a ist PUBLIC DOMAIN solange die Copyright-Meldung nicht
  entfernt oder verändert wird und solange der Source und die Anleitung
  von CrossRef V1.0a nicht in veränderter Form, außer vom Autor selbst,
  erneut als Public Domain oder in jeder anderen Art und Weise wieder
  veröffentlicht wird!
  CrossRef V1.0a darf ohne besondere Genehmigung des Autors als Source
  sowie als lauffähige compilierte Version weitergegeben und kopiert werden.
  
  Dieses Programm erstellt von einem anzugebenden File eine Cross-Reference-
  Liste. Das Programm wurde in Modula-2 auf dem M2Amiga Compiler erstellt,
  und verwaltet die Reference-Liste dynamisch um wertvollen Speicherplatz
  einsparen zu können. Da die Verwaltung bei einer dynamischen Liste nicht
  so schnell abgearbeitet werden kann wie bei einem Programm mit einem
  statischen Array (Feld), muß man bei der Arbeitsgeschwindigkeit einige
  Abstriche machen (Was aber immer noch besser ist als bei jedem noch so
  kleinen Programmtext, von welchem man eine Cross-Reference-Liste erstellen
  möchte, 100 KByte oder mehr (!) Arbeitsspeicher zu verschenken!).
  Bei dem anzugebenden File sollte es sich um ein ASCII-File handeln. Es werden
  aber auch Files mit binären Daten ohne Fehler verarbeitet, wobei allerdings
  der Sinn einer Cross-Reference-Liste von einem Binär-File als äußerst
  fraglich angesehen werden darf!
  
  Das Programm kann mit oder ohne Parameter aufgerufen werden. Wenn es sich
  bei dem aufrufenden Parameter um ein "?" (Fragezeichen) handelt, so wird
  eine Kurzanleitung für das Programm angezeigt und anschließend nach einem
  Filenamen gefragt.
  Bei einem Aufruf ohne Parameter wird direkt nach dem Programmstart ein
  Filename verlangt. Falls das Programm mit Parameter aufgerufen wurde, so
  wird von der Datei von welcher der Namen als Parameter übergeben worden ist,
  die Cross-Reference-Liste erstellt.
  Hat man es sich anders überlegt, so kann man mit "#" (Doppelkreuz) das
  Programm vorzeitig beenden und verlassen (auch als Übergabeparameter
  möglich! Häääh ???).
  
  Erstellt man von einem Programmtext eine Cross-Reference-Liste so werden
  alle gefundenen Worte in die Liste einsortiert, auch solche Worte, welche
  sich in Kommentaren befinden sollten. Es werden aber nicht einzelne Sonder-
  zeichen in die Liste einsortiert wie z.B. !"§$%&/()=?|+*-#^ etc..
  Da dieses Programm möglichst universell sein soll, wurde auf eine Ver-
  arbeitung von den verschiedenen Kommentaren (Assembler, Basic, C, Modula-2,
  Pascal etc.) verzichtet. So lassen sich zum Beispiel auch Cross-Reference-
  Listen von Brieftexten, selbstgeschriebenen Manuals etc. erstellen, womit
  man z.B. den Stil eines solchen Dokumentes überprüfen kann.
  Ein Programm welches Bemerkungen aus Modula-2 Programmen entfernt habe ich
  als weiteres Public Domain Programm beigefügt. Dieser "RemKiller" kann ohne
  weiteres leicht auf andere Kommentar-Arten umgeschrieben werden.
  
  Im Moment sind mir keine Fehler dieses Programmes bekannt! Falls irgend
  jemand einen solchen finden sollte so bitte ich um Zusendung einer Fehler-
  beschreibung, wenn möglich mit einer nachvollziehbarer Befehlsfolge, welche
  den Fehler hervorgerufen hat.
  Sollte das Programm während des Programmlaufs nicht genügend Speicher vor-
  finden, so wird mit einem Requester der Programmlauf absturzsicher abge-
  brochen (Dank dem Super-Laufzeitsystem von M2Amiga!) !
  In diesem Fall sollte man z.B. beim nächsten Versuch die Workbench
  oder andere Speicherintensive Programme weglassen.
  
  Kommentare, Bemerkungen, Ideen, Fehlerbeschreibungen, etc. und natürlich
  Kritik bitte an:
  
        Jörg Gutzke
        Dessauer Straße 54
        4050 Mönchengladbach 1
        West Germany



