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