tabsize: 4
                                                             04.06.1995

				ST-Guide und Pure .HLP-Dateien
				==============================

Sowohl dem Pure C - System als auch dem Pure Profiler liegen .HLP-
Dateien bei. Es liegt also Nahe, diese Dateien via ST-Guide auch fr
die PC-Shell zur Verfgung zu stellen. Die Dateien k”nnen jedoch nicht
fertig zur Verfgung gestellt werden, da sie durch ein Copyright
geschtzt sind. Es steht jedoch jedem lizensierten User des Pure C -
Systems frei, diese .HLP-Dateien auf eigene Gefahr und fr den aus-
schliežlich EIGENEN Bedarf in ein anderes Format umzuwandeln.

Im folgenden wird beschrieben, wie Besitzer des Pure C - Systems und
des Pure Profilers sich aus ihren .HLP-Dateien mit Hilfe der ST-Guide -
Utilities .HYP-Dateien erzeugen k”nnen. Aužerdem wird fr Benutzer der
PC-Shell, die bisher den ST-Guide noch nicht eingesetzt haben,
beschrieben, aus welchen Archiven das vollst„ndige ST-Guide-Paket
besteht und wie man es installiert.


ST-Guide und ST-Guide - Utilities
=================================

Derzeit aktuell ist die Version ST-Guide V(28.04.95). Die vollst„ndige
Version (ST-Guide plus Utilities) besteht aus den folgenden 2 Archiven:

	- ST-GUI13.LZH	(188300 Bytes)
	  ST-Guide (ST-GUIDE.ACC, ST-GUIDE.INF, HCP.TTP, ...)
	  Dieses Archiv enth„lt den ST-Guide, ein Beispiel fr die
	  Konfiguration (ST-GUIDE.INF), den HCP-Compiler (.STG --> .HYP),
	  weitere Tools (REFLINK.TTP und STOOL.TOS), sowie die Beschreibung
	  des ST-Guides (als Hypertext).

	- ST-G13A.LZH (27099 Bytes)
	  Enth„lt nur ST-GUIDE.ACC (Fehlerkorrektur)

	- STG-UT10.LZH	(77653 Bytes)
	  Enth„lt die ST-Guide - Utilities.
	  Unter anderem: HELP_RC.TTP, HELPDISC.TTP, PC_CONV.TTP.

Die 3 Archive drften eigentlich in (fast) allen Mailboxen im MausNet
vorhanden sein. Die jeweils neueste Version des ST-Guide's wird zuerst
in der Maus OL (0441-9699081) abgelegt und von dort aus ins MausNet
verbreitet.

Fr die Extraktion der Dateien/Directories aus den Archiven wird das
Programm LHARC.TTP ben”tigt, das in allen Mailboxen im MausNet
vorhanden seien sollte.


ST-Guide - Bezugsquellen fr Leute ohne Modem
=============================================

Die jeweils neueste Version kann, gegen Einsendung von DM 10.- und
eines frankierten Rckumschlags, auch direkt beim Autor bezogen werden:

		Holger Weets
		Tangastrasse 45
		D-26121 Oldenburg


Installation von ST-Guide
=========================

Zuerst kopiert man die Archive ST-GUI13.LZH, ST-G13A.LZH und STG-UT10.LZH
auf die Festplatte (Platzbedarf: ca. 400 kB + Archiv). Danach ruft man
den LHARC fr die Archive ST-GUI13.LZH und ST-G13A.LZH auf:

	$ LHARC.TTP x -rh ST-GUI13.LZH
	$ LHARC.TTP x -rh ST-G13A.LZH

Dadurch werden im aktuellen Directory die Directories GUIDES und
ST-GUIDE und die Dateien INSTALL.TXT, ST-GUIDE.ACC und ST-GUIDE.INF
erzeugt.

Das weitere Vorgehen fr die Installation von ST-Guide ist in der Datei
INSTALL.TXT beschrieben.


Installation der ST-Guide - Utilities
=====================================

Fr die ST-Guide - Utilities legt man sich am besten ein eigenes
Directory, z.B. STG_UTIL, auf der Festplatte (Platzbedarf: ca. 242 kB +
Archiv) an. Danach kopiert man das Archiv STG-UT10.LZH in dieses
Directory und ruft den LHARC auf:

	$ LHARC.TTP x -rh STG-UT10.LZH


