DISYNO Synonym-Wörterbuch
Allgemein
DISYNO ist ein Programm, daß ein binäres Synonymwörterbuch DSnn.BIN verwaltet,
in dem einzelnen Wörtern die entsprechenden Synonyme (= andere Wörter ähnlicher
Bedeutung) zugeordnet sind.
Für jedes Wort (Basisbegriff) steht ein Datensatz im Synonymwörterbuch.
Basisbegriffe stehen am Satzanfang und enden mit Doppelpunkt:
Danach folgen ev. Erklärungen und die zugehörigen Synonyme (Hinweise), die von-
einander durch Unterstrich "_" getrennt sind.
Ein Synonymsatz kann eine Länge von mehreren tausend Zeichen haben und ist Null-
terminiert.
Beispiel-Synonymsatz:
Wortbildung:_Wortschöpfung_Neubildung_Neuschöpfung_Nachbildung_
Kompositum_Zusammensetzung_Affix_Affixoid_Redewendung_Wort_Wortbedeutung_
nach dem Vorbild einer fremden Sprache=Lehnbildung_Lehnformung_
Lehnprägung_Lehnschöpfung_Lehnübersetzung_Lehnübertragung.
Zeichencodierung
Wenn Datei DSCRnn vorhanden ist, wird der vom Anwender benutzte Tastaturcode
(ANSII, MAC, ISO, EBCDIC, etc.) automatisch an den Interncode des Synonymwörter-
buches angepaßt.
Benötigte Dateien (nn = Sprach-Nr.)
DSnn.BIN Binäres Synonymwörterbuch. Auf der Anfangsadresse + 12
steht 4-stellig die Versions-Nr. wie: 2.01
DHCOnn Actioncode-Datei
DSCRnn Code-Anpassungsdatei (nn= NN oder Sprach-Nr. wie: 01)
Die Dateien müssen im Directory stehen, das im Bereich dhpath[ ] angegeben ist !
A) Nutzung als C-Quellcode
zur Einbindung in ein Text-/Publishing-Programm:
Programmaufruf
rc = DSYNO (ln, sbeg);
Erklärung der Parameter:
rc -1 = Suchbegriff in "sbeg" nicht gefunden.
ln Sprach-Nr. 01 bis 50
sbeg Speicherbereich für Synonym-Suchbegriff
Achtung:
Über die folgenden Statements sind die benötigten Begriffe definiert:
#include "dhext.h"
extern char sbeg[]; /* Bereich für Synonym-Suchbegriff */
extern int ln; /* Sprach-Nr. */
*ptr /* char Pointer auf gefundenen Synonym-Satz */
afc /* int Index auf Suchbegriffsanfang im Synonym-Satz*/
rc /* int Return-Code */
( *ptr, afc, rc ) sind über "dhext.h" definiert !
Vor dem Aufruf von Programm DSYNO muß die globale Variable afc wie folgt definiert sein:
Erklärung:
afc = 0; sbeg[ ] enthält einen Suchbegriff (0-terminiert).
oder:
afc > 0; sbeg[ ] ist undefiniert, aber Index afc zeigt
auf den gewünschten Suchbegriff in dem
durch *ptr adressierten Synonym-Satz.
Programmier-Beispiel:
:
:
NEUSB:
READSB(sbeg); /* Einlesen Suchbegriff nach Array sbeg[ ]. */
afc = 0; /* afc = 0 setzen, d.h. */
/* Suchbegriff ist in sbeg[ ] vorhanden. */
DSN:
rc = DSYNO (ln, sbeg); /* DSYNO - Unterprogramm aufrufen. */
if (rc == -1) goto NEUSB; /* Wenn kein Synonym für diesen Suchbegriff */
/* gefunden wurde, neuen Suchbegriff lesen. */
printf("%s", ptr); /* gefundenen Synonymsatz ausgeben. */
/* extern char *ptr = Adresse Synonymsatz. */
SETAFC(); /* Index afc durch Anwender auf einen Suchbe- */
if (afc > 0) goto DSN; /* griffsanfang im Synonymsatz (*ptr) stellen */
else goto NEUSB; /* oder neuen Suchbegriff einlesen. */
:
:
Programm-Aufruf READSB ist nur ein Beispiel-Name und in Wirklichkeit nicht
vorhanden, sondern je nach Bedarf des Publishing-Systems zu entwickeln, ebenso
wie Funktion SETAFC, die unter DOS die Cursor- und Tab-Sprünge kontrolliert.
Im Testprogramm DSTEST kann in SETAFC der Anwender den Cursor und damit den
Index afc auf den Anfang des nächsten Suchbegriffes setzen, z.B. indem die
TAB-Taste zum jeweils nächsten _Begriff springt. Der mit Enter-Taste so ausgewähl-
te Begriff zeigt dann den zugehörigen Synonymsatz an, usw.
Programm-Einbindung
DSTEST Test-Hauptprogramm
DHKEY DOS-Tastatur-Spezialcodes
DMESSAGE Fehlermeldungen
DSYNO DISYNO-Programme:
DSDEMOD Dummy der Demo-Version
DSCREP
DSLREAD
DMSCOD
DTSTIC
DTSTIC4
DHDEF ( Zugriff zu den Werten über: #include "dhext.h" )
DHRCOF ( Lesen der Actioncode-Datei DHCOnn )
DHCFUNCT ( C-Funktionen und -Makros )
Die ersten drei Programme (DSTEST, DHKEY, DMESSAGE) sind nur für das Testpro-
gramm einzubinden. Für ein Text-/Publishing-Programm werden nur die restlichen neun
Programme, beginnend mit DSYNO, benötigt.
B) Nutzung als Programm DSTEST.EXE
DSTEST.EXE ist ein ausführbares Programm, daß die Benutzung des Synonym-
wörterbuches demonstriert.
DSTEST wird von der Befehlszeile aus Pfad \DISYNO\ gestartet, in dem alle
erforderlichen Dateien gespeichert sein müssen.
Bitte schalten Sie daher zuerst den Pfad um:
cd \disyno
Programm-Aufruf:
DSTEST nn [l]
(nn = Sprach-Nr., z.Bsp. 40 = Deutsch)
Das Programm arbeitet nun wie folgt:
1. Es wird um Eingabe eines Suchbegriffs gebeten.
Wird nun die Eingabe-Taste an 1. Stelle gedrückt: Programm-Ende !
2.1 Ist der Suchbegriff nicht im Dictionary vorhanden: weiter bei Punkt 1.
2.2 Ist der Suchbegriff im Dictionary enthalten, wird
der Synonymsatz auf dem Bildschirm dargestellt.
3. Der Anwender kann nun den Cursor auf den Anfang
eines Suchbegriffs innerhalb des gezeigten Satzes
stellen (Durch Drücken der TAB-Taste springt der
Cursor direkt zum jeweils nächsten _Suchbegriff).
Nach Drücken der Eingabetaste: weiter bei Punkt 2.
Drückt er stattdessen die ESC-Taste: weiter bei Punkt 1.
4. Bei Angabe des optionalen Parameters "l" in der Aufrufzeile werden die
Synonyme nicht in einem lückenlosen Block dargestellt, sondern zeilen-
weise mit Ende _ ! Eine weitere Auswahl durch den Anwender ist bei die-
ser Darstellungsform nicht möglich. ENTER-Taste: weiter bei Punkt 1.
Zeichencodierung
Wenn Datei DSCRnn vorhanden ist, wird der vom Anwender benutzte Tastaturcode
(ANSII, MAC, EBCDIC, etc.) automatisch an den Interncode des Synonymwörter-
buches angepaßt.
Achtung
Die Demoversion DSTESTD erlaubt nur Substantive A-Z als Suchbegriff !
Übersicht
Kontakt