Umsetzen der Pure C .HLP-Dateien in .HYP-Dateien
================================================

Die .HLP-Dateien des Pure Profilers sind nicht kompatibel zu den .HLP-
Dateien des Pure C - Systems, da sie im (neueren) Format des Pure
Pascal - Systems vorliegen. Der Einfachheit halber wird die Umsetzung
am Beispiel der Datei C.HLP erl„utert. Die angegebenen Werte gelten
fr die Datei C.HLP von Pure C V1.1 (Mar 20 1993) und vom Pure Profiler
V1.0 (August 18 1993).


1. C.HLP --> C.SCR
------------------

Im 1. Schritt wird aus der .HLP-Datei eine .SCR-Datei (Source fr den
HELP-Compiler) erzeugt.

a.) C.HLP vom Pure C - System

	Aufruf von HELP_RC.TTP:

	$ HELP_RC.TTP S C.HLP

				HELPFILE RECOMPILER  Ver. 1.0	Feb 01 1992
				=============================

					(c) Volker Reichel

	Optionen: S


		Lese sensitive Suchworttabelle...
		Lese capsensitive Suchworttabelle...
		Lese Screen-Tabelle...	82 Screens gefunden.
		Lese String-Tabelle...
		Lese Index-Screen...
		Setze Namensattribute...
		Bearbeite \link-Verweise...
		Rekompiliere Screens...
		*** WARNUNG: Globaler Verweis <dxcnv>
		*** WARNUNG: Globaler Verweis <xdcnv>
		*** WARNUNG: Globaler Verweis <D0>
		*** WARNUNG: Globaler Verweis <D1>
		*** WARNUNG: Globaler Verweis <D2>
		*** WARNUNG: Globaler Verweis <A0>
		*** WARNUNG: Globaler Verweis <A1>
		*** WARNUNG: Globaler Verweis <ADDQ>
		*** WARNUNG: Globaler Verweis <Compileroptionen>
		*** WARNUNG: Globaler Verweis <exit>
		*** WARNUNG: Globaler Verweis <abort>
		*** WARNUNG: Globaler Verweis <abort>
		*** WARNUNG: Globaler Verweis <exit>
		*** WARNUNG: Globaler Verweis <exit>
		*** WARNUNG: Globaler Verweis <getenv>
		*** WARNUNG: Globaler Verweis <Compileroptionen>
		*** WARNUNG: Globaler Verweis <getchar>
		*** WARNUNG: Globaler Verweis <Compileroptionen>
		*** WARNUNG: Globaler Verweis <Compileroptionen>
		*** WARNUNG: Globaler Verweis <Warnungen>

	0 Fehler. 20 Warnungen. 20 Verweise in andere HELP-Dateien.
	Fertig.


b.) C.HLP vom Pure Profiler

	Aufruf von HELPDISC.TTP:

	$ HELPDISC.TTP C.HLP C.SCR

	HELPDISC Version 1.1 (Public Domain)
	- Pure Pascal Helpfile Discompiler -
	(v1.0 1992 by JJvB, v1.1 1994 by CZ)

	Found 71 key words.
	Found 58 help pages.

	Writing ......

	Ready.


2. C.SCR --> C.STG
------------------

Im 2. Schritt wird aus der .SCR-Datei eine .STG-Datei (Source fr den
ST-Guide HCP-Compiler) erzeugt.

a.) C.HLP vom Pure C - System

	Aufruf von PC_CONV.TTP:

	$ PC_CONV.TTP -a -n C.SCR

	PC-Conv V(27.04.1994): PureC-Help --> ST-Guide sources
		Written by Holger Weets using SOZOBON-C V2.00x10


	C.SCR --> C.STG
	.......
	total symbols	   : 80
	external references: 20
	total lines	   : 1443


b.) C.HLP vom Pure Profiler

	Aufruf von PC_CONV.TTP:

	$ PC_CONV.TTP -a +n C.SCR

	PC-Conv V(27.04.1994): PureC-Help --> ST-Guide sources
		Written by Holger Weets using SOZOBON-C V2.00x10


	C.SCR --> C.STG
	......
	total symbols	   : 128
	external references: 20
	total lines	   : 1230


3. C.STG --> C.HYP
------------------

Im 3. Schritt kann nun aus der .STG-Datei eine .HYP-Datei (Hypertext
fr den ST-Guide) erzeugt werden.

a.) C.HLP vom Pure C - System

Bevor man die .HYP-Datei erzeugt, sollte man noch einige Korrekturen an
der erzeugten .STG-Datei vornehmen:

	1. Am Dateianfang sind die folgenden Zeilen einzufgen:
	
		@database "Pure C V1.1 - C Language"
		@subject "Dokumentation/Shells/Pure C V1.1 - C Language"
		@author "anonymous"
		@$VER: c.hyp 1.00 (07/01/95)
		@help Hilfe
		@options -a -s +z
		@toc Main

	2. @options -sa
	   L”schen

	3. @node "Help"
	   ersetzen durch @node "Copyright" und verschieben nach
	   @node "C Language" ... @endnode

	4. @node Main ... @endnode
	   L”schen

	5. @node "C Language"
	   Ersetzen durch die beiden Zeilen:

		@node Main "C Language"
		@symbol air "C Language"

	  Nach @endnode von @node "C Language" kann die folgende Seite
	  eingefgt werden. Soll diese Seite nicht eingefgt werden, so ist
	  die Anweisung "@help Hilfe" oben zu streichen.

		@node "Hilfe"

			Diese Online-Hilfe wurde aus der Datei C.HLP des Pure C V1.1 -
			Systems erzeugt.

		@endnode

	6. @node "ASCII-Tabelle" ... @endnode
	   Eine Zeile in der ASCII-Tabelle ist verschoben. Korrigiert sieht sie
	   folgendermažen aus:

			10    A    12   00001010  <LF>  | 138   8A   212   10001010   Š

	7. @node "%%GLOBAL%%" ... @endnode
	   Alle externen Referenzen enthalten einen LINK auf diese Seite.
	   Hat man die anderen .HLP-Dateien (LIB.HLP,PASM.HLP,PC.HLP) auch
	   konvertiert, so kann man diese LINKs durch die korrekten Verweise
	   ersetzen.

	   Beispiel:

	   In C.STG gibt es den Verweis

			@{"abort" link "%%GLOBAL%%"}

	   In der Datei LIB.HLP gibt es die Seite "abort" und die Datei
	   LIB.HLP wurde in PC_LIB.HYP konvertiert. Der neue Verweis hat
	   sieht dann folgendermažen aus:

			@{"abort" link "lib.hyp/abort"}


Nach diesen Žnderungen kann man die .HYP-Datei erzeugen:

	$ HCP.TTP -a -s +z -oC.HYP C.STG

	hcp V(12.10.1994): Hypertext compiler
	    by H. Weets & C. Wempe using SOZOBON-C V2.00x10

	compiling C.STG to C.HYP
	pass 1: Index
	pass 2: Index
	Writing reference-file
	internal nodes: 62
	external nodes: 10
	images	      : 0
	other nodes   : 0
	compression   : 22301 bytes


b.) C.HLP vom Pure Profiler

Bevor man die .HYP-Datei erzeugt, sollte man noch einige Korrekturen an
der erzeugten .STG-Datei vornehmen:

	1. Am Dateianfang sind die folgenden Zeilen einzufgen:
	
		@database "Pure C V1.1 - C Language"
		@subject "Dokumentation/Shells/Pure C V1.1 - C Language"
		@author "anonymous"
		@$VER: c.hyp 1.00 (07/01/95)
		@help Hilfe
		@options -a -n -s +z
		@toc page0

	2. @options -san
	   L”schen

	3. @node Main ... @endnode
	   L”schen

	4. @node "page0" "C Language"
	   Ersetzen durch die beiden Zeilen:

		@node "page0" "C Language"
		@symbol air Main

	  Nach @endnode von @node "C Language" kann die folgende Seite
	  eingefgt werden. Soll diese Seite nicht eingefgt werden, so ist
	  die Anweisung "@help Hilfe" oben zu streichen.

		@node "Hilfe" "Hilfe"

			Diese Online-Hilfe wurde aus der Datei C.HLP des
			Pure Profiler V1.0 erzeugt.

		@endnode

	5. @node "page57" "ASCII-Tabelle"
	   Fehlt !!

	6. @node "page-1%%" ... @endnode
	   Alle externen Referenzen enthalten einen LINK auf diese Seite.
	   Hat man die anderen .HLP-Dateien (LIB.HLP,PASM.HLP,PC.HLP) auch
	   konvertiert, so kann man diese LINKs durch die korrekten Verweise
	   ersetzen.

	   Beispiel:

	   In C.STG gibt es den Verweis

			@{"abort" link "page-1"}

	   In der Datei LIB.HLP gibt es die Seite "abort" und die Datei
	   LIB.HLP wurde in PC_LIB.HYP konvertiert. Der neue Verweis hat
	   sieht dann folgendermažen aus:

			@{"abort" link "lib.hyp/abort"}


Nach diesen Žnderungen kann man die .HYP-Datei erzeugen:

	$ HCP.TTP -a -n -s +z -oC.HYP C.STG

	hcp V(12.10.1994): Hypertext compiler
	    by H. Weets & C. Wempe using SOZOBON-C V2.00x10

	compiling C.STG to C.HYP
	pass 1: Index
	pass 2: page21
	warning: C.STG, line 459: link to current node
	pass 2: Index
	Writing reference-file
	internal nodes: 60
	external nodes: 24
	images	      : 0
	other nodes   : 0
	compression   : 16645 bytes


Bei der Datei PASM.HLP kann „hnlich vorgegangen werden.


Konvertierung von LIB.HLP
=========================

Bei der Konvertierung von LIB.HLP sind nach der Erzeugung der Datei
LIB.STG noch einige Besonderheiten zu beachten:

	- Node "Libraries"
	  Dieser Node sollte als 1. Node in der Datei LIB.STG stehen, damit
	  er als Einstieg in den Hypertext angezeigt wird.

Die weiteren Hinweise gelten fr die LIB.STG-Datei, die aus der LIB.HLP-
Datei des Pure C V1.1 - Systems erzeugt wurde. Wegen der Gr”že der Datei
Lib.STG (> 900 kB) wurde nur die Datei aus dem Pure C V1.1 - System
konvertiert.

	- Node "__NFPUIN__"
	  Fr die Funktionen

	  	- fetoxm1
	  	- fgetman
	  	- fgetexp
	  	- fint
	  	- fintrz
	  	- flognp1
	  	- frem
	  	- fsgldiv
	  	- fsglmul

	  fehlen Nodes in der Datei LIB.STG (Pure C V1.1 - System, Pure
	  Profiler nicht ausprobiert). Diese Funktionen sind FPU-Befehle,
	  die in PASM.STG beschrieben sind. Man kann z.B. ersetzen

		@{"fetoxm1" link "fetoxm1"}

	  durch

		@{"fetoxm1" link "pasm.hyp/FETOXM1"}

	- LINK - Probleme bei HCP V(12.10.1994)
	  Wird in einem LINK auf ein @symbol und nicht auf ein @node
	  verwiesen, so werden falsche Verweise erzeugt.

	  Beispiel: BCONMAP, Bconmap

	  Die Funktion Bconmap() liefert unter anderem einen Pointer auf
	  eine Struktur vom Typ BCONMAP zurck. Die Beschreibung der
	  Funktion enth„lt deshalb einen Verweis auf BCONMAP:

		@{"BCONMAP" link "BCONMAP"}

	  In der Datei LIB.STG ist "BCONMAP" jedoch ein @symbol und nicht
	  ein @node, obwohl auf der Seite die Struktur BCONMAP beschrieben
	  wird. In der Datei LIB.HYP steht dann statt des Verweises BCONMAP
	  der Verweis Bconmap, der auf sich selbst (die selbe Seite)
	  verweist. Žndert man fr die Seite BCONMAP die Zuordnung so, daž
	  BCONMAP der @node ist, erzeugt der HCP den richtigen Verweis.

	  Solche Verweisprobleme erkennt man daran, daž der HCP im Pass 2
	  meldet, daž ein Verweis (@{"..." link "..."}) auf sich selbst
	  (d.h. den aktuellen @node) verweist.