DE2360023A1 - Anordnung und verfahren zum fortschreiben von textdaten - Google Patents
Anordnung und verfahren zum fortschreiben von textdatenInfo
- Publication number
- DE2360023A1 DE2360023A1 DE2360023A DE2360023A DE2360023A1 DE 2360023 A1 DE2360023 A1 DE 2360023A1 DE 2360023 A DE2360023 A DE 2360023A DE 2360023 A DE2360023 A DE 2360023A DE 2360023 A1 DE2360023 A1 DE 2360023A1
- Authority
- DE
- Germany
- Prior art keywords
- file
- words
- word
- instruction
- record
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Description
Anordnung und Verfahren zum Portschreiben von Textdaten
Die Erfindung bezieht sich auf ein Verfahren zum Steuern
einer datenverarbeitenden Maschine oder eines Rechners zum
Überarbeiten, Berichtigen, Ändern oder Übertragen von Wör- '
tern in einer Datenbank für natürliche Sprache.
Ein elektronischer Rechner oder prozessor enthält normalerweise
einen Kern- oder zentralen Speicher, Bandeinheiten, einen Plattenstapel, Drucker, Sichtgeräte (Kathodenstrahlröhren),
Kartenleser und periphere Speieher, um nur
einige seiner Komponenten■<zu nennen. Für die genauen Ausführungsbeispiele
der Erfindung ist jedoch nicht wesentlich, welcher Rechner oder welche periphere Anordnung daraus verwendet wird. Zu den erfindungsgemäßen Ausführungsbeispielen
gehören dagegen Verfahren zum Steuern eines Rechners, wobei dieser eine Datenbasis oder einen Datenbestand in einer' bisher
nicht bekannten Weise verarbeitet. ,
Elektronische Rechner werden sehr häufig für die Ver-022-56-3-6-WBk
. '■■■
/409835/0649
arbeitung oder Modifizierung von Datenelementen oder Daten eingesetzt, insbesondere wenn die Datenelemente ziffern
darstellende Bits oder Binärzeichen sind. In diesem Sinn
ist es üblich, eine Datenbank, die Daten zur Darstellung von Ziffern (arabische Ziffern) enthält, zu ändern und
zu überarbeiten, z.B. in der Buchhaltung, um eine Bilanz, Gewinn- und Verlustaufstellungen sowie Lohnanweisungen usw.
zu erstellen. Nicht üblich ist dagegen die Verarbeitung von Daten, die Buchstaben darstellen, z.B. den Volltext einer
menschlichen oder natürlichen Sprache. Bei Buchstaben (NichtZiffern) gibt es besondere Probleme, da das ein alphabetisches
Zeichen oder Älphazeichen darstellende Datenwort nicht in allen Fällen für eine binäre Operation mit einem zweiten,
ein zweites Alphazeichen darstellendes Datenwort geeignet ist, um ein drittes, ein drittes (resultierendes) Alphazeichen
darstellendes, resultierendes Datenwort zu ergeben; dies ist deshalb so, weil eine binäre wort- oder zeichenweise
Operation mit natürlicher Sprache für den Menschen ohne Bedeutung ist.
Die Modifizierung einer Sprache (hier soll eine Sprache nicht eine Rechnerspräche, sondern eine natürliche.oder
menschliche Sprache bedeuten, in der sich Menschen miteinander verständigen, z.B. Englisch, Französisch, Deutsch usw.)
hängt zu einem Großteil von der Struktur der Sprache ab. In der englischen Sprache z.B. ist diese in bestimmte Formate
strukturiert, je nach Anwendung der verwendeten Wörter. Hier z.B. ist die natürliche Sprache strukturiert in Wortketten
und Sätze, und die Sätze in Absätze, um die Verständlichkeit und Lesbarkeit zu erleichtern. In bestimmten anderen
Anwendungen kann die natürliche Sprache stärker als in die übliche Satz- und Absatz-Struktur strukturiert sein.
Z. B. werden in Gesetzen, öffentlichen Rechtsnormen, Verordnungen, Satzungen, Bestimmungen, Verträgen, Anordnungen
409835/0649
"' " 23BQ023
oder Verfügungen u. dgl. Absätze normalerweise als. Paragraphen*
bezeichnet; die Paragraphen können entsprechend in mehrere
hierarchisch geordnete Unter-Paragraphen unterteilt sein.
Z. B. können unterteilt sein: ein Paragraph in Unter-Paragraphen, die Unter-Paragrapihen in Absätze, die Absätze in
Unter-Absätze, die Unter-Absätze In Ziffern bzw. Buchstaben,
die Ziffern bzw. Buchstaben in Unter-Ziffern bzw. Buchstaben, diese in Ünter-Unter-Ziffern bzw. Buchstaben
usw*, d.h. die Struktur ist geordnet: Jedoch ist die Terminologie zum Definieren einer hierarchisch geordneten Unterstruktur
in den Äusführungsbeisplelen der Erfindungnicht
wesentlich. Was dagegen wesentlich Ist, ist der Umstand' und die Erkenntnis, daß in einer bestimmten, freien natürlichen Sprache oder in Volltextdateien die Sprache äußerst
strukturiert sein kann Und tatsächlich hierarchisch strukturiert sein kann, wobei Unterstrukturen daraus geordnet sein
können.
In äußerst strukturierten natürlichen Spräohdatelen
dieser Art werden die Teile oder Komponenten der Datei manchmal durch ein Verzeichnis oder durch ein ''Kennzeichen"
entsprechend auf menschliche Ausdrücke bezogen, das seinerseits
ein Bestandteil der Sprach-Datei ist: weiterhin ist
das Kennzeichen gewöhnlich logisch oder geordnet dem entsprechenden Teil der Datei formal zugeordnet, d.h. das
Kennzeichen ist geordnet. Typische Kennzeichen sind jene
Paragraphen-Nummern Ih Paragraphen einer öffentlichen Rechtsnorm, wie nachstehend erläutert wird. Die Kennzeichen können
numerisch, algebraisch oder numerisch-algebraisch sein.
Zweekmäßigerweise sei nun eine bestimmte TerminolOgie
erläutert: '---.."-'". ; ''■- -L
Ein logischer Datensatz kann als eine Sammlung von Da-
409835/0649
-H-
ten, bezogen auf ein gemeinsames Kennzeichen, definiert werden.
Ein physikalischer oder körperlicher Datensatz besteht aus einem oder mehreren logischen Datensätzen. Der
Begriff "Block" ist äquivalent zum Begriff "physikalischer Datensatz": Block = physikalischer Datensatz.
Ein Byte ist die kleinste adressierbare Informationseinheit des IBM-Systems/360. Ein Byte im Kernspeicher besteht
tatsächlich aus neun Bits.
Ein Bit bedeutet ein Binärzeichen, das zwei' Zustände
(0 oder 1) darstellen kann. Ein aufgeteilter Datensatz besteht aus mehreren aufeinanderfolgenden Einheiten oder Gliedern.
Der Datensatz enthält ferner ein Adreßbuch mit den Namen und der Anfangsadresse jedes Gliedes.
Es ist daher Aufgabe der Erfindung, in Verbindung mit einer Datenbasis für natürliche Sprache, die aus einer Stamm-
und einer Änderungsdatei zusammengesetzt ist, ein Verfahren zum Steuern der Operation eines Rechners anzugeben, um aus
der Änderungsdatei Operatoren, Operanden und zu den Operanden gehörende Kennzeichen zu bestimmen, wobei der Operand
in einem aufgeteilten Datensatz untergebracht ist, und auf den der Operator hinsichtlich eines Satzes aus Kennzeichen
für jeden Datensatz des aus der Änderungsdatei bestimmten Operanden angewandt wird, wobei der Operand sich entsprechend
auf einen eindeutigen Datensatz des aufgeteilten Datensatzes der Stammdatei bezieht, damit der Sprachtext der
Stammdatei in dem eindeutigen Datensatz durch den Sprachtext des eindeutigen Datensatzes des Operanden geändert
wird.
4098 35/0649
Die Aufgabe der Erfindung wird bei einem Verfahren
zum Steuern der Operation eines Rechners in Verbindung mit Datenwörtern für die Darstellung von natürlicher Sprache in
freiem Textformat in einer Änderungs- und in einer Stammdate-i,
wobei das Verfahren "dazu dient, aus der Änderungsdatei
Operatoren, Operanden und Deskriptoren zu bestimmen, und.
den Datensatz der Änderungsdatei aufzuteilen, und wobei
der Rechner enthält: einen Speicher zum Speichern von Daten- und Befehlswörtern unter, zugehörigen Adressen; eine
Einrichtung zum normalen Steuern der sequentiellen Ausführung von nacheinander adressierten Befehlswörtern; mehrere
Register; eine Einrichtung zum Sortieren von Speicher-Datenwörtern
in den Registern; eine Einrichtung zum Durchführen von Operationen mit den Datenwörtern und den Speicher-Datenwörtern
in den Registern; eine auf die Ausführung eines vorbestimmten Befehls ansprechende Einrichtung, um ein Datenwort
in einem vorbestimmten Register zu überprüfen; eine Einrichtung zum Speichern des Operanden in einem der Register;
eine den Operator auf den Operanden anwendende Einrichtung gelöst durch folgende Schritte: :
(a) Bestimmen von Operatoren aus der Änderungsdatei-und
Speichern eines Codes für den Operator im Speicher;
(b) Ableiten von Deskriptoren aus der Änderungsdatei und
Speichern von Gliedern daraus in den Speicher gemäß ihrem entsprechenden Rang; - "■"■.,..-.
(c) Kennzeichnen des Operanden in einen aufgeteilten Datensatz aus Sprachtext und in einen unvollständigen
Satz aus Gliedern aus hierarchischen Kennzeichen;
(d) Bearbeiten der Kennzeichen des aufgeteilten Daten-
" satzes nach Schritt (c) und der geordneten Glieder ".-■-im
Speicher nach Schritt (b)i um den Satz aus Gliedern der hierarchischen Kennzeichen zu vervollständigen;
und"
40 9835/064S
(e) Speichern des Sprachtextes des Operanden und des vollständigen Satzes der geordneten Kennzeichen
nach Schritt (d) in Form eines aufgeteilten Datensatzes.
Die Erfindung gibt ebenfalls an: eine Programmiereinrichtung für die Steuerung eines Rechners mit einem Register derart,
daß die Einrichtung die iterative Verarbeitung einer Sprach-Datei aus Operanden und Operatoren beeinflußt, wobei
die Einrichtung aus der Sprach-Datei ,einen Operator auswählt
und diesen in einem Register speichert.
Durch die Erfindung wird also ein Verfahren zum Portschreiben
von natürlichen oder menschlichen Sprachdateien unter Verwendung eines rechnerprogrammierbaren Verfahrens
sowie eine Anordnung dafür angegeben, zusammen mit einer Einrichtung und einem Verfahren zum Anordnen von Sprachdaten
in einen aufgeteilten Datensatz auf einem maschinell lesbaren Datenträger, wobei die Sprachdaten aus einer Hauptdatei und
aus einer Änderungsdatei dazugehörige, selbsterzeugte Sätze aus hierarchischen Kennzeichen besitzen, mit den Eigenschaften
einer ein-eindeutigen Beziehung zwischen einem Satz aus hierarchischen Kennzeichen und einem Datensatz aus Sprache
der gegebenen Datei; ferner
zusammen mit einer Einrichtung und einem Verfahren zum Erzeugen einer Fortschreibungs- und Sohndatei aus der zugehörigen
aufgeteilten (Vater)-Stammdatei und (Mutter)-Änderungsdatei, wobei die Sohndatei die fortgeschriebenen Sprachdaten
enthält.
Die Erfindung wird nun anhand der Zeichnung näher erläutert. Es zeigen:
35/0649
Fig. 1 ein sehematlsches Blockdiagramm der Anordnung
mit erfindungsgemäßen Ausführungsbeispielenj
Fig» 2 ein genaueres schematisches Bloekdiagramm von
bestimmten erfindungsgemäßen Ausführungsbeispielenj
. >
Fig. 3 eine schematische Parstellung eines eingegebenen
logischen Datensatzes der Stammdatei 21 und der Änderungsdatei 22;·
Fig. A eine "-schematische Darstellung eines ausgegebenen
logischen Datensatzes der Vater-Änderungsdatei 26 oder Mutter-Änderungsdatei 32;Λ .
Fig. 5 für ein anderes Ausführungsbeispiel ein Blockdiagramm eines ausgegebenen logischen Datensatzes
nach Fig. 4, derbenutzt werden kannj y.
Fig. 6 ein anders dargestelltes, genaueres Blockdiagramm
für eine FortSchreibungsanalyse 30 nach Fig, 1 und
Fig. 7, 8 und 9 erläuternde Darstellungen von logischen
Datensätzen der Mutter-Änderungsdatei J52, um zu
zeigen, wie der logische Datensatz Information
und den Sprachtext tragt, der bei Wort-Änderung
der Vater-Stammdatei bei bestimmten erfindungsgemäßen Ausführungsbeispielen verwendet wird;
Fig.10 eine erläuternde Darstellung mit bestimmten Hauptregiste,rn
und Zählern eines Rechners für die Fortschreibungsanalyse;
Fig.11 eine erläuternde Darstellung von bestimmten anderen
Registern und Zählern, die bei der Operation auf
Glieder der verschiedenen Ordnungen der hierarchischen Kennzeichen angewendet werden, um einen eindeutigen
Satz von derart geordneten hierarchischen
Kennzeichen zu bilden, die für jeden logischen Datensatz aus natürlicher Sprache1 oder aus der Mutter-Änderungsdatei
32ywie Adressen verwendet werden·
409835/Ö64S
Fig. 12 eine erläuternde zeichnung der Operation nach
Fig. 11;
Fig. 13 ein Beispiel eines Sprachtextes, aus dem die
Stammdatei zusammengesetzt ist:
Fig. 14 den Sprachtext nach Fig. 13, der gekennzeichnet
ist, und aus dem die Vater-Stammdatei 26 zusammengesetzt ist;
Fig. 15 und 16 Beispiele für einen Sprachtext, aus dem die Änderungs-Dateien zusammengesetzt sind;
Fig. 17 den Sprachtext nach Fig. 15, der durch die Fortschreibungsanalyse
30 nach Fig. 1 und 2 analysiert, synthetisiert und gekennzeichnet ist, und aus dem
die Mutter-Änderungsdatei 32 zusammengesetzt wird;
Fig. 18 einen schematisch dargestellten Logikbaum der
während eines besonderen Mischens 33 nach Fig. 1 und 2 den Vergleich der gekennzeichneten logischen
Datensätze der Mutter-Änderungsdatei 32 und der Vater-Stammdatei 26 darstellt;
Fig. 19 den aus den Fig. 14 und 17 als Ergebnis des besonderen
Mischens 33 abgeleiteten Sprachtext, aus dem die Sohn-Stammdatei 35 zusammengesetzt
wird;
Fig. 20 - 72 Programmablaufplane des erfindungsgemäßen
AusfUhrungsbeispie1s;
Fig· Ό» 74 und 75 weitere erläuternde Darstellungen von
Operationen, die während des besonderen Mischens durchgeführt werden;
Fig. 75 eine Darstellung eines Registers des eingegebenen logischen Datensatzes und zugehöriger Register
des Rechners während des Kennzeichnens von logischen Datensätzen aus natürlicher Sprache;
409835/0649
- 9 - ;■■-"■■ ■
Fig. 76 - 86 Beispiele eines Sprachtextes, dessen Zeilen
gekennzeichnet sind;
Fig. 87 - 103 Programmabiaufplane für die Kennzeichnung
der logischen Datensätze (zeilen) der Fig. 76 - 86;
Fig.104 und IO5 erläuternde Darstellungen zum Vergleich
von Wörtern mit einer Feldsuch-Steuerung;
Tabelle O eine Darstellung der Feldpositionen der hierarchischen Kennzeichen in den Daten:
Tabelle 1 eine Logiktabelle für ein allgemeines Datensuchen des Operanden für die Kennzeichen;
Tabelle 2 eine Entscheidungstabelle für Deskriptoren;
Tabelle 3 eine Entscheidungstabelle für einen hierarchi- ,
sehen Vergleich der Kennzeichen;
Tabelle 4 eine Entscheidungstabelle zum "Aufheben" eines
logischen Datensatzes einer Vater-Stammdatei;
Tabelle 5 eine Entscheidungstabelle zum Veranlassen einer Wort-Änderung
eines logischen Datensatzes einer Vater-Stammdatei; .
Tabelle 6 einen Datenbasis-Belegungsplan auf einem logi-"--sehen
Datensatz;
Tabelle 7 eine Feldpositions-Programmsuch-Steuerkarte;
Tabelle 8 eine typische· Feldsuch-Steuerung:
Tabelle 9 Beispiele für einen Ausdruck, wobei bedeuten:
-9.0 die Stammdatei, d.h. die Stammdatei für das
Basis jähr i960·; . '.
-9.1. die Vater-Stammdatei der Stammdatei-Tabelle 9.O;
-9-2 Änderungsdatei(en)der Stammdatei für die
Jahre 1962, 1963, 1964, 1965, 1966 und 1967; \
-9.j5 die entsprechenden Mutter--Snderungsdatei(en)
der Tabelle 9.2;
0 9835/0 6k9
-9.4 die Sohn-Stammdatei (19β2) aus der Vater-Stammdatei-Tabelle
9.1 und der Mutter-Änderungsdatei-Tabelle 9.2 für I962, ohne Ver- ·
gangenheitsprüfung;
-9.5 die entsprechende Enkeldatei nach der fünften Änderung, d.h. die Stammdatei (1967) mit Vergangenheitsprüfung;
Tabelle 10 eine Vater-Änderungs-Sohn-Tabelle zur Erläuterung
der Erzeugung der Sohn-Stammdatei.
Im bevorzugten Ausführungsbeispiel der Erfindung gehört der Rechner zu einem IBM-Operationssystem 36Ο mit der Programmiersprache
COBUL U (Full American National Standard COBOL). Nach Fig. 1 werden die Daten bei 20 eingegeben, vorzugsweise auf
MT/ST-Bänder, und dann durch ein (hier nicht dargestelltes j
IBM-Standard-Dienstprogramm entweder in ein, Stammdatei-Band
oder in ein Änderungsdatei-Band 22 umgesetzt", und zwar in EBCDIC-Sprache, um alle Groß- und Kleinbuchstaben-Daten,
runde und eckige Klammern (), ΓΊ, und das Zeichen für Unterstreichen,
_ , beizubehalten. Tatsächlich nimmt der Rechner gemäß einem Ausführungsbeispiel der Erfindung die Stammdatei
und die Änderungsdatei 22 vorzugsweise mit 75 Zeichen pro
logischem Datensatz und mit einer Dichte von 8OO BPI -(Bits pro Zoll) auf, verarbeitet diese Daten jedoch im Arbeitsbereich
mit 72 Zeichen pro logischem Datensatz, wie nachstehend · näher erläutert wird, obwohl auch jede andere Datensatzlänge
verwendet werden kann. Die ßtammdatei 21 wird gekennzeichnet
und auf das Stammdatei-Band 2.6 (Afater-Stammdatei) und wahlweise
auf ein Umsetz- oder "Spool"-Band 27 aufgezeichnet. Das gekennzeichnete Stammdatei- oder Vater-Stammdatei-Band 26
hat 240 Zeichen pro logischem Datensatz und einen Blockfaktor der Größe 20, so daß der physikalische Datensatz 20 χ 240,
nämlich 4800 ist. Damit sind also 4800 Datenzeichen vorhanden, die jedesmal von einem Puffer zum Speicher (hier nicht darge-
409835/0649
stellt) im Arbeltsbereich übertragen werden. Dies ergibt
eine höhere Geschwindigkeit und eine größere Durch.flußleistung.
Das Spool-Band 27 andererseits hat 133 Zeichen pro logischem Datensatz mit einem Blockfäktor von 20.
133 Zeichen pro logischem Datensatz wird gewählt, weil
ein üblicher Datendrucker nur I32 Zeichen pro Zeile zum Drucken
zur Verfügung hat, sowie ein zusätzliches Zeichen für die Wagensteuerung; damit kann der Drucker einen logischen Datensatz pro Zeile ausdrucken. Die Verwendung des
Spool-Bandes 2? verhindert, daß die Ausgabe auf 28 direkt
vom Kernspeicher des Rechners her erfolgt, wodurch ein
unnötiges "Ausdrucken aus dem Kernspeicher"verhindert wird.
Das Spool-Band 27 kann bekanntlich über einen Puffer.oder
Zwischenspeicher eines Rechners ausgedruckt werden, und
zwar in solchen Abständen, daß der Rechner-Kernspeicher am-wirkungsvollsten für andere Prozesse verwendet werden
kann; weiterhin erlaubt das' Drucken vom Spool-Band 27 ein
schnelleres Drucken als dies möglich ware, wenn das Drucken direkt aus dem Rechner-Kernspeicher erfolgen würde. Da die
zu druckenden Daten aus Groß- und Kleinbuchstaben, runden
und eckigen Klammern, sowie Unterstreichungszeichen bestehen, muß in manchen Fällen der Puffer des,Rechners (hier nicht
dargestellt) mit einem speziellen Pufferladeprogramm, das
kommerziell erhältlich ist, geladen werden, damit der Ausdruck in Groß- und 'Kleinbuchstaben-Schreibweise usw. erfolgen
kann, während in anderen Fällen bei der Programm-Initialisierung
auch die Groß- und Kleinbuchstaben-Eigenschaften initialisiert und diese wie ein übliches Systemprogramm verwendet werden. Tatsächlich ist die Verwendung der Spool-Bänder
27, 37 und 39 weiter vorteilhaft, indem ein Ausdruck
auf einem kleinen Rechner, z.B. IBM 36Ο/3Ο, anstatt auf
einem größeren 360- oder 370-System erhalten werden kann.
Während der Ausführung der Kennzeichnung wird nach Fig.1
ein Kennzeichner 2k mit 96 Kbit Kernspeicherkapazität ver-
09835/0649
wendet, so daß dieses Verarbeitungsverfahren zufriedenstellend auf einer IBM OS 36O/5O oder auf einer größeren Anlage durchgeführt
werden kann. Vorzugsweise wird hier eine IBM 36θ/β5
mit vier Bandeinheiten sowie zwei Plattenstapeln verwendet.
Die Ausführungsbeispiele 29 der Erfindung führen, wie in
den Fig. I5 und l6 sowie in der Tabelle 7 dargestellt ist, eine
Analyse 30 einer Ä'nderungsdatei aus Sprache durch, die Groß- und Kleinschreibung umfaßt, indem ein Arbeitsbereich auf
einer Platte 3], z.B. IBM 2314 mit einem 96 Kbit-Ausführungs-Kernspeicher
im Rechnet} verwendet wird, Die analysierte Ä'nderungsdatei wird auf Band 32 (Mutter-Änderungsdatei) ausgegeben
und enthält die Änderungsinformation, die zusammen mit den Aktionen (Operatoren) in noch zu beschreibender Weise
gekennzeichnet wird, und zwar in einem Format von 240 Zeichen pro logischem Datensatz und mit einem Blockfaktor von 20. Dadurch
werden die Daten auf dem Mutter-Änderungsdatei-Band 32
kompatibel mit jenen auf dem Band 26, so daß infolgedessen ein Mischen beider Dateien (d.h. ein Fortschreiben) durch
ein besonderes Mischen 33 durchführbar ist, wobei eine 22 Kbit-Ausführungs-Kernspeicherkapazität
und ein entsprechender Arbeitsbereich auf der Platte 34 verwendet werden. Das Ausgangsprodukt
des besonderen Mischens 33 besteht aus einer geänderten und fortgeschriebenen Stammdatei 35 (Sohn-Stammdatei), mit
der gleichen Länge des logischen Datensatzes wie am Eingang (20 χ 240)j wahlweise wird ein Band 36 gebildet, welches die
durch das besondere Mischen aus dem Vater-Stammdatei-Band 26 entfernten Daten enthält, außerdem wird wahlweise ein Spool-Band
37 aus den Daten der neuen Stamm- oder Sohn-Stammdatei 35 gebildet, wobei für das Drucken auf einem Drucker ein geeignetes
Format gewählt wird. Der gedruckte Text der Sohn-Stammdatei beim Ausdruck 38 wird wie derjenige aus dem Spool-Band
erhalten.
Wahlweise kann durch die Fortschreibungsanalyse 33 auch
409835/0649
ein Spool-Band 39 aus den Daten auf Band 32 gebildet werden,
um daraus einen gedruckten Text auf 40 zu erhalten. In diesem Fall hat das Spool-Band 39 ebenfalls die Länge eines logischen Datensatzes, 133. Zeichen mit einem Blockfaktör von
20 und bei einer Dichte von I6OO BPI. Entsprechende Beispiele
der Ausdrucke 28, 40 und 38 sind in Fig. 5 dargestellt, nämlich für die Vater-Stammdatei in Fig. 14, für die Mutter-Änderungsdatei
in Fig. 17 und für die Sohn-Stammdatei in
'Fig. 19. ^.
Vor der Erläuterung von Fig. 2 und ejnes genaueren schematischen Blockdiagramms von bestimmten Ausführungsbeispielen
der Erfindung ist es zweckmäßig, die Fig. 3 und 4 und die
Komponenten-Zusammensetzung eines eingegebenen logischen
Datensatzes 25O der Vater-Stammdatei 26 und danach die des
eingegebenen logischen Datensatzes 1.40 der Mutter-Änderungsdatei
32 zu erörtern. Durch das Kennzeichnüngs-Verfahren 24
wird jeder eingegebene logische Datensatz l40 der Stammdatei gekennzeichnet und als adressierter eingegebener logischer Datensatz 250 neu definiert durch einen aufgeteilten Datensatz
aus zwei Komponenten, wobei die erste Komponente die Daten des nichtadressiert eingegebenen logischen Datensatzes l40
darstellt, während die zweite Komponente ein Kennzeichenfeld
122 ist, das für jeden eingegebenen logischen Datensatz einen
eindeutigen Satz hierarchisch geordneter Kennzeichen enthält,
wobei jedes Glied jedes Satzes genau-einmal verwendet wird.
Jede Nachbarumgebung stellt eine Zahl der Glieder des Satzes
aus Ordnungen' dar, z.B. stehen die Kennzeichen des Kennzeichenfeldes 122 in einem eln-eindeutigen Verhältnis zu irgendeinem logischen Datensatz der Datei. Die hierarchisch geordneten
Kennzeichen oder die Kennzeichen mit absteigender Ordnung werden wie Adressen verwendet, da jedes zügehörige Kennzeichenfeld
(Satz aus Ordnungen) eindeutig für jeden eingegebenen logischen Datensatz 140 ist. Der gekennzeichnete logische Datensatz
250 stellt in diesem'Ausführungsbeispiel eine horizon-.
0 983 8/064
2360Q23
tale Zeile aus Daten dar, deren Stammdatei eindeutig gekennzeichnet
ist, und er wird als solcher auf dem Vater-Stammdatei -Band 26 gespeichert. Eine derartige Vater-Stammdatei
26, in der jeder logische Datensatz eindeutig durch seine eigenen Daten gekennzeichnet ist, kann z.B.
eine öffentliche Rechtsnorm enthalten,· in der jede Zeile eindeutig durch einen Satz aus hierarchisch geordneten
Kennzeichen im Kennzeichenfeld 122 gekennzeichnet ist, wie genauer in den Fig. 5 oder 6 und 14 dargelegt ist. Das
allgemeine Kennzeichnungsverfahren wird hier im· Teil II:
"Allgemeine Kennzeichen" erläutert'.
Nach den Fig. J>, 4, 11, 12 und \J>
stellt jede horizontale zeile einen logischen Datensatz 140 dar, während der
Text einer öffentlichen Rechtsnorm selbst in einem Feld 120 (das aus mehreren logischen Datensätzen l40 zusammengesetzt
ist), dargestellt ist. Wie aus Fig. Ij5 hervorgeht, setzt sich
das Textfeld 120 aus Wörtern 110 zusammen, die aus seriell angeordneten Buchstaben 111 bestehen, um sinnvolle Sätze
zu ergeben, wie für englische Sprache noch genauer gezeigt wird. Durch das Kennzeichnungsverfahren 24 wird jeder der
logischen Datensätze der Stammdatei 21 eindeutig gekennzeichnet, wie in Fig. 14 genauer dargestellt ist, wo das 'Kennzeichenfeld
122 mehrere hierarchisch geordnete Ordnungen 99, 100, 124, 125 und 13O von Kennzeichen enthält, deren jede
Ordnung Glieder enthält, d.h. in der Ordnung 99 sind alle Glieder "U094", während in der Ordnung 124 die Glieder dieser
Ordnung von 1-5 variieren, wogegen in der Ordnung 125 die Glieder nur aus den Gliedern "l" und "2" und in der Ordnung
126 aus "a", "b" und "c" bestehen, während die Ordnungen 127 - 129 fehlen; dies gilt für die Daten dieses Teiles
der Stammdatei nach Fig. 13. Somit können die Ordnungen der
Kennzeichen im Kennzeichenfeld 122 nicht nur hierarchische Ordnungen daraus enthalten, die sich aus der inneren Struktur
35/0649
■—"V 2360Q23
der Datei ergeben, nämlich strukturierte hierarchische Ordnungen 125 - 130, sondern auch zugeordnete Ordnungen", 99 und
100, die dominieren oder einen höheren Rang als die struktu- '. rierten hierarchischen Ordnungen besitzen können. Diese geordneten
Ordnungen bestehen meist aus zwei Arten, nämlich aus einer Datei- oder Kapitelnummer und aus einer Datumsoder Zeitrahmenordnung: Jahr, Monat, Tag usw. In diesem Ausführungsbeispiel ist die Kapitelnummer die Ordnung 99 und
hat vorzugsweise drei Ziffern, z.B. Kapitel 094 in der be-·
sonderen öffentlichen Rechtsnorm: "Gesetz über das Unterrichtsministerium11
der Provinz Ontario,λ Kanada,
Die Zeitrahmenordnung 100 ist in den Kennzeichen.enthalten. Wenn der zeitrahmeh nur aus den letzten beiden Ziffern eines Jahres besteht, werden diese wie bei der Ziffer100.
angezeigt, während die in der Ordnung 99 dargestellte Kapitelnummer
aus drei Ziffern besteht, z.B. "09V, da der Normenbzw.
Gesetzgeber mehr als100 Normen- bzw. Gesetzesänderungen
pro Jahr vornimmt. Die Kapitel- und Zeichenrahmenordnungen werden vorzugsweise als zusätzliche Haupt-Kennzeichenordnüngen
in das Kennzeichenfeld 122 (Fig. 5> l4 und IT) eingefügt. Vorzugsweise werden sie so-eingefügt, daß die Zeitrahmenordnung
vor der Kapitel- ,oder Dateinummer steht. Dies ist darin vorteilhaft,
wenn die Datenbasis aus öffentlichen Rechtsnormen besteht, da der Gesetzgeber jeder Gesetzesvorlage oder jedem
Gesetz in aufeinanderfolgenden Sitzungen dieselbe Dateioder Kapitelnummer' zuteilt, so daß verschiedene Dateien dieselbe
Kapitelnummer und denselben Namen, aber einen versohle-,
denen Wert für die Zeiträhmen'ordnung haben können, wenn sie
in verschiedenen Sitzungen beschlossen worden sind..Nur aus
dem Wert der Zeitrahmenordnung kann die Eindeutigkeit dieser
Datei festgestellt werden, wenn die Datenbasis alle Rechtsnormen des Gesetzgebers über mehrere Jahre hinweg enthält.
In anderer Hinsicht ist die Äusgeglichenheit oder der Be-
40983570649
stand oder das Gleichgewicht des Kennzeichenfeldes, insbesondere der strukturierten hierarchischen Ordnungen, eine,
charakteristische Eigenschaft der Datei selbst, gemäß dem Charakter dieser Datei, vgl. Fig. lh, in der die Glieder
der Paragraphen bzw. Unter-Paragraphen darstellenden Ordnungen 124 bzw. 125 usw. sich ändern, da sich die Datei-Zeilen
von Paragraph 5 bis Paragraph 2 usw., Unter-Paragraph 7*
2 usw. und in Paragraph 5 in den Ziffern bzw. Buchstaben "a" - "d" ändern. Wie ersichtlich, sind die zugeordneten
Ordnungen der Kennzeichen 99 und 100 in den Daten, wie üblich, in einer festen Feldposition untergebracht, vgl. hierzu
Fig. 13 und 14, Kennzeichen 99 und 100; bei dem hier beschriebenen
Verfahren werden diese Werte in diese festen Feldpositionen aufgenommen und gemäß ihrer Wichtigkeit und
ihren Werten dem Kennzeichenfeld zugeordnet, so daß sie als Glieder zu jedem eindeutigen Satz aus Ordnungen von Kennzeichen
für jeden logischen Datensatz l40 der Datei erscheinen (siehe Fig. 13). Insbesondere steht die Kapitelnummer
im Codeblock 99 über der entsprechenden Kapitelüberschrift oder über dem Kapitelnamen 94 der Textinformation, die aus
diesem Teil der Datei besteht; die eindeutigen Sätze aus hierarchisch geordneten Kennzeichen (vgl. Tabelle 0.0)
werden für irgendeine gegebene Datei wie üblich aus der Struktur der Datei gebildet, wogegen einer Datei auch
stärker geordnete Ordnungen zugeordnet sein können, z.B. Zeitrahmen- und Dateinummer, um dieser Datei ein eindeutiges
Kennzeichen mit GrundOrdnungen zu geben, so daß diese
Datei von anderen Dateien durch die Glieder dieser Grundordnungen unterscheidbar ist.
Zur weiteren Erläuterung der Erfindung ist es zweckmäßig, übliche menschliche Verfahren zur Verarbeitung von
Text zu betrachten. Die wahrscheinlich am höchsten entwickel-
35/0649
- 17'-■ - -
ten Verfahren gibt es für die Änderung von Rechtsnormen,
die vom Normengeber erlassen werden. Von vielen Normengebern
werden Änderungen von Rechtsnormen durch ein Änderungsgesetz bzw. eine Änderungsnorm durchgeführt. Während der
Zeit, in der die Änderungsnorm vom-Normengeber erarbeitet
wird, wird sie,in der normgebenden Körperschaft des entsprechenden
Normengebers behandelt; während dieser Behandlungszeit wird sie vom Normengeber und anderen,normalerweise
als Normenvorlage oder als Rechtsvorschrift bezeichnet. Die Normen- bzw. Gesetzesvorlage oder die Norm
bzw. das Gesetz wird normalerweise in einer festgelegten
Form oder Format dargestellt; wenn. z.B. eine Gesetzesänderung
des Paragraphen 1 des Gesetzes über das Unterrichtsministerium
(Fig. 1J5) gewünscht wird, kann dieses als Änderungsnorm bzw. -gesetζ (Änderungsdatei 22) in der in Fig. 15
dargestellten Form erscheinen. Das Änderungsgesetz (Änderungsdatei 22) enthält den Text 200. Genauer gesagt, der Text 200
enthält die Überschrift oder den Titel 97 -und die Kapitelnummer
99, die diese besondere Gesetzgebung zahlenmäßig kennzeichnet, mit einem durch die norm- bzw. gesetzgebende
Körperschaft gewählten Zeitrahmen 100, z.B. ein Kalenderjahr.
Die Änderungsdatei 22 (Änderungsgesetz) enthält im Sprachtext 200 einen Einführungsabschnitt 201 und mehrere Ausführung
sparagraphen 202, die die besonderen Änderungen von Rechtsnormen und zugehörigen Instruktionen beinhalten. Nach
Paragraph 1 der Fig. 15 enthält der.Ausführungsparagraph 202
eine Weisung 20J, nämlich: "Paragraph 1 des Gesetzes über
das Unterrichtsministerium wird geändert durch Hinzufügen der folgenden Bestimmung:" Dieser Satz, die Weisung 203 des'
Paragraphen 1, befiehlt das Bearbeiten bestimmter Daten oder deren Ausführung, z.B. eines zugehörigen Operanden 204: "(ca)
"Eine Privatschule" ... Unterrichtsbehörde unterstehen." Die v
Weisung 203 enthält Deskriptoren oder Stichwörter-224, 226,
228 usw. (vgl. hierzu Tabelle 0.0), die die Kennzeichen 122
in hierarchische oder geordnete Ordnungen einordnen und somit die den. Ordnungen entsprechenden Glieder 124, 125 und 126
40 98 3 5/064 9
bewerten; die Weisung enthält ferner Operatoren 215, die die durchzuführende Operation definieren, gefolgt von einem
geeigneten Satzzeichen 219, z.B. einem Doppelpunkt. Die geordneten Kennzeichenglieder 124 - 130 und Operator(en) 215,
die in der Weisung 203 enthalten sind/ oder jene, die z.B. durch einen Dateinamen 210 daraus abgeleitet sind (vgl. Fig.15)
beinhalten die gesamte, zum Anwenden des Operanden 204 (Fig.12) benötigte instruierende Information.
Die zu den Deskriptoren gehörenden V/er te (.somit der
Wert jedes Gliedes der hierarchisch geordneten Kennzeichen) werden in der Weisung 203 auch dahingehend analysiert, wo
die Aktion auf den Operanden durchgeführt werden soll. Danach muß der Operand analysiert werden, um seine hierarchische
Position zu bestimmen und um jedes logische Operandenwort zusammen mit seinem· eindeutigen Satz ,aus hierarchischen
Kennzeichen durch den logischen Datensatz zu speichern, wobei der Satz aus Kennzeichen dazu verwendet wird, den Änderungsbereich
auf der Vater-Stammdatei 26, d.h. das Gesetz nach Fig. 13, beim nachfolgenden Verarbeiten, z.B. beim besonderen
Mischen 33, zu bestimmen.
Nach Fig. 1 und dem Programmablaüfplan der Fig.- 20 wird
bei der Anweisung 9OO eine Stammdatei 21 und eine entsprechende Änderungsdatei 22 für die Dateneingabe eröffnet. Für die ·
Datenausgabe wird entsprechend die Stammdatei 26 (die wie üblich gekennzeichnet wird und deshalb nachfolgend auch als
Vater-Stammdatei 26 bezeichnet wird) und ein zugehöriges Spool-Band 27 eröffnet, wie nachfolgend beschrieben wird.
Zwei weitere Ausgabebänder werden für die Änderung der Daten 22 eröffnet, nämlich ein Änderungsdatei-Band 32, das
eine oder mehrere Änderungsdateien enthalten kann, wobei die Änderungsdaten in einer noch zu beschreibenden Weise gekennzeichnet
und hier manchmal als Mutter-Änderungsdatei 32 bezeichnet werden, sowie ein zugehöriges Spool-Band 39· Die
entsprechenden Spools können in Form von Ausdrucken 28 und
40983570649
ausgegeben werden.: Die Stämmdatei 21 und die Anderungsdatei 22,
die Spool-Bänder 27 und 39, die Vater-Stammdatei 26 .ebenso
wie die Mutter-Änderungsdatei 32, sowie ein (nicht dargestellt'
ter Kartenleser) werden eröffnet. Bei Anweisung 9OI.wird
eine Programmsteuerkarte nach Tabelle 7 durch den Kartenleser eingelesen, wobei dur'Gh das Verfahren die Steuerinformation des Ausführungsbeispiels eingelesen wird, die
in -den verschiedenen Feldpositionen der in Tabelle 7 gezeigten Steuerkarte angeordnet ist. Bei Anweisung 902 wer-
den-mehrere Register und Unter-Register oder Tabellen Im
Arbeitsbereich:31 einschließlich des Bereichs zur Feldsuch-Steuerung
festgelegt. Der Peldsuch-Steuerungsbereich setzt sich aus drei Unter-Registern oder Tabellen zusammen, nämlich aus der Kapitelnamen-Tabelle, Äktions-Tabelle und
Deskriptor-Tabelle. Die Kapitelnamen-Tabelle hat zugehörige
Kapitelnummern (da einige der Daten nur mit Kapitelnummern
eingegeben werden, und-eini'ge nur mit Bezug auf Kapitelnamen, muß eine Korrespöndenztabelle. zwischen den Kapitelna-
men und den Kapitelnümmern hergestellt werden)„ Die Äktions-Tabelle
bestimmt Schlüsselwörter, die durch die erfindungsgemäßen Ausführungsbeispiele bezüglich aus der Änderüngsdatei
22 abgeleiteten Befehlen analysiert und anschließend in die Mutter-Ä'nderungsdatei 32 eingefügtvwerden, vgl.
Aktions-Tabelle· 4.0. Die Deskriptor-Tabelle 2.Överwendet
für die Anwendung in den Ausführungsbeispielen Wörter der .
natürlichen Sprache, die einer menschlichen Bezeichnung
verschiedener, hierarchisch geordneter^ Kennzeichen ent- ·
sprechen, und ordnet die Zahlenangaben unmittelbar nach den
Deskriptoren, die Glieder der Ordnung, in die hierarchischen
Kennzeichen-FeidpOsitionen der Tabelle 0,0 ein. Infolgedessen
sind diese Tabellen bei Anweisung 903 im Rechner vorhanden.
-,■'■■" ■ -/:.-. v- _ ;.
Es ist zweckmäßig, sich nun direkt auf die erfindungsgemäßen Ausführungsbeispiele zu beziehen, im wesentlichen
40 983 5/06 49
auf 29 nach Fig. Ij die Kennzeichnung der Stammdatei 21,
die zur Bildung der Vater-Stammdatei 2.6 dient, wird an dieser Stelle nicht näher behandelt. Bei Anweisungen 904
und 905 werden mehrere Zähler, deren Name und entsprechende
Funktion bei der' fortlaufenden Beschreibung der Programmablaufpläne
näher beschrieben wird, auf Null gesetzt. Der entsprechende Operationsbereich und die Register im Arbeitsbereich
31 werden zum Drucken und Verarbeiten gelöscht. Nach Fig. 20·wird bei Anweisung 906 der erste logische Datensatz
l4o in einen geeigneten Puffer des Arbeitsbereichs 3I
eingelesen und ein Zähler I eingestellt. Der Wert von I dient als Zeiger für die Eingabe des phjrsikalischen Datensatzes
der A'nderungsdatei 22. I hat einen Wertbereich 1 - l44O
(20 χ 72). Bei Anweisung 909 nach Fig. 21 wird der Wert eines Zählers K, der die Länge des logischen Datensatzes auf 72
einstellt, um 1 erhöht, bis in den Puffer ein erster eingegebener logischer Datensatz aus den ersten 72 Zeichen der
Daten aus der A'nderungsdatei 22 lagerichtig eingegeben ist. Anschließend wird ein Prüfzähler eingerichtet, um verschiedene
TAB-Codes aufzunehmen, wie sie aus den MT/ST-Bändern
der Einheit 20 erscheinen, um die TABS gemäß einer TAB-Tabelle zu übersetzen, und um die Werte von K vorherzubestimmen,
die von der Lage der vielen TABS auf den MT/ST-Bändern abhängig sind. Dieses Verfahren wird in den Ablaufplänen
deutlich offenbart. Zum besseren Verständnis der Erfindung ist es trotzdem zweckmäßig, das Verfahren im Zusammenhang
zu betrachten, da es wichtig für ein volles Verständnis der Ausführungsbeispiele und doch unabhängig von diesen ist.
Die Eingabe der Änderungsdaten 22 (und ebenso der Vater-Stammdatei)
läßt sich am deutlichsten anhand Fig. I5 und
des Ablaufplanes nach Fig. 21 - 24 erläutern. Wenn die Daten
auf den MT'ST-Bändern, zusammen mit den dadurch festgelegten
TAB-Codes, erzeugt werden, hält ein TAB eine Schreib-
409835/064S
maschine auf verschiedenen Positionen der Seite (Feldpositionen) an, um die für verschiedene Teile der Textdaten erforderlichen
Einrückungen zu berücksichtigen, nämli.ch die Einrückurigen
für Paragraphen, Unter-Paragraphen, Ziffern bzw.
Buchstaben, Unter-Ziffern bzw. -Buchstaben usw., vgl. Fig. und 14 und Tabellen 0.0 und 0.1. Wenn das MT/ST-Band vorbereitet wird, werden nicht nur Groß-'und Kleinbuchstaben und
Satz-Datenzeichen erzeugt, sondern auch Hervorhebung, Leertaste SB, Rücktaste BS, Wagenrücklaufcode CR und Tabulator-Halts,TAB
(entspricht auf dem MT/ST-Band einem Code "05"). Abhängig.von dem tatsächlichen Wert der TABS, die durch den
Dateneingabe-Operator auf dem MT/ST-Band eingestellt werden,
kann eine zu den TAB-Halts gehörende TAB-Tabelle angefertigt werden. Nach Fig. 22 und 23 werden hier TAB-Halts bei 3, 7,
11, 15, 17, 23, 31 und 39 -verwendet; es kann somit eine
Schrittfunktion erzeugt werden, damit genügend Leerstellen, oder genauer gesagt: Leerräume, in einen auszuführenden,
eingegebenen logischen Datensatz so eingefügt werden, daß
die Textdaten im eingegebenen logischen Datensatz eine feste Länge haben und dementsprechend genügend weit nach
rechts eingerückt sind, um sich an die während der Datenaufbereitung erzeugten TAB(S) anzupassen. In den vorliegenden
Ausführungsbeispielen nimmt TAB folgende Vierte an, wenn die Daten aus dem Puffer in den eingegebenen logischen Datensatz
umgewandelt werden;
TAB-Tabel:le | K | V | |
< 4 | 3 | ||
0 | < 8 | 7 | |
4 | < 12 | 11 | |
8 | < 16 | 15 | |
12 | < 18 | 17 | |
16 | < 24 | 23 | |
10 | < 32 | 31 | |
24 | < 40 | 39 | |
32 |
40 9835/06:4
Die Fig. 21 usw. zeigen Programmablaufplane, die zum
Erzeugen der Prozedursprache COBUL U verwendet werden können, mit der die offenbarten Ausführungsbeispiele implementierbar
oder praktisch durchführbar sind, wobei Programmierer, die mit COBOL vertraut sind, keine Schwierigkeit bei .
der Übersetzung der Programmablaufpläne in eine geeignete Prozedursprache auf einer im wesentlichen ein-eindeutigen
Basis haben, und wobei die Durchführung auf einem IBM 36O/5O-Rechner
oder auf einem größeren Rechner möglich ist, wie bereits früher erwähnt. Wenn das angeschlossene Zeichenregister
nach den TAB-Tabellen einen TAB-Code schaltet, springt der I-Zeiger, der normalerweise dieses Zeichen aus dem physikalischen
Datensatz mit diesem Wert schaltet, in das Register des eingegebenen logischen Datensatzes; dabei bleiben der
zugehörige Wert ν und die Leerräume in diesem logischen Datensatz erhalten, was durch Anweisungen 9IO - 9J52 dar ge- '
stellt wird. · -
Da bei der manuellen Eingabe 20 nach Fig. 14 (Paragraph 2 (2) auch ein Unterstreichen-Zeichen,_ , vorkommt, muß dieses
beibehalten werden, wodurch die Einheitlichkeit des Unterstreichens für alle zugehörigen Zeichen gewahrt wird.
Dies wird im Anschluß an die Beendigung der TAB-Folge mit Anweisungen 933 bis 941 durchgeführt,' wobei die Unterstreichen-Codes
in relativen Positionen des eingegebenen logischen Datensatzes angeordnet sind, nämlich in einem zweiten
72-Zeichen-Feld des eingegebenen logischen Datensatzes, des "eingegebenen logischen Unterdatensatzes", das unmittelbar
nach dem ersten 72-Zeichen-Eingabefeld und benachbart zu diesem erzeugt wird, in dem die Sprach-Datenzeichen
oder -elemente angeordnet sind (Tabelle 6). Nach Fig. 3 und 24 befinden sich die ersten 72 Zeichen eines eingegebenen
logischen Datensatzes (innerhalb desselben Registers) im Sprachfeld des eingegebenen logischen Datensatzes, jene
409835/0649
für das Unterstreichen sind in einem Nachbarfeld des logischen Datensatzes, das nach Tabelle 6 "unter" heißt. Die
erfindungsgemäßen Ausführungsbeisplele sind entweder, mit. oder ohne Unterstreichen anwendbar; im "letzteren- Fall besteht
der eingegebene logische Datensatz aus nyr 72 (75)
Zeichen.und aus dem einzelnen Sprachfeld l40> während im
ersten Fall der eingegebene-logische Datensatz aus zwei
Teilen mit 75 Zeichenpositionen besteht, wobei ein Teil
Textdatenzeichen und der andere Teil Unterstrelchen-Codes und. Leerstellen-GOdes enthält, und wobei die Unterstrelchen-Codes
in der zeichenpösitiön des zweiten Teils angeordnet
sind, entsprechend zu der Zeichenposition des damit verbundenen
ersten Teils. Zum vollen Verstehen der Äusführungsbeispiele.
der Erfindung, müssen jedoch die. hier zusammenge-.
faßt ausgedrückten TAB- und Unterstreichen-Prozeduren nicht
voll verstanden werdehj da sie zum.Verstehen der Erfindung
nicht kritisch sind. Es genügt die Feststellung, daß jeder
eingegebene logische Datensatz natürliche Sprache in einer
•Form nach Fig. 3 anordnet, d.h. nur im Sprachfeld-Bereich
l40 (Unterstreichen vernachlässigt). Somit wird die Sprache s
die sich.z.B.. entweder auf den Spools 27 oder 28 oder tat- ,
sächlich auf -Spool" 37 befindet, auf .die entsprechenden Ausdrucke 28, 40 und 38 ausgegeben, und die; zugehörige Information
wird tatsächlich ausgegeben, da für die: Unterstreichungen
die Feldpositionen 166 - 2;+0 des ausgegebenen logischen
Datensatzes reserviert sind (vgl. Tabelle 6).
DIE EIQENTLICHE .ERFINDUNG - Λ
-." TEIL· Γ■--; ÄNDERUNGSDATEI-ANALYSE:: -~; .V
Es ist wichtig festzustellen, daß: zunr Fortschreiben der
Vater-Stammdätei 26 durch die MUtter^Xnderungsdatei 32 zuerst
die Änderungsdatei 22 analysiert werden muß, um die Mutter-
409835/06^9
A'nderungsdatei J>2. zu erzeugen. Die Analyse im bevorzugten
Aüsführungsbeispiel umfaßt: Kennzeichnung der wirksamen Paragraphen, (Weisungs-Kennzeichnung); Bewerten eines
Gliedes jeder Ordnung eines hierarchischen Deskriptors in der Weisung; Bestimmen, welche Aktion(en) auf den Operanden
bevorzugt anzuwenden sind, einschließlich Kapitel-Erkennung, Operator-Erkennung, Operanden-Kennzeichnung (die
im wesentlichen wie üblich durchgeführt wird); und Erzeugen einer Referenz für eine Datei-Vergangenheits-Prüfung
250, indem die während der Weisungs-Kennzeichnung und der
Operator-Erkennung (PortSchreibungsanalyse 30) erhaltene Information verwendet wird.
(i) Weisungs-Kennzeichnung
Nach dem Programmabiaufplan von Fig. 25 wird durch
eine Wenn-Anweisung 1001 bestimmt, ob der eingegebene
logische Datensatz innerhalb des Arbeitsbereiches ein erster eingegebener logischer Datensatz der ersten Zeile
eines wirksamen Paragraphen ist, d.h. der ersten Zeile einer neuen Weisung der Ä'nderungsdatei. Dies erfolgt
speziell durch Bestimmen darüber, ob die Feldpositionen oder 2 oder nur 1 des logischen Datensatzes durch eine
Nummer belegt sind, die die Nummer des wirksamen Paragraphen und damit die Weisungsnummer darstellt, wobei die Belegung
entweder in einer Stelle oder in zwei Stellen erfolgt, und ob diese Nummern in sequentieller Ordnung zu jenen sind,
die durch eine vorhergehende Analyse von vorhergehenden wirksamen Paragraphen ermittelt worden sein können. Dies
wird mit Wenn-Anweisungen 1001 und 1002, die die in den Feldpositionen 1 und 2 des logischen Datensatzes gefundenen
Datenelemente in ein numerisches Speicherregister NRS übertragen, wenn die Datenelemente numerisch und von einem "Punkt"
gefolgt sind. Man muß prüfen, ob die Folge deser Nummern, die gerade aus den Feldpositionen 1 und 2 oder nur 1 abgeleitet
409835/0649
worden sind, eine Folge zu früher abgeleiteten Nummern
darstellt; falls, dies zutrifft, ist die Nummer .tatsächlich"
eine Nummer eines wirksamen Paragraphen und somit der Weisung; andernfalls, wenn die Folge nicht Bestandteil
der abgeleiteten Njummer ist, gehört die Nummer nicht
zu einem Paragraphen. Somit muß zuerst die Folge geprüft werden, wozu ein Zwischen-Speicherregister TRS mit einem
Anfangswert Eins vorgesehen wird. Als nächstes wird der Wert dieses Zwischen-Speicherregisters TRS mit den Feldpositionen 1 und 2 oder je nachdem nur mit 1 verglichen,
wobei dann, wenn zwischen diesen entsprechenden Werten des Zwischenspeicherregisters und des numerischen Registerspeichers
Gleichheit festgestellt wird,,der Wert von TRS in ein ständiges numerisches Speicherregister übertragen
und anschließend eine Eins zu TRS addiert wird; dies ist
im allgemeinen ein sequentieller Zuwachs des TRS, wodurch siehergestellt wird, daß jede Ziffer t die sich in den Feldpositionen
l und 2 oder nur in 1 befindet (je nachdem, ob
es sich um einzelne oder eine doppelte Ziffer handelt), tatsächlich,
eine Ziffer eines Weisungs-Kennzeichens ist und
nicht nur eine Ziffer im normalen Sprachtext, wie durch einen Vergleich von TRS und NRS ermittelt werden kann.
Die Addition einer Eins zu NRS findet bei Anweisung 1004
statt; wenn die Speicher bei Anweisung 1005 gleich sind, wird der Wert des Zwischenspeicherregisters durch eine
Bring-Anweisung 1006 nach Fig. 26 zum numerischen Speicherregister
NRS übertragen. Das numerische Speicherregister enthält nun den aktuellen wert des Kennzeichens des wirksamen
Paragraphen (Weisung), und dieses Welsungskennzeichen
(oder die Paragraphennummer der Weisung) wird, zum Einfügen
in die Vergangenheitsprüfung verwendet, verbunden mit einer
Zusammenstellung dieses in der Weisung enthaltenen Operators, was in einer noch genauer erklärten Weise ermittelt wird,
vgl. Aktions-Tabelle, Tabelle 8.0. Durch Überlegung findet man, daß das numerische Speicherregister jedesmal um Eins
409835/0649
zunimmt, wenn sich die erste zeile eines neuen wirksamen Paragraphen der Änderungsdatei im Eingaberegister des
logischen Datensatzes befindet. Wenn andererseits bei Anweisung IOO5 der Fig. 2.6 die werte der- Register NRS und
TRS ungleich sind, ist die Ziffer in den Feldpositionen 1 und 2 oder 1 eine Ziffer im Sprachtext selbst und kein
Kennzeichen (d.h. der logische Datensatz dazu ist offensichtlich nicht die erste Zeile einer V/eisung); anschließend
erfolgt der Übergang auf Anweisung 17OI von Fig. 27.
Fig. 17 zeigt, daß wirksame Paragraphen Unter-Paragraphen
und somit Unter-Weisungen besitzen; es wird nun ein analoges Programm gestartet, beginnend bei Anweisung 1J5O1 nach
Fig. 25, um festzustellen, ob in den Feldpositionen 3, 4, ' 5 und 6 zwischen offenen und geschlossenen Klammern Ziffern
angeordnet sind, z.B. (1), jedoch im Anschluß an eine Paragraphennummer -Er kennung, was mit den Anweisungen 1002 - IOO5
durchgeführt wird. Das Unter-Paragraphen-Kennzeichen des wirksamen Paragraphen wird dann in ähnlicher Weise aufgezeichnet;
dazu wird ein numerisches Unter-Speicherregister SNRS mit einem Unter-Zwischen-Speicherregister STRS (mit
dem Anfangswert Eins) eingerichtet. Wenn die Wenn-Anweisung
IOO5 ergibt, daß die Werte dieser beiden Unter-Register
gleich sind, überträgt nach Fig. 25 eine Anweisung 1202
den Wert von SNRS nach STRS und zu STRS wird eine Eins addiert; somit hat das Unter-Zwischen-Speicherregister den kontinuierlich
wachsenden Wert für eine sequentielle Betätigung und das numerische Unter-Speicherregister hat tatsächlich den
Wert des Unter-Paragraphen-Kennzeichens für den wirksamen Unter-Paragraphen, der in der Vergangenheitsprüfung 250
eingesetzt wird, wie nachstehend erklärt wird.
Wenn bei der Anweisung I301 nach Fig. 25 kein Weisungs-Unter-Paragraph
vorhanden ist, geht es direkt zur Anweisung
409835/0649
l401 weiter, wo geprüft wird, ob die ersten sechs FeIdpösitionen
eine Doppelziffer^ParagraphenFeferenz und ,
eine einzelne Unter-Paragraphenziffer'haben; wenn ja, werden
sie durch die Anweisung I302 gespeichert, andernfalls
erfolgt der Übergang zur Anweisung 150IA für den
vollen Aufzeichnungsbereich des eingegebenen logischen Datensatzes für Leerräume, d.h. ob die 72 Zeichen des
logischen Datensatzes 140 mit Leerräümen besetzt sind.
Wenn der logische Datensatz aus Leerräumen, d.h. aus
einer Leerzeile beisteht, wird: der nächste logische Datensatz durch Übergang auf Anweisung 15OI der Fig. 2?
.verarbeitet, .wobei dann, wenn dieser ebenfalls. Leerräume
aufweist,, zum "Ende der Datei!1 fortgeschritten wird, verbunden
mit dem Schließen der Bänder und dem Anhalten des Programmlaufs, indem anschließend Anweisungen 7170 - 7173
der Fig. 51 durchlaufen werden. Wenn andererseits der Datensatz bei der Anweisung I50IA der Fig. 25 bestimmt, daß
der einen physikalischen Datensatz enthaltende Arbeitsbereich
nicht mit Leerräumen besetzt. ist,, wird auf 1402 ]AÖ5
übergegangen> um den Doppelziffer-Paragraphen ebenso
wie die Doppelziffer-Uriter-Paragraphennummern: aufzuzeichnen. Auf diese Weise werden der Weisüngsparagraph und die
Unter-Paragraphenglieder erkannt und gespeichert, worauf
anschließend. Anweisung 17Ql folgt und Anweisung l8öl, mit
der versucht wirdj das End« des logischen Datensatzes zu
.erkennen, da bekannt ist, daß entweder ein wirksamer Para- '."
graph und somit ein Operand oder nur eine Weisung (möglicherweise
eine Unter-Weisung) der Ä'nderungsdatei beendet wurde.
In jedem Fall muß die gesamte notwendige Information bezüglich einer Weisung, einer Unter-Weisung oder eines Operanden
in mehreren Tabellen und/öder Speichern angeordnet werden,
worauf der nächste folgende logische Datensatz eingelesen werden muß. \ . :
Nun ist es zweckmäßig. Fig*;10'und 16 und den Programm-409835/0649
ablaufplan der Pig. 27 zu erörtern. Bei 19OI wird ein'
I-Zähler ICOUNT eingesetzt, der als Zeiger für die verschiedenen
Feldpositionen innerhalb des vollen physikalischen Datensatzes 145 dient, der im AusfUhrungsbeispiel
aus einer Anzahl von logischen Datensätzen besteht, multipliziert mit dem Blockfaktor der Größe 20 (20 gehört zu
den Standard-Blockfaktoren für die Rechner IBM OS/36O oder
370, so daß der physikalische Datensatz angesichts des logischen
Datensatzes aus 72 Zeichen die Länge l44O hat).
Als Folge davon liegt der Wert von ICOUNT zwischen 1 und l440 und der Zeiger wird in die genaue Feldposition gebracht,
die den laufenden Wert des Zählers ICOUNT hat. Durch eine Addier-Anweisung 19OI der Fig. 27 wird der Wert
von ICOUNT um Eins erhöht, wodurch der Zeiger nicht nur über den physikalischen Datensatz 145, sondern auch über
den laufenden logischen Datensatz l40 innerhalb des physikalischen
Datensatzes bewegt wird. Es ist zweckmäßig, einen zweiten Zähler zu definieren, den "Bewege-Zähler" MC, der
Werte von 1-75 annimmt, um einen weiteren Zeiger zur Feldposition jedes gegebenen, eingegebenen logischen Datensatzes
im "Register des eingegebenen logischen Datensatzes" 146 zu bewegen. Die verwendeten logischen Datensätze haben, wie
bereits erwähnt, feste Satzlängen aus 75 Zeichen, obwohl die Länge je nach Anwendung und je nach verwendetem Rechner auf
jeden beliebigen Wert geändert werden kann. Anweisung 2001 bestimmt, ob MC gleich 75 ist, d.h. ob die Analyse so weit
fortgeschritten ist, daß ein voller eingegebener logischer Datensatz 4l eingegeben worden ist. Falls dies der Fall ist,
führt Anweisung 2002 auf die Anweisungen 1001 - I8OI, um zu
bestimmen und zu prüfen, ob das Ende der Datei erreicht ist, und Anweisung 2101 führt die aktuelle Prüfung des bereits
oben erörterten "Endes der Datei" durch.
In Programmschritt 23OI der Fig. 28 (das ist die erste
409835/0649
Anweisung eines Paragraphen-Programms mit dem Namen
"Nächst-Wort Bereich") wird im Arbeitsbereich 31 ein neuer Arbeitsbereich definiert,'nämlich der "Wortbereich"
WA. Ferner werden zwei neue Register für den Wortbereich definiert: "Wortzahl-Register" WGR und
"Ziffernzähl-Register" DCR, wobei WCR die Wörter in
WA zählt und DCR die Zeichen jedes Wortes. Nun enthält der Wortbereich mehrere logische Datensätze, die gleich
einem physikalischen Datensatz 145 sind, wie in Fig. 10
grafisch dargestellt ist. Jedes Wort in WA ist durch den
laufenden Wert von WCR bestimmt und jedes Zeichen eines
Wortes durch die kombinierten Werte von WCR und DCR. Dies
-wird am Beispiel des Paragraphen 1, Zeile 2 der Fig. 15
gezeigt, die lautet: "by adding thereto the following '■'■'■
clause", ("durch Hinzufügen der folgenden Bestimmung:"); der Buchstabe "e" des Wortes "the" würde-den wert j5 im.
Register DCR ergeben, während das Register WCR den Wert hätte. Auf diese Weise läßt sich durch die beiden Register DCR
und WCR die Bezugnahme auf ein Wort und auf einen Buchstaben eines Wortes durchführen. ^
Der Programmablauf wird mit dem Schritt 2301 fortgeführt, durch den eine Eins in das Register DCR übertragen
und entsprechend das Register WCR um Eins erhöht wird. Als
Folge davon wird der erste Buchstabe des nächsten Wortes
geschaltet, d.h. der Buchstabe "f" des Wortes "following" im obigen Beispiel, wobei DCR auf 1 und WCR auf 15 ge- ,
setzt wird. Bei Anweisung 2401 wird eine weitere neue
Tabelle im Arbeitsbereich 31 definiert, nämlich die "Zähltabelle"
TC, die aus zwei Unter-Registern, einem "Worteinheit-Unter-Register"
WU und einem "Finde-Wort-Unter-Register" FW zusammengesetzt ist, vgl. Fig. 10. TC bewirkt eine Speicherung
von Wörtern aus dem Wortbereich WA5gemäß der entsprechenden,
durch die kombinierten Werte von WCR und DCR
gegebenen Position in der Weisung. Bei der Anweisung 2401
wird der Wert von WCR, zusammen mit dem dazugehörigen Wort in relativer Nebeneinanderstellung in die Zähltabelle übertragen,
d.h. "the 0l4". Genauer gesagt: das Wort wird dem Register WU zugeordnet, die Referenz (die aus dem laufenden
Wert von WCR gebildet wird) dem Register FW. Als Folge davon
kann durch Bezugnahme auf einen Wert des Registers FW das zugehörige Wort gefunden werden und, unter Bezugnahme
auf ein Wort daraus, der zugehörige eindeutige WCR-Wert; somit ist die Position des Wortes in der Weisung (unabhängig
vom logischen Datensatz, in dem es ursprünglich untergebracht war) indiziert. Jedes Register WU und FW tritt 600 mal
in der Zähltabelle TC auf. Weiterhin wird das Feld von WU willkürlich zu 15 Zeichen gewählt, da dieses groß genug ist,
um alle Wörter, außer sehr großen, unterzubringen, jedoch nicht so groß, daß der Ausführungs-Kernspeicher dieser
Tabelle zugeteilt werden kann, wodurch die 'Verarbeitungsleistungsfähigkeit verschlechtert wird (es kann sein, daß
das Feld von WU auf 10 oder 6"Zeichen weiter verringert werden könnte, was jedoch auch vom Inhalt der Sprache der
verwendeten Datenbasis abhängt). Es hat sich jedoch herausgestellt, daß eine Zähltabelle TC mit einem WU-FeId von
15 Zeichen einen guten Kompromiß für eine leistungsfähige Verarbeitung darstellt, wenn wie in der vorliegenden Erfindung
Dateien aus in Englisch abgefaßten öffentlichen Rechtsnormen verwendet werden. Es läßt sich zeigen, daß
wegen der V/ahl des WU-Feldes zu 15 Zeichen Wörter mit
größerer Zeichenlänge als 15 nicht leicht in TC untergebracht
werden können; ein Verfahren zum Ausgleich dieser Wörter wird später diskutiert. Für den Augenblick genügt
es, daß durch die Verwendung von TC eine Tabelle erstellt wird, in der alle Wörter einer Weisung angeordnet sein
können, um sich z.B. auf Deskriptoren beziehen und nach diesen suchen zu können, zum Ordnen und Bewerten von Kenn-
4 θ 9035/0849
zeichen und für Operatoren/ Die Tabelle TC wird nicht zusammen mit Operanden, verwendet, dagegen wird WA für- die
Operanden-Kennzeichnung benutzt,wie später beschrieben
wird, .'".".."-. ."."■·■ "-".""""■■ Λ ----:; ;/■:--.-:.
Analyse von Aufgabenwörtern ■■"'"■ . "■";"-
Mit: Anweisungen 25OI - 3101 der Fig. 28 und 29 wird
versucht, Wörter zu analysieren und einzuteilen, die;bei
der Sprachverarbeitung durch einen Rechner gewisse Schwierigkeiten bereiten, wenn ein; festes Feldformat verwendet,
wird. Zusammenfassend sind folgende Probleme am schwierigsten
lösbar:' : :"--: - : -
. (a) Wenn ein Wort am Ende einer Zeile (logischer Datensatz) zum Anfang der nächsten zeile getrennt wird,
z.B. das Wort 207- "einfügen" (""inserting") in: den Zeilen
und des Unter-Paragraphen (2)des Paragraphen 1 nach Fig. l6j und v
(b) wenn Wörter eine vorgegebene Zeichengröße Übersteigen,
in diesem Ausführungsbeispiel 75 Zeichen.
Eine Lösung für das Problem (b) wird im Anschluß an die Wenn-Änweisung 25Ql vorgesehen, die feststellt, ob
DCR gleich 55 ist; wenn ja, wird auf'ein Über längenw.ort- :
Programm gesprungen, das bei Anweisung 2502 beginnt. Durch "
diese Anweisung werden die ersten54 Zeichen eines Wortes,
das mehr als 5^ Zeichen umfaßt, abgeschnitten und in einen
anderen Bereieh des Arbeitsbereichs,31 gebracht, nämlich
in den "Wort-Arbeitsbereich" WWA und für eine spätere Disposition
in die Zähltabelle TC, wie in Fig.; 10 dargestellt ist und weiter unten beschrieben wird. Die Diskussion über
Wörter mit mehr als- 5^· Zeicheri wird vorerst zurückgestellt
und das Problem (a) bei Trennwörtern betrachtet.
40 98 35/06 49 Λ
Durch die Anweisung 2502 wird der Wert des Zählers MC bestimmt, und falls dieser größer ist als 75, wird die Anweisung
2503 ausgeführt, um den nächsten logischen Ä'nderungs-Datensatz
wieder aufzufinden; dieser Satz wird im Register 146 des eingegebenen logischen Datensatzes angeordnet,
d.h.: "Bringe den nächsten logischen Datensatz zum nächsten Datensatz-Ausgang", vgl. die Anweisungen 1001 I8OI.
Wenn andererseits der Wert von MC bei 2502 ungleich 75 ist, wird die Anweisung 2602 verarbeitet, um die Feldposition
75 des eingegebenen, im Register 146 angeordneten, logischen Datensatzes auf Buchstaben zu überprüfen (wodurch
jene Feldposition angezeigt wird, die mit einem Alphazeichen belegt ist); wenn dieses Feld belegt ist, wird durch
Übergang auf die Anweisung 2503 der nächste Datensatz ausgeführt.
Wenn in der Position 75 andererseits kein Buchstabe enthalten ist, kann es sich um einen Trennungsstrich
handeln, was mit Anweisung 26Oj5A festgestellt wird: im
Falle eines Trennungsstriches wird durch 2503 der nächste
Datensatz ausgeführt, um zum nächsten logischen Datensatz zu gelangen, worauf das getrennte Wort durch den ersten Teil
des nächsten Datensatzes vervollständigt werden kann, so daß es mit dem Ende des vorhergehenden logischen Datensatzes
zusammengelegt werden kann, da sich das Wort tatsächlich über zwei logische Datensätze erstreckt.
Anschließend wird bei Anweisung 2505 der Fig. 30
fortgefahren, um das Abschneiden oder Verkürzen der Wörter auf 5^ Zeichen durchzuführen, was kurz erklärt wird. Zur
Wiederholung, wenn bei der Anweisung 2501 eine negative Zahl entsteht, erfolgt ein direkter Übergang zur Anweisung
26OI, um Wörter mit mehr als I5 Zeichen nach WWA zu bringen.
In manchen Fällen wird eine Gruppe aus Wörtern als ein Wort behandelt, weshalb aus derartigen Wörtern Kapitelnamen ge-
409835/0649
■:.■.■";.■-■ - 33 - - . ■■".-■ "■■-■. ■■■-
bildet werden, die z.B.; alle mit "the" (das) beginnen und
mit "Act" (Gesetz) enden. Die Kapitelnamen werden als ein
Wort behandelt, so daß in einer "Einlese-Tabelle", Tabelle 8,
• das Suchen erleichtert wird, wenn die Datei- oder Kapitelnummer
daraus gewünscht wird, diese jedoch nicht in der Änderungsdatei enthalten ist. Deshalb muß aus der Einlese-Tabelle
die Kapitelnummer bestimmt werden, vorausgesetzt, daß der Kapitelname gegeben ist, oder der Kapitelname,
falls die -Kapitelnummer gegeben ist.Normalerweise, wenn
die Weisung den Kapitelnamen angibt, nicht jedoch die Kapitelnummer, vgl. Paragraph 1 und 2 der Fig'. 16, muß deshalb
auf die Einlese-Tabelle Bezug genommen werden, um die Kapitelnummer
zwecks deren Einfügung in das Deskriptor-Register zu
erhalten, so daß die Kapitelnummer (Kapitelordnungsglieder) einen Teil, des hierarchischen Satzes aus Kennzeichen bildet,
mit denen ein logischer Datensatz des Operanden eindeutig gekennzeichnet werden kann.
Nach Fig. 10 und 28 wird mit der Anweisung 2601 das Zeichen eines Wortes beim Wert MG im Register 146 (des ein- gegebenen
logischen Datensatzes) mit der- Zeichenreferenz WA(DCR)
in den Bereich WA übertragen, d.h. dort hin, w.o. der Wert des
Wortzähler-Registers und des Ziffernzähl-Registersgemeinsam
das spezifische Zeichen in der Wortbereichs-Tabelle anzeigen
und somit das spezifische Zeichen eines logischen Datensatzes
(es soll daran erinnert werden, daß ein Rechner Wörter nur
auf einem niedrigeren Niveau als auf demjenigen bei der
menschlichen. Verständigung verarbeitenkann» wobei dieses
niedrigere Niveau kein menschliches Gegenstück· hat ϊ trotzdem
ist der Rechner sehr leistungsstark^ doch ist seine genaue
Operation schwierig mit einfachen Begriffen _zu erklären.
In jedem Fall kann der Rechner eine Sprache besser verarbeiten.,·
wenn durch die Verwendung von WCR zusammen mit I)CR auf
jedes Wort und auf jeden Buchstaben eines Wortes Bezug ge~
40:983 5/0649.
nommen wird). Im Anschluß an die Anweisung 26OI folgen Anweisungen
27OI bis 33OI der Fig. 29, wo die Ziffernzähler MC
bzw. DCR des eingegebenen logischen Datensatzes bzw. von WA, erhöht werden. Bei der Anweisung 28OI wird geprüft, ob das
Ende eines eingegebenen logischen Datensatzes erreicht ist, d.h. ob MC gleich 75 ist, worauf durch 2802 der nächste
logische Datensatz eingegeben wird; die Werte von DCR und WCR werden jedoch durch die Anweisung 2802 nicht geändert.
Danach wird bei der Anweisung 29OI weiter geprüft, ob der
volle Aufzeichnungsbereich FRA des eingegebenen logischen Datensatzes aus Leerräumen besteht, was bedeuten würde, daß
das Ende einer Weisung erreicht ist (vgl. Fig. l6 und 17, wo jede Weisung von ihrem Operanden durch eine Leerzeile
getrennt ist). Wenn bei 2901 Leerräume festgestellt werden, wird zur Anweisung lOOOO und zum nächsten logischen Änderungs-Datensatz
verzweigt, andernfalls wird mit der Anweisung 3OOI fortgefahren und mit derjenigen Feldposition im logischen Datensatz,
die einen laufenden Wert aus MC hat, wobei diese Feldposition eingehend auf Buchstaben geprüft wird; falls kein
Buchstabe vorhanden ist, wird bei Anweisung 31-OI auf einen
Trennungsstrich geprüft. Der Trennungsstrich, kann tatsächlich eine Trennung von zwei Wörtern in jenem logischen Datensatz
bedeuten (wobei die Wörter als ein Wort betrachtet werden) oder.das Schlußzeichen in diesem logischen Datensatz sein,
wobei der Ausgleich der zum letzten Wort dieses logischen Datensatzes gehörenden Zeichen in den ersten Teil des nächsten
logischen Datensatzes gelegt wird. Wenn ein Trennungsstrich gefunden wird, wird die Anweisung 25OI auf einem neuen logischen
Datensatz ausgeführt (dabei wird DCR nicht geändert), andernfalls wird die Anweisung 3301 ausgeführt^ durch die
eine Eins zu DCR addiert wird. Wenn das vollständige Wort gefunden ist, wird es durch die Bring-Anweisung 2601 der
Fig. 28 zusammen mit dem WCR-Wert in die zugehörigen UnterRegister
WU und FW der Zähltabelle TC in einer bereits be~
40983 5/0649
schriebenen Weise gebracht.
In Fig. 30wird durch Anweisungen 2505 - 2509 der Spezialfall
bearbeitet, daß der MC-Wert kleiner als 75 ist, wie aus dem Programmablaufplan zu ersehen ist. Um die erfindungsgemäßen
Ausführungsbeispiele voll zu verstehen, Ist die Feststellung wichtig, daß für jeden gegebenen logischen
Datensatz oder für Gruppen aus logischen Datensätzen der sich im Arbeitsbereich befindlichen Weisung mehrere Durchläufe oder Suchvorgänge durchgeführt werden können. Um die
Antwortzeit zu verbessern, ist es deshalb zweckmäßig, durch eine Anfangsüberlegung während jedes Suchens "unwichtige"
Wörter zu entfernen, die bereits in der Zähltabelle enthalten sind; diese größere Leistung beim Suchen ergibt überraschende Ergebnisse wenn, wie beim Fortschreiben, eine
sehr große Anzahl von .Suchwünschen erforderlich ist. Zuerst
werden durch eine statistische Vorauswahl-Analyse während
jeder Suchanforderung unwiehtige Wörter in der Zähltabelle
unberücksichtigt gelassen (im vorliegenden Ausführungsbeispiel sind "unwichtige" Wörter Wörter aus drei oder weniger
Zeichen). Die unwichtigen Wörter werden in der Tabelle gelassen, so daß die Zähltabelle TC alle Wörter aus dem Wort- ,
bereich WA enthält; in der Folge werden alle Wörter mit mehr
als drei Zeichen in einer neuen Tabelle im Arbeitsbereich,untergebracht, nämlich in der "Worttabelle" WT, in der;.jedoch
die Wörter durch den Wert von WCR mit ihrer entsprechenden Position in der Zähltabelle verbunden sind;'ferner sind die'
Wörter entsprechend auf zehn Zeichen (O- 9 einschließlich)
verkürzt, so daß eine Suche bei Wort-"Vergleich" nach Fig*
nur die ersten zehn Zeichen .berücksichtigt.;"""
Nach Fig. 10 und 28 werden Wörter mit mehr als 54 Zeichen in Anweisung 2502 durch Verlagerung der ersten 5^ Zei^
chen jedes Wortes aus dem Arbeitsbereich in den Wort-Arbeits-
40983 57 06 49
bereich WWA behandelt. Jedes Zeichen des Wortes im Wortarbeitsbereich
WWA ist durch die Verwendung von zwei Zählern bezogen, nämlich durch eine "Wortreferenz" WR
und eine "Ziffernreferenz" DR, die ebenso wie die Register WCR und DCR funktionieren, jedoch im Wort-Arbeitsbereich WWA.
Der Bereich von DR geht deshalb von 1 - 54, während WR den laufenden Wert von WCR hat. Eine zweite Tabelle ist mit
dem Wort-Arbeitsbereich WWA verbunden, nämlich eine Festfeld-Erweiterungstabelle
im Arbeitsbereich Jl, mit dem Namen "Aufgliederungseinheit" UB; sie neu definiert den
Wortarbeitsbereich in neun Segmente aus je sechs Zeichen ■(9 χ 6 = 54), und somit können alle 54 Zeichen jedes Wortes
des Wortarbeitsbereiches innerhalb der neun Segmente der Aufgliederungseinheit untergebracht werden. Tatsächlich sind
alle neun Segmente der Aufgliederungseinheit teilweise durch dieselbe identische Adresse definiert, nämlich durch WCR.
Wenn ein Wort aus 54 Zeichen aus dem Wort-Arbeitsbereich
nach Fig. 10 in die Aufgliederungseinheit gebracht wird, wird der WCR-Wert für dieses Wort in jedes der neun Segmente
übertragen, weiterhin ist ein Index 47 vorhanden, der die
relative Lage jedes Segments relativ zum anderen Segment in der Aufgliederungseinheit bezeichnet. Nachdem das Wort in
der Aufgliederungseinheit segmentiert worden ist, wird es zusammen mit dem WCR-Wert in die Arbeitstabelle WT übertragen,
nicht jedoch der Index 47 von UB, der aber zum Steuern
und Ordnen der sequentiellen Übertragung jedes Segmentes in der Arbeitstabelle WT verwendet wird. In WT werden alle Suchanforderungen
bearbeitet, um zu Beginn ein Wort (oder einen Teil daraus) mit Wörtern der Peldsuch-Steuerung zu vergleichen,
wie nachstehend beschrieben wird.
Der Programmabiaufplan der Fig. J50 wird mit Anweisung
2505 fortgesetzt. Bei Anweisung 2506 wird der Wortarbeitsbereich
WWA in die neun Segmente aus je sechs Zeichen für die
409835/0649
■ - 57 -
Aufgliederungseinheit neu definiert, ferner wird ein Steuer-Unterregister
dafür gegründet, Register SUb-A, das bei WCR bewertet wird und das den Hinweis enthält,-daß- die Aufgliederungseinheit
in Wirklichkeit nur ein Wort ist. Anschließend werden durch Anweisung 2507 nicht nur zwei Hilfszähler Sub-B
und Sub-C betätigt, wobei Sub-*B 1^7 zum Steuern der neun Segmente der Aufgliederungseinheit dient, während Sub-C die neun
Segmente steuert, wenn diese sich in der Zähltabelle befinden·,
es wird erinnert, daß die werte des Finde-Wort-Unterregisters
durch die Werte von·WCR bestimmt würden, so daß der Wert jeder
Aufgliederungseinheit gleich sein muß, wenn neun Segmente aus der Aufgliederungseinheit für ein einzelnes Wort vorhanden
sind, das über WT in die Zähltabelle übertragen wurde; weiterhin
wird dadurch sichergestellt, daß nur diese neun Segmente
und nicht mehr.als diese neun Segmente durch Anweisungen 2508 und 2509 übertragen werden. Die Anweisung 2509 setzt das
Register Sub-C auf einen Wert, der um Eins größer ist als
der letzte laufende Wert des Finde-Wort-Unterregisters FW
(aus der Zähltabelle), d.h. WCR,· so daß die neun Segmente der
Aufgliederungseinheit sequentiell, aber gemeinsam^ in die
Zähltabelle eingefügt werden könnene Die Anweisung 2509 überträgt
die Aufgliederungseinheit zur Zähltabelle TC, indem die
Anweisungen 2509 - 2507 neunmal durchlaufen werden (ein Durchlauf für jedes der entsprechenden Segmente ).>
was in bewährter Weise durch aufeinanderfolgende Additionen einer Eins in die
Zählregister Sub-B und Sub-C gezählt'wirdj. am Ende-der neun
Schleifen erfolgt eine Verzweigung nach Anweisung 2510* die
den Sub-A-Zähler um Eins erhöht und somit ein Weiterschalten,
in die Anweisung ^401 bewirkt (es wird.--daran erinnertc daß
der Sub~A-Zähler das Register WCR ist und ein."Wort" in der
Zähltabelle direkt anschaltet und somit eine Funktion analog
zu der des Finde-Wort-Unterregisters F-W- hat). - -
. Es wurde bereits gesagt, daß es wünschenswert ist^ die
40983 B708-4-
"unwichtigen" Wörter in der Zähltabelle TC aus der Suchfolge
zu entfernen; um dies durchzuführen, wird eine Tabel-*
Ie aus Wörtern, eine Worttabelle WT, mit 400 Wörtern und je 10 Zeichen eingerichtet, deren Wortbezugszeiger durch das
Register Sub-Α gesteuert wird, das in Fig. 10 WCR heißt. Das Sub-A-Register ist identisch mit dem bereits früher
beschriebenen, arbeitet jedoch in diesem Unterprogramm mit der Worttabelle anstatt mit der Zähltabelle, es funktioniert
allerdings in jeder Hinsicht wie ein mit der Zähltabelle arbeitendes
Sub-A-Register. Durch Anweisung 3300 werden alle Wörter mit weniger als drei Zeichenlängen aus der Zähltabelle,
zusammen mit ihren zugehörigen Finde-Wort-Unterregister-Wert
en WCR, in einen "Volltextbereich" des Arbeitsbereichs übertragen, wobei der Ausgleich der Wörter zusammen mit ihren
zugehörigen Finde-Wort-Unterregister-Werten FW in der Worttabelle WT als ein Satz von Bezugsgrößen gespeichert
wird, jeder mit einem nacheinander aufsteigenden wert des
Sub-A-Registers lA8, so daß der Wert des Sub-A-Registers 148 als Zeiger für das Wort in der'Worttabelle verwendet werden
kann und somit für dieses Wort in der Zähltabelle mit seinen FW-Werten. An dieser Stelle sind alle "wichtigen" Wörter der
Weisung in WT untergebracht, für die Suche von Wörtern oder den Vergleich mit Wörtern, die in der Feldsuch-Steuerungstabelle
FLC, Tabelle 8.0, angeordnet sind.
Es wird nun genauer beschrieben, wie die "wichtigen", in der Worttabelle WT angeordneten Wörter verglichen werden.
Zuerst wird ein konstantes oder festes Wörterbuch eingerichtet, das für Zwecke der Programmiersprache Feldsuch-Steuerung
(Tabelle 8.0) genannt wird, und das vier Sätze aus Steuerkarten enthält, nämlich eine Einlese-Tabelle 8.1, eine
Deskriptor-Tabelle 8.2, eine Aktions-Tabelle 8.3 und eine
409835/0649
2350023
Aktions-Klassifikations-Tabelie QA. Diese Tabellen.der
Feldsuch-Steuerung werden während des Programms durch die Steuerkartensätze (JCL) erstellt, und die Information der
entsprechenden Tabellen wird in der Feldsuch-Steuerung in
Satzformat angeordnet. Damit können die Wörter in der Feldsuch-Steuerung, falls erforderlich, durch Kartenänderungen geändert werden, um sich auf die in verschiedenen '
Datenbasen verwendeten Ausdrucksweisen anzupassen. Z.B. enthält die dargestellte Deskriptor-Tabelle des Äusführungsbelspiels
Deskriptoren, die üblicherweise in öffentlichen Rechtsnormen vorkommen, wie in der Tabelle 2.0 dargestellt
und im bevorzugten Ausführungsbeispiel in den Fig. 15 und
16 offenbart wird, vgl. auch Tabelle 9.0. In technischen Beschreibungen jedoch kann es vorkommen, daß nicht der
hierarchisch geordnete Deskriptor "Paragraph1! verwendet
wird, sondern stattdessen der Ausdruck "Teil" oder'"Artikel"
oder "Abteilung" für die äquivalente Ordnung, usw. In diesem
Fall wurden diese Deskriptor-Ordnüngswörter dieser Daten-/-basis
anstelle der hler verwendeten Deskriptoren in; der
Deskriptor-Tabelle der Feidsuch-Steuerungstabelle8.0 erscheinen,
und die Deskriptoren der Änderungsdatei müßten
mit diesen Deskriptoren der Deskriptor-Tabelle verglichen werden. Die Deskriptor-Wörter werden durch JCL festgelegt*
wie bei der Feldsuch-Steuerung erwähnt wurde.
Nach Fig. j51. werden mit Anweisungen 3401 - 3.8ÖI die
"wichtigen" Wörter in der Wort-Tabelle mit denen der Deskriptor-Tabelle verglichen bzw/ an diese angepaßt. Wenn
eines dieser Wörter verglichen ist, wird das nächste Wort
aus dem Volltextbereich, Zähltäbelle TC, gespeichert, und
somit der Zahlenwert des Deskriptors in einem speziellen Deskriptor-Register DR, mit der zugehörigen Ordnung, die der
Ordnung des nach den Tabellen 0.0 und 2.0 gewählten Deskriptors entspricht; d.h. es wird die "Nachbarumgebungs"-Nummer
des Gliedes für den Satz aus Ordnungen festgestellt. Wenn z.B.
40983&/Q649
das Wort nach dem Deskriptor "Paragraph" "10" ist, wird der Wert 10 in der hierarchischen Paragraphen-Ordnung des Deskriptor-Registers
DR nach Fig. 11 gespeichert, und zwar in Übereinstimmung mit den Tabellen 2.0 - 2.8. Wenn das nächste
"Wort" nach 10 ebenfalls eine Zahl ist, z.B. "11" (wodurch für beide Paragraphen 10 und 11 identische Operationen angezeigt
werden), werden die beiden Werte 10 und 11 durch die Anweisungsfolge 3401 - 38OI im Kennzeichen-Register IR angeordnet. Die Anweisung 3403 steuert das Sub-A-Register
und ebenso das Deskriptor-Register DR, indem ein zu diesen Tabellen gehörender Zeiger durch Addition einer Eins in der
Anweisung 3403 entsprechend erhöht wird; anschließend wird
die Wort-Tabelle bei der Anweisung 38OI für den entsprechenden
Wert des Sub-A-Registers nach Leerräumen überprüft. Die Analyse einer Weisung ist fertig, wenn bei der Anweisung 38OI
Leerräume vorhanden sind, worauf dann bei 10000 der Eintritt in den Schlußparagraphen der Gesetzesvorlage erfolgt, vgl.
Fig. 87, was nachstehend beschrieben wird. Wenn andererseits durch die Anweisung 38OI festgestellt wird, daß die Zähltabelle
TC beim Wert des Sub-A-Registers keine Leerräume enthält, erfolgt der Übergang zur Anweisung 4000 der Fig. 32,
um ein neues Zählregister J zu prüfen, das eine weitere UnterTabelle
der Feldsuch-Steuerung kontrolliert, nämlich die "Einlese-Tabelle", Tabelle 8.1. Die Einlese-Tabelle stellt
ein festes Wörterbuch oder eine Korrespondenztabelle zwischen dem Kapitelnamen und seiner Kapitelnummer her. Damit kann
eine Weisung auf dieses Wörterbuch bezogen werden, um das Glied des Satzes eines Kapitelnamens oder den Namen einer
Kapitelnummer festzustellen (vgl. auch Tabelle 9.0). In einem bevorzugten Ausführungsbeispiel besteht die Einlese-Tabelle
aus 20 verschiedenen Kapitelnamen, obwohl in dem hier gewählten Beispiel nur 12 angegeben sind, zusammen mit
zugehörigen Kapitelnummern; jedoch kann jede Anzahl von Kapitelnamen und -nummern verwendet werden, wenn dies zweckmäßig
ist.
409835/0649
Bei Anweisung 4000 nach Fig. 32 wird das erste Wort
nach einem Leerzeichen oder einem Leerraum versuchsweise mit dem Wort "chapter" (Kapitel)verglichen, das imProgramm-•
ablaufplan als "chap" abgekürzt wird; wenn eine Übereinstimmung
vorhanden ist, werden mit der Anweisung 4001 Nullen
in das J-Register übertragen, das die Indizierung durch die
Einlese-Tabelle steuert. Die nächste Anweisung 4002, die
den Wert des J-Registers undder Sub-A-Register um Eins erhöht, wird ausgeführt, worauf das J-Register auf Eins zurückgesetzt
wird, wobei die Einlese-Tabelle erneut durch den ersten Eintritt (Kapitelname)indiziert werden kannfi wenn
dieses Programm wieder- aufgeruferuwird*- Bei—der Anweisung 4O5O
der Fig. 33 wird der Wert des Sub-A-Registers 148 herausgezogen, wenn am Ende eines Kapitelnamens in der Wort-Tabelle
eine Übereinstimmung mit dem Wort "Act" (Gesetz) herrscht,
vgl. Einlese-Tabelle 8.1. Es ist bekannt, daß der nächste
Feldpösitions-Eintritt der Einlese-Tabelle die .Kapitelnummer
ist. Innerhalb jedes Kapitelnamens der Einlese-Tabelle kann der Kapitelname IJ verschiedene Einheiten oder Wörter
aufnehmen, weshalb jeder Kapitelname 13 Wörter lang sein
kann; für jeden dieser Wörter der Einlesetabelle ist ein entsprechender
Zeiger vorhanden, nämlich Register II. Der Wert des II-Registers geht deshalb von 0 -13„ Bei Anweisung 4100
der Fig. 33 wird das II-Register auf Null gesetzt. Zwischen
den Anweisungen 4100 bis 4l8o zur versuchsweisen Anpassung
an eine Kapitelangabe wird der Wert des Registers II von
0 bis 13 erhöht, wodurch das Register als X-Achse für die
Matrix der Einlesetabelle dient, während das Register. «I als Y-Achse (Angabenachse) dient. Es muß versucht werden, die vom
eingegebenen logischen Datensatz (wirksamer Paragraph) abgeleiteten
und in der Worttabelle dargestellten und angeprdneten
Namen zu vergleichen. Im Falle einer erfolgreichen Anpassung zwischen dem Wort-Tabellen-Wort und einem gegebenen
Wert der Register J und II für die Einlese-Tabelle wird bei
409 83 5706 49
Anweisung 4171 der Wert der Kapitelordnung der Einlese-Tabelle
in die Kapitelordnung des Deskriptor-Registers DR * gespeichert. Wenn"der Vergleich nicht erfolgreich ist, wer-.
den die Anweisungen 4002 - 4152 zwanzigmal durchlaufen
(das J-Register läuft von 1 - 20), um einen Vergleich der Information in WT mit der Information einer Kapitelangabe
in der Einlese-Tabelle, für jede Kapitelangabe in der
Einlesetabelle, zu versuchen. Es ist wichtig, daß das Sub-A-Register 147 seinen Wert so lange nicht ändert, bis
ein vollständiger Vergleich zwischen WT und einer voll-Ständigen Kapitelnamen-Angabe mit dem Wert J der Einlese-Tabelle
vorgenommen ist, wobei wiederholt wirda daß das Sub-A-Register "wichtige" Wörter in der Wort-Tabelle schaltet
oder indiziert, siehe Fig. 10. Andernfalls würde dieses Wort aus der Änderungsdatei verlorengehen und es könnte
kein Vergleich zwischen der Wort- und der Einlese-Tabelle durchgeführt werden, um festzustellen, ob ein Kapitelname
durch die Änderungsdatei-Weisung gegeben war oder nicht.
Anders ausgedrückt: jeder Kapitelname wird, obwohl er aus 13 Wörtern zusammengesetzt ist, als ein Wort .(durch das
J-Register) behandelt und jedes Zeichen der Anpassungsleerräume der 13 Wörter wird durch das II-Register indiziert.
Weiterhin, da die zeichen aus dem eingegebenen logischen Datensatz in den Arbeitsbereich WA durch Bewertung von MC,
WCR und DCR gelesen werden, bewirkt ein Erreichen des Wortes
"The", daß keines der folgenden Wörter bis "Act" eine Änderung des WCR-wertes verursacht, sondern nur des Wertes von
DCR. Dadurch hat der Kapitelname in WA einen einzigen WCR-Wert. Da der Kapitelname üblicherweise aus mehr als 15 Zeichen
besteht, wird dieser durch das Programm für 54 Zeichen
Wortlänge in WWA und FW abgeschnitten, wie bereits früher erwähnt wurde (vgl. ViT in Fig. 10).
Wenn bei Anweisung 4l80 dieses Wort in WT mit dem Wert des Registers Sub-Α nicht mit dem Kapitelnamen über-
409835/0649
einstimmt, wird die Suche mit Anweisung 4l5O fortgesetzt,
um alle Wörter in der Wort-Tabelle, die den Wert des Sub-A-Zählers
haben, mit jenen der Einlese-Tabelle und Werten II
für jedes gegebene J zu vergleichen. Falls diese-Anweisung "wahr" ist, wird der' Zusammenhang mit dieser Einlese-Tabellen-Angabe
(Kapitelnummer) in der zugehörigen Ordnung des Deskriptor-Registers beim laufenden Wert des Sub-B-Registers
über Anweisung 4052 gespeichert, d.h. in der Kapitel-Ordnung
von OR. K ; " :
Es wird nun die dritte Gruppe der Feldsuch-Steüerungstabelle betrachtet,, nämlich die Aktions-Tabellen 8.3 und 8.4,
sowie Tabelle 4„O,, was in der Programmierspraehe des Ausführungsbeispiels allgemein "Durchfuhr heißt»
Der.Zweck der Äktions-Tabellen besteht daring -ein Wörterbuch
aus nützlichen Wörtern aufzubaueny um jene Art von Tätigkeit
zu beschreiben, die während des besonderen Mischens 33 auf
der yater-Stammdatei 26 ausgeführt wird. Tatsächlich enthält
die Durchführungstätigkeit dese nützlichen und wirksamen Tatigkeitswörter,
die in der Aktions-Tabelle 8„3 ausgefülirt
sind. Z.B. enthalten sie den Hinweis "und soll wie folgt lesen". Dieser Satz enthält vier Wörter, wobei jedes Wort in
der Aktions-Tabelle in Form von vier .getrennten Wörtern angeordnet ist; dadurch wird der Kernspeicher reserviert» Zusammen mit der gewünschten Aktion wird eine zugehörige Finde»
Aktions-Tabelle 8.4 eingerichtet, in der der Wirksame Paragraph
jener Aktion gespeichert wird, die die Ausführung des zugehörigen Unterprogramms bewirkt, was durch die Operatoren einer Weisung angewiesen werden kann. Dies wird durch eine binäre Technik aus 0 und 1 bewirkt; mit anderen Worten:■ es werden Markierungen
verwendet, wobei die spezielle gewünschte Tätigkeit durch die Markierung 1 bezeichnet ist, während die Instruktionen
zum Nichtdurchführen dieser Operation durch 0 dargestellt
sindj es erübrigt sich zu sagen, daß die Markierung ein Bit ist.
40983 5/0 6 49
Nach dem Programmablaufplan der Fig. 34 werden bei Anweisung
4101 die ersten drei Ziffern der Wort-Tabelle WT beim Wert des Sub-A-Registers durchgesehen, insbesondere ·
die Buchstaben "rep'''. Der Grund zum Prüfen von "rep" liegt darin, daß im Rechner ein Vergleich unabhängig vom Zusatz
eines Wortes durchgeführt wird, wenn die Vorsilbe übereinstimmt, wie in den Fig. 104 und 105 ausgeführt ist. Da das
hier interessierende Aktionswort "repealed" ("aufgehoben") ist, wogegen kein Interesse an einem Wort wie "repeat" besteht,
dessen ersten drei Buchstaben mit denen von "repeal" übereinstimmen, müssen deshalb jene Wörter, die mit "rep"
beginnen, ausgeschieden werden, so daß sie absolut keinen Einfluß beim Wahrnehmen und Erhalten des gewünschten Aktionswortes haben. Dies ist durch eine sorgfältige Untersuchung,
insbesondere zusammen mit den Fig. 104 und 105, des Programmablaufplans von Fig. 34 und aus den Tabellen 4.0 sowie 8.3
und 8.4 zu verstehen. Durch eine genaue Deutung be.i Anweisung 4101 der Fig. 34 wird über 4lO2 - 5253 die Ähnlichkeit
zwischen diesen Wörtern verglichen, wobei der Mensch leicht unterscheiden kann, nicht jedoch der Rechner. Anhand dieser
Routine des Programms wird versucht, eine Lösung zum Erkennen der Wörter "repeal" und "repealed" durch den Rechner
aufzuzeigen, nicht jedoch von anderen Wörtern, die ebenfalls mit den ersten drei Buchstaben "rep" beginnen. Die Wörter
"repeal", "repealed" und "rep" unterscheiden sich nur in den Zeichen der vierten und folgenden Feldpositionen, vgl.
Fig. 104, weshalb jeder Vergleich durch den Rechner ein "perfekter" Vergleich sein muß, was bedeutet, daß "repealed"
"repeal" und "rep" enthält; wenn das Programm einen Vergleich durchführt, ergibt sich eine Nichtübereinstimmung in der
siebten und achten Position bezüglich der Wörter "repeal" und "repealed", und in der vierten Position sowie in den
folgenden Positionen im Falle von "rep", "repeal" und "repealed". Deshalb muß eine Prüfung für alle Variationen von "rep" und
"repealed" durchgeführt werden. Wenn das Wort "repealed" ge-
409835/0649
funden wird, wird, da es nach Tabelle 8.3, Angaben 1 und 2,
zwei verschiedene Eigenschaften hat, eine Reihe von Wörtern
geprüft, um festzustellen, welche Eigenschaft.von "repealed"
in der Weisung vorkommt,- da mehr als eine wirksame Funktion
abgeleitet werden muß, d.h. die ersten beiden Angäben der Tabellen.8.3 und 8v4>
da außerdem andere Weisungen wie z.B. Änderungen vorhanden sind, die in den Weisungs-Angaben 3 und
4 der Tabelle 8.J ausgeführt werden. Zur Unterscheidung zwischen "rep" und "repeal" erhält jedes Wort sein eigenes eindeutiges Prüf-Unterprogramm. Im Falle von "repealed" beginnt
das Unterprogramm bei Anweisung 5252A und im Falle von "rep"
bei 4101. Bei der Anweisung 4101 wird das Wort mit "rep"
verglichen] bei Übereinstimmung wird eine Eins zum Sub-A-Register
addiert, um dann zum nächsten Wort in WU und somit
zur Anweisung 3401 der Fig. "51 zu gehen, wobei aufeinanderfolgende
Wörter der in WU angeordneten Weisung geprüft
werden. Wenn bei der Anweisung 4101 "rep1- nicht gefunden
wird, wird bei der Anweisung 5252 das Wort "repealed" verglichen. Falls das Wort "repealed" gefunden wird, wird zur
Anweisung 5252A weitergegangen, wo die nächste Position,
ohne den Sub-A-Zähler zu ändern, auf einen "Punkt" geprüft
wird; falls ein Punkt vorhanden ist, wird bei 5302 die
nächstfolgende Position (wiederum ohne den Sub-A-Zähler zu ändern) auf den zweiten "Punkt" hin untersuchtj falls der
zweite Punkt gefunden wird, wird zum Sub-A-Register Zwei
addiert, um das zweite folgende Wort'nach dem Wort "repealed"
in WU anzuschalten] worauf zur Anweisung 5402 der Fig. 36
übergegangen wird, um die nächste Feldposition wiederum auf ·
einen Punkt zu überprüfen (wobei jetzt ein Punkt bedeutet, daß drei aufeinanderfolgende Punkte vorhanden-sind und somit ein Datenfehler vorliegen muß)j worauf die Anweisung 5412
durchgeführt wird, um ein Wort in der WU-Tabelle zu überlagern
und anschließend dieses Wort als undefinierbar über
die Anweisungen 5422 - 5452 auszugeben, wobei das Wort als
40 9 83 57 0649
Fehler der Datenaufbereitung ausgedruckt wird. Wenn andererseits bei der Anweisung 5402 kein dritter Punkt gefunden
wird, erf.olgt der Übergang zur Anweisung 3401 der Fig. 31, wo dann die weiteren folgenden Wörter in der WU-Tabelle bezüglich
Deskriptoren geprüft werden.
Unter der Annahme, daß bei der Anweisung 5302 kein zweiter
Punkt gefunden wurde, erfolgt ein Ausgang zur Anweisung 4103, um festzustellen, ob das Wort in der Sub-A-Position von
WU tatsächlich "repealed" ist (dies geschieht durch Prüfen der Anweisung 5252 und anschließendes Addieren einer Eins
zum Sub-A-Register, um festzustellen, ob das nächste Wort
in der WU-Tabelle beim Wert Sub-Α ein Leerzeichen ist, gefolgt von einem Doppelpunkt; falls dies zutrifft, wird erkannt, daß
wirklich eine "repeal"-Situation vorhanden ist, in der bestimmte Daten aus der Vater-Stammdatei entnommen werden müssen)
. Anschließend wird in Anweisung 5353 der Buchstabe "r" als Code in die Mutter-Ä'nderungsdatei des logischen Datensatzes
gebracht, so daß während des besonderen Mischens 33 der Steuercode "r" zur Erkennung und zum geeigneten Assemblieren
oder Übersetzen der PortSchreibung zur Verfügung steht.
Wenn bei der Anweisung 5203 kein Leerzeichen, gefolgt von
einem Doppelpunkt, vorhanden ist, erfolgt der Sprung' zur
Anweisung 5402 und, wie bereits beschrieben, ein Durchlaufen der Anweisungen 5402 - 5462 bis zur Anweisung 3401.
Wenn andererseits bei- der Anweisung 5252 der Fig. 34 das
Wort "repealed" nicht erkannt wird, muß anschließend bestimmt werden, welches die folgenden Wörter der Weisung sind, um die
während des besonderen Mischens durchzuführende Aktion, d.h. die Operatoren, zu erkennen. In diesem Beispiel wird mit
Anweisungen 5202, 5302, 5403 bis 5504 der Fig. 36 versucht,
die Wörter "and shall read as follows" zu bestimmen, die nach Angabe 6 der Tabelle 8.3 eine Tätigkeit im Zusammenhang mit
einer Änderung darstellt.
409835/0649
236Q023
In ähnlicher Weise werden die Angaben 3, 4 und-5 der
Tabelle 8,3 erkannt (nicht in den Programmablaufplänen dar- _
gestellt); dies erfolgt mit einem Programm, das mit dem
eben beschriebenen korreliert ist, und das die auf diese
Wörter anzuwendende" Aktion 'durchführt. Die Programme enden in jedem Fall bei Anweisung ^401, nachdem bestimmt wurde,
welche Aktion durchgeführt werden soll, und anschließend, nachdem die Deskriptoren gefunden sind, falls welche vorhanden sind, im Kennzeichenprogramm 10000 der Fig. jl; wenn
kein Kennzeichen mit Bezug auf Operanden (die den Weisungen folgen) gefunden wurde, werden die hierarchischen Kennzei-·
chen vervollständigt, indem in die Anweisung 7130 der Fig.42
eingetreten wird, wie noch genauer erläutert wird im Abschnitt; "Anwendung auf vollständige hierarchische Kennzeichen" . : : ■.; . ;
WORT-ÄNDERUNG .
Es ist nun zweckmäßig, die Art der Bestimmung genau zu
diskutieren, welche Instruktionen durch eine Weisung gegeben
sind, um ein bezeichnetes Wort aus einer Vater-Stämmdatei' zu
entfernen, so daß das bezeichnete Wort nicht in der Sohn-Stammdatei
erscheint; oder um ein Wort aus der Mutter-Knderungsdatei
in die Väter-Stammdatei einzufügen, so daß ein
zusätzliches Wort in der Sohn-Stammdatei erscheint j oder um
zwischen der Vater.-Stammdatei und der Mutter-A'nderungsdatei ..-ein
Wort auszutauschen, so daß das Austauschwort in der Sohn-Stammdatei erscheint.^
Es wird nun Bezug genommen auf die Wort-Änderungs-Tabelle
5.0 und auf den in Fig. 37 beginnenden Programmablaufplan und
eine Einrichtung zum Erkennen dieser entsprechehden Wörter
in der Weisung für die spätere Verwendung zusammen mit dem
besonderen Mischen 33 diskutiert. Im vorliegenden Ausführungs-
0835/0649
beispiel wird die kleinste Änderung oder FortSchreibung der
Vater-Stammdatei an einem einzelnen Wort in der Vater-Stammdatei und mit den Anweisungen 7060 - 7120 der Fig. 4l durchgeführt.
Bezüglich derartiger Wortänderungen gibt es drei verschiedene Möglichkeiten nämlich: Addieren eines Wortes
aus der Mutter-Ä'nderungsdatei in die Vater-Stammdatei, wobei
dieses Wort als "EINWORT" bezeichnet wird; Löschen eines Wortes aus der Vater-Stammdatei, wobei dieses Wort
im allgemeinen als "AUSWORT" bezeichnet wird; und Austauschen eines Wortes"in der Vater-Stammdatei mit einem neuen Wort
derart, daß das neue Wort in der Sohn-Stammdatei erscheint, wobei ein derartiges Wort "TAUSCHWORT" heißt.
Zunächst wird nun das EINWORT mit Anweisungen 7ΟβΟ 7068
der Fig. 37 behandelt, d.h. aus der Ä'nderungsdatei
wird ein Wort in die Vater-Stammdatei gegeben, so daß es
in der Sohn-Stammdatei erscheint. Mit den Anweisungen 7060 7062
wird die Ä'nderungsdatei bezüglich des Ortes der mit dem EINWORT verbundenen Kennzeichen geprüft, d.h. bezüglich Paragraph,
Unter-Paragraph, Absatz, Unter-Absatz und Ziffer, die aus den Deskriptoren gefunden wurden; nach dem Sammeln dieser
Kennzeichen (die seriell und hierarchisch wie in Tabelle 2.0 im Kennzeichen-Register IR angeordnet sind), geht es weiter
zu Anweisung 7063, wo die Kennzeichen durch Übertragen
aus dem Kennzeichen-Register in einen Kennzeichen-Speicher gespeichert werden. Um die Einheitlichkeit jeder Änderung zu
wahren, werden bei der Anweisung 7064, verbunden mit der ·
Ausgabe des geänderten logischen Datensatzes, Leerräume (Löschzeichen) in jenen Teil des Arbeitsbereiches J>1 gegeben, der
gemäß dem Ausführungsprogramm als "Restspalten-Änderungsbereich" RCR bezeichnet wird, und zwar für die vollen 72 Positionen.
(Die Daten bei der Ausgabe der Fortschreibungsanalyse
409835/0649
:: ■-■-.: -"49 -■■■■ - -.-■■■: .■■■..-.,"■
(Mutter-Änderungsdatei 32) werden auf 72 Zeichen der 75 Feldpositionen
begrenzt, damit eine größtmögliche Kompatibilität
mit der Vater-Stammdatei 26 gegeben ist.) Zusammenfassend
wird bei der Anweisung'7065*.".-vgl. Fig. 7 und Tabelle 9.3,
in der zweiten Feldposition des Restspalten-Änderungsbereichs
ein Stern gespeichert, der während des besonderen Mischens 33 "
als Bezeichnungscode dient, wie später beschrieben wird. Neben
dem Stern wird das exakte Wort (EINWORT'') .angeordnet,, d,h>
Tabelle 8, die addiert werden muß, und mit Anweisung 7067 wird "-.
das Markierungsbit 1 unmittelbar neben dem EINWORT angeordnet, wobei dieses Markierungsbit": INFLAG-. in der unmittelbar nächsten
Bitposition nach dem EINWORT zwei Funktionen ausübt. Zum ersten
ist INFLAG eine binäre MarWßrung dafür, daß eine Tätigkeit ausgeführt
werden soll (während des besonderen Mischens 3*5), und
es zeigt zusammen mit dem Stern an, daß sich die durchzuführende Aktion auf das EINWORT bezieht. Zum zweiten dient INFLAG
auch als Feldmarke,r um die Ausdehnung des EINWORTES zu -bezeichnen
und dazu, daß keine weiteren EINWÖRTER im logischen Datensatz betrachtet werden müssen, da dieser logische Datensatz
in der Mutter-Änderungsdatei erscheint, nachdem, er aus dem
Restspalten-Änderungsbereich RCR in einer später zu erläuternden
Art übertragen worden ist. Bei Anweisung 7066 werden Leerräume in jenen Bereich des Unterstreichungs-Bereiches gegeben, der zu dem Restspalten-Änderungsbereich gehört, nämlich
in den Unterstreichungs-Restspalten-Änderungsbereich, der für
jede entsprechende Änderung von RCR Unterstreichungs-Codes enthält, falls das entsprechende zeichen aus RCR unterstrichen
werden soll, um sicherzustellen, daß dann, wenn ein
EINWORT in die-Vater-Stammdatei eingefügt wird, nicht auch
in der Sohn-Stammdatei eine Unterstreichung unter das EINWORT
eingefügt wird, das nicht als Folge einer unwesentlichen Information im Unter-Restspalten-Änderungsbereich vorhanden sein
sollte, wobei ein Teil des Assemblierer-Registers zum Ässemblieren
bzw* Übersetzen von Daten für die Ausgabe verwendet wird,
die Leer- oder Unterstreichungszeichen enthält. Bei Anwei-
AO9835/0649
sung 7067 wird eine Eins nach INFLAG, das im Ausführungsprogramm WORDIN heißt, direkt neben das EINWORT gebracht;
bei 7068 wird eine Eins nach FLAG PRINT (MARKE DRUCKEN) gebracht, das anzeigt, daß der Rest der Information im Restspalten-Änderungsbereich
aus Leerräumen besteht, und weiterhin, daß nur der logische Datensatz in' der Mütter-Änderungsdatei
erscheint, nachdem der Restspalten- und der Unterstreichungs-Restspalten-Änderungsbereich
in diese übertragen worden sind, und die mit dem logischen Datensatz der Vater-Stammdatei
aus identischen hierarchischen Kennzeichen verbunden und gedruckt wird, um während des besonderen Mischens
die Sohn-Stammdatei zu erzeugen: dadurch wird positiv sichergestellt, daß keine unwesentlichen Daten neben den .durch
EINWORT bezeichneten Daten während des besonderen Mischens durch die Mutter-Änderungsdatei 32 in die Sohn-Stammdatei
eingefügt werden. Nach dieser Anweisung wird Anweisung 7130
ausgeführt, um die Daten des Restspalten-Änderungsbereichs zu organisieren und am Ausgang 156 in den physikalischen Datensatz
oder die Mutter-Änderungsdatei 32 zu drucken.
Die Aktion TAUSCHWORT beginnt nach Fig. 38 bei Anweisung 7070 und läuft bis zur Anweisung 7080. Zuerst werden
die Kennzeichen in den Anweisungen 7070 - 7074 geprüft.
Außerdem wird die Identität von EINWORT und AUSWORT ermittelt. In diesem Fall muß die Information auch darüber vorhanden
sein, in welcher Zeile das AUSWORT in der Vater-Stammdatei erscheint; diese Information ist in der Weisung der Änderungsdatei 22 enthalten. Deshalb muß die Weisung gelesen werden,
indem nacheinander logische Datensätze der Weisung in den Arbeitsbereich 32 eingegeben werden, bis jene spezifische
Zeile erhalten wird, in die das EINWORT eingefügt werden soll. Dies ist notwendig, weil dann, wenn ein Wort aus der
409835/0649
Vater-Stammdatei entfernt wird, das identische Wort in mehr
als einer. Zeile in irgendeinem gegebenen Teil der Vater-Stammdatei erscheint (z.B. das Wort "shall" ("soll") in Päragraph
A des Gesetzes über das Unterrichtsministerium nach
Fig. 14). Somit muß'dafür gesorgt werden, daß dann, wenn .
es der Umstand erfordert, nur das gewünschte spezifische
Wort geändert wird; z.B. muß das Wort "shall" in Paragraph
(2) Zeile 1 und nicht das Wort "shall" in Paragraph 4 (2)
Zeil-e 2, des Gesetzes über das Unterrichtsministerium, Kapitel
94, entfernt werden, vgl. Fig. 14. Bei Anweisung 7075
wird die durch die Weisung gegebene zeilenfölgennummer in
den Zeilenfolgenteil des Restspalten-A'nderungsbereiches gespeichert,
d.h. dort hin, wo die hierarchischen Kennzeichen einschließlich-der Zeilennummern angeordnet sind. Bei Anweisung 7076 werden Leerräume zum Ausgleich des Restspalten-Änderungsbereiches
und bei Anweisung 7077 ein Stern in drei
Feldpositionen des Restspalten-Änderungsbereiches gebracht5
nämlich ein Stern in die Feldposition 2ß auf den das AUSWORT
und das Markierungsbit folgt, und anschließend zwei benachbarte Sterne vor einem EINWORT, das von einer Markierung
gefolgt wird. EINWORT und AUSWORT zusammen ergeben das TAUSGH-WORT.
Nach den beiden benachbarten Sternen wird z.B. das AUSWORT "Slonim'-' eingefügt, das nach Fig. 9 und Tabelle 9.3
in der Feldposition 14 beginnt, während derDoppelstern in
den Feldpositionen 12 und I3 erscheint und der einzelne
Stern in der Feldposition 2; das EINWORT "Jacob" befindet
sieh in den Positionen 3-7 , gefolgt von dem Markierungsbit.
Wie-aus einer genauen Betrachtung hervorgeht, bilden das EINWORT und das AÜSWORT zusammen das TAUSCHWORT. Bei
Anweisung 7078 werden Leerräume in den Unt'erstrelchungs-Restspalten-Snderungsbereich
gegeben und bei Anweisung 708Q
wird dem Markierungsbit in der nächsten Bitpösltiön nach dem
letzten Buchstaben des AUSWORTES, in diesem Beispiel nach "m",
eine Eins hinzugefügt. Diese dient als binäre Marke und An-
40983 5/0649
zeige ähnlich wie bei INFLAG und kann deshalb als OUTFLAO
bezeichnet werden. Mit Anweisung 7079 wird eine Eins nach
FLAG PRINT gebracht, und anschließend wird zur Anweisung 7I3O weitergegangen, da nun die Analyse bezüglich des
TAUSCHWORTES beendet ist.
WORTKNDERUNG
-
AUSWORT
Die Anweisungen 7110 - 7120 der Fig. 40 und 4l behandeln
das AUSWORT. In den Anweisungen 7110 - 7112 wird die Kombination geprüft, die für Instruktionen zum Herausnehmen eines
Wortes benötigt werden (vgl. Aktions-Tabelle 8.J5 und Tabelle 5).
Wenn die Bedingungen der Aktions-Tabelle 5 bezüglich eines AUSWORTES erfüllt sind, werden die verschiedenen Kennzeichen
aus dem Kennzeichen-Register IR durch die Anweisungen 7113, 7114 und 7115 in einen Zwischen-Kennzeichen-Restspalten.-Bereich
(Codespeicher) übernommen. Der Codespeicher ist ein Satz, in dem jeder Teil daraus ein Feld für jeden
Teil jeder Kennzeichen-Ordnung ist. Durch die Anweisung 7II6 wird deshalb das Markierungsbit FLAG PRINT eingestellt und
der Restspalten-Ä'nderungsbereioh gelöscht; mit der Anweisung
7117 der Fig. 4l werden Leerräume in den ersten logischen Datensatz
des Änderungsbereichs gebracht. Durch die Anweisung
7118 wird in die zweite und in die dritte Feldposition je
ein Stern eingegeben (zwei Sterne), die der Codierung entsprechen, daß das nächste folgende Wort ein AUSWORT ist, zusammen
mit dem AUSWORT der Fig. 8,"Slonim", vgl. auch Tabelle
9.3. Bei der Anweisung 7II9 werden die Leerräume wieder in
den Unterstreichungs-Restspalten-Änderungsbereich gebracht, was bereits früher im Zusammenhang mit EINWORT und TAUSCHWORT
durchgeführt wurde, und bei 7120 wird das Markierungsbit 1, d.h. das OUTFLAG, neben das AUSWORT gebracht, um die Feldgröße des AUSWORTES anzuzeigen, so daß dieses während des
besonderen Mischens 33 geeignet verarbeitet werden kann;
anschließend erfolgt der Übergang zur Anweisung 71J5O.
409835/0649
■;■ : _236OQ;23;
Neben EINWORT, AUSWORT und TAUSCHWORT gibt es eine zweite
Kategorie von EINViORT5 nämlich EINWORT-WECHSEL. Dies entsteht, wenn zum Schlußteil eines logischen Datensatzes ein
einzelnes Wort und somit ein neuer Teil addiert werden muß;
Beispiel dafür ist das Einfügen des einzelnen Wortes "or11
(oder) oder "and" (und), wie durch den Weisungsabschnitt 5 (d)
des Gesetzes zur Änderung des Gesetzes über das Unterrichtsministerium, 1966, Tabelle 9.6 dargestellt wird,, und die
Addition eines Unter-Paragraphen, siehe Paragraph 5 (d),
sowie die Addition von 5 (e)v Eine derartige Instruktion
wird in der Tabelle 5; "Durchführungstätigkeit" ausgeführt.,
EINWORT-WECHSEL wird durch Anweisungen 7090 - 7103 der Fig.39
und 40- gebildet, ähnlich wie EINWORT durch Anweisungen 7063
bis 7086, was eine Modifikation der EINWORT-Folge bedeutet..
Tatsächlich wird dadurch das EINWORT, zusammen mit den zugehörigen
hierarchischen Kennzeichen, die sich im Kennzeichen-Register
IR befinden,in den Restspalten-Änderungsbereich gebracht; doch bevor das Ausdrucken aus dem Restspalten-Ände- "
rungsbereich in die Mutter-Änderungsdatei 32 durchgeführt
wird, wird mit der Anweisung 7Q30 die nächste Gruppe aus
eingegebenen logischen Datensätzen in den Arbeitsspeicher
aufgenommen. Dies dient zum Sicherstellen, daß die wahren - Kennzeichen
tatsächlich im Kennzeichen-Register angeordnet werden, wie nachstehend verdeutlicht wird. Dazu wird eine
Lauf-Anweisung für den nächsten eingegebenen logischen Datensatz der Änderungsdatei 22 durch Anweisung 1001 - I8OI ausgeführt; dadurch wird verhindert, daß jene Kenhzeicherinummern
verlorengehen, die aus der Weisung und aus der Vergangenheitsprüfung angesammelt wurden.
DESKRIPTOR-ERKENNUNG -. - -
Die Deskriptor -Erkennung beginnt- bei Anweisung 3401 der
Fig, 31, wo.versucht wird, das Wort in WU mit dem Sub-A-Wert
(in Wirklichkeit wird dazu die FW-Tabelle durchgesehen, da -.
4 09 83S/064f
2360C23
diese die Sub-A-Werte besitzt, während WU nur WOl- oder
PW-Werte besitzt) mit Deskriptor-Ordnungs-Namen zu vergleichen,·
z.B. mit; "Subsec-Co" (heißt; Unter-Paragraph), "See - Co" (heißt; Paragraph) usw.; die Anweisungen 3401
bis 4003 der Fig. 31 und 32. suchen nach den Deskriptor-Ordnungs-Namen
der Tabelle 2.0 und tragen das nächste Wort in das Deskriptor-Register in die richtige Ordnung ein, indem
die Sub-B-Werte in verschiedene Ordnungsnummern eingeordnet
werden, vgl. PR der Fig. 11.
TEIL II - OPERANDENANALYSE
Nach Beendigung der Weisungsanalyse ist es zweckmäßig, als nächstes den Operanden zu analysieren. Zuerst muß der
Operand mit einem modifizierten Kennzeiehnungs-Verfahren gekennzeichnet werden, was mit einem modifizierten Kennzeichnungs-Programm
durchgeführt wird.
Mit Bezug auf die Programmablaufpläne der Fig. 87 - IO3
und Fig. 57, sowie auf Fig. 73 - 86, wobei Fig. 60 repräsentativ für einen Sprachtext ist, ist es zweckmäßig, um ein
Kennzeichen in den Daten 111 zu erkennen oder zu "finden",
,jede gegebene Zeile aus Daten 111, LI89 - L283 nach Fig. 78,
L313 - L394 nach Fig. 80 (logischer Datensatz l40) zu analysieren,
indem jeder der Blöcke 131 - 137 analysiert wird. Dies erfolgt dadurch, daß das Eingaberegister 146 des logischen
Datensatzes in mehrere Blöcke 131 - 138 aufgeteilt und jeder der aufeinanderfolgenden eingegebenen logischen Datensätze
in einem derartigen Registerblock angeordnet wird. Im Verlauf dieser Diskussion wird eine Aufgliederung des eingegebenen
logischen Datensatzes, den Blöcken 131 - I38 in den
Fig. 100, 87 - 103 folgend, vorgenommen, für die Fortschreibungsanalyse
der vorliegenden Erfindung jedoch wurde eine genaue Aufgliederung der logischen Datensätze neu definiert,
vgl. Tabelle 0.0 und Tabelle 1.0 - 1.9, wobei die entsprechen-
409835/0649
236Q023
4@n Wert© der Glieder des Satzes aus Ordnungen der hierarchisoften
Kennzeichen in einem Register für Operanden-Kennzeichen
angeordnet sind, nämlich der Kennzeichen-Operand IÖ, der von
vi©r Ordnungen mit 18 Speicherzellen (S4 - S22) nach Fig.100
auf acht Ordnungen erweitert wurde s mit der neunten Ordnung
für die Zeile und mit insgesamt 36 Speicherseilen« vgl, (Kennzelchen-Register)-IR
nach Fig. Ii* .
jeder der Blöcke I31 - 137 wurde gemäßdem Algorithmus
oder der Rschenvorschrift für die strukturierten Daten oder
Eingabedatei 22 (oder 21) ausgewählt s um daraus am wahr-
§oheinliehstenKennzelGhen von verschiedenen Ordnungen zu
bestimmen. In dieser Hinsicht besteht der Block-1>1 aus
drei, zeichen, die unter dem Algorithmus für-diä. u
ten Daten-lll der Anzahl :dea?\Leex»raüra-zeicheii um
die das1 Paragraphen-Nummern-Kennzelßhen
vom linken Rand ia^ ©ingerilckt ist» -Bi&ck IM mn Fig..:; Sf
b©s't©.htvaus vier-leichens: was im allgSfn^U^n step -Aufnahme
n0rmalerwel.se-
-S"ifnit£kant:e?|-:Steilen bestehen^
:sin4-i 'süsammen; mit iäem Punkt Hc.?t:a
Paragraphen-Kiinnaeichen folgte is
mit vier Zeichen für die Paragraphen-Ordnungs^lCennzeichnung
ausgestattet. In Mhnlicher weise besteht der Block 153 nach
Fig. 90 aus vier Zeichen^ da Unter-Paragraphe^lCennzeioheri
selten "mehr als zwei signifikante {nuüerieeföe) Stellen-fiber- ■
steigeni zusammen mit linken und rechten (mmd^n) Hämmern
werden normalerweise vier Zeichenpositionen gebraucht,
Biook 134 aus Fig^ 92 besteht aua vier Zeichen für die
Ziffern- bzw. Buchstaben-Kennzeichen-Erkennüngi, wobei die
Analyse Minlich wie jene für den Block 133 ists nur daß die
Elemente des Kennzeichens im Block 134 alphabetisch und nicht
numerisch oder alpha-numerisch sind. Für die einzelne Datei
403838/0 64
der Pig. 13 - 16, mit der diese Ausführungebeispiele verwendet
wurden, machten gewisse Widersprüche in der Position der Elemente- oder Zeichenpositionen der Unter-Ziffern- bzw.
Buchstaben-Kennzeichen die Einrichtung von zwei Blöcken zur Erkennung der Unter-Ziffern- bzw. -Buchstaben-Kennzeichen
notwendig, nämlich die Blöcke 136 und 137. Beide Blöcke 136 und 137 der Fig. 96 wurden so gewählt, daß sie fünf zeichen
zur Erkennung der Unter-Ziffern- bzw; -Buchstaben-Kennzeichen umfassen, die unter dem Algorithmus nach Fig. 13 - Ί6
aus römischen Ziffern bestehen. Die Daten 111 in dem Zwei-Zeichen-Füllblock 135, der zwischen dem Ziffern- bzw. -Buchstaben-Kennzeichen-Block
134 und dem Unter-Ziffern-Kennzeichen-Block
136 angeordnet ist, sind gemäß dem Algorithmus für die strukturierten Dateien nicht zur Kennzeichen-Bestimmung
oder -Erkennung verwendbar. Wenn die Dateien bezüglich der Lage des Unter-Ziffern-Kennzeichens übereinstimmen
würden, könnte der Block I36 für die Unter-Ziffern-Kennzeichen-Erkennung
weggelassen werden, so daß die Blöcke 135 und 136 in einen Füllblock gemischt werden könnten. Block
in Fig. 88 enthält den Ausgleich des Sprachfeldes 12G und besteht aus 45 Zeichen, da das Spraohfeld 120 insgesamt 72 Zeichen
umfaßt (Positionen 1 - 72)j vgl. Fig. 100, wo bestimmte
der Zeiohenpositionen aufgeführt sind: O, 3, 7, 11, 15, 22,
27 und 72.
Manchmal kann eine Datenzelle Kennzeichenelemente in
bestimmten Zeichenpositionen enthalten, d.h. die Zeile L376 der Fig. 80 enthält Kennzeichenelemente in den Positionen 4,
5, 6 und 9. Es ist deshalb zweckmäßig, diese Elemente als repräsentativ für die Kennzeichengruppe zu "speichern", d.h.
Glieder eines gegebenen Satzes aus Ordnungen, d.h. ((2Ib)* (1)}
und die Zelle aus Daten der gespeicherten Kennzeiohengruppe zuzuordnen (dem gegebenen Satz aus Kennzeichen). Dies wird
nun mit Bezug auf die Fig. 87 - 103 beschrieben.
409835/0649
■ - 51 -:
Eine Zeile Ll. aus Zeilen Ll - Ln aus Daten 111 wird
im Eingaberegister;146 des logischen Datensatzes angeordnet. Die Daten 111 im eingegebenen logischen Datensatz l4ö werden
dann "geprüft", um die Kennzeichen in den Daten 111 zu erkennen und zu lokalisiererii, oder um festzusteileni welche Kennzeichen den Daten des eingegebenen logischen Datensatzes l40
zugeordnet werden sollen, wie noch genauer erklärt wird» Die
Kennzeichen (Glieder des Satzes) 122 (ohne den Zeilenzähler 130)
werden in einem Kennzeichen-Speicher 117 gespeicherty oder,
wenn dies gewünscht■-wird,, werden die erweiterten Kennzeichen
122' (mit dem zeilenzähler 130) im Kennzeichen-Speicher117
gespeichert. Die Daten des eingegebenen logischen Datensatzes l40 werden dann zusammen mit den Kennzeichen 122 oder den er*,
weiterten Kennzeichen 122' in einen ausgegebenen logischen Datensatz 250 geformt und auf das Spool-Band 27 oder auf die
Vater-Stammdatei 26 ausgegeben (Ausgabe des Datensatzes 150,
oder 0/R ISO) und mit Bezug auf die ]{nderungsdatei 22 auf die
Mutter-Änderungsdatei 32 und auf Spool 39 j eine Operation
wird jedoch nur nach einem-bestimmten Kennzeichen durchgeführt, nämlich nach . :
wie später erläutert wird.
Der Zyklus wird anschließend mit' jeder folgenden Zeile
wiederholt, so daß die Zeilen L2 - Ln der Daten 111 nacheinander in das Register 146 des eingegebenen logischen Datensatzes (eingegebener logischer Datensatz 140) gebracht und
hinsichtlich Kennzeichen analysiert werden, wobei ein neuer
ausgegebener logischer Datensatz 250 erzeugt wird, der den eingegebenen logischen Datensatz l40, zusammen mit den erweiterten
Kennzeichen 122' auf der Vater-Stammdatei 26 enthält.
Diese Folge wird bei jeder folgenden Datenzeile wiederholt (bei
jeder unmittelbar nächstfolgenden Datenzeile), bis alle Daten
9835/0649
der gesamten Datei 110 gekennzeichnet sind. (Wo diese Ausführungsbeispiele
auf Operanden angewandt werden, muß als Bestandteil der Ausgabe O/R I5O $v[(ΰΛθ)ν(>^θ)2
durchgeführt werden). Bei bestimmten Anwendungen können auch ein Kommentarcode sowie eine Kennzeichen-Unterdrückung im
ausgegebenen logischen Datensatz 25Ο enthalten sein, doch
werden diese gewöhnlich nicht gedruckt oder bei der Ausgabe angezeigt, sondern existieren im ausgegebenen logischen Datensatz
250 nur aus Gründen der Zweckmäßigkeit, wie später erläutert wird, doch wird diese Eigenschaft bei der vorliegenden
Erfindung nicht angewandt.
Unter Bezugnahme auf die Fig. 76 - 86 und insbesondere
auf die Fig. 8O wird dort gezeigt, daß eine gegebene Zeile
aus Daten 111, z.B. die zeile L376, in einem Teil des
Registers 146 des eingegebenen logischen Datensatzes angeordnet ist, nämlich in den ersten 6l der 72 Zeichenpositionen.
Der Kennzeichen-Speicher II7 ist aus einem dreistelligen
Zeilenzähler 130 und aus einzelnen Speichern S3 - S16
und SI8 - S22 nach Fig. 100 zusammengesetzt, wobei jeder
mit den im wesentlichen entsprechenden, eindeutigen Zeichenpositionen 3 - 16 und 18 - 20 des eingegebenen logischen Datensatzes
l4o verbunden ist. Dadurch kann ein Kennzeichen in irgendeiner Zeichenposition S3 - SI6 und S18 - S22 des eingegebenen
logischen Datensatzes 140, z.B. in den Positionen 4 -7> die die Positionen der Paragraphen-Kennzeichen darstellen, in
den entsprechenden Speicherzellen gespeichert werden, z.B. in den Speicherzellen S4 - S7. Weiterhin werden die Unter-Paragraphen-Kennzeichen
dieser Zeile, die in den Zeichenpositionen 8 -11 und insbesondere in der Zeichenposition 10
erscheinen, in Speicherzellen S8, S9 - SIl und Insbesondere
in SlO gespeichert. (Bei einer geschlossenen Durchsicht der
Fig. 80 und 100 kann festgestellt werden, daß während der Analyse der Paragraphen-Kennzeichen die Positionen 4-8
in den Speicherzellen S4 - S8 angeordnet werden, während für
40983 5/0649
. : : -" ■■■■?■ ν 59:ν .■".,-;■ \, .■ .-.. : ,
die Analyse der Unter-Paragraphen die Positionen 8.- 11 im
Speieherelement SB' sowie in S9 - SIl gespeichert werden,
Dies ist notwendig, um ein mögliches Überlappen der Zahl
der signifikanten Zeichen in den Gliedern der Paragraphen-Kennzeichen
in einem Fall und in den Gliedern der Unter-Paragraphen-Kennzeichen
in einem anderen Fall sicherzustellen,
wie noch näher erläutert wird). Als Folge davon wird der ausgegebene logische Datensatz 25O erzeugt, der die
Daten 111 des eingegebenen logischen Datensatzes14o und
die Informationselemente, die Glieder, in den Speicherzellen S4 τ S8 und S8' '- SIl gespeichert hat, nämlich d.ie
Ordnungsglieder 124 bzw, 125 der- Paragraphen-Kennzeiohen
bzw. der Unter-Paragraphen-Kennzeichen.Weiterhin ergibt
sich aus diesen Figuren, daß die in den Positionen 12 erscheinenden
Ziffern-Kennzeichen in den Speicherzellen
S12 - S15 angeordnet sind und die in den Positionen l8 angeordneten
Unter-Ziffern-Kennzelchen in den Speicherzellen S18 - S22,während jene ünter-Ziffern-Kennzeichena die.
sich in den Positionen 23 - 27befinden, ebenfalls in den
Speicherzellen S18 - S22 angeordnet slnd^ da in nianchen Bateien
110 öie ünter-Ziffern-Kennzeichen in die positionell" 18" 22
gelegt werden^^ während sie in anderen Pateien in Sen
Positionen. 23 - 27 angeordnet sind. Um infolgedessen das
Kennzeichnungssystem universell bezüglich jedes Typs von
strukturierten Dateien zu inachen, werden diese durch Analyse
beider Blöeke 136 und 137 der Fig. 96 hinsichtlich der Glieder
der Unter-Ziffern-Kennzeichen analysiert» Wie 1 später ersichtlich
wird, ist dort, wo die Zeilenzählung 130' durch
den Zähler 130 erzeugt wirds diese ein Glied der Ordnung
im Kennzeichen-Speicher 117, nämlicli Ordnungsnummer 9,· die
Zeilenzählung 130'wird in den ausgegebenen logischen Datensatz
250 übertragen. Tatsächlich kann auch das besondere
Codierelement c-com in den ausgegebenen logischen Datensatz
eingefügt werden, z.B. in Position 94. Auch können zusätzliche
409835/0649
Codeelemente verwendet werden, wenn dies zweckmäßig ist.
In der Zeile I/382 der Fig. 80 belegt das Ziffern-Kennzeichen
126 die Positionen 12 - 15; insbesondere wird die Position Ij5 in Speicherzellen S12 - SI5 gespeichert, und
insbesondere in S'lj5, und ein derartiges Ziffern-Kennzeichen
126 wird zusammen mit den zuvor bestimmten Ordnungen der Kennzeichen 124 und 125, die während der Analyse der
Zelle L376 bestimmt wurden, in den ausgegebenen logischen
Datensatz 250 der Zeile I/582 eingefügt. Weiterhin wird nach Pig. 85 und Zeile L3027 das in den Zeichenpositionen
18 - 22 auftretende Glied "ii" des Unter-Ziffern-Kennzeichens
127» und insbesondere daraus die Positionen 20 und 21, in Speicherzellen SI8 - S22 gespeichert, insbesondere in
Speicherzellen S20 und S21. Diese Kennzeichen werden ebenfalls in den ausgegebenen logischen Datensatz 25O der
Zeile L800 von Fig. 82, zusammen mit Gliedern und Ordnungen aus Kennzeichen eingefügt, die zuvor während der Erkennung
des Paragraphen-Kennzeichen-Gliedes "49a" auf der Zeile L775 erkannt wurden, zusammen mit dem Unter-Paragraphen-Kennzei-Chen-Glied
"2" auf der Zeile L788, und mit dem Ziffern-Kennzeichen-Glied
"b" auf der Zeile L797.
Bei anderen Anwendungen (anderen Dateien) belegen nach den Fig. 76 - 86 und nach Tabelle 9 die Paragraphen- und
Unter-Paragraphen-Kennzeichen meist dasselbe Feld im eingegebenen logischen Datensatz 140, nämlich die Positionen 4-7
des Blocks 1J52 nach Fig. 87. Wenn jedoch der Unter-Paragraph der erste Unter-Paragraph innerhalb des Paragraphen ist,
d.h. Unter-Paragraph (1), kann er im unmittelbar nächsten Block, Block 133 der Fig. 90, in den Positionen 8-12 erscheinen.
Auf jeden Fall genügt es zu sagen, daß sich diese Ausführungsbeispiele auf derartig strukturierte Dateien beziehen,
wie noch genauer erläutert wird.
409 8-3 5/0649
- 6i - "■;■■;..
Die z.B. auf die Zeile L372 angewandten Ausführungsbeispiele
werden nun. anhand der Fig. 87 -. 103 näher beschrieben. Es ist zweckmäßig, jede Zeile aus Daten 111 im Hinblick auf Leerraum-Zeichen zu analysieren, da dadurch die
Verarbeitungszeit in der Zentraleinheit verringert werden
kann, insbesondere jeden der Blöcke 131 - 158 des eingegebenen
logischen Datensatzes l4O. Wenn der eingegebene logische
Datensatz I1I-O nur voll von Leerraum-Zeichen ist, enthalten die bereits in den Speicherzellen Sl V S22 vorhandenen
Zahlen die Kennzeichen-Glieder für diese Datenzeile innerhalb des eingegebenen logischen Datensatzes ΐ4θ* da die
Kennzeichen bereits zuvor durch eine'vorausgehende Folge
bestimmt wurden, die identisch zu der nachstehend beschrie-..
benen Folge ist. Wenn der eingegebene logische Datensatz 140
andererseits die allererste zeile aus Daten ill der Datei 110
enthält, sind die Speicherzellen Sl - S22 bereits zuvor mit
Leerräumen gefüllt, worauf durch Addition einer Eins zum
Zähler 130, Zählung 13O' dieser nun die wesentliche sequentielle
Zeilennumerierung enthält," wobei in Bezug auf die Beispiele
die.Zeile L376 gleich "Eins" der Fig. 80 ist.
Zur weiteren Erklärung wird nun auf den Programmablaufplan der Fig. 87 Bezug genommen, bei dem mit einer Wenn-Anweisung
10131' die Positionen 1=3 des Blocks 131 bezüglich
Leerraum-Zeichen geprüft werden,· wenn keine Leerraum-Zeichen
vorhanden sind, bedeutet dies,, daß irgendwelche Daten diese
Positionen belegen (in diesem Abschnitt ist "Prüfe" äquivalent zur "Wenn"-Anweisung in COBOL). Somit besteht die Datenzeile
innerhalb des eingegebenen logischen Datensatzes l40 aus Daten, die in einem Paragraphen enthalten sind, wobei
das Paragraphen-Kennzeichen dafür bereits früher bestimmt wurde; sodann wird eine "Eins" zum Zähler 13Ο addiert, was
nachstehend als Zählung 130' bezeichnet wird„ und der Daten-
409835/0649
satz 150 ausgegeben. Andererseits, wenn die Positionen 1 - 3 ·
Leerräume sind, zeigt der Algorithmus der strukturierten Datei an, daß die Datenzeile in dem eingegebenen logischen
Datensatz l4O entweder die erste zeile eines Paragraphen
ist (wobei der Paragraph um drei Zeichenposifcionen eingerückt wird), oder daß die zeile Bestandteil einer Unter-Kennzeichen-Gruppe
ist (Unter-Paragraph, Ziffern bzw. Buchstabe), Unter-Ziffer usw.)* oder daß die Zeile eine Leerraum-Zeile
ist. Nun wird eine Prüfung IOI321 der Positionen 4-7
des Blocks 132 durchgeführt, um Leerräume zu erkennen; falls
Leerräume vorhanden sind, prüft das Ausführungsbeispiel der Reihe nach hinsichtlich Leerräume: mit Prüfung IOI33' die
Positionen 8-11 des Blocks 133 aus Pig. 9Oj anschließend
mit Prüfung 10134' die Positionen 12 - 15 des Blocks 134
(vgl. Fig. 92); danach mit Prüfung 10135* die Positionen ίβ 17.des
Blocks 135 (vgl. Fig. 88); danach mit Prüfung IO236' die Positionen l8 - 22 des Blocks I36 (vgl." Fig. 96 )j danach
mit IOI37' die Positionen 23 - 27 des Blocks 137. (vgl. Fig.88);
und schließlich mit IOI381 die Positionen 28 - 72 des Blocks
138 (vgl. Fig. 88); wenn der Block I38 aus Leerräumen besteht,
wird die Zeilenzählung 130' ausgeführt und somit der Datensatz
150 ausgegeben. Die Prüfung IOI38' kann tatsächlich
vollständig weggelassen werden, wenn im Block 138 unter dem Algorithmus der Datei keine Kennzeichen erscheinen können.
Als Folge davon wird mit dem Zählen 130* und Ausgeben des
Datensatzes 15Ο immer dann fortgefahren, wenn die ersten
27 Positionen des eingegebenen logischen Datensatzes 140 aus Leerraum-Zeichen bestehen. ·
Es soll nun angenommen werden, daß die zu analysierenden Daten 111 aus der ersten Zeile eines Paragraphen, d.h. aus
der ersten Zeile des Paragraphen 21b (1) des Sesetzea über
die Kyife ssionsschulen, Zeile L376 der Fig. 80. Wiederum
nach Fig. 87 wird bei 10131' der Block 131 hinsichtlich Leer-
409835/0649
räume geprüft und anschließend in 10132' geprüft, ob die '.
Positionen 4 - 7 Leerräume enthalten» Hinsichtlich Block I32
werden keine Leerräume festgestellt, da die alpha-numerischen
Zeichen "21b" zwischen den Positionen 4 - -f. angeordnet sind.
Somit wird die Prüfung 10232' hinsichtlich Position 4 durchgeführt, um festzustellen, ob diese Position einuLeerraum-Zeichen
ist, was nicht der Fall ist; dadurch wird mit 10332'
hinsichtlich Position 4 geprüft, ob diese Position ein Buchstabe ist. In diesem Fall ist in der Position 4 kein Buchstabe,
so daß die Prüfung 10^32'durchgeführt wird, um ·
festzustellen, ob die Position 4 eine ziffer ist. Dies ist
der Fall, so daß die ziffer "2n der Position 4 durch die
Speicher-Anweisung 10432* in der Speicherzeile S4 gespeichert wird. Sodann beginnt die Analyse der Position 5 durch die
Prüfung 10632' (Fig. 89), die bestimmt, ob in" der Position 5
ein Punkt "."ist. Wenn dies der Fall ist, geht aus dem Algo^
rithmus klar hervor, daß das Paragraphen-Kennzeichen aus nur
einer Position besteht (eine signifikante Ziffer oder Stelle) und deshalb eine Ziffer zwischen 1 und 9 ist (sie könnte
theoretisch auch eine "0" sein, doch kommt normalerweise
eine Paragraphen-Nummer 11O" nicht vor). Die Speicherzellen S5 S8
müssen durch die Lösch-Anweisung IO732 von früheren Kennzeichen-Gliedern
gelöscht werden, wodurch diese mit Leerräumen
aufgefüllt werden, um sicherzustellen, daß nur die richtigen Kennzeichen-Elemente In die Speicherzellen gebracht
und während des auegegebenen Datensatzes 150.verwendet werden,
und daß die Kennzeichen der vorhergehenden Prüfung, die
andernfalls im Speicher bleiben würden, nicht irrtümlicherweise erneut verwendet werden. Danach wird eine Bestimmung
des Blockes 133 der Fig. 90 durchgeführt, wie nachstehend beschrieben wird. Wenn die Prüfung IO6321 der Fig. 89 andererseits
angibt, daß kein Punkt "." vorhanden ist und somit
die Zahl des Paragraphen-Kennzeichens wahrscheinlich aus
40983 5/0649
mehr als einer signifikanten Stelle besteht, was hler der
Fall ist, wird eine Prüfung 10732' durchgeführt, um festzustellen,
ob die.Zeichenposition 5 ein Gedankenstrich "-"
ist. Wenn die Position ein Gedankenstrich ist, werden die Speicherzellen S5 - S8 durch die Löschanweisung 10732 erneut
gelöscht. (Dieser Schritt bedeutet, daß das Paragraphen-Kennzeichen
tatsächlich aus nur einer signifikanten Stelle besteht, daß jedoch ein Unter-Paragraphen-Zeichen vorhanden
ist). Diese beiden letzten Schritte, Prüfen 1O7J52' und
Löschen IO732 werden als "Kontrollen" der Daten durchgeführt,
um sicherzustellen, daß die Daten geeignet strukturiert sind, und daß das Paragraphen-Kennzeichen aus nur
einer signifikanten Stelle besteht, da einzusehen ist, daß entweder ein Schreibfehler vorhanden ist, oder daß die Datei
absichtlich strukturiert ist, indem der Punkt oder der Gedankenstrich aus den Daten weggelassen wurde. Andererseits
stellt die Doppelprüfung 10632' und IO732' eine zufriedenstellende
Kennzeichen-Erkennung sicher, obwohl nur ein Satz oder ein Gedankenstrich nach einem Paragraphen-Kennzeichen
verwendet wird. Aus der Datei 110 ist zu ersehen, daß in fast allen Fällen nach einem Paragraphen-Kennzeichen
ein Satz verwendet wird, und daß dann, wenn ein Satz und ein Gedankenstrich nach einem Paragraphen-Kennzeichen gemeinsam
verwendet werden, das Paragraphen-Kennzeichen unmittelbar von einem Unter-Paragraphen-Kennzeichen gefolgt wird; vgl.
409835/0649
hierzu den Definitionsparagraphen I7 des Gesetzes über die
Konfessionsschulen, Zeilen LI5I - L193 derFig, 76 - 78.
Wenn nach Fig. 89 die Prüfung IO732' andererseits ergibt/ daß kein Gedankenstrich vorhanden ist, zeigen die
Prüfungen IO632' und IO732' zusammen an, daß das, was immer
auch in der Zeichenposition 5 ist, ein Element oder ein Glied eines Paragraphen-Kennzeichens ist, so daß dieses
deshalb mit der Speicher-Anweisung 10732* in die Speicherzelle
S5 gespeichert wird. Durch 10732^ wird in diesem zufällig
gewählten Beispiel-die Ziffer"1" in die Speicherzelle S5 gebracht. ■ ".-.■".
Um die Diskussion zu vereinfachen, werden alle weiteren
Prüfungen hinsichtlich eines Punktes oder eines Gedankenstriches im Block 132 als eine einzelne Prüfung betrachtet,
doch ist einzusehen, daß dazu in den meisten Rechnern zwei
verschiedene Wenn-Anweisungen durchgeführt werden müssen,
wie oben gezeigt wurde.
Die gleichen Schritte wie für die Position 5 werden
nacheinander auf die Position β angewandt, nämlich Prüfen 10832' und Löschen IO832 oder Speichern 10832* ; auf die
Position 7, nämlich Prüfen IO932' und Löschen 10932 oder
Speichern IO932* ; sowie auf die Position 8, nämlich Prüfen
IIO32' und Löschen IIO32 oder Speichern IIQ32 * . Aus diesen
40 9835/0 6 49
Anweisungen: Prüfen (Wenn), Löschen (Nullen übertragen) und Speichern (Übertragen) werden die verbleibenden Elemente"
(Glieder) des Paragraphen-Kennzeichens bestimmt und in geeigneten Speicherzellen gespeichert. Hier wird das Datenelement
"a" durch die Anweisungen: Prüfen IO8321 und Speichern
IO832*' sowie Prüfen 10932* und Löschen 10932 in der
Speicherzelle S6 gespeichert. Im Zusammenhang mit der Zeile L376 der Fig. 80 werden folgende Verarbeitungsschritte nicht
benötigt: Prüfen IIO321 nach Fig. 90, Lösehen IIO32, Speichern
IIO32*, Löschen IO832 und Speichern 10932.
Nach dem Löschen IO932 in Fig. 89, wodurch die Speicherzellen
S7 und S8 gelöscht werden, erfolgt das Prüfen von Block 133 nach Fig. 90, insbesondere durch die Prüfanweisung
IOI33', wobei die Positionen 8-11 hinsichtlich Leerräumen geprüft werden. Mit IOI33' werden keine Leerräume
festgestellt, da die Position 7 einen Gedankenstrich "-" enthält,
die Position 8 eine linke runde Klammer "(", die Position 9 eine Ziffer "1" und die Position 10 eine rechte
runde Klammer ")". Die für diese zeile passenden Kennzeichen werden durch die folgenden Sehritte bestimmt: Prüfen IOI331
bis Prüfen 10233' zum Überprüfen der Position 7 hinsichtlich der linken runden Klammer "(". Da das Kriterium der linken
runden Klammer auf die Position Jedoch nicht zutrifft, wird deshalb die Prüf-Anweisung IO3331 zum Feststellen einer linken
runden Klammer auf der Position 9 durchgeführt. Da auf der
409835/0649
Position 9 keine linke runde Klammer vorhanden ist, wird
die Prüf-Anweisung 10433' der Fig. 91 durchgeführt (deren
Zweck später beschrieben wird, die Jedoch für diese Diskussion
weggelassen- werden kann). In Fig. 91 wird mit der
Prüf-Anweisung 10533s die Position 8 auf hinsichtlich einer
linken runden Klammer untersucht·. Entsprechend Zeile L3?6
ist in der Position 8 eine linke runde Klammer vorhanden,
so daß die Speicher-Anweisung 10533 durchgeführt wird, um
das Zeichen auf der Position 9 in der Speicherzelle S8T zu
speichern. Dieser Schritt bringt die, Ziffer" 1" in die
Speicherzelle SO'. Wie ersichtlieh^ ist nun das erste
Element (Glied) oder die signifikante Stelle des Unter-Paragraphen-Kennzeichens bestimmt. Deshalb ist es nun zweckmäßig,
zu bestimmen, ob ein zweites Element des Unter-Paragraphen-Kennzeichens
vorhanden ist. Dazu wird die Prüf-Anweisung IO6331 auf die Position 10 angewandt, um die rechte runde
Klammer ")" zu bestimmen. In diesem:zufäiligen Beispiel wird
Prüfung 10633' auf die Position 10 für die rechte runde Klammer
angewandt und in diesem Falle bestimmt. Infolgedessen werden die Speicherzellen SlO- S22 durch die LÖschrAnweisung
IO633 gelöscht und der Datensatz I50 ausgegeben. Wenn Jedoch
Prüfung 10633' ergeben hätte, daß sich in der Position 10
keine rechte runde Klammer befindet, müßte die Speicher-Anweisung 10633 angewandt werden, um ein zweites Element oder
Glied des Unter-Paragraphen-Kennzeichens in die Speicherzelle
S9 zu speichern; in ähnlicher Weise iifürden danach bezüglich
40 9 83 57 0649
der Position 11 die Anweisungen durchgeführt: Prüfen 10733' und
Löschen 10733 oder Speichern IO733 , um festzustellen, ob
dort eine rechte runde Klammer vorhanden ist, und falls nicht, das entsprechende Element des Kennzeichens in der Speicherzelle
SlO zu speichern. Danach würde die Prüf-Anweisung
10833' auf die Position 12 angewandt, um diese auf eine
rechte runde Klammer zu prüfen; danach wären alle Glieder fies Unter-Paragraphen-Kennzeichens bestimmt und würden in
den Speicherzellen S8' - SU angeordnet, während die Glieder des Paragraphen-Kennzeichens, die bereits früher bestimmt
wurden, in den Speicherzellen S4 - S8 untergebracht wären. Als Folge davon werden die Speicherzellen S12 - S22
durch die Lösch-Anweisung IO833 gelöscht, der Zähler I30
auf Null zurückgesetzt und eine Eins zu diesem addiert (Zähl-Anweisung I30') und der Datensatz I50 ausgegeben.
Wenn andernfalls die rechte runde Klammer nicht festgestellt wird, wird das Element der Position 12 durch eine Speicher-Anweisung
10833* in einer Speicherzelle SH gespeichert, durch eine Löschanweisung IO933 gelöscht, die Zahl-Anweisung
130' durchgeführt und der Datensatz 150 ausgegeben.
Aus dem Algorithmus der strukturierten Datei 110 geht hervor, daß, falls Glieder eines Unter-Paragraphen-Kennzeichens
vorhanden sind, diese fast immer in der Position
409835/0649
erscheinen, und eine rechte runde Klammer in Position 12,
da die Glieder der Unter-Paragraphen-Kennzeichen nach rechts ausgerichtet sind, um die Abstands-Einheitlichkeit
des linken Randes des Unter-Paragraphen beizubehalten, vgl. Fig. 80 und Zeile" L313, Aus den Prüf-Anweisungen 1.0133'
bis 10933' geht hervor, daß für jedes Zeichen im Block I33
eine Analyse hinsichtlich linker und rechter runder Klammern gemacht wird, um die Größe des Unter-Paragraphen-Kennzeichenfeldes
zu bestimmen, das entweder aus einer, zwei, drei
oder vier signifikanten Stellen besteht, und um somit aus
den Daten die wichtigen Glieder des Kennzeichens zu erkennen
und diese in den zugehörigen Speicherzellen zu speichern.
So betrachtet können die Unter-Paragraphen-Kennzeichen manch- · mal aus vier signifikanten Stellen bestehen, und die Position
8 könnte im Falle einer Rechtsbündigkeit ein Glied des UnterParagraphen-Kennzeichens
enthalten. In diesem Fall gehört das Element.der Position 9 zum Unter-Paragraphen-Kennzeichen
und wird deshalb mit diesem gespeichert, d.h. in derSpeicherzelle S8' anstatt in S8, die für Glieder der Paragraphen-Kenn- '
zeichen reserviert ist. In anderen Fällen kann die Position 8 die letzte signifikante Stelle eines Paragraphen-Kennzeichens
sein und wird dann als Glied des Paragraphen-Kennzeichens in der
Speicherzelle S8 gespeichert. Ein Beispiel dafür zeigt
Fig. 82 für den Paragraphen 113b und den Unter-Paragraphen
(23a) dieses Unter-Paragraphen. In diesem Beispiel erscheinen
sowohl "b" als auch "2" in der Position 8,
".; ■ 40983 5/0640
doch werden die Glieder trotzdem in geeigneter Weise bestimmt,'
da im einen Fall das Zeichen der Position 8, "bM, sich in der
Speicherzelle S8 b-efindet, während im anderen Fall das Zeichen^
element der Position 8, "2", in der Speicherzelle S8' gespeichert
wird. Aus den Speicherzellen werden die zugehörigen Kennzeichenglieder als Satz im ausgegebenen logischen Datensatz
250 in den zugehörigen Kennzeichen-Ordnungen 124 und 125
untergebracht.
Um nach Fig. 90 und 95 schnell den Bereich der Kennzeichen-Ordnungen,
die Größe der benachbarten Ordnungen zu bestimmen, d.h. zu bestimmen, ob. das Feld einer Ordnung aus einer, zv/ei
oder aus drei signifikanten Stellen besteht, wird eine Folge 160 zwischen einer Speieher-Anweisung 10233 und einer Lösch-Anweisung
10233 angeordnet, sowie eine Folge I70 zwischen
einer Speicher-Anweisung 10333* und einer Lösch-Anweisung 10333
(die Folge I70 ist nicht dargestellt, doch ist sie in jeder
Hinsicht mit der Folge 16O identisch, mit Ausnahme der bearbeiteten
Zeichenposxtionen während jedes Prüfvorgangs). Durch die Folge I60 der Fig. 95 wird die Prüf-Anweisung 11033' auf
die Position 9 angewandt, um die rechts geschlossene Klammer und somit den Bereich des Unter-Paragraphen-Kennzeichenfeldes
125 zu bestimmen. Wenn eine Klammer gefunden wird, wird die
Lösch-Anweisung 10233 durchgeführt und die Prüf-Anweisung
11033* hat keinen effektiven Nutzen, so daß in dieser Hinsicht so ist, als ob die Folge 16O nicht existieren würde. Wenn
andererseits die Position 9 nicht eine rechte runde Klammer ist, wird das Element oder Glied der Position 9 in die Speicherzelle
S9 gebracht. Danach wird eine Prüf-Anweisung 11133' durchgeführt, um die rechts geschlossene Klammer zu bestimmen,
und falls diese gefunden wird, wird eine Lösch-Anweisung
11133 durchgeführt, um die Speicherzellen SlO - S22 der Glieder zu löschen. Wenn auf der Position 9 keine Klammer festgestellt
wird, wird eine Speicher-Anweisung 11133* durchge-
409835/064 9
führt. Danach wird eine Lösch-Änweisung 11233 ausgeführt und
der Datensatz 1^0 ausgegeben. Obwohl nicht dargestellt, könnten
in der Folge IbO unter Verwendung derselben Prüftechnik weitere Prüfungen für rechte runde-Klammern auf der Position 11
durchgeführt werden, nämlich eine Losch- oder Speicherfolge
als Prüf-Anweisung: -1-1133' (aber auf Position 11 für" eine
rechte runde-Klammer)-, wobei die Los cn-Anweisung 11333 zum
Löschen der Speicherzellen SJl - ST'2 dient, oder zum: Speichern
des Elementes: der Position 11 in SIl. Eine derartige Folge :
würde zwischen die Speicher-Anweisung 11133 und die Lösch- .
Anweisung. 11?33. der Fig. 95 eingeschoben. Aus den Prüf-Anweisungen
■ iö?53' "'und. 10333' der Fig. 90 sowie TO533' der Fig.
ist ersichtlich, daß die Prüfungen hinsichtlich einer linken
runden Klammer auf Positionen 7, 9 bzw. 8 durchgeführt werden,
und daß dann, wenn eine dieser Folgen rechte runde Klammern in den Positionen 7, 9 bzw. 8 vorfindet, im nächsten Schritt
das nächstfolgende Element gespeichert wird, nämlich das EIe- :
ment der Positionen 8, 10 bzw. 9 in die Speicherzelle S3'.
Auf diese Weise wird siehergestellt, daß das Unter-Paragraphen-Kennzeichen
in seinem Kennzeichenfeld 125 der Fig. 100 links- bündig ist. Genauso zweckmäßig wäre es, das Unter-Paragraphen-Kennzeichen
rechtsbündig zu schreiben^ doch in diesem Ausführungsbeispiel wurde Linksbundigkeit gewählt, Solahge die Paragraphen-Kennzeichen im ausgegebenen logischen Datensatz in den
zugehörigen und eindeutigen Positionen des: Kennzeichenfeldes
erscheinen, ist es bedeutungslos, Vielehe Art von Bündigkeit gewählt wirdv Auf diese Weise wird ein leichter- Zügriff zu den
Unter-Paragraphen-Kennzeichen 125 in einem Satz des Kennzeichenfeldes 122 erreicht. (Später wird gezeigt, daß Ziffern-
und -Unter-ZIffern-Kennzeichen rechtsbündig angeordnet sind.)
Nach der Analyse von Block 1331 bezüglich Unter-Paragraphen-Kermzeichen-Gliedern
können .nachfolgende eingegelDene logische
Datensätze l4o wie oben erklärt bezüglich Paragraphen- und
Unter-Paragraphen-Kennzeichen analysiert werden.
ORIGINAL-4Ö983 5/0649
Nun ist es zv/eckmäßig, die Erkennung von Ziffern bzw. Buchstaben-Ordnungs-Kennzeichen
in einem eingegebenen logischen Datensatz l4O zu erläutern. Unter der Annahme, daß eine neue Zeile aus
Daten im eingegebenen logischen Datensatz l40, z.B. Zeile L382
der Pig. 80, vorhanden ist, und daß die Prüf-Anweisungen IOI31', 10132' und IOI33' durchgeführt und Leerräume erkannt
wurden, wird eine Prüf-Ariwcisung 10134' nach Fig. 92 auf die
Positionen IP bis 15 zur Ermittlung von Leerräumen angewandt;
wenn Leerräume vorhanden sind, wird auf den Prüfblock 135 der
Fig. 95 weitergegangen, wie bereits früher diskutiert wurde.
Wenn andererseits durch die Prüf-Anweisung 10134' der Block
134 auf den Positionen IP - 15 keine Leerräume aufweist, wird
die Prüf-Anweisung 10234' auf die Position 12 zur Ermittlung
der linken runden Klammern angewandt] wenn dies bestimmt ist, wird das Zeichenelement der Position I3 durch eine Speicher-Anweisung
IO234* in der Speicherzelle SI3 gespeichert, wobei
dieses Element das erste Element des Ziffern- bzw. Buchstaben-Kennzeichens ist, das wie in der Zeile L3Ö2 von Fig. 8O der
Buchstabe '"a" ist.
Die nächste Prüffolge im Block 134 besteht aus Prüf-Anweisungen
IO334' und 10434', mit denen versucht wird, die Größe des
Kennzeichenfeldes für die Ziffern- bzw. Buchstaben-Numerierung
zu ermitteln, nämlich ob das Ziffern-Ordnungs-Kennzeichen aus einer, zwei oder aus drei signifikanten Stellen besteht.
Wenn einmal die rechte runde Klammer gekennzeichnet ist, werden die Ziffern-Kennzeichen, die zwischen der linken und der
rechten runden Klammer angeordnet sind, über die Speicher-Anweisungen IO234*, IO334*, 10434* (SI3, Sl4, SI5) zur zugehörigen
Speicherzelle gebracht, und alle Speicherzellen mit höheren Nummern, je nachdem, von Sl4 oder SI5 und SI8 - S22 werden
durch Lösch-Anweisungen 10234, 10334, 10434 oder 10534 gelöscht, und zwar in einer Weise, die bereits im Zusammenhang mit den
entsprechenden im Block 133 diskutierten Anweisungen erläutert wurde, d.h. mit den Prüf-, Lösch- und Speicher-Polgen daraus.
SAD
409835/0649
■;■.. - 73 - ■-. -'.;■ ■
2360Q23
Es ist nun zweckmäßig, die Unter-Ziffern-Ordnungs-Kennzeichen
127 der Fig. 100 zu analysieren und die Glieder daraus zu erkennen, falls welche vorhanden sind. Obwohl in den Fig. 76 8l
nicht dargestellt, werden die' Unter-Ziffern-Kenn'zeichen 127
(vgl. jedoch Fig. 85) im Block 136 oder im Block 137 gefunden,
jedoch nicht in beiden} diese Logik wird in den Äblaufplänen
der Fig, 90 - 105 dargestellt. Der Grund dafür, daß die Unter-:
Ziffern-Kennzeichen in den Blöcken 136 und' 137 gefunden werden,
ist teilweise auf einige Formatänderungen vonbestimmten \
strukturierten DateienozurUckzüführen, die identisch zu der
in den Fig> 76 - 8l·dargestellten strukturierten Datei sind,
z.B. die Paragraphen-, Unter-Paragraphen-, und Ziffern-Kennzeichen, die jedoch mit Bezug auf die Lage des Unter-Ziffern-Kennzeichens
bestimmte Änderungen erfahren haben, d.h. ob
sie entweder in Block 136 oder in Block 137 sind. Die folgenden
-Ausführungen dienen zur Darstellung der Vielseitigkeit dieser
Ausführungsbeispiele.
Aus den Fig. 85 und 86 geht hervor,· daß die Glieder der Unter-Ziffern-Ordnungs-Kennzeichen
das alphabetische Symbol (i) zusammensetzen; (ii), (iii)y (Iv); was als römische Ziffern-Numerierung
bezeichnet werden kann. In Fig.. 87 wer.den nach der Prüf-Anweisung IOI311 durch die Anweisungen 10132', 10133'
und IOI34' Leerräume erkannt, und der Prüfblock 135 der Fig.
beginnt mit einer Prüf-Anweisung 12034' zur Neuprüfung der
Positionen 12 - 15 bezüglich Leerräumen. Wenn die Positionen
•12 - 15 keine Leerräume sind, wird eine Eins zum Zähler 130
addiert und der Datensatz 150 ausgegeben. Wenn andererseits
die Prüf-Anweisung 12034'"Leerräume erkennt, wird die Prüf-Anweisung
12035' auf die Positionen.1-6 und 17 angewandt·, auf
den Füllblock 135, auf dem keine Kennzeichen-Elemente angeordnet
sein können, und falls Datenelemente in den Positionen l6 oder 17 vorhanden sind, wird die Zahl-Anweisung I30' ausge-*
führt und der Datensatz 150 ausgegeben, da der eingegebene
logische Datensatz l40 in diesem Fall eine Zeile' aus Daten dar-stellt,
die Bestandteil eines zuvor erkannten Kennzeichensatzes
4098 35/06 49
ist. Wenn in Block 135 andererseits Leerräume gefunden werden, '
wird die Prüf-Anweisung 12036' auf die Position 18 für linke
runde Klammern angewandt; und, falls dieses Zeichen nicht gefunden wird, wird eine. Prüf-Anweisung 12136' auf die Position
19 für eine linke runde Klammer angewandt; und falls keine Klammer vorhanden ist, wird eine Prüf-Anweisung lf-236' mit dem
gleichen Ziel auf die Position 20 angewandt. Wenn die Prüf-Anweisung 12236' oder irgendeine der Prüf-Anweisungen 12036',
I2136' oder 12236' eine linke runde Klammer bestimmt, wird die unmittelbar nächste Position rechts davon im eingegebenen
logischen Datensatz l40 auf 11I" geprüft, d.h. die Prüf-Anweisung
12336' prüft die Position 19, eine Prüf-Anweisung 12436'
prüft die Position 20 und eine Prüf-Anweisung 12536' prüft
die Position 21 jeweils auf "i". Unter dem Algorithmus der Datei 110 der Fig. 76 - 86 ist das Unter-Paragraphen-Ordnungs-Kennzeichen
eine römische Ziffer, weshalb die Sicherstellung gewünscht wird, daß jene Glieder dieser Ordnung des Kennzeichens,
und nur diese Glieder,- von den Speicherzellen SI9 S22
über die entsprechenden Speicherfolgen 12336*, 12436* und
12536* der Fig. 93 aufgenommen werden. Nach der Speicher-Anweisung
12436 wird die Position 21 durch die Prüf-Anweisung
II336' auf rechte runde Klammern geprüft, während .aus einer
Speicher-Anweisung 12536* die Position 22 durch die PrUf-Anweisung
11436' der Pig. 94 auf rechte runde Klammern geprüft
wird. Andererseits wird nach der Speieher-Anweisung 12336
mit einer Prüf-Anweisung I26361 die Position 20 auf eine
rechte runde Klammer überprüft. Man kann nun erkennen, daß die Prüf-Folgen 12436', 11536* und 11436' Versuche darstellen,
noch einmal die Größe des Feldes dieser Ordnung der Kennzeichen
zu bestimmen, und in diesem Fall die Größe der Unter-Ziffern-Ordnungs-Kennzeichen
127 von Fig. 100.
Aus der Durchsicht der Fig. 93 und 94 geht hervor, daß die
Lösch-Folgen 12636, II336 und 11436 alle oder einen Teil der
verbleibenden Speicherzellen löschen, um die neuen Unter-Ziffern-Ordnungs-Kennzeichen
aufzunehmen.
"■■'". »AD ORIGINAL
409835/0649
23S0023
Nun werden die Fig. 94, 96 und97 erörtert, unter der Annahme,
daß die Unter-Zifiern-Ordnungs-Kennzeichen in den Positionen
23 - 26, anstatt in den Positionen 18— 22, angeordnet sind.
Die Unter-ZifXern-Ordnungs-Kennzeiciien 127 werden zuerst durch
eine Analyse des Prüfblocks I36 der Fig. 96 wie beschrieben
bestimmt, nachdem die Prüf-Anweisung IIO37' der Fig. 88 keine
Leerräume für die Unter-Ziffern-Ordnungs-Kennzeichen-Glieder
127 ergibt, was als in Block 137 anstatt in Block I36 befindlich
angenommen wird» Eine Prüf-Anweisung IO236' der Fig» 96
wird auf den Positionen l8 - 22 (Block 136) für Leerräume durchgeführt; falls keine Leerräume vorhanden sind, folgt die Zahl-Anweisung
13O' und die Ausgabe des Datensatzes I50. Wenn
andererseits Leerräume: festgestellt werden, wird eine Prüf-Anweisung
10237' auf die Position 24 für "!"angewandt und anschließend 10337' für eine linke runde Klammer auf der
Position 23; falls die Position 23 eine linke runde Klammer
ist, wird eine Speicher-Anweisung 10337* durchgeführt, um das
Element (Glied) der Position 24, d.h. "i" in der Speicherzelle
Si8 zu speichern. Es ist wichtig, das Element der Position 24
in der Speicherzelle S18 anzuordnen, um die Einheitlichkeit
der Unter-Zifftern-Ordnungs-Kennzeichen 127 im ausgegebenen
logischen Datensatz I50 beizubehalten, wie bereits im; Zusammenhang
mit Paragraphen-Gliedern diskutiert wurde, sowie aus Gründen, die in Kürze ebenfalls klarer werden.
Nach den Prüf-Anweisungen 10337' und 10437' der Fig. 96 werden
Prüf-Anweisungen IÖ537' und IO637' der Fig. 97 durchgeführt,
um die Größe der Unter-Ziffern-Ordriungs-Kennzeichen 127 zu bestimmeni
die aus einer, zwei oder drei signifikanten· Stellen
bestehen. In Übereinstimmung dazu werden Speicher-Anweisungen
10437** 10537* und 10637* ausgeführt, um die zugehörigen Elemente für eine anschließende Beseitigung dieser Glieder während
der Ausgabe dies Datensatzes" I50 in das Unter-Ziffern-Ordnungs-Kennzeichenfeld;
127 des ausgegebenen logischen Datensatzes in
den-Speicherzellen SI9 - S22 zu speichern.
40983 5/0 649
- γβ -
Es· genügt zu sägen, daß eine Folge ähnlich jener von" Fig.
(die die Prüf-Anweisungen 12036', IPIjCr, 12236', 12336', 12436'
und 12536' enthält, soxtfie die Speicher-Anweisungen 12336' ,
12436* und 1253u*, ferner die Lösch-Anweisung IP236) in die
Folge loO eingefügt v/erden könnte, zusammen mit Prüfanweisungen
1O?37' und 10337', um eine sequentielle Suche von links nach
■rechts für linke runde Klammern auf den Positionen 23, 24, 25,
2ü und Γ7 zu erlauben, obwohl dies für die Position 27 in Wirklichkeit
nicht erforderlich ist. V/enri eine Folge analog zur Folge IuO von Fig. 93 verwendet wird, erhält man eine vollständige
Flexibilität für die Suche nach Unter-Ziffern-Ordnungs-Kennzeichen.-Gliedern,
die eine veränderliche Größe der signifikanten Stollen haben..Weiterhin geht aus einer genauen Betrachtung
der Folge IuO und des Prüfblocks I36 der Fig. 96 hervor,
daß eine besondere Prüfung für die römische Ziffer "i" gemacht wird, so daß die offenbarten Ausführungsbeispiele sich nur
zum Kennzeichnen der Unter-Ziffern "i", "ii", "iii", "iv"
eignen, jedoch nicht für "v", "vi", "vii", "viii", und auch
nicht für "x", "xi". usw. Als Folge davon könnte die PrUf-Anweisung
für "i", die aus den Prüf-Anweisungen 12336', 12436',
12536' und IO237' besteht, erweitert werden, wenn Unter-Ziffern-Kennzeichen
vier Unter-Ziffern übersteigen, um eine Folge zum Prüfen von "v" und von "x" usw. zu ergeben. Eine derartige geforderte
Folge ist in Fig. 98 dargestellt, mit der römische Ziffern "i" - "x" gehandhabt werden können.
Aus den Fig. 76 - 8l geht hervor, daß die Paragraphen-Ordnungs-Kennzeichen-Glieder
der Datei 110 numerisch sind; daß die Unter-Paragraphen-Ordnungs-Kennzeichen-Glieder
numerisch sind, jedoch innerhalb von Klammern; daß die Ziffern-Ordnungs-Kennzeichen-Glieder
alphabetisch sind; und daß die Unter-Ziffern-Ordnungs-Kennzeichen-Glieder
römische Ziffern sind, die bestimmte Elemente (einen Untersatz) des Alphabets benötigen.
Andererseits zeigen Fig. 82 und 83, die ebenfalls einen Auszug aus dem Gesetz über die Konfessionsschulen der Fig. 76 - 86
darstellen, daß die Paragraphen-Ordnungs-Kennzeichen-Glieder
409835/0649 «AD OKiäiNAk
Buchstaben enthalten können, z.B. "49a". Daraus ist 'ersichtlich,
daß die Glieder des Paragraphen-Ordnungs-Kennzeichens nicht
auf Ziffern beschränkt sind, sondern Buchstaben enthalten können. Diese Ausführungsbeispiele bestimmen eine derartige
Mischung aus numerischen· und alphabetischen Gliedern der Paragraphen-Ordnungs-Kerinzeichen
angesichts der Tatsache, daß die numerische Prüfung nur auf der ersten Ziffer des Paragraphen-Kennzeichens
durchgeführt wird, vgl. Fig. 87, Prüf-Anweisung
10^32l; fernerwird festgestellt, daß Fig. 8l die Anordnung
der Glieder des Unter-Ziffern-Ordnungß-?ienn2;eichens"i" in
der Zeile L8ÖO angibt, sowie die vorher bestimmten Glieder aus
jeder der Ordnungen Paragraph, Unter-Paragraph und Ziffer,
nämlich "49a"j "2" und 1V, wie bereits erläutert wurde.
OPERATIONAUFVOLLSTANDIGEHIERARGHISCHEKEIn[NZEICHEN
Die Diskussion der Ausführungsbeispiele der Erfindung wird nun
fortgesetzt. Zusammengefaßt sind aus Teil I vorhanden: Die auf
den Operanden auszuübenden Aktionen, wie genauer in der Aktions-Tabelle
ausgeführt 1st, die Häuptteile der aus den
Deskriptoren analysierten und im Deskriptor-Register DR angeordneten
Kennzeichen, einschließlich der Kapitelnummern, die alle- durch Operationen auf die vier Sätze der Feldsuch-Steuerungs-Tabelle
8.0 erhalten werden. Durch das eben beschriebene Kennzeichen-Programm sind bestimmte Register Sl - Sj5o
vorhanden, in denen hierarchische Kennzeichen angeordnet sind,
die nur durch den Operanden bestimmt sind, und deshalb fehlen
die höheren Ordnungen dieser Kennzeichen, oder sie sind unvollständig, weil der Operand der Ä'nderungsdatei 22" selbst
nicht die höheren Ordnungen des Kennzeichens enthält, da diese
nur in einer Weisung 203 enthalten sind und während der
Weisungsanalyse 30 de^ Fig. 15» 16 und 1 erhalten werden.
40 9 83 5/0649
Aus der Betrachtung dieser Fig. 15 - 17 ist ersichtlich, daß aus der Weisung 203 und insbesondere aus den Deskriptoren 224,
225, 226, 227 usxi. unter Verwendung der Tabelle 2 im Deskriptor-Register
die höhere Ordnung der Glieder der hierarchischen Kennzeichen bezüglich einer besonderen.Weisung erhalten wird,
die Glieder von niedrigerer' Ordnung der hierarchischen Kennzeichen
in den Registern Sl - Sj56, ferner das Op er and en-Kennzeichen
OI aus der Operandenanalyse nach Tabelle 1.0, und zwar durch die Anwendung der in "Kennzeichen allgemein" offenbarten
AusfUhrungsbeispiele. Nun müssen die Glieder höherer und niedrigerer Ordnung der Kennzeichen miteinander verbunden werden,
die aus dem Deskriptor-Register und dem Operanden-Kennzeichen-Register
erhalten wurden, um eine vollständige Kennzeichnung (durch einen Satz aus Gliedern der Kennzeichen)
jedes logischen Datensatzes des Operanden zu erhalten, und-um
den vervollständigten hierarchischen Satz aus Kennzeichen-Gliedern im Kennzeichen-Speicher anzuordnen-oder auszugeben.
Nach Fig. 11 sind mehrere Zähler vorhanden; der erste Zähler heißt Positions-Register PR, durch den auf aufeinanderfolgende
Ordnungen der Kennzeichen übergeleitet wird, abhängig vom Wert von PR, der aus den Deskriptoren erhalten.wird und somit
im Deskriptor-Register DR angeordnet ist. Wenn somit der PR-Wert 2 ist, ist die zu betrachtende Ordnung des Kennzeichens
im PR-Register die zweite Ordnung, ein Paragraph, wie in der Tabelle 0.0 ausgeführt ist; wenn PR dagegen einen Wert 4 hat,
wird die vierte Ordnung betrachtet, nämlich eine Unter-Ziffer.
Weiterhin ist ein zv/eiter Zähler vorhanden, der "L"-Zähler
heißt, und der ein Zeiger für jedes Glied irgendeiner hierarchischen Ordnung in DR ist, urn aus der Lage des Feldes
in dieser diskutierten Ordnung die spezifische Ziffer zu bestimmen, vgl. Fig. 11. Dadurch kann abhängig von den Werten
der beiden Zähler PR und L das genaue Glied irgendeiner Ordnung des Kennzeichens in das Deskriptor-Register DR geschaltet
werden. Ferner ist ein zweites Register vorhanden, welches
409835/0649
Operanden-Kennzeiehen-Register OIR heißt und 36 Feldpositionen
besitzt (Speicherzellen Sl - S36), wobei auf jede Feldposition
oder Speicherzelle durch den Wert eines Zählers N geschaltet
wird. Schließlich, ist ein spezielles Kennzeichen-Register IR
vorhanden, In das die zugehörigen Kennzeichen aus GIR und DR
gebracht werden; somit wird" IR■mit den genauen Gliedern jeder
Ordnung eines hierarchischen Kennzeichens für irgendeinen gegebenen logischen Datensatz' des Operanden zum Ausgeben in den
Restspalten-Snderangsbereich versehen. Auf diese Weise wird
der logische Datensatz des Operanden gekennzeichnet; der gekennzeichnete Operand wird dann als ein ausgegebener logischer
Datensatz der Fig. 11 aus dem Restspalten-Änderungsbereich auf das Mutter-Snderungsdatei-Band 3? ausgedruckt. Der ausgegebene logische Datensatz 250 nach FIg. 7 und FIg* 5 wirkt
während des besonderen MIschens 33 als einer der eingegebenen
logischen Datensätze. '
Das IR-Register hat 36 Positionen, oder anders ausgedrückt,
36 Glieder aus verschiedenen Ordnungen. Es wird durch zwei
Zähler geschaltet, nämlich durch einen festen Zähler MFIX
mit denselben Werten wie der PR-Zähler und durch einen
variablen Zähler M innerhalb des festen Zählers MFIX, um die
speziellen Glieder in irgendeiner Ordnung der Kennzeichen innerhalb des IR-Reglsters zu bezeichnen. Der Wertebereich von
MFIX folgt für jede Ordnung der Kennzeichen dem Wertebereich
von PR. . ""'*"" '"".·.
Die folgende Gleichung beschreibt die Operation für die Kennzeichenbiidung
in IR, wobei "D" das aus dem Deskriptor erhaltene und somit im Deskriptor-Register DR angeordnete Kennzeichen Ist, während "On die aus dem Operanden allein erhaltenen
und deshalb In OIR angeordneten Kennzeichen bezeichnet.
40 983 5/06 49
Somit gilt
IR = Dv [(DAO)V(DAO)] .
Nach Fig. 11 und 12 und nach den Anweisungen 7130 bis 7l4l des
Programmablaufplans der Fig. 42 wird der ganze notwendige Vergleich
zwischen den beiden Sätzen aus hierarchischen Ordnungen durchgeführt, die im Deskriptor-Register DR und im Operanden-Kennzeichen-Register
0IR angeordnet sind. Diese Satz-Operation ist notwendig, um sicherzustellen, daß jede Änderung der
Vater-Stammdatei bei der Bildung der Sohn-Stammdatei, z.B.
beim besonderen Mischen 33, hinsichtlich des "wahren" Teils der Vater-Stammdatei bearbeitet wird, der tatsächlich zum Bearbeiten
benötigt wird, und nicht hinsichtlich irgendeines anderen Teiles. Aus der Erfahrung läßt sich sagen, daß dann,
wenn die Glieder der verschiedenen Ordnungen der Kennzeichen hur aus einem der beiden Sätze genommen werden, d.h. aus DR
oder 0IR, durch eine Bearbeitung der falschen Daten beim Mischen 33 ein wesentlicher Fehler auftreten kann, so daß
eine fehlerhafte Sohn-Stammdatei gebildet wird. Wenn z.B. die Weisung einen Buohstabierfehler hinsichtlich der Schreibweise
eines Deskriptors, z.B. "Paragraph" oder "Unter-Paragraph", enthält, wird der .zugehörige Wert dieses hierarchischen Kennzeichens
für diesen Deskriptor, d.h. das Glied eines Satzes der Kennzeichen, nicht im Deskriptor-Register DR aufbewahrt.
Deshalb ist es nötig, jedes Glied innerhalb jeder Ordnung der Kennzeichen entsprechend zwischen den Registern DR und 0IR zu
vergleichen, um die Richtigkeit des Wertes jedes gefundenen .Gliedes sicherzustellen, und um eine korrekte Mitgliedschaft in
IR zu erhalten, so daß genügend Information zur Verfügung steht, wo das richtige und das wahre Glied jeder Ordnung der hierarchischen
Kennzeichen für einen gegebenen logischen Datensatz zu finden ist. Nachfolgend wird die Operation beschrieben, durch
die IR mit irgendeinem fehlenden Glied vervollständigt wird, wenn IR mit DR oder OIR verglichen wird.
409835/0649
--81 -, . ; ■-■" ■.;■ ■;
Bei der Anweisung 7130 der Pig. 42 wird ein Positions-Register
PR oder ein Zeiger gebildet. Dieses Register PR schaltet das Deskriptor-Register DR neunmal, Je einmal für jede der entsprechenden Ordnungen_der Kennzeichen des bevorzugten Ausführüngsbeispiels
der, Erfindung; dies wurde bereits früher in
den Programmablaufplanen der Fig, 31 und 32 wie im Sub-B-Re
gist er erörterte Bei Anweisung 7131 werden die vier anderen,
bereits beschriebenen Zähler.eingerichtet^ nämlich L, N, MFIX
und M, und durch Einbringen einer Eins in jeden von ihnen mit
einem Anfangswert v;ersehen. Bei Anweisung 7132 wird das
Deskriptor-Register DR im Wert L auf Gleichheit mit jener
Feldposition des Operanden-Kennzeichen-Registers 0IR geprüft,
mit dem Schalter auf N für die gleiche Feldposition (dasselbe Glied derselben Ordnung). Dies geht aus folgenden Gleichungen
hervor:
N = 0IRa [PRV (L-I)J ,
OIR(N) = DRA [PRV (L-I)J , · ;
oder allgemeiner
IR(MFIX(M)) = [DRA(PR(L))A OIR(N)Jy[DRA(PIl(L))J
wobei gilt :".-■■- _ ^
und (Μ, L£l+ I [l<L<F(PR, MFIX)J , [l<PR, MFIX<9J j
Wenn diese Gleichung bei der Anweisung 7132 nach Fig. 42 nicht
erfüllt ist, wird bei Anweisungen 3133 und 3134 geprüft, ob-DR
(PR(L)) gleich einem Leerraum ist. Sodann wird bei Anweisung
7135 diese Ziffer des Operanden-Kennzeichen-Registers OIR in
die äquivalente Feldposition in IR gebracht, d.h.'. DR (PR(L))
wird nach IR(M(MFIX)) gebracht, und das wahre Glied des
hierarchisch geordneten Kennzeichens.wird aus den beiden Teilsätzen
aus hierarchisch geordneten Kennzeichen in DR und in OIR
erhalten, '" ■
409835/0649
Bei Anweisung 7133 der Pig. 43 wird, falls DR(L) kein Leerraum
ist, DR(L) zum Positions-Register PR_gebracht, und dieses
Glied In DR, DR(L), mit einem Wert IR (M(MPIX)) nach IR gebrächt. (Die Feldposition in IR wird beschrieben durch die Gleichung
MPIX = M-I.) Wenn bei der Anweisung 7133 die Antwort ja ist,
d.h. daß Leerzeichen vorhanden sind, wird dieses Leerzeichen im 0IR auf Gleichheit geprüft, und falls vorhanden, wird auf
Anweisung 71358 weitergegangen, da dies anzeigt, daß keine
Glieder der Ordnung vorhanden sind, d.h. Glied = Leerraum, denn in manchen logischen Datensätzen wird erkannt, daß manche
Ordnungen der Kennzeichen nicht existieren. Unter der Annahme, daß bei Anweisung 7133 zwischen den Registern DR und OIR keine
Übereinstimmung bezüglich eines Leerzeichens besteht, wird auf Anweisung 7135 übergegangen. Anweisung 7138 erhöht die
Zähler L, M und N um Eins und leitet über zu Anweisung 7l4ö,
um den Wert des L-Zählers -bezüglich einer nicht dargestellten Tabelle, die die Feldausdehnung des L-Zählers anzeigt, bezüglich
jedes Gliedes jeder gegebenen Ordnung aus Kennzeichen (P(N) zu prüfen (durch "Wenn"-Anweisung). Die Ordnungen der
Kennzeichen schwanken in der Größe der Glieder, z.B. hat ein Kapitel in diesem Ausführungsbeispiel drei Glieder, während ein
Paragraph fünf Glieder aufweist. Wenn daher PR = 1, kann L einen maximalen Wert 3 haben, während dann, wenn PR =.2, L
einen maximalen Wert 5 hat. Als Folge davon muß bestimmt werden, ob L auf 1 zurückgesetzt werden muß, falls L für die spezifisehe
Ordnung von PR seinen maximalen Wert erreicht hat, und ob dann auch der PR-Wert um 1 erhöht wird, um in die nächste
Ordnung zu gelangen. Deshalb wird, falls bei Anweisung 73AO*
Gleichheit des L-Registers mit der nicht dargestellten Feld-Positions-Tabelle P(N) für den V/ert von PR vorhanden ist, bei
Anweisung 7l4l 1 zu PR addiert und bei 7JA2 die Anweisung
"Bringe 1 zum L-Zähler" ausgeführt; in ähnlicher Weise wird
durchgeführt: "Bringe 1 nach MPIX", "Addiere 1 zum M-Zähler", wodurch IR eingestellt wird, und "Addiere 1 zum N-Zähler von
409835/0649
OIR"; danach geht es weiter zu Anweisung 7139.» um zu: prüfen,
ob das Positions-Register .PR größer als neun 1st(nachdem alle
Ordnungen der Kennzeichen beendet sind), da/dies im bevorzugten Ausführungsbeispiel die maximale Anzahl von KennzelGhen-Ordnungeii
für die hier verwendeten Daten ist. Wenn bei 7139
PR größer als. neun ist,, ist bekannt, daß der Vergleich der
Glieder aller Ordnungen der Kennzeichen beendet ist. Wenn
andererseits bei 7139 PR kleiner als neun ist, wird": zur Anweisung 7132 zurückgesprungen, um den Zyklus erneut ^u durchlaufen, bis die 9 erreicht ist. Auf diese Weise wird die
mathematische Operation:' IR = Dv [(DaQ)V(OAO)] auf die Kennzeichen
aus den beiden Teilsätzen aus hierarchischen Kennzeichen 'beendet. Die resultierende Operation^ bildet einen eindeutigen Satz aus hierarchischen Kennzeichen in IR, der (eindeutig)
zum lOgischen Datensatz des Operanden addressiert
werden muß, wie nachstehend erläutert wird. -:
WEISUNGS-KENNZEICHtiül'IG FÜR VfiRGANGEraEITSPRÜFUNG
Wie. bereits gesagt, ist es nicht nur wichtig,* aus irgendeiner
Weisung die Operatoren-Erkennung ebenso, wie die hierarchischen Deskriptor-Werte-zu. erhalten, was bereits diskutiert wurde,
sondern auch einen Bezug; oder eine Referenz für eine Datei-Vergangenheitsprüfung
zu schaffen. Eine Vergängenheitsprüfung ist extrem wichtig .bei Hormenänderungen, da in. vielen Fallen
die Normengeber, Juristen, und andere Personen wissen wollen,
wie der Stand der Rechtssprechung zu einem früheren gegebenen
Zeitpunkt war; zu diesemYZweck wird diese Vergangenheitsprüfung
angewendet, die wie folgt durchgeführt'wird. Es ist bereits
früher frestgesteilt worden, daß der Weisungs-Paragraph und
der Un'ter-Paragraph und somit die Weisungs-Päragraphen- und
Unter-Paragraphen-Kennzeichen am Anfang innerhalb der FeId-
409 835/06
Positionen 1-5 erscheinen. Es ist daher ersichtlich, dai3 es
mehrere Fälle der Weisungs-Kennzeichnung gibt, die erkannt und bestimmt werden müssen.
Pall I
Grenz-Paragraph = |x:X£l+|o<X<999J
[" "0,9" ii<j
In Anweisungen 7001 - 7054 der Fig. 44 - 48 werden verschiedene
Fallstudien durchgeführt, um die Weisungs-Kennzeichnung zu finden und um diese Kennzeichnung in einen Weisungs-Speicher
für die Vergangenheitsprüfung zu geben. Bei der Anweisung 7001 der Fig. 44 wird veranlaßt, daß der Wert des numerischen
Speieher-Registers NRS in das Zwisehenspeicherregister TRS gebracht wird, und mit der Anweisung 7002 wird veranlaßt,- daß
die Paragraphen-Nummer, die in der Feldposition 1 des logischen Datensatzes ist, "colom-1",in ein Register gebracht wird, das
in unserer Programmsprache "numerischer Speicher der Gesetzesvorlage" NSFB heißt. Sodann wird mit der Anweisung 7005 1 zu
TRS addiert und anschließend bei der Anweisung 7004, falls NSFB gleich NRS ist, veranlaßt, daß der Wert des gespeicherten
Paragraphen nach TRS gebracht wird (7005). Bei der Anweisung 7030 der Fig. 46 wirkt dieselbe Kombination aus analogen Anweisungen
auf Registerpositionen 2 und 3 ein, um eine zweistellige Paragraphen-Nummer aufzunehmen. Bei der Anweisung
7060 der Fig. 44 wird die Nummer in der Feldposition 2, FRA-I nach NSFB gebracht, und in 7017 die Nummer von NRS zum
Register TRS, während bei der Anweisung 7080 1 zum numerischen
Speicher-Register NRS addiert wird, das als Folgen-Prüfzähler
dient; sodann erfolgt ein Rücksprung nach 7004, um den Ablauf
fortzusetzen, Auf diese Weise wird bexvirkt, daß im Weisungs-Speicher
TRS eine einzelne oder doppelte Ziffer angeordnet wird, die eindeutige Glieder darstellt, somit Nummern des Paragraphen-Kennzeichens
zum Zwecke der Vergangenheitsprüfung.
409835/0649
FaIl 2
Grenz-Unter-Paragraph = [Y:X,Y£I+|o<)GC9,O<Y£9J
. ["9(9)"] ·
Der zweite Fall bezieht sich auf einen, Unter-Paragraphen, der
zum Paragraphen einer Weisung gehört, und der durch Anweisungen 7020 - 7O4l der Figuren 45 - 47 verarbeitet wird. Für
die Unter-Paragraphen-Werte der Weisung wird ein neuer Speicher eingerichtet, das Unter-numerische Speicherregister SNRS.
In diesem Fall wird veranlaßt, daß. bei der Anweisung 7020 der Fig.-45 die Paragraphen-Nummer (Glied) in ein Zwischen-SpeicherregisterTRS
gebracht wird, und daß bei 7021 die Unter-Paragraphen-Nümmer
im Register SNRS in ein Unter-Zwlschen-Speicherregister
STRS gebracht wird. Durch die Anweisung 7022 wird die
Paragraphen-Nummer zum Register NSFB gebracht, und durch die
Anweisung 7023 das Glied in der Registerposition 4 in ein
Unter-numerisches Speicherregister'der Gesetzesvorlage SNSFB ·
(das analog ist zum bereits genannten Register NSFB). Bei den
Anweisungen 7024 und 7OP5 werden die Register NRS und SNRS um
1 erhöht und in den Anweisungen 7026 und 7027 der Fig. 46 mit
dem Register NSFB hinsichtlich Ungleichheit geprüft] bei Gleichheit wird durch die Anweisung 7028 dieses Glied im
Register TRS nach NRS gebracht und anschließend in der Anweisung
7029 STRS nach SNRS. Wenn bei den Anweisungen 7026 und
7027 NSFB bzw. SNSFB nicht gleich NRS bzw. SNRS ist, geht der
Ablauf zur Anweisung7030 der Fig. 46 über, d.h. zum Fall 3.
Fall 3 · . · ■
Grenz-Unter-Paragraph = {Z:X,Y£l+1 0<X$-99,0cY$9J
["99O)11J
Durch die Anweisung 7030 wird das Glied des numerischen
Speicherregisters JiRS zum Zwischen-Speicherregister TRS gebracht, und in 7031 das entsprechende Unter-numerische Speicher-
'409835/0649
register SNRS zum Unter-Zwischen-Speleherregister STRS. Durch
die· Anweisung 7032 wird veranlaßt, daß. der "volle Datensatz-.
Bereich 1" FRA-I, der den Wert der beiden Register enthält,
die die Weisungs-Paragraphen-Nummer zusammensetzen, da
wenigstens zwei Ziffern vorhanden sind, zum Register NSPB gebracht
wird; sodann wird durch die Anweisung 7033 die Nummer · der fünften Feldposition im logischen Datensatz zum Unternumerischen Speicherregister für Gesetzesvorlagen SNSFB gebracht,
das ebenfalls zwei Zeichen aufnimmt. Eine Anweisung 7034 der Fig. 47 bzw. bei 7035 wird das Register NRS bzw. SNRS
um 1 erhöht. Bei der Anweisung 7036 wird das Register NSFB
mit dem Register NRS auf Gleichheit geprüft, und falls diese ungleich sind, wird nach 7037 übergegangen und das Register
STRS zum Register NRS gebracht, und anschließend bei der Anweisung 7038 das Register STRS nach StIRS. Wenn andererseits
bei-7036 das Register NSFB gleich dem Register NRS ist, wird
mit der Anweisung 7039 fortgefahren, um zu prüfen, ob das
Register SNSFB ungleich ist zu SNRS. Falls diese ungleich sind, wird der Programmablauf bei der Anweisung 7050 der Fig. 48
fortgesetzt. Im Fall der Gleichheit wird zur Anweisung 7O4O
übergegangen und TRS nach NRS gebracht, und bei der Anweisung 7O4l STRS zum Register SNRS. Die zugehörigen Werte des Weisungs-Paragraphen
bzw. des-Unter-Paragraphen befinden sich nun im numerischen Speicherregister ITOS (Paragraph) bzw. im Unternumerischen
Speicherregister SMRS (Unter-Paragraph),
Fall 4
Grenz-Unter-Paragraph = ["(9) oder lft(9)n]
In diesem Fall wird der Wert des Registers NRS, der bei der vorhergehenden Erkennung in den Fällen 2 oder 3 erhalten wurde,
beibehalten, und bei der Anweisung 7050 der Fig. 48 der Wert
409835/0649
i ; 236DQ23
der Feldposition 5 nach Register SWSEB gebrächt. Bei der Anweisung
7051 wird zum Register SNRS 1 addiert, und bei der Anweisung
7052 der Wert dieses Registers zum Register STRS gebracht. Bei der Anweisung 7053 wird geprüft, ob SNSFB ungleich
1st zum Register SNRS, falls, dies zutrifft, erfolgt der'
Rücksprung zur Anweisung 7050; anderenfallswird durch die
Anweisung 7051I- Register STRS zum Register SNRS übertragen.
Dieser Speicher enthält nun das Glied oder den Viert des Unter-Paragraphen-KennzeichenSi
so daß nun die V/eisung mit der Anweisung ^Ο6θ nach Fig. 37 weiter analysiert werden kann.
Mit diesem ausgearbeiteten Verfahren wird sichergestellt, daß
die Paragraphen- und Unter-Paragraphen-Nummern der Weisungen
(Weisungs-Kennzeichen-Glieder) zuerst definiert und gekennzeichnet
und anschließend derart aufgezeichnet werden, daß sie
sequentiell sind, wodurch sichergestelltwird, daß während der
Weisungs-Analyse (und somit auch der Operanden-Analyse)
keine Weisung oder Unter-Weisung ausgelassen wurde: oder irrtümlicherweise
wiederholt wird. Nachdem die Analyse der Werte des Paragraphen.bzw.. des Unter-Paragraphen der Weisung (die '
Paragraphen- bzw. Uhter-Paragraphen-Weisungs-Kenn.zeichen) beendet
ist, werden diese in den Anweisungsspeicher NRS bzw. SNRS für die Verwendung in der ^ergangenheitsprufung aufbewahrt,
wie später bei "Vergangenheitsprufung'V erläutert wird.
MUTTER-DATENSA-TZ-ERZEUGuIJG TOJD -AUSGABE (IN FESTEM FORMAT)
Es ist als nächstes zweckmäßig, die Übertragung der Glieder des
hierarchischen Satzes aus Kennzeichen im Register IR zum
Adressieren jenes logischen Datensatzes des Operanden zu
diskutieren, wie der Operand auf die Mutter-finderungsdatei 32
ausgedruckt wird. Jeder logische Datensatz des Operanden wird auf seine eindeutigen Glieder des hierarchischen Satzes aus
Kennzeichen adressiert und der Kennzeiehen-Gliedersatz in
einem festen Feldformat zusammen mit dem logischen Datensatz
409835/0649 -
- 86 -
l4O des Operanden ausgedruckt, wie in den Pig. 11 und Ik, YJ
und 19 dargestellt ist. Die Mutter-Änderungsdatei. 32 wird aus den Anweisungen 7150 der Fig. 49 bis 7168 der Pig. 50 erzeugt,
Dazu wird zuerst bei 7150 ein neuer Zeiger zum Drucken erzeugt,
nämlich die I-Position (IPOS), die die entsprechenden Kenn- . zeichen-Glieder in das Kennzeiohenfeld für den Ausgang im
Kennzeichenfeld 122' aus dem Restspalten-Änderungsbereich für
.jeden logischen Mutter-Datensatz schaltet; und bei der Anweisung 715O wird 1 nach IPOS gebracht. Bei 7151 wird ein
weiterer neuer Steuerzähler vorbereitet, nämlich der I-Zeiger
(IPOINT) und 1 nach IPOINT übertragen. IPOINT entspricht dem M-Zähler von-IR, der jedoch im Kennzeichenfeld 122' des Restspalten-Änderungsbereichs
operiert; wie ersichtlich, stellt IPOINT sicher, daß der Kennzeichensatz in IR für irgendeinen
gegebenen Operanden ungeändert bleibt, während die im Kennzeichenfeld 122' des Restspalten-Änderungsbereichs (der dann
in die Mutter-Änderungsdatei 32 als ein logischer Datensatz
ausgegeben wird) angeordneten Kennzeichen bezüglich des Schaltens durch eine Zeilenfolge in der neunten Ordnung (die
Zeilen-Kennzeichen-Ordnung) ungeändert bleiben, wenn die logischen
Datensätze, einer nach dem anderen, aus dem Restspalten-Änderungsbereich
auf die Mutter-Änderungsdatei 32 ausgegeben werden. Bei diesem Verfahren wird die Ausgabe über IR in den
Restspalten-Änderungsbereich durch die Register IPOS und IPOINT gesteuert und geschaltet, wodurch jeder logische Datensatz eindeutig
mit seinem zugehörigen eindeutigen Satz aus Gliedern gekennzeichnet wird, Da IPOS sequentiell die verschiedenen
Ordnungen von 1-9 abarbeitet, schaltet er die Zeilenfolge durch Erhöhen der Zeilenordnungs-Glieder um 1 jedesmal dann,
wenn IPOS vom Wert 9 auf den Wert 1 zurückkehrt (vgl, Fig. 11).
Angesichts der Tatsache, daß die Ausgabe der Mutter-Änderungsdatei 32 für jeden logischen Datensatz in einem festen Format
erfolgt, d.h. mit einer definierten Anzahl von Zeichenelementen für den Datensatz, ist es wichtig, daß extreme Vorsicht
409835/0649'
2360Di3
geboten ist, um sicherzusteilen, daß die in dem logi.-iohen
Datensatz angeordneten und in die Mutter-SnderungsVVitei ausgegebenen
Kennzeichen tatsächlich voll entweder durc.1! Leerräume
oder durch Glieder der entsprechenden Ordnungen, je nachdem,
belegt sind und daß diese Glieder von IR in das -ennzeichenfeld
122' im Restspalten-Änderungsbereich mit ^'der der zügehörigen
Gliederpositionen für jede Ordnung übe; tragen werden*
Somit kann gesagt werden;
LRIyIR=RCRVIRA(IPOSIPOINT)V(SPAGES)V(VLRCR)
mit: LRMR -- logischer Datensatz Mutter-Ärcerungsdatei,-."■■
{rCK, ULRCRtI+I KRCR, ULRCR^7 5} ,
UI.RCR = Unterstreichen Drucken Sfvüten-Anderungsbereich,
oPACES = Leerräume/
und flPOSil |l<IP0S<9]
und p
p+|
(SPACEfI+ I KSPACE<P( ?Ä0- (RCRvULRCRvIR)}.
Bei Anweisung 7152 der Fig. 49 wird eine Eins nach MFIX gebracht.
Bei der Anweisung J155 wird das Kennzeichen-Glied von
IR, das die Position M(MFIX) hat, mit dem kombinierten Wert
aus IPOS plus IPOINT, nämlich IPOS (IPOINT) zum Register RCR ■' .
übertragen. Bei 7153 wird nicht nur sichergestellt, daß die
Länge des logischen Datensatzes des Restspalten-Änderungsbereiches und somit der Mutter-Änderungsdatei "Fest" ist, sondern
auch, daß die entsprechenden Feldpositionen jeder Ordnung der Kennzeichen ebenfalls fest und an den Restspalten-Änderungsbereich angepaßt sind, sogar dann, wenn bestimmte Ordnungen
der Kennzeichen oder bestimmte Glieder Irgendeiner Ordnung
nicht vorhanden sind, d.h. wenn in einigen Ordnungen Leerräume
vorhanden sind, werden die Leerräume beibehaltenj anders ausgedrückt!
Die"Leerstellen irgendeines Gliedes in irgendeiner
40983 5/0649
Ordnung mit nichtvorhandenen Kennzeichen-Gliedern sollen nicht
unterdrückt werden, da sonst ein Glied in der festen Länge des
Datensatzes in der-falschen Position angeordnet und dadurch die Vorstellung erwecken würde, daß der logische Datensatz einen
hierarchischen V/ert hat, der vom tatsächlichen verschieden ist. Die Leerzeichen-Unterdrückung könnte jedoch auch ohne Abweichen
von den erfindungsgemäßen Ausführungsbeispielen durchgeführt werden, vorausgesetzt, daß jede. Ordnung durch einen
Code oder durch ein anderes erkennbares Referenzzeichen getrennt ist. Bei Einrichten eines festen Feld-Arfcfeitsbereiches
für die Kennzeichen mit 36 Speicherzellen, um Kernspeicherplatz
zu reservieren und die Ausdehnung des Kennzeichenfeldes so klein wie möglich zu halten, während gleichzeitig eine
Felxibilität vorhanden und Prograrnmänderungen zulässig sind.» um größere oder kleinere Kennzeichen-Ordnungen bezüglich
irgendeiner Datenbasis zuzulassen, werden in Bezug auf IR zwei Zähler verwendet, nämlich MPIX zum Zählen der Ordnungen und M
zum Schalten der ulieder jeder Ordnung, und in gleicher Beziehung
zu IPOS und IPOINT zum Umschalten der Anordnung der Glieder der Ordnungen in das Kennzeichenfeld 122' im Restspalt
en- Ä'nderungsber ei eh. Durch Ändern nur des Wertes der Bereiche
von IPOS und IPOINT, M und MPIX, kann die Zahl der Ordnungen für jede spezielle Datenbasis-Anwendung erhöht oder
verringert werden, und ebenso die Gliedergröße jeder der gegebenen Ordnungen der Kennzeichen. Durch die Modifizierung
dieser vier Zähler wird jedoch die gesamte Ausdehnung des Kennzeichenfeldes 122! j das im Ausführungsbeispiel 36 Peldpositionen
hat, nicht geändert. V/enn die ganze Feldausdehnung des Kennzeichenfeldes 122' erhöht oder verringert werden soll,
müssen zusätzliche Anordnungen zum Erweitern des ausgegebenen logischen Datensatzes und des Restspalten-Änderungsbereichs
getroffen werden, und außerdem die Größe der Register DR, I0R und IR im Arbeitsbereich 31 vergrößert v/erden, was durch entsprechende
Änderung in der Steuerkarte und der Kern-Anordnungs-
409835/0649
. ■-■;- .: -91-- :' -■'.■■ —\· : ■_■_;'■■ ■
karten im Programm durchführbar ist.
Zur weiteren Erörterung der Verwendung der Zähler IPOiNT und
IPOSj MPIX und M und der Übertragung der Kennzeichen-Glieder
aus dem Kennzeichen-Register TR zum Kennzeichenfeld 122' im
Restspalten-Änderungsbereich wird auf die- Anweisungen 7154 und
7155 der Fig. 4-9 übergegangen,wo IPOINT, und MPIX um 1 erhöht
werden, und dann auf TI56, wo geprüft wird, pb IPQINT gleich
MFIX ist. Wenn IPOINTungleich MFIX ist, erfolgt ein Rücksprung zur Anweisung 7153; andernfalls,; wenn 7156 Gleichheit
ergibt, wird bei 7157 der Fig. 50 IPOS um 1 erhöht, um dieses
Register (das der Ordnung entspricht) in die nächst höhere
Ordnung der Kennzeichen zu bringen,, während bei 7I581 nach
IPOINT gebracht wird, um das erste Glied dieser neuen Ordnung .
zu schalten. Bei 7159 wird geprüft, ob IPOS gleich $ ist, da
der Maximalbereich für IPOS in diesem Ausführungsbeispiel gleich 9 ist (1<
IPOS <9)> wobei IPOS al+isti wenn dieses
Maximum nicht erreicht ist, wird über Anweisung7153 ein neuer
Zyklus gestartet. Wenn die Bedingung der Anweisung 7159 erfüllt
wird, d.h„,wenn IPOS = 9 ist, ist die Übertragung der
hierarchischen Kennzeichen beendet, und alle Kennzeichen- ·
Glieder der Ordnungen 1 - 9 befinden sich im Kennzeichenfeld
122' des Restspalten-Snderungsbereichs, um mit dem logischen
Datensatz in diesem ßestspalten-Knderungsbereich eine Verbindung
herzustellen, so "daß eine Ausgabe in die Mu tter-Ä'nderungsdatei
32 erfolgen kann. / " ".--,-""; "...■"-.-...
Anschließend erfolgt der Übergang zu Anweisung 7I60, um die
Verkettung dieses Programms für zukünftige Läufe zu erstellen,
wobei das Programm mit mehreren Daten, mehrere Male laufen kann, ohne daß ein Neu-Übersetzen des Programms notwendig ist
(im Gegensatz zum Stapelbetrieb). Die/Steuerkarten-Information,
die Kapitelnamen-Steuerung, d.h. ob die zu verarbeitenden
Daten sich auf öffentliche Rechtsnormen, Vorschriften oder technische Daten usw. beziehen, wird übertragen und an-
409 83 5/0649
schließend wird die Anweisung 716I der Fig. 50 durchgeführt,
die die Kapitelnummer aus der Einlese-Tabelle 8,1 der FeIdsuch-Steuerung
überträgt und diese in der ersten Ordnung des Deskriptor-Registers bei PR = 1 speichert. Diese Lauf-Anweisung
wird dreimal ausgeführt, wobei der Wert des L-Registers jedesmal
um 1 erhöht wird, um in die erste Ordnung von DR eine neue Ziffer-(Glied-)Nummer aus dem Kapitel einzuschieben, so
daß sie dann in IR zwecks anschließender Ausgabe in die Mutter-Änderungsdatei 32 erscheinen kann, wodurch festgestellt
wird, daß das Kapitel aus drei Ziffern besteht. Bei Anweisung 7162 werden die Daten aus der Steuerkarte der Tabelle 7.O zum
Daten-Ausdruck gebracht, um den Zeitrahmen für die Ä'nderungsr
datei zu ergeben; anschließend wird bei 7163 der Restspalten-Änderungsbereich eer Gesetzesvorlage (die Eingabe der Änderungsdatei
22) in den Restspalten-Änderungsbereich gebracht und bei 7164 die gesamte Information des Restspalten-Änderungsbereichs geschrieben, der nun die Daten des Datenfeldes 120
sowie das Kennzeichenfeld 122' enthält, das aus dem Kennzeichen-Register
IR empfangen wurde, zusammen mit den Daten, die von der Steuerkarte durchgeleitet wurden.
Bei Anweisung 7165 wird das "Unterstreichen" aus dem Unterstreichen-Restspalten-Änderungsbereich
ULRCR gebracht und anschließend der gesamte Restspalten-Änderungsbereich, der eingegebene
logische Datensatz l4O, das Kennzeichenfeld 122' und
ULRCR in den gesamten logischen Datensatz mit 240 Zeichen ausgedruckt,
und bei Anweisung 7166 wird dieselbe Information auf das Spool-Band j59 ausgedruckt. (Festzuhalten ist, daß der
vollständige feste logische Datensatz am Ausgang enthält: Den eingegebenen logischen Datensatz l40 aus 75 Zeichen, das Kennzeichenfeld
aus 36 Zeichen, die Leerraum-Position aus F (240 (RCRvULRCRvIR))
Zeichen sowie eine Unterstreichung aus weiteren 75 Zeichen, - 240), vgl. Tabelle 6.0. Bei Anweisung
7167 wird 0OK geschrieben, der Dateiname für den logischen
Datensatz aus dem Mutter-Änderungsdatei-Band 32. Bei 7168 werden Leerräume zum Gesetzesvorlagen-Arbeitsbereich übertragen,
nämlich zum Restspalten-Änderungsbereich und zum Restspalten-Bereich der Gesetzesvorlage WA, anschließend wird auf die
409835/0649
:- ^ 23E0Ö23
Anweisung 906 in Pig.· 20 zurückgesprungen, um den nächsten
physikalischen Datensatz l46 aufzunehmen.
ENDE DES BEARBEITUNGSLAUPS
Dies wird in Pig. 51-.mit Hilfe von Anweisungen 717O - 7173
durchgeführt, wobei mit diesen Anweisungen auch die statistische
Information auf Spool 39 gedruckt wird, wie früher mit
Bezug auf Fehler usw. erläutert wurde, und wobei alle Dateien
geschlossen werden. Die erste Anweisung 7170 überträgt die
Datenstatistiken zum Ausdruck-Bereich für das Drucken auf das Spool-Band 39, und bei 7172 wird tatsächlich gedruckt. Bei \
7172 wird durchgeführt: SCHLIESSEN KARTEN, INBIL (22), INMAS,
PRINT und OUTER (32); anschließend wird bei 7173 der Lauf beendet
- "Ende des Bearbeitungslaufs", ί :.
BESONDERES MISCHEN 33 - Erzeugung; der Sohn-Stammdatei
35 aus der Vater-Stammdatei 26 unter Verwendung der
Mutter-Änderungsdatei 32 und eines modifizierten Mischens
Einführung - -
Mit Bezug auf Fig. 1 und 2 wurde bisher die Portschreibungs-Analyse
30 beschrieben, im Zusammenhang mit der Erzeugung der
Mutter-Änderungsdatei 32 und des Spools39 zum Drucken des
Ausdrucks 40. Unter Verwendung der beschriebenen Verarbeitungsfolgen wird eine Stammdatei 21, die wie in Fig. l4 Rechtsnormen enthalten kann, bei 24 gekehnz'eichnetjν um eine ,
Vater-Stammdatei zu erzeugen^ die mit 26 gekennzeichnet ist, ·
wobei jeder logische Datensatz der Vater-Stammdatei eindeutig durch einen hierarchisch geordneten Satz aus Kennzeichen ge- .
kennzeichnet'ist. Die Vater-Stammdatei 26 kann durch die
409 8 35/06
Mutter-Änderungsdatei JU fortgesehrieben werden, die durch
das besondere Mischen 33 unter Benutzung des Arbeitsbereichs
34 die in Fig. 17 dargestellte Form annimmt. Zuerst versetzen
wir uns in die Lage, in der die Mutter-A'nderungsdatei 32 die
genaue-Knderungsdatei ist, die bearbeitet werden soll, d,h.
es muß sicher sein, daß der durch die Steuerkarte angegebene Zeitrahmen (Jahr, Monat oder Tag) dem exakten Fortschreibungs-Zeitrahmen
entspricht, für den die Sohn-Stammdatei 35 erzeugt
werden soll.
In diesem Stadium wird bevorzugt, zwei wählbare Steuerungen
aus der Steuerkarte der Tabelle 7 zu verwenden,"und zunächst
eine, die die Snderungsdatei 3?' durch, ihren Zeitrahmen kennzeichnet.
(Es wird daran erinnert, daß die aktuelle Änderungsdatei, die gerade durchgeführt wird, unterteilt v/erden kann
in Zeitrahmenperioden, z.B. in Monate, Wochen oder Tage, was
durch eine Steuerkarten-Instruktion gewählt werden kann). Als
Folge davon kann ein variabler Zeitrahmen wahlweise als derjenige Zeitrahmen gewählt werden, der ständig überwacht
werden muß; dies wird erreicht, indem die Zeitrahmen-Wahl in
Feldpositionen 2.3 und 29 der Steuerkarte nach Tabelle 7 und
in Feldpositionen 30 - 37 der Steuerkarte gleich dem exakten, gewünschten Zeitrahmen gemacht wird (Fortsehreibungs-Zeitrahmen).
Dies erlaubt ein leichteres Fortschreiben einer Datei, insbesondere dort, v/o die gewünschte fortgesehriebene Datei eine
"Ausgabe" der Vater-Datei sein soll, anders ist als die Sohn-Datei der ersten Generation, d.h. eine Enkel- oder Urenkel-Datei
.
Neben der Einrichtung einer Art. zum leichten Definieren des Zeitrahmens und damit zum Erzeugen von ausgewählten "Ausgaben"
der Vater-Datei, gibt es im allgemeinen noch weitere besondere Probleme, die beim besonderen Mischen 33 gelöst werden müssen;
. dazu gehören:
409835/0649
(a) die aktuelle physikalische Länge der Änderungsdatei,
bezogen auf die aktuelle physikalische Länge derVater-Stammdatei,
und insbesondei'e, ob diese physikalischen
Längen gleich (R = M) oder verschieden sind, und falls
sie verschieden sind,.welche die größere ist, die Vater-Stammdatei
oder-die Mutter-Änderungsdatei: (R <
M, M >R),
vgl. Fig. 18; ""- .
(b) ob die Vater-Stammdatei geändert werden muß, wie durch
(i) Entfernen von Daten daraus, so daß die Sohn-Stammdatei weniger Daten hatj oder
(ii)Hinzufügen von Daten, so daß die Sohn-Stammdatei
mehr Daten als die Vater-Stammdatei enthält;
(c) ob die "Änderungen" an den Enden der Vater-Stammdatei auftreten,
am Anfang oder In der Mitte der Datei, oder ob es
. ' mehrere verschiedene Arten von Änderungen gibt;
(d) ob sich "Änderungen" auf vollständige logische Datensätze oder auf Teile davon beziehen; und falls auf Teile, muß
sichergestellt sein, daß derartige Änderungen nicht die Struktur und die Länge des logischen Datensatzes umstürzen,
so daß Daten verlorengehen, oder daß darin Daten angeordnet werden, die in Bezug auf eine menschliche
Vereinbarung unzutreffend strukturiert sind.
(Vgl. Original-(Vater-)Gesetz, Tabelle 9.1, Abschnitt
(1) (27); danach Änderungsgesetz, Tabelle, 9.Z, Paragraph
(2); danach Mutter-Änderungsdatei, Tabelle 9,6, Abschnitt
12 (1) (27) und Sohn-Stammdatel daraus, Tabelle 9,5,
Abschnitt 12 (1),·(27), worin "Berater" ersetzt wurde
durch "Bedienstete". ·
409 83 5/06 49
Unter besonderer Beachtung der Tatsache, daß die Längen der logischen Datensätze der Vater-Stamm-, Sohn-Stamm- und Mutter-Änderungsdatei
fest sind, ist es unmöglich, Daten in einen logischen Datensatz der Vater-Stammdatei einzufügen, um diesen
eventuell auf der Sohn-Stammdatei aufzuzeichnen, was den Effekt hätte, daß die Anzahl der Zeichen des logischen Datensatzes
in der Sohn-Stammdatei dessen feste Länge übersteigt, nämlich 75 oder vorzugsweise 72 Zeichen. Wenn ein V/ort in die
Vater-Stammdatei zur Eingabe in die Sohn-Stammdatei eingefügt
werden muß, ist deshalb beispielsweise notwendig, bzw. genauer gesagt kann es notwendig sein, die innere Struktur dieses
logischen Datensatzes und vielleicht aller folgenden logischen Datensätze zu ändern, falls das einzufügende Wort eine Erhöhung
der Anzahl der Zeichen in diesem logischen Datensatz über 72 Zeichen hinaus bewirkt. In diesem Fall "läuft" ein
Wort aus diesem logischen Datensatz in den nächstfolgenden Datensatz über, was sich von logischem Datensatz zu logischem
Datensatz fortsetzen kann. Dieser Überlauf kann den Zusatzeffekt haben, daß in den hierarchischen Kennzeichen selbst
eine Änderung verursacht wird, da die Struktur der Datei geändert wird, um den Überlauf aufzunehmen.
Außerdem gibt es gewisse praktische Verarbeitungsschwierigkeiten,
die bei der Steuerung der Operationen auftreten, wenn die Ausführungsbeispiele
der vorliegenden Erfindung angewendet werden. Zu diesen Schwierigkeiten gehört die Steuerung der Eingabe
der Vater-Stammdatei 26 und der Mutter-Änderungsdatei 32, wenn eine vor der anderen verbraucht ist, und das "Offenhalten"
dieser eingegebenen Datei während des Ausgleichs der Verarbeitung, so daß sichergestellt wird, daß die Anordnung nicht
eine der eingegebenen verbrauchten Dateien aufruft und "schließt", da andernfalls die Verarbeitung sofort anhält, wenn
eine geschlossene Datei angefordert wird, wobei die Verarbeitung anhält, obwohl die Verarbeitung noch nicht beendet
ist; diese Art von schlechtem Funktionieren heißt "Aufhängen". Wenn z.B. die Vater-Stammdatei als letzte ausgegeben werden
soll, d.h. wenn die Änderungsdatei zur Vater-Stammdatei Material derart hinzufügt, daß die Sohn-Stammdatei zusätzliches Material
£09835/0649
am Endteil der Vater-Stammdatei aufweist, muß in diesem Fall
die eingegebene Vater-Stammdateiuneu eröffnet, genauer gesagt
offengehalten werden (was anschließend genauer erklärt wird), so daß für jeden der logischen Datensätze die Verarbeitung
auf der Mutter-Änderungsdätei 32 fortgesetzt wird, worauf dann die Mutter-Knderungsdatei 32 und die Väter-Stammdatei 26, beide
zusammen geschlossen werden. Diese Technik steuert die EIn-
und Ausgabe einer Datei wirkungsvoll, während sie Aufhängeschwierigkeiten vermeidet, die die Verarbeitung hemmen
könnten, da die Variation von Dateilängen dem Programmierer
nicht bekannt und bei jeder gegebenen Änderungsdatei verschieden sind. Vgl. "dazu die Starnmd-atei der Tabelle 9.0 mit
der Fortsohreibung (Änderungsgesetz von 1962); wenn die
Änderungsdatei zuletzt verbraucht ISt4, Tabelle 9ο.5* ist auch
die Stammdatei zuletzt verbraucht. Das Offenhalten der Mutter-Änderungsdatei
32 und der Vater-Stammdatei so lange, bis beide
verbraucht sind, vermeldet das Programmieren einer Vorauswahl, welche der Dateien zuerst verbraucht wird: . ■
(i) angenommen, die,Änderungsdatei ist zuerst verbraucht
R <M. Deshalb schließt R zuerst;
(ii) angenommen, die Stammdatei ist zuerst verbraucht,
M<R
(iii) Deshalb; beide Dateien Offenlassen, bis beide verbraucht sind, vgl. auch Fig. 18,
Durch einen Mischvergleich des logischen Datensatzes, der
zwischen der Mutter-Änderungsdatei 32 und der Vater-Stammdatei
•26 während des besonderen Mischens 33 verläuft, wird jeder
logische Datensatz ständig bezüglich des anderen geprüft, ob die Glieder jeder Ordnung der hierarchischen Kennzeichen übereinstimmen,
die den entsprechenden eingegebenen logischen Datensätzen l40 zugeordnet oder beschriftet oder adressiert
sind. Somit gibt es für jede gegebene Ordnung drei Möglioh-
409835/0649
ketten; Z.B. können die Kennzeichen-Glieder aus irgendeiner
Ordnung aus jedem der logischen Datensätze der Änderungsdatei identisch (gleich) sein zu jenen der Vater-Stammdatei 26,
größer als (im Wert) oder kleiner als (im Wert). Für den FaIl,-daß
Gleichheit erhalten wird im Wert der Glieder einer Ordnung zwischen den logischen Datensätzen der Mutter-finderungsdatei
und der Vater-StammdateiΛ wird zur nächst niedrigeren
Ordnung der hierarchischen Kennzeichen für diese beiden eingegebenen logischen Datensätze gegangen, und die Prüfung
auf Gleichheit der Werte der Glieder dieser nächst niedrigen Ordnung in gleicher Weise durchgeführt, sodann der Reihe nach
zu den folgenden niedrigeren Ordnungen, bis die niedrigste Ordnung der Kennzeichen, die Zeilenordnung, erreicht 1st,
vgl. Fig. l8. Wenn deshalb für Irgendeinen logischen Datensatz der Änderungsdatei die zugehörigen hierarchischen Kennzeichen
geringer sind (im Wert oder in der Ordnung) als jene, die dem logischen Datensatz der Vater-Stammdatei 26. zugeordnet sind,
mit dem ein Vergleich erfolgt, wird der logische Datensatz der
Änderungsdatei zusammen mit seinen hierarchischen Kennzeichen gedruckt. Andererseits, wenn der logische Datensatz der
Änderungsdatei (im Wert und in der Ordnung) größer ist als der logische Datensatz der Vater-Stammdatei, mit dem verglichen
wird, wird der logische Datensatz der Vater-Stammdatei gedruckt. Es ist wichtig zu erkennen, daß es für jede Ordnung
aus hierarchischen Kennzeichen in irgendeinem Satz drei Unterscheidungsmöglichkeiten
gibt: gleich, größer, kleiner; dies ist grafisch dargestellt in der Baum-Tabelle der Fig. 18.
Wenn für alle Ordnungen der hierarchischen Kennzeichen Gleichheit
Im Wert erreicht ist, eine Anpassung, wird unter Bewahrung der Zeile das bestimmte Verfahren oder Programm durchgeführt,
wie in der Baurntabelle der Fig. 18 dargestellt ist. Insbesondere wird der Zustand der Markierungsbits: INFLAG, OUTFLAG,
CHANGEFLAG anschließend an ein Wort geprüft, das unmittelbar gefolgt wird von einem einzelnen Stern, einem doppelten Stern,
409835/0649
vgl. Tabelle 9«·6,.-: Seite 1, sowie FIg. 7.» 8 und 9, oder einem
Markierungsbit, das den.Codeelementen "n" oder -!r" folgt, die
bestimmte instruierende Weisungen in Bezug auf "Aufheben"
(repealing) sowie für Aufheben und Ersetzen beinhalten.
Der logische Datensatz der Mutter-Ä'nderungsdatei 32 wird für
diesen Satz aus den Gliedern der hierarchisch geordneten Kennzeichen mit jenen des logischen Datensatzes der Vater-Stammdatei hinsichtrieh Gleichheit geprüft. Wenn im Textteil des
logischen Datensatzes der Mutter-Ä'nderungsdatel kein Marki erungsbit
("n" oder "r") vorhanden ist,, wird ein Austausch dieser
logischen Datensätze durchgeführt, indem der logische Datensatz der Mutter-federungsdatei 32 in die Sohn-Stammdatei 35
ausgegeben wird, während der logische Datensatz der Vater-Stammdatei
26 für Aufzeichnungszwecke in das Ausgabe-Sppol 36
ausgegeben wird. Wenn für den Satz aus Gliedern der hierarchisch
geordneten Kennzeichen keine "Gleichheit vorhanden ist.j werden
jene logische Datensätze der Mutter-Anderungsdatei zur Vater-Stämmdatei
hinzugefügt (wenn sie einen höheren Wert und eine
höhere Ordnung haben), indem sie direkt in die Sohn-Stammdateiüberträgen werden. In anderen Fällen, wo im Textteil der
Mutter-Ä'nderungsdatei ein Markierungszeichen erscheint, wird ;
aufgehoben (werden die Daten aus der Vater-Stammdatei entfernt) ■
und zusätzlich die lüitfernung eines.lögisehen'Datensatzes von
folgenden logischen Datensätzen der Vatef-Stammdatel durchgeführt,
obwohl keine entsprechenden äquivalenten logischen Datensätze aus der Mutter-Anderungsdatel. vorhanden sind. '; -■-Andererseits
werden dort, wo die Glieder der hierarchisch geordneten
Kennzeichen der. Ä'nderungsdatei weniger sind (im Wert
und in der Ordnung) als jene der Väter-Stämmdatei, die logisehen
Datensätze der Vater-Stammdatei, direfct In die Sohn- : \
Stammüatei, übertragen; Zusammenfassend können diese drei
Aspekte mathematisch wie folgt ausgedrückt werden:
40 9 83 5/06 49
{ΝϊΜ(Μ)>ΡΜ,Ρ(ΜΓΡ3|ΚΜ£9}
Nun wird anhand eines Beispiels die Stammdatei der Tabelle 9«O
dargestellt; wenn auf die Änderungsdatei der Fig. 15, daraus
Paragraph 1, bezogen wird, die ein "Aufheben" des Paragraphen
der Stammdatei der Tabelle 9.0 anfordert, was auch voll in Tabelle 9·2 erscheint, erscheint dies geeignet gekennzeichnet
auf dem Band 32, wie durch den Ausdruck 40 in Tabelle 9.3
dargestellt ist. Die .Glieder jeder Ordnung der hierarchischen
Kennzeichen der Vater-Stammdatei werden an jene der Mutter-Änderungsdatei
angepaßt (Anweisungen 9O4l - 9058, Fig. 57 - 60).
Angenommen, daß die Kapitelordnung "angepaßt" ist, werden die Glieder der nächst höchsten Ordnung der hierarchischen Kennzeichen,
Paragraph, aus der Mutter-Ä'nderungsdatei und der Vater-Stammdatei angepaßt; dann werden nacheinander die Anweisungen
9044 - 9058 durchlaufen, um zu versuchen, die
Glieder jedes der folgend niedrigeren Ordnungen der hierarchischen Kennzeichen anzupassen, d.h. Unter-Paragraph, Ziffer
bzw. Buchstabe, Unter-Ziffer bzw. -Buchstabe usw., wobei im wesentlichen der Baumstruktur von Fig. l8 gefolgt wird; in den
Ordnungen 2 bis 8 werden keine anderen Ordnungen der Kennzeichen gefunden (d.h. die Glieder aus jeder Ordnung der
folgenden Ordnungen stellen Leerstellen dar). Durch Weiterverfolgen der Baumstruktur nach Fig. l8 ist ersichtlich, daß
dort versucht wird, die Ordnungen 1-8 anzupassen, doch haben diese nur übereinstimmende Ordnungen bei 1 und 2 (Kapitel und
Paragraph) und bei der Ordnung 9j die Ordnungen 3-8 sind
Leerstellen, Zuerst muß ein besonderes Register am Arbeitsbereich 34 geprüft werden, das hier in der Programmsprache als
"Aufzeichnungs-Arbeitsbereich-l" bezeichnet wird, welche Aktion
409835/0649
- ro ι -
genau durchgeführt werden muß, d.h. ob der Code Im Textteil
l4o des logischen Datensatzes "r" oder "n" ist. Hier im Beispiel ist die im Textteil des logischen Datensatzes gefundene
und nun im Aufzeichnungs-Arbeitshereich-l aufgezeichnete
Tätigkeit das Markierungsbit nach dem. Buchstaben "r", was bedeutet,
daß die durchzuführende Codierung "aufgehoben" ist, (vgl. .Tabelle 8.3, Angabe 2). Deshalb wird veranlaßt, daß die
erste Zeile der Vater-Stammdatei aufgehoben»wird und ebenso
die nächsten fünf Zeilen (wobei die fünfte Zeile eine Leerzeile ist), oder bis eine Änderung im Wert eines Gliedes in
einer der hierarchischen Ordnungen der Zeile auftritt; in dem
gewählten Beispiel ändert sich der-Wert des- Gliedes der zweiten
Ordnung der hierarchischen Kennzeichen von 7 auf 8, was anzeigt,
daß in. der Wachbärumgebung von Gliedern der Paragraphen-Ordnung
eine Änderung von Paragraph 7 auf Paragraph 8 in der
Vater-Stammdatei 26 aufgetreten ist (es sei festgestellt, daß
die hierarchischen Kennzeichen einen "geschlossenen"Satz bilden und daß jede der mehreren Naehbarumgebungen in dem
Satz endliche Nummern sind; weiterhin, daß eine^eindeutige
Beziehung zwischen den Gliedern eines Satzes aus hierarchisch geordneten Kennzeichen für die "Anpassung" zwischen den
logischen Datensätzen der Mutter-Änderungsdatei und der Vater-Stammdatei erforderlich ist, wobei weiterhin nicht lediglich
ausreicht, daß eine ein-eindeutige Beziehung vorhanden ist,
sondern daß der Satz aus Gliedern der Ordnungen der hierarchischen Kennzeichen für jeden logischen Datensatz der
Mutter-Änderungsdatei und Vater-Stammdatei vollständig ist; weiterhin, daß für denselben logischen Datensatz jedes Glieds
jedes Satzes genau,einmal verwendet wird und jede Nachbarum- '
gebung eine Nummer aus dem Glied des Satzes aus der hierarchischen
Ordnungen ist). Als Ergebnis davon wird dieser Abschnitt 7 der Vater-Starnmdatei 26 aufgehoben und aus der
Sohn-Hauptdatei 35 entfernt, vgl. Tabelle 9.5 "7 aufgehoben".
AO9835/0649
Wenn andererseits im Teil 1 die Weisungs-Analyse keine Aktions-Bedingung im logischen Datensatz der Änderungsdatei
durch ein Markierungszeichen "r" oder"n" anzeigt, muß jeder·
logische Datensatz der Änderungsdatei an den logischen Daten- ' satz einer äquivalenten Vater-Stammdatei für jede Ordnung der
hierarchischen Kennzeichen,·einschließlich der Zeilen-Ordnung, "angepaßt" werden, bevor eine volle Anpassung der entsprechenden
Kennzeichenfelder für die entsprechenden logischen Datensätze der Vater-Stammdatei und Mutter-Änderungsdatei erhalten
wird. In diesem Fall wird der spezielle logische Datensatz der Stammdatei durch einen identisch gekennzeichneten logischen
Datensatz der Änderungsdatei aufgenommen, und der logische Datensatz der Änderungsdatei wird in die neue oder Sohn-Starnmdatei
35 ausgegeben und v/ahlweise auf das Spool-Band 37*
während gleichzeitig der logische Datensatz der Vater-Stammdatei
(der nicht in die Sohn-Stammdatei eingefügt ist) auf das Spool-Band 36 für die statistische Zusammenfassung dieses
Datensatzes ausgegeben wird. Zusammenfassend kann ein Satz aufgestellt werden, nämlich, daß die einzige Zeitgleichheit durch
eine Zeile vorhanden sein kann bei Identität zwischen den logischen Datensätzen der Mutter-Änderungsdatei und der Vcter-Stammdatei,
d.h. wenn alle Ordnungen der Mutter-Änderungsdatei und der Vater-Stammdatei identisch gekennzeichnet sind. Eine
"Anpassung" wird in Bezug auf .: e■■ jre ί-τ- s^ben 33 genauer
definiert durch zwei "geüu^..,. ; . S -_:■■-■' ε-hierarchisch
geordneten Kennzeichen, wobei ein üslou ^'.L'- :
logischen Datensatz der Mutter-Änderungsdatei, der andere Satz
für die Vater-Datei steht und wobei jede "Nachbarumgebung"
eine Nummer des Gliedes des Satzes der Ordnungen ist. Als Folge davon läßt sich in diesem Fall die folgende mathematische
Darstellung durchführen:
MCF, FCM
409835/0649
23S0023
(wobei M die Identität des logischen Datensatzes der - Mutter--Änderungsdatei
und F die Identität des logischen Datensatzes der Vater-Stammdatei, sowie S die Identität des logischen
Datensatzes der Sohn-Stammdatei ist. Mit Identität wird die
Übereinstimmung bezüglich Ordnung und Gliedern der hierarchischen Kennzeichen zwisehen' irgendeinem der logischen Datensätze
von Vater, Mutter und Sohn gemeint, d.h. M= F= S.)
Dies wird" weiter- ausgedrückt durch die Fig. 73»7^-"'und 75/
wobei für die Fig. 73 gilt:. ■".·""
MCF und FCM und FCS
Λ MCS ■ ■".:'-■ ■■-- ■"■■',
mit a =■ Sätze der Kennzeichen»
Für Fig. Jh gilt: :
F(a')CF(a) | (a") | |
S(a)"CF(a) | (a") ; | |
aber | ""■■ MaJZ[F (a')^S | |
* | "■■ FLiaM-SL' | |
a'=a" | ||
Für Fig. 75 gilt: ^
Angenommen F=0=a"
dann M(a)CS(a)";
S(a")CM(a)
aber . F(a'
■■■Λ* MsCa)=Sg' (a"X
a=±a" 4 0 983 5/06
In V/orten ausgedrückt: wenn Gleichheit für alle Glieder aller
Ordnungen, einschließlich der Zeile, herrscht, müssen die
nächsten logischen Datensätze der Mutter-Änderungsdatei und
der Vater-Stammdatei verglichen werden. Wenn dann eine nachfolgende Ungleichheit nur bei der Zeilenordnung auftritt, kann dies nur dann geschehen, wenn eine Ungleichheit einer der
höheren Ordnungen der Kennzeichen zwischen der Änderungs- und der Vater-Stammdatei und der Zeile vorhanden ist.
nächsten logischen Datensätze der Mutter-Änderungsdatei und
der Vater-Stammdatei verglichen werden. Wenn dann eine nachfolgende Ungleichheit nur bei der Zeilenordnung auftritt, kann dies nur dann geschehen, wenn eine Ungleichheit einer der
höheren Ordnungen der Kennzeichen zwischen der Änderungs- und der Vater-Stammdatei und der Zeile vorhanden ist.
Allgemeiner ausgedrückt: die Anpassung der nächsten logischen
Datensätze ist unnötig, wenn die Zeilen-Ungleichheit zwischen der Vater-Stammdatei und der Mutter-Änderungsdatei, anschließend
an die Anpassung der Glieder der höheren Ordnungen der Kennzeichen auftritt. Es genügt, daß eine einmal aufgetretene
Gleichheit aufhört. Dies geht aus der folgenden
Tabelle und den Figuren hervor:
Tabelle und den Figuren hervor:
VATER-ÄNDERUNGS-SOHM-TABELLE 1O
VATER-STAMMDATEI (P) | 1 | Zeile | ÄNDERUNGSDATEI | (R) | SOHN-STAMMDATEI | 1 | 1 | 1 | 1 | (S) |
Kennzeichen | 1 | 1 ^ | Kennzeichen Zeile Kennzeichen Zeile | 2 | 1 | 1 | 2 | Ursprung | ||
1 | 2 | 2 /"» | ,2 1 | 3 | 1 | 1 | 3 | P | ||
1 | 2 | r2 1 | 1 | CVJ | 2 | 1 | P | |||
1 | 2 | 2 1 | 2 | 2 | 2 | 2 | P | |||
2 | 2 | '"1 .X^ i- ^s JQ |
2 2 | 1 | 2 | 3 | R | |||
2 | .2 2 | 2 | 2 | 1 | R | |||||
2 | 2.* J | 3 | 3 | 2 | 2 | R | ||||
2 | 3 y> | k3 | 1 | 3 | 1 | R | ||||
2 | 3 | 2 | R | |||||||
2 | ,5 | 3 | 3 | R | ||||||
3 | 2 */ | 4 | 1 | R | ||||||
3 | 3 | 4 | 2 | R | ||||||
VjJ | 1 | 4 | 3 | P | ||||||
4 | 2 | 5 | 1 | P | ||||||
4 | 3 | P | ||||||||
4 | R | |||||||||
409835/0649
In der obigen Tabelle zeigen die Pfeile eine Anpassung oder Gleichheit zwischen Sätzen aus Gliedern von identischen Ordnungen der hierarchischen Kennzeichen der Vater- und Mutter-Änderungsdateien
mit der resultierenden Sohn-Stammdatei, zusammen mit dem Hinweis, woher dieser logische Datensatz stammt,
von R oder P. Aus dieser Tabelle ist ersichtlich, daß der
logische Datensatz der Ä'nderungsdatei, z.B. {(2) (l) (3)/. in die Sohn-Datei "eingefügt" werden muß, zusätzlich zu
-1(2) (I)- (I)J--und\(2) (1) (2)} der Mutter-Änderungsdatei, wobei
eine Information wie diese in der Vater-Stammdatei nicht vor-,
handen war, während die logischen Datensätze der Vater-Stammdatei, die als {(!) (2) (3)} und {(2) (2) (4)} gekennzeichnet
sind, "entfernt" oder gestrichen werden müssen, in dem Sinn, daß sie nicht In die Sohn-Stammdatei ausgegeben werden, sondern
nur statistisch .auf dem Äusgabeband J>6 angeordnet werden.
ANALYSE DES BESONDEREN MISCHENS 33
Obwohl das besondere Mischen 33 tatsächlich als unabhängiges
Operationsprogramm auf den Ausgangsbändern 32 und 26 der
Fig. 1 geschrieben ist, ist dies nicht.unbedingt notwendig.
Tatsächlich würde das Verzahnen des besonderen Mischens 33
mit der WeIsungs-Analyse 30 die Erzeugung des Mutter-Änderungsband es 32 ersparen, ebenso die Erzeugung des Väter-Stammdatei-Bandes
26, und das Verfahren könnte entsprechend aus den Blöcken P4 und 30 des Rechners direkt nach '33 gehen. Trotzdem
ist es aus Diskussionsgründen zweckmäßig, das besondere Mischen 33 separat zu betrachten, und daß das Vater-Stammdatei-Band
26 und das Mutter-Änderungsdatei-Band 32,· die bereits früher als Ausgabebänder erzeugt wurden, nun als Eingänge für
das besondere Mischen 33 dienen. -
409835/0649
Vor der genauen Diskussion ist es zweckmäßig zu bemerken, daß " die. nachstehende Erläuterung bezüglich des besonderen Mischens
33 der Logik des Programmierverfahrens folgt und nicht notwendigerweise
der Folge des Programmabiaufplans und somit der
Programmiersprache. Damit soll das Verständnis gefördert und somit das anschließende Studium der Prqgrammablaufpläne erleichtert
werden, wodurch ein volles Verstehen der erfindungsgemäßen Ausführungsbeispiele erreicht wird.
Das Mutter-Knderungsdatei-Band 32 besteht aus natürlicher
Sprache mit gekennzeichneten Operanden sowie aus der auf die Operanden durchzuführenden Tätigkeit beim Codieren, vgl.
Fig. 17; die Vater-Stammdatei 26 ist nach Fig. 14 gekennzeichnet
(d.h. jeder logische Datensatz ist mit dem Satz aus Gliedern von hierarchisch geordneten Kennzeichen gekennzeichnet).
Beide eingegebenen Dateien, d.h, die Bänder, 32 und 26, haben
logische -und physikalische Datensätze von identischer Länge, nämlich einen logischen Datensatz aus ?Λθ Zeichen mit einer
Länge des physikalischen Datensatzes von 4800 und einer Dichte von 1600 BPI. Bei Anweisung 9000 der Fig. 52 wird ein
nicht dargestellter Kartenleser zusammen mit den Bändern 32 und 26, die in diesem Teil die entsprechenden Eingabebänder sind,
und zusammen mit den drei Ausgabebändern 35* 36 und 37 nach
Fig. 1 eröffnet. Diese drei Ausgabebänder zeichnen alle Auszüge -auf, die aus dem Vater-Stammdatei-Band 2.6, das für eine ·
visuelle Prüfung und als historischer Hintergrund für die neue Sohn-Stammdatei verwendet wird, die auf Band 35 erzeugt wird,
entfernt werden. Das Sohn-Band 35 ist die "neue" Stammdatei, die wiederum im Format der Vater-Stammdatci 26 erzeugt wird
(es kann anschließend als Stammdatei verwendet werden, um eine Enkel-Stammdatei mit einer anderen Mutter-A'nderungsdatei
zu erzeugen). Das dritte Band, Spool-Band 37i ist das V/ahl-Spool-Band,
das mit der Sohn-Stammdatei verbunden ist, und das als Druckquelle dient, aus der ein Hartkopie-Ausdruck der
409835/0649
236GQ23
Sohn-Stammdatei gebildet wird, vgl. Tabellen 9Λ und 9.5. Die
Länge des logischen Datensatzes des Sohn-Spool-Bandes 37 :
beträgt 133V bei einer physikalischen Satzlänge von 2660
χ 20) Zeichen, . / :/ \_ -"
Bei Anweisung 9OOI der Fig. 52 werden Leerräume zum Arbeitsbereich 32I- gebracht, und es ist nun zweckmäßig, zwei ■■■"-Markieruhgszeicheri
oder Steuerregister mit je einem Bit einzuführen, die beim Steuern des besonderen Mischens verwendet
werden; nämlich' eine Einlese-Gesetz-Register-Steuerung RIR.
Diese steuert den Zustand: wenn ein Einlesen· eines logischen
Datensatzes der Mutter-Knderungsdätei ausgeführt werden soll,
empfängt es einen binären Zustand 0, wenn das Lesen des logischen Datensatzes gesperrt werden soll, empfängt es den
binären Zustand 1. ' .- . "■-■:■■
40983 5/06 49
Das andere Steuerregister ist ein Einlese-Stammregister
RIM und im wesentlichen identisch zu RIR, arbeitet aber auf jenen logischen Datensatz der Vater-Stammdatei,der
sich gerade im Arbeitsbereich 34 befindet. Bei Anweisung
9002 wird die Mischen-Steuerkarte nach Tabelle 7.0 eingelesen, die hier dieselbe Steuerkarte ist, wie sie bei
der Weisungs-Analyse 30 verwendet wird.
Bei Anweisung 9OO3 werden die Seitenüberschriften für
Druckzwecke in der Sohn-Stammdatei ausgeführt, d.h. die
Seitenzahlen. Durch Anweisung 9090 nach Fig. 64 wird ein
weiteres Steuerregister aus einem Bit eingerichtet, das Kennzeichen-Gleich-Register COD-EQUAL, und auf 1 gesetzt,
wenn der Satz aus Gliedern der hierarchischen Ordnungen aus einem logischen Datensatz der Vater-Stammdatei gleich
und von identischem Wert ist zu dem logischen Datensatz der Mutter-A'nderungsdatei, oder genauer zum Operanden
des Eingabebandes 32; RIM wird durch die Anweisung 909I
der Fig. 64 ebenfalls auf 1 gesetzt, und der Arbeitsbereich 34 wird so angeordnet, daß durch die Anweisungen
9092 und 9093 die verarbeitete Information (die logischen
Datensätze) nicht nur auf das Spool-Band 37, sondern auch auf das Sohn-Stammdatei-Band 35 geschrieben wird. Diese
Information enthält den Texteil (den alten eingegebenen logischen Datensatz 140), der als logischer Datensatz
der Sohn-Stammdatei gekennzeichnet ist. Durch Rückkehrer! auf die Anweisung 9OI5 nach Fig. 54 wird der Zustand des
neuen Steuerregisters festgestellt, das das Lesen des
logischen Datensatzes der Stammdatei verzögert und deshalb RIM heißt, wobei das Bit 0 das Lesen der Vater-Stammdatei
verzögert und Bit 1 das Lesen erlaubt. Obwohl sein Zweck noch klarer wird, genügt es zusagen, daß in
Fällen, wo der in die Sohn-Stammdatei einzufügende Text
409835/0649
- 1OQ - '■"■--■
mehr von der Änderungsdatei (Operanden) als von der Vater-Stammdatei 26 abgeleitet wird, dieses Register
betätigt wird, um das Lesen oder Eirgeben eines anderen
logischen Datensatzes derVater-Stammdatei in den Arbeitsbereich
jH zu verzögern, bis alle logischen
Änderungs-Datensätze der dann ablaufenden Folge der Änderungsdatei verarbeitet und in der Sohn-Stammdatei
angeordnet ,;ind. Diese Verzögerung wird benötigt, weil
das Verfahren des Ausführungsbeispiels für wirkungsvollstes
Arbeiten Schwankungen der Eingabe von physikalischen
Datensätzen aus der Vateip-Stammdatei und der Mutter-Änderungsdatei
in' den Arbeitsbereich ~$h erfordert. RIM
kann verschiedene Werte ungleich Q haben, und wenn es
Werte ungleich Ό hat, wird das Einlesen des logischen
Datensatzes der Vater-Stammdatei in den Arbeitsbereich verzögert, wobei die Wertnummer von RIM den spezifischen
Grund für diese Verzögerung anzeigt. Wenn z. B- der Wert
von RIM gleich acht ist, wird die Verzögerung des Einlesens der Stammdatei gestartet und Anweisung 9036 der
Pig. 57 ausgeführt, wobei bemerkt wird, daß die Vergangenheitsprüfung ebenfalls in die Sohn-Stammdatei aufgenommen
werden muß, doch muß die Vergangenheitsprüfung am Ende
jener logischen Datensätze hinzugefügt werden, die in die
Sohn-Stammdatei eingefügt werden sollen, entweder nach
den logischen Datensätzen der Mutter-Änderungsdatei oder von den logischen Datensätzen der Vater-Stammdatei, so
daß die früher erwähnte VergangenheitsprUfung direkt in
den Daten der Sohn-Stammdatei vorgesehen wird, vgl. z.B.
Tabelle 9 3, Zeile (62 (1) (ca)); andernfalls, wenn RIM
8 , wird Anweisung 9016 ausgeführt. Wenn andererseits bei
der Anweisung 9OI6 das Register RIM gleich vier ist, hält
die Verzögerung aus anderen Gründen an, nämlich wegen
"Ende der latex", doch wird die Datei nicht geschlossen,
um ein vorzeitiges Ver.-trbeitungsende zu verhindern, d.h.
409835/0649
no -
360023
ein "Aufhängen", wie bereits früher erläutert wurde. Wenn RIM bei Anweisung tyOl6 gleich vier ist, werden die folgenden
Register bei 9017 neu bewertet, nämlich RIR = Ij RIM = O-j und zwei neue Register eingerichtet, nämlich
ein Register FEOM (Ende-Marke-Stammdatei), das die
Stammdatei steuert und offenhält, aber das Lesen der Stammdatei sperrt, so daß dann, wenn.es auf eine binäre
Eins eingestellt ist, das Register zum Offenhalten der Vater-Stammdatei, jedoch zum Sperren des Lesens daraus,
betätigt wird, und wenn es auf einen Wert 0 eingestellt ist, zum Schließen der Vater-Stammdatei betätigt wird.
Ein zweites Register, das Drucken-Stamm-Register PM,
das ebenfalls binäre Werte von 1 und 0 erlaubt, druckt die Vater-Stammdatei auf die Sohn-Stammdatei aus, wenn
sein Wert Eins ist, während es bei 0 das Drucken der Vater-Stammdatei auf die Sohn-Stammdatei 35 (und auf
das zugehörige Spool 37) sperrt«
Eine analoge Folge in bezug auf die Änderung von Daten aus der Änderungsdatei 32 zum Arbeitsbereich 3^ und auf
die Ausgabe-Sohn-Stammdatei 35 und auf das Spool 37, findet
in den Schritten 9068 bis 9070 der Fig. 6l statt. Bei Anweisung 907I wird erneut eine Prüfung für (OD-EQUAL = 1
durchgeführt d.h. ob die Werte der Glieder der Ordnungen der Kennzeichen der logischen Datensätze der Änderungs- und
der Vater-Stammdatei gleich sind; falls diese Bedingung erfüllt ist, wird Anweisung 9004 der Pig. 53 ausgeführt
(die sich daraus ergebenden Ergebnisse sind bereits früher beschrieben worden); andernfalls wird Anweisung 9072
ausgeführt, wobei ein reuer logischer Datensatz der Änderungsdatei in den Arbeitsspeicher eingefügt und anschließend
Anweisung 9036 der Fig. 57 ausgeführt wird.
409835/0649
Wenn nach Fig. 57 und nach Anweisung 9036 die Vater-Stämmdatei
an ihrem Ende und FEOM = 1 ist, ist es
nicht notwendig, die Vater-Stammdatei zu schließen*:
da während der Endverarbeitung ζ * B- in einem IBM
OS/360 - Rechner alle Dateien "offen" gehalten bleiben müssen, obwohl sie verbraucht sind; um sicherzustellen,
daß es kein "Aufhängen" gibt, sollte als Folge eines
Systemprogramms eine Datei, die verbraucht ist,- aufgerufen
werden. Wenn nach Fig. 54 der durch Anweisung
9OI6 geforderte Zustand;nicht erfüllt wird, findet bei '
Anweisung 90I8 folgendes statt: Ein neuer, logischer
Datensatz der Vater-Stammdätei wird in den Arbeitsbereich 3^ eingelesen. Es sei darin erinnert, daß in der
Datenvorbereitungsstufe ein Kleinbuchstabe "l" anstelle
der numerischen Eins verwendet wurde; hier wird nun eine Suche nach Zeichen wie "1" veranlaßt, die in dem hierarchischen
Kennzeichenfeld 122'. erscheinen und- durch Anweisungen
90I9 und 9020 in die numerische Zahl 1 geändert werden.
Dadurch wird das Problem umgangen, "graphische Zeichen"
bei den Operationen auf Kennzeichehfeidern behandeln zu
müssen, wenn diese tatsächlich Ziffern darstellen.. (Das '
ist eines der Probleme bei der Eingabe von Daten lh Groß-
und Kleinschreibweise mit runden und eckigen Klammern
und Unterstreichungen, - , da die eckigen Klammern [* 3
auf üblichen MT/ST-Schreibmaschinen als groß- und kleingeschriebene numerIsehe 1 dargesteilt werden). Die Systembegrenzungen
und die Schwierigkeit bei der Erkennung von "graphischen Zeichen" (Satz aus Kleinbuchstaben a.t b. .... z)
sind offensichtlich Diese Zeichensätze sind Sätze, die von selbst in EBC D I G beiseite gelegt werden-und
bei der Übersetzung eines Programmes durch einen-Rechner
wie IBM OS/560, der mit Zahlen (1 ...0) oder Großbuchstaben
(A, B, C ... Z) arbeitet, nicht verwendet werden.
409835/0649
Bei Anweisung 9o21 der Fig. 54 wird das Register RIM = 1
auf Eins gesetzt und dann bei Anweisung 9022, Fig. 55*
das Markierungs- oder Steuerregister, das auf die Änderungsdatei in ähnlicher Weise wie RIM -^u f die Stammdatei arbeitet
und somit Einlese-A'nderungsdatei-Register RIR heißt,
mit dem Wert Eins bewertet. Wenn dieses binäre Register auf 1 eingestellt ist, wird das Einlesen des logischen
Ä'nderungs-Datensatzes verzögert, während dann, wenn es
auf O eingestellt ist, ein neuer logischer Mutter-Änderungs-Datensatz
verarbeitet werden kann. Wenn nun bei Anweisung 9024 RIR = 0 ist, erfordert diese Logik ein Lesen einer
neuen Vater-Stammdatei und bewirkt ein Weitergehen auf
diese Anweisung 9004 nach Fig. 53* um dann von der Mutter-A'nderungsdatei
einen logischen Datensatz einlesen zu können. Nach Fig. 53 wird bei Anweisung 9OO5 der Zustand RIR ·=
eingestellt, nachdem bei 9004 der nächste Datensatz von der Mutter-Änderungsdatei eingelesen ist, um anzuzeigen,
daß der eingegebene logische Datensatz der Änderungskartei eingegeben worden ist. Bei 9006 und 9007 wird ein Folgeschritt
wie der Schritt von 9018 durchgeführt, aber auf der Änderungsdatei, nämlich die Änderung der alphabetischen
Kleinbuchstaben-Einsen in den hierarchischen Kennzeichen der Änderungsdatei in numerische Einsen. Bei Anweisung
9OO8 wird die Prüfung des Endes der Stammdatei erreicht, d.h. RIM = 4. Wenn diese Bedingung erfüllt ist, wird ein
neuer logischer Änderungs-Datensatz eingelesen, durch Rücksprung zur Anweisung 9004, andernfalls wird die nächste
Anweisung 9OO9 ausgeführt, um zu prüfen, ob der logische
Datensatz der Stammdatei gedruckt werden kann, d.h. PM = ausgeführt; und falls ja, wird Anweisung 9OI5 ausgeführt.
Wenn andererseits PM ungleich Eins ist (PM ^ I), prüft
9OIO, ob RIM = 0; falls diese Bedingung mit ja erfüllt wird,
wird dann damit fortgefahren, die Vater-Stammdatei durch Ausführung der Anweisung 9OI5 der Fig. 54 (in die Sohn-
409835/0649
Stammdatei) auszudrucken. Wenn andererseits das Register
RIM ungleich O ist, was bedeutet, daß ein eingegebener
logischer Datensatz der Vater-Stammdatei eingelesen werden kann, wird der Zeitrahmen gelesen, d.h. "Jahr", wie in
den Feldpositionen 28 bis 37 der Steuerkarte (Tabelle 7 0)
dargestellt ist, und dieser in einem speziellen Zeitrahmenspeicher ("Y.U."10" im Ablaufplan) im Arbeitsbereich
34- gehalten, mit dem die Snderungsciatei verbunden ist.
Anschließend wird bestimmt, ob der Jahrspeicher gleich, kleiner oder größer als das Zeitrahmendatum ist, d.h. Jahr,
Monat, Tag, die mit der Vater-Stammdatei über Anweisungen
9011, 9012 und 9013 der Fig. 54 verbunden sind. Dies wird
getan, um sicherzustelbn, daß-eine Mutter-Änderungsdatei
für eine Vater-Stammdatei nicht für einen ungeeigneten
Zeitrahmen angefertigt wird, und daß die Zeitrahmen der
Änderungsdatei, wie durch die Steuerkarte gesteuert, nur jene sind, die auf der Vater-Stammdatei ausgeführt werden
sollen, denn es ist manchmal üblich, in der Mutter-Änderungsdatei
32 eine Anzahl von sequentiell zeitgerahmten
Änderungen anzuordnen, während die "Fdrtschreibung" nur
auf jeweils eine davon angewandt wird.
40983 5/0649
Wenn z.B. angenommen wird, daß die Mutter-Änderungsdatei 32 mehrere Änderungen auf ihr seriell angeordnet hat, um eine
Stammdatei kontinuierlich zu ändern, können diese enthalten: jährliche,
monatliche oder tägliche Änderungen. Es wird nun angenommen, daß die zu bearbeitende Vater-Stammdatei ein
Zeitrahmen-Datum 1. Januar i960 hat und auf 1963 fortgeschrieben
werden soll, und weiterhin, daß mehrere Änderungen in der Mutter-Änderungsdatei bei verschiedenen jährlichen Zeitrahmen
vorhanden sind, d.h. Änderungen der Vater-Stammdatei für 19^3*
eine weitere zeitgerahmte Änderung für 1964 und weitere für
1965, 1966, 1967 usvi. Man möchte wissen, was tatsächlich I963
vorhanden war, d.h. wie der Stand der Stammdatei war. Es ist deshalb nur notwendig, die Vater-Stammdatei durch Implementation
von zeitgerahmten Fortschreibungen zu ändern, z.B. für die Mutter-Änderungen von I963 und 1964, siehe Tabellen 9.2
und 9-4, die folgenden Änderungen 1965* I966 usw., obwohl
dies auf dem Änderungsband 32 nicht notwendig und tatsächlich
nicht gewünscht wird. Die durch die Steuerkarte gegebene Auswahlinformation, Tabelle 7, Positionen 28 und 29, erlaubt die
Implementation eines besonderen Mischens 33 der Mutter-Änderungsdatei
Tabelle 9.2, 1963, auf die Vater-Stammdatei, um eine Sohn-Stammdatei (auf I963 fortgeschrieben), Tabelle 9·3*
zu erzeugen und infolgedessen die Implementation der Mutter-Snderungsdatei
I963, Tabelle 9.4, auf der Sohn-Stammdatei, Tabelle 9.3, um eine Enkel-Datei zu erzeugen (fortgeschrieben
auf 1964), Tabelle 9·5* die diese Information durch die
Steuerkarten-Zeitrahmen 28 und 29 trägt. In diesem Fall ist ersichtlich, daß zwei Läufe für das besondere Mischen 33 erforderlich
sind.
Falls die Zeitrahmen gleich sind, falls z.B. der Steuerkarten-Zeit
rahmen nach Tabelle 7·0 gleich ist zu jenem der Snderungsdatei 100 nach Fig. 14 und 17 und der Stammdatei,
0 9835/064 9
236QQ23
wird die Stammdatei verarbeitet, da sie bereits forgesehrieben
ist; wenn der Steuerkarten-Zeitrahmen gleich ist zu jenem
der Ä'nderungsdatei, aber größer als jener derStammdatei, wird
die Ä'nderungsdatei auf der Stammdatei verarbeitet (mit dieser gemischt); wenn die Steuerkarte kleiner ist als die der
finderungsdatei, ist der Zeitrahmen der-Fortschreibung bereits überschritten und die Stammdatei wird bei Anweisungen
9011, 9012 bzw. 901-3/ nach Fig. 55 und 54 ausgegeben. Auf
diese Weise wird die Steuerung der "Fortsehreibung", gesichert, wenn die Änderungsdatei Unter-A'nderungsdateien mit verschiedenen
Zeitrahmen hat. Es wird angenommen, daß die verwendete
Vater-Stammdatei die "korrekte" Datei ist, d.h. die Datei,
die fortgeschrieben werden soll.
Es soll festgestellt werden, daß in den- Programmablauf planen
dieses Teils alle sequentiellen Operationen und Untersuchungen,
die durchgeführt.werden, im Hinblick auf jeden
logischen Datensatz .der Mutter-Änderungsdatei und mit jedem
logischen Datensatz der Vater-Stammdatei durchgeführt werden, die zu irgendeiner Zeit im Arbeitsbereich 34 von Fig.l
angeordnet sind. Falls bei Anweisung 9013 von Fig. 5^ der
Zustand vorliegt, daß das Steuerkartenjähr und das Jahr der
Änderungsdatei ungleich sind, muß bestimmt werden, ob das Steuerkarten jähr größer ist als das Ä'nderungsdatei- Jahr, in
welchem Fall der nächste logische Datensatz der Änderungsdatei eingelesen .wird, bis eine Anpassung der Jahr es ordnungvorhanden
ist; sodann folgt Anweisung 9004 nach. Fig. 53- Wenn
andererseits bei Anweisung 9013 das Änderungsjahr kleiner ist
als das Steuerkarten-Jahr, wird durch Anweisung 9014 das
Register PM = 1 eingestellt, worauf auf die Anweisung 9090
der Fig. 64 übergegangen wird und der logische Datensatz der
Vater-Stammdatei in die Sohn-Stammdatei ausgedruckt wird, "■■;":
40S83 5/0649
und anschließend wird in 9004 der nächste logische Datensatz der Änderungsdatei eingegeben, worauf der Zyklus fortgesetzt
wird. Wenn bei der Anweisung 9013 clas Änderungsdatei jähr
größer ist als das Steuerkartenjahr, wird der Zyklus fortgesetzt, indem wie beschrieben zur Anweisung 9015 fortgeschritten
wird, bis die erwähnte Anpassung vollzogen ist.
Bei Anweisung 9024 der Fig. 55 wird geprüft, ob der Zustand RIR ungleich Eins ist (RIR = 0), d.h. ob es nicht
möglich ist, einen logischen Datensatz der Mutter-Änderungsdatei
einzulesen.Wenn diese Bedingung nicht erfüllt wird, Werden die Anweisungen 9025 - 9035 der Fig. 56 ausgeführt,
um eine statistische Analyse der Verarbeitungsschritte vorzubereiten, die zur Ablage auf Spool 37 durchgeführt wurden.
Diese zehn Schritte prüfen allgemein, welche Kennzeichen-Ordnung sich durch die Einwirkung der Mutter-Änderungsdatei
auf die Vater-Stammdatei und die Sohn-Stammdatei geändert
haben. Die Ausgabe dieser Analyse, die in keiner Figur dargestellt ist, vgl. jedoch Tabelle 9 (Boden jedes Sohnes,
Enkels und Urenkels usw.) zeigt die gesamte Anzahl von Änderungen an, die für jede der verschiedenen Ordnungen der
hierarchischen Kennzeichen gemacht wurden, und erzeugt somit ein statistisches Ergebnis der Gesamtzahl von Änderungen,
die während einer Änderung auf der Vater-Stammdatei in der Mehrzahl der Ordnungen der Kennzeichen gemacht wurden. Zusammenfassend
wird eine Gesamtzahl von Änderungen erhalten, die in jeder "NachbarUmgebung" durchgeführt werden, d.h. auf
Paragraphen, Unter-Paragraphen usw. der hierarchischen Kennzeichenfelder.
Mit einer derartigen Analyse, die als Teil der Abschlußinformation in Bezug auf die Sohn-Stammdatei erhältlich
ist, ist eine verhältnismäßig einfache Methode zur visuellen Feststellung für jeden Fehler, der während des besonderen
Mischens 33 erzeugt worden sein kann.
Bei Anweisung 904l, Fig. 57* wird das besondere Mischen
409835/0649
gestartet und das Prüfen des logischen Änderungs-Datensatzes
im Arbeitsbereich gegenüber dem logischen Datensatz der Vater-Stammdatei
gemäß der Entscheidungstabelle 1 - 5 und gemäß der Baumstruktur von Fig. 18; die Ausführung ist in den Anweisungen 9O4l - 9058.der Fig. 57--" 60 des Programmablaufplans
dargestellt. Weitere Information in Bezug auf diese Misch-Logik
kann der Tabelle j5.O: "Hierarchisches Anpassen" entnommen werden. Die genaue Operation von Tabelle 3·Ο und des
Programmablaufplans, Anweisungen 9O1I-I - 9O4j5,, wird in Bezug
auf Paragraphen-Ordnungs-Kennzeichen erklärt, da der Operationsablauf für die anderen diskreten Ordnungen der Kennzeichen
(Ordnungen 3"-- 9) im wesentlichen dasselbe ist.
Bei Anweisung 9O4l der Fig. 57 werden die Glieder der
Paragraphen-Ordnungs-Kennzeichen des logischen Datensatzes
für die Mutter-A'nderungsdatei geprüft (im folgenden "Paragraph der Mutteränderung"genannt), um zu bestimmen, ob
sie gleich sind zum Paragraphen der Vater-Stammdatei; bei Gleichheit wird auf die Anweisung 9044 der Fig. 58 weitergegangen,
um die Gleichheit der Unter-Paragraphen zu prüfen. Falls die Anweisung 9041 falsch ist, wird bei 9042 geprüft,
ob der Paragraph der Mutteränderung größer ist als jener
der Vater-Stammdatei; falls ja, werden die Anweisungen 909° ~
9093 der Fig. 64 ausgeführt, iim den logischen Datensatz der
Vater-Stammdatei auf die Sohn-Stammdatei auszudrucken; wenn
jedoch andererseits die Anweisung"falsch" ist, wird geprüft,
ob der Paragraph der Mutter-Änderung geringer ist als der
Paragraph der Vater-Stammdatei, und in diesem Fall wird die
Mutter-Ä'nderungsdatei durch Fort schreiben zur Anweisung 9068
der Fig. 6l und anschließend zur Anweisung 9073 ausgedruckt,
in Übereinstimmung mit dem, was bereits früher im Zusammenhang mit der Vater-finderungs-Sohn-Tabelle 10 erläutert wurde.
4 0983 5/064 9
Nun wird die Anweisung 9059 der Fig. 6o ausgeführt und geprüft, ob "repealed" ("aufgehoben") auf dem logischen
Datensatz der Änderungsdatei aufgezeichnet ist, gefolgt von dem Markierungszeichen) falls ja, werden die
Anweisungen 9095 - 9099 der Fig. 65 ausgeführt, die
aus der Vater-Stammdatei den logischen Datensatz entfernen, der den aufgehobenen Paragraphen enthält. Nach Fig. 65
wird bei den Anweisungen 9095 und 9096 die Weisungs-Referenz
hinsichtlich des Wortes "repeal" (aufheben) geprüft, das sich im Arbeitsbereich-1 befindet. Dieses wird zusammen mit den Weisungs-Kennzeichen in einen anderen Speigebracht
den
cherbereich des Arbeitsbereichs, nämlich in Vergangenheits-Speicher
HTS, um einen Teil der Vergangenheitsprüfung 205 zu bilden, die am Ende dieser logischen Datensätze, die
durch das besondere Mischen geändert werden (beim Vergleich der Vater- mit der Sohn-Stammdatei), in die Sohn-Stammdatei
eingefügt wird. Dies wird erreicht durch Einfügen der Vergangenheitsprüfung
205 als ein logischer Datensatz am Ende
der logischen Datensätze, vgl. Fig. 19* wo die Vergangenheitsprüfung
205 ist: "1962, C.031, Weisung 1" und der
logische Datensatz {(094) (6o).(l) (ca) (11)}, siehe auch
Tabelle 9·5· Dies wird erreicht, indem Leerräume zum Ausgleich des Aufzeichnungs-Arbeitsbereiches übertragen und
dieselben in die Sohn-Stammdatei 35 ausgegeben v/erden. Bei der Anweisung 9097 der Fig. 65 wird die im Vergangenheitsprüfungs-Speieher
205 enthaltene Information in den Aufzeichnungs-Arbeitsbereich übertragen und die Sohn-Stammdatei
wird durch die Ausführungs-Anweisungen 9068 - 9070 der
Fig. 6l mit der zugehörigen Vergangenheitsprüfung gedruckt; danach wird ein neuer logischer Datensatz der Ä'nderungsdatei
gelesen, Anweisung 9097* indem zu den Anweisungen 9004 9008
der Fig. 53 weitergegangen wird. Es soll festgestellt
werden, daß, obwohl die Vergangenheitsprüfung als ein Anfangsstück von Information in Bezug auf jede Änderung für die
Vater-Stammdatei erscheint, d.h. als der erste logische Da-
40983 5/0649
tensatz der Mutter-Änderungsdatei, sie nicht verwendet wird,
bis die Verarbeitung der angepaßten Glieder für. jede Ordnung
der hierarchischen Kennzeichen der logischen Datensätze der
Vater-Starrandatei und Mutter-Änderungsdatei durchgeführt ist; deshalb ist es notwendig, die Vergangenheitsprüfung im Aufzeichnungsarbeitsbereich zu speicher, während ständig aufeinanderfolgende
logische Datensätze der Mutter-Änderungsdatei gelesen werden, um die aktuelle Änderung durchzuführen
(oder Datensätze der Vater-Stämmdätei, je nachdem)j nachdem
die Verarbeitung fertig ist, kann die Vergangenheitsprüfung im Aufzeichnungs-Arbeitsbereich erhalten werden (Vergangen—
he its.prüfungs-Speicher . 205:)>
:um anschließend als ein logi
scher Datensatz am Ende der Änderungsdatei für diesen Teil
der Vater-Stammdätei eingefügt zu werden.
Bei-Anweisung 9098 wird der logische Datensatz der Vater-Staimndatei
geprüft, um zu sehen, welche Ordnungen Glieder enthalten, so daß bestimmt werden kann, welche logischen
Datensätze der Vater-Stammdai^ei bearbeitet werden müssen.
Falls keine derartige Information vorhanden ist,, d.h. falls die Glieder der Ordnungen der hierarchischen Kennzeichen fehlen, muß zur Anweisung 9036 der Fig. 57zurückgekehrt werden.
Durch die Anweisung 90.98 wird der Wort-Arbeitsbereich—1
abgefragt, ob ein Aufhebungs-Code oder irgendein anderer Code "r", "N",*, * ., usw. vorhanden ist." Der Ablauf plan zeigt
das Ergebnis eines Aufhebungscodes"r" in COD-7 wodurch bei
9099 die Aufhebung auf die Vater-Stammdatei arge-
wendet wird, falls dies der Fall ist. Die Anweisungen 9170
derFig. 71 wie 9018 - 9021 der Fig. 5Λ bringen Leerräume in ■
den Arbeitsbereich der Vater-Stammdatei im Arbeitsbereich 34;
sodann viird Anweisung 9098 ausgeführt. Bei der Anweisung 9096»
die nach einer Prüfung des Wort -Arbeitsbereichs-Eins durchgeführt
wird., wird nachgesehen, ob das "Aufheben" tatsächlich
die durchzuführende Tätigkeit ist/ falls dies nicht festgestellt wurde, wird bei 9060 und 9061 der Fig. 60 bezüglich
der Änderungswörter geprüft, die in einem logischen Datensatz der Vater-Stammdatei eingefügt, gelöscht oder ausgetauscht
werden, nämlich bezüglich AUSWORT, EINWORT, TAUSCH-
409835/0649
WORT. Mit jedem dieser Anderungswörter ist es notwendig,
bei Anweisimg 9100 der Fig. 66 ein neues Programm zu beginnen..
Es kann festgestellt werden, daß die Ablaufplan-Hinweise "Bill-Ill", "BiIl-I12" und "BiIl-I13", Anweisungen
9059, 9060 und 906I derFig.. 60 Programmeodier-Bezeichnungen
für bestimmte Zeichenpositionen in RCR sind, die nicht genau erläutert werden müssen, um die Ausführungsbeispiele
der Erfindung zu verstehen. Weiterhin, wo sioh die Ablaufplan-Anweisungen auf "BiIl-..." „beziehen,
bezieht sich dieses auf irgendeine Art von benachbart angeordneten Zeichen im eingegebenen logischen Datensatz l4o,
alpha-numerisch, oder ein Tätigkeitswort von der Feldsuch-Steuerung,
Tabelle 8.0;andererseits bezieht sich "COD-..." auf ein Kennzeichen nur innerhalb des eingegebenen logischen
Datensatzes; deshalb sind in Fig. 4o die "COD-..." die Kennzeichen-Glieder
im logischen Datensatz, die zu ihren entsprechenden Speicherzellen gebracht werden.
Bis hierher sind die Glieder der verschiedenen Ordnungen der Kennzeichen aus logischen Datensätzen der Mutter-Ä'nderungsdatei
und der Vater-Stammdatei gleich oder angepaßt. Bei Anweisungen 9100 - 9103 der Fig. 66 und 67 wird
geprüft, daß alle notwendigen Bedingungen gleichzeitig erfüllt werden in Bezug auf Wörter, was bedeutet, daß dort
eine von drei verschiedenen Operationen vorhanden ist, die gefordert werden kann.
(i) AUSWORT: Die Entfernung eines Wortes aus einem logischen Datensatz der Vater-Stammdatei,
(ii) EINWORT: Die Einfügung eines Wortes in einen logischen
Datensatz der Vater-Stammdatei,
(iii) TAUSCHWORT:Das Ersetzen eines Wortes im logischen
Datensatz der Vater-Stammdatei mit einem verschiedenen Wort, so daß das verschiedene Wort in diesem logischen Datensatz
erscheint, wenn der Datensatz einen Teil der Sohn-Stammdatei bildet.
4098 3 5/0649
Fall 1: EINWORT
Bei Anweisung 9100 der Fig. 66 wird der EINWORT-Code geprüft,
der einzelne Stern im Textteil des logisehen Änderungs-Datensatzes
j und bei 9101 von Fig. 67 wird weiterhin geprüft der Datensatz für dieses "Schlüsselwort", das mit EINWORT
verbunden ist, so daß das EINWORT durch das Schlüsselwort
an die korrekte Lage in der Vater-Stammdatei angeschaltet wird. Mit Bezug auf Fig. % z.B. falls das EINWORT "Jacob"
eingefügt werden muß in die Vater-Stammdatei nach einem spezifischen Wort, das als "Schlüsselwort" der Vater-Stammdatei bezeichnet wird, werden das EINWORT und das Schlüsselwort wie
gezeigt in einem logisehen Datensatz der Mutter-Änderungsdatei
aufgezeichnet (zusammen mit nicht gezeigten Kennzeichen).
Es ist das Schlüsselwort, naclnjdem in der Vater-Stammdatei gesucht
wird, so daß die Position bei der Lage des EINWORTES
Jacob bestimmt werden kann. Mit Bezug auf Flg., 68 werden bei Anweisung 9102 die Zeile der Vater-Stammdatei und die .Mutter-Änderungsdatei
auf Gleichheit geprüft. Bei 9105 wird diese
Zeile der Vater-Stammdatei bei Gleichheit analysiert, und zwar Wort für Wort für das Schlüsselwort, so daß das EINWORT
in die Vater-Stammdatei in der richtigen Position eingefügt werden kann, wie oben erklärt ist, d.h. nächst benachbart
zum Schlüsselwort. Wenn diese Bedingung erfüllt ist, d.h. das Schlüsselwort gefunden, wird ein neues Steuerzeichen, FLAG-IN* '
bei 91O4 eingerichtet und auf Eins gesetzt. Dieses FLAG-IN
zeigt genau an, wann das EINWORT auf dem logisehen Datensatz der Vater-Stammdatei ausgeführt werden muß. Bei Anweisung 9105
wird der Änderungs-Datensatz entfernt und anschließend der
nächste Änderungs-Datensatz in den Arbeitsbereich eingefügt,
der die Vergangenheitsprüfung enthält, zusammen mit dem ElNWORT, d.h. die Durchführungs-Anweisungen 9004- - 9008 von Fig. 53·
Bei Anweisung 9106 wird das Schlüsselwort, das aus" der Mutter-
40983570649
Änderung WR kommt, gegenüber dem Schlüsselwort geprüft, das
in der Vater-Stammdatei WM bleibt. Wenn keine Anpassung vorhanden ist, wird nach 91OÖA fortgeschritten, indem 1. zum Wortzeiger
WPM in der Vater-Stammdatei addiert wird, bis der logi-'
sehe Datensatz der Vater-Stammdatei Wort für Wort gesucht worden ist und das Schlüsselwort gefunden ist. Wenn eine
Schlüsselwort-Anpassung erhalten ist, wird RIM = O gesetzt
bei 9107 und zur Anweisung 9108 fortgeschritten und das
EINWORT in die Stammdatei eingefügt (Schlüsselwort (i) + 1 = EINWORT) und nach Anweisung 9068 der Fig. 6l fortgeschritten,
um den Datensatz der geänderten Stammdatei in die Sohn-Stammdatei 55 auszudrucken.
Fäll 2: AUSWORT ·
Wenn nun bei Anweisung 910^ oben die folgenden Bedingungen,
Stern, EINWORT, Markierungszeichen nicht erfüllt sind, siehe Fig. 7, wird zu den Anweisungen 9III und 9112 von Fig. 66 und
67 fortgeschritten und auf Stern, Stern, AUSWORT, Markierungszeichen geprüft, siehe Fig. 8. Bei Anweisungen 9III und 9112
wird geprüft, ob die Zeile der Mutter-Änderungsdatei, die den doppelten Stern hat, diese Zeile der Vater-Stammdatei
anpaßt (die dieselben hierarchischen Nummern hat). Wenn die Antwort ja ist, wird ein neues Markierungszeichen-Register
gesetzt, FLAG-OUT = 1, und zwar durch Anweisung 9HJ5>
und es werden Leerräume in den logischen Änderungs-Datensatz gebracht
und der nächste logische Änderungs-Datensatz gelesen, der die Vergangenheitsprüfung enthält, und zwar durch die
Durchführungs-Anweisung 9114. Bei Anweisung 9115 wird geprüft,
ob das Wort in der Vater-Stammdatei bei PWM gleich AUSWORT ist, und falls nicht, wird zur Anweisung bei 9H5A gegangen
und durch Addition von 1 bei 9115A zu PWM positionell Wort für Wort über den eingegebenen logischen Datensatz der Vater-Stammdatei
übertragen,um dann über 9115 zurAnv/eisung 9116
zurückzukehren. Durch dieses Programm wird Wort für Wort über den logischen Datensatz der Vater-Stammdatei weitergegangen,
409835/0649
bis eine Anpassung gefunden ist, die anzeigt, daß das nun
angeschaltete V/ort in der Vater-Stammdatei ein A US WORT ist.
Dann werden durch Anweisung 9116Leerräume indas AUSWORT
der'Vater-Stammdatei gegeben und die 'Vater-Stammdatei (-PWM)
gedruckt und somit die Vergangenheitsprüfung durch Ausführen yl 17j bei Anweisung 9H8 wird; ein .Lesen des nächsten
logischen A'nderungs-Datensatzes durchgeführt, indem 9004
bis 9008, Fig. 53.» ausgeführt werd.en> und sodann wird zur
Anweisung 9036 von Fig. 57 zurückgekehrt.
' Nun ist aus den obigen beiden Beispielen mit Bezug auf
EINWORT -und AUSWORT ersichtlich, daß dann, wenn eine EINWORT-
und AUSWORT-Funktion durchgeführt werden, die Länge der Nummer aus Zeichen im logischen Datensatz geändert wird, entweder erhöht (EIlWORT) oder erniedrigt (AUSWORT) .,Wie später
gezeigt wird, wird diese Änderung in einem Unterprogramm vorgenommen.
"-'.-.- " .
Fall 3: TAUSCHWORT-. - '_""-._ '';]. J- _■/■ ■■■'"':
In diesem Fall treten EINWÖRT und AUSWORT zusammen auf. .---Zuerst
wird geprüft, ob die beiden Bedingungen dieser .Weisungs—Änderung
existieren, nämlich ein einzelner Stern, ge- :
folgt von EINWORT, gefolgt von einem Markierungszeichen, gefolgt
von zwei Sternen, gefolgt von AUSWORT, gefolgt von einem Markierungszeichen, die genauer in Fig, 9 dargestellt ist. In
diesem Fall muß nur jenes Wort in dem logischen Datensatz der
"Vater-Stammdatei gefunden .-werden, der mit der Zeile verbunden
ist, da der logische. Datensatz der Stammdatei das ÄUSWORT
enthält, und das AÜSWORT kann als Schlüsselwort verwendet
werden. Nun wird durch Anweisung 9122 der Fig. 67 eine Eins
zum Markierungszeichen CHANCE gebracht und der Arbeitsbereich
einem Wortspeicher-Änderuhgsbereich WSR heu zugeteilt.. Der
nächste Schritt ist das Spurhalten von AUSWORT, so daß es auf das Spool 36 ausgegeben wird, zusammen mit dem Kenn- ■
zeichen, das mit diesem Wort für visuelle Prüfung verbunden ist· danach wird das EINWORT in die Stammdatei gegeben, wo
40 98 3 5/06 49
zuvor AUSWORT vorhanden war. Das EINWORT hat auf der einen
Seite zwei Sterne angeordnet, auf der anderen Seite ein Markierungszeichen, es befindet sich in der Mutter-Ä'nderungsdatei,
wie bereits früher anhand Fig. 9 dargestellt wurde. Bei Anweisung 9123 .von Fig. 67 werden die Wortlängen von
EINWORT und AUSWORT für jede mögliche Längenänderung gleich gemacht (es ist ersichtlich, daß dann, wenn das EINWORT
zu lange ist, es den logischen Datensatz der Sohn-Stammdatei überlaufen kann, weshalb es an seinem Ende abgebrochen
wird, so daß ein Verlust an Information und Einheitlichkeit entsteht; wenn das EINWORT andererseits kürzer ist als das
ÄUSWORT, ist ein größerer Abstand zwischen dem EINWORT und dem nächst folgenden Wort in der Sohn-Stammdatei vorhanden,
so daß dann, wenn es angezeigt oder ausgedruckt wird, der logische Datensatz nicht übersichtlich ist). Wenn bei Anweisung
9123 EINWORT und AUSWORT nicht angepaßt sind, wird 1
bei Anweisung 9124 zu WM(I) addiert, um die Vater-Stammdatei Wort für Wort durchzugehen und zu versuchen, eine Anpassung
zu erzeugen. Wenn eine Anpassung vorhanden ist, wird bei Anweisung 9127 die Längendifferenz zwischen EINWORT und AUSWORT
festgestellt. Bei 9125 zählt ein spezieller Zeichen-Zeilen-Zähler,
der "Zeile-Stamm-sub-l" LM(I), die Zeichenposition der ganzen Zeile, um zu bestimmen, ob der logische Datensatz
der Sohn-Stammdatei mit EINWORT größer oder kleiner ist als
die erlaubte Länge des logischen Datensatzes, d.h. 72.
Mit Bezug auf TAUSCHWORT nämlich "councillors" (Berater) für "officers" (Bediensteter) in Tabelle 9.5, Seite 9, Zeile
{(12)(1)(27)(5)j , das Paragraph 12, Absatz 27 der Stammdatei
betrifft, wird nun mit Hilfe der obigen und folgenden Diskussion geändert.
Bei genauer Diskussion dieses Verfahrens ergibt sich, daß es bei Anweisungen 9125 - 9127 durchgeführt wird, wenn ein
spezielles Speicherregister mit dem Namen "Differenz" eröffnet wird, indem die unterschiedliche Länge zwischen EINWORT und
409835/0649
AUSWORT gefunden wird. Bei Anweisung 9128 von Fig. 69 wird
geprüft, ob die Differenz Null ist (EINWORT und AUSWORT wären dann gleich lang), und es wird ein Wechsel vorgenommen
(M = das Wort der neuen Änderungsdatei und in WNBS gespeichert).
Das EINWORT wird in WMBS gebracht und bei Anweisung 9I30 von 9OI8 - 9021 der Fig. 54 ausgeführt, um die
Sohn-Stammdatei auszudrucken,· sodann bei 9015 fortgesetzt,
um in den Wort-Arbeitsbereich-l einen neuen logischen Datensatz
der Vater-Stammdatei einzubringen^ mit MIR = 1. Wenn die Differenz ungleich Null ist, muß geprüft werden, ob sie
kleiner ist als bei Anweisung 913OA (EINWORT kleiner in Länge
als AUSWORT); deshalb wird ein Wechsel der Wörter EINWORT und AUSWORT vorgenommen und der logische Datensatz der Ä'nderungs-Stammdatei·
bei Anweisung 9150 gekürzt, indem das Markierungszeichen
oder die Maske eingestellt wird, so daß das Wort bestimmte Feldpositionswerte hat, d.h. WNSBj anschließend
wird auf 915I zu den Ausführungs-Anweisungen 9018 - 9021 übergegangen.
Anschließend wird bei Anweisung 9152 der Fig. 70
RIM = 0 eingestellt und dann auf 9015 zurückgekehrt.
Wenn jetzt die Differenz größer als Null ist, also die
Anweisung 9132 vorliegt (wobei die Zeile der Stammdatei (I)
gleich der Zeile der.Stammdatei (i) plus der Differenz ist),
muß man ermitteln, wie groß der neue logische Datensatz für die Sohn-Stammdatei sein wird, wenn das EINWORT in diesem
logischen Datensatz anzuordnen ist, und ob tatsächlich dieser
logische Datensatz jetzt eine größere Länge als die bevorzugte
72-Zeichen-Länge aufweist. Bei der Anweisung 913^ wird überprüft,
ob der Wert dieser Gleichung kleiner als 72 ist, d.h.,
ob weniger als 72 Zeichen des logischen Datensatzes zur Anordnung
auf der Sohn-Stammdatei 55 mit darin eingeordnetem
EINWORT vorhanden sind. Wenn der Wert nicht kleiner als 72
ist, wird zur Anweisung 915O übergegangen,dam, wenn er größer
als 72 ist, muß ein Ausschluß bzw. eine Justierung des logischen Datensatzes der Stammdatei (und ggf. folgender logischer
4 09835/0649
Datensätze der Stammdatei) vorhanden sein, so daß die Informations-Integrität
der Daten aufrechterhalten wird, · wenn EINWORT in die Sohn-S.tammdatei 55 gelangt. Wenn der Wert (I plus
Differenz) größer als 72 angelegt ist, wird EINWORT in den " Arbeitsbereich gebracht, der dem logischen Datensatz der Sohn-Stammdatei
zugeordnet ist, und es wird·eine neue Speicherung im Arbeitsbereich eröffnet, so daß der Ausgleich dieses logischen
Datensatzes (oberhalb 72) dort durch die Anweisung 9136
von Pig. 70 angeordnet werden kann. Diese zusätzliche Speicherung
enthält die Zeichen der Differenzlänge des Stararadatei-Zählersj,
d.h. (LM-72) und die Zeichen ebenso wie deren Anzahl, die im nächsten logischen Datensatz der Sohn-Stammdatei als
ein Ergebnis des "Überlaufs" bekanntlich unterzubringen sind. Nur diejenigen ganzen Wörter, die sich im Speicher des Jogischen
Datensatzes der Vater-Stammdatei befinden, und die insgesamt 72 Zeichen (gegebenenfalls mit Zwischenräumen) oder weniger
werden von diesem Speicher in den logischen Datensatz der Sohn-Stammdatei als Ergebnis der Anweisung 9150 bewegt, und
der Überschuß von 72 (LM-72) bleibt im Speicher; bei der Anweisung 9139 wird der nächstfolgende logische Datensatz der
Vater-Stammdatei jetzt in den Arbeitsbereich gebracht, wie anhand des Flußdiagramms bei den Anweisungen 9139* 9140 und
9136 erläutert wird. Dies wird alles zusammen erreicht durch
Ausführen und Lesen der Anweisungen 91^7 und 9I38 auf einem
neuen logischen Datensatz der Vater-Stammdatei, und in eine Speicher-Restzeile durch die Anweisung 91^6 gebracht bzw. gespeichert.
Der Speicher enthält jetzt den Überlauf vom vorhergehenden Datensatz, d.h. LM-72, und zum rechten Ende am
nächsten den nächstfolgenden logischen Datensatz von der "Vater-Stammdatei.
Danach geht man zur Anweisung 9140 über, um nachzuprüfen,
ob diese neue Zeile des logischen Datensatzes der Vater-Datei zusammen mit den zusätzlichen Wörtern vom vorhergehenden
logischen Datensatz (was ursprünglich in der Speicher-Rest-Zeile war) eine größere Länge als 72 Zeichen aufweist.
Wenn sie kleiner als 72 Zeichen ist, geht man zur Anweisung 915I
409835/0649
-■; 127 - CV :
über, um den Datensatz auszugeben, jedoch andererseits, wenn
sie größer als 72 Zeichen ist, muß der Zyklus des Abtrennens
der zusätzlichen" Wörter über 72 Zeichen hinaus und ihr Anordnen
in der Speicher-Rest-Zeile wiederholt werden, und der
Zyklus muß wiederholt werden durch Zurückgehen zur Anweisung
9136, bis der Zyklus so bestimmt ist, daß in der Speicher-: .
Rest-Zeile weniger als 72 Zeichen bei der Anweisung 9140
sind. " ". ,' ■".;: ; .-■"■"■-
Es sei jetzt wieder Fig. 60 betrachtet und die Anweisung
906I; wenn diese falsch ist, wird direkt zur Anweisung 9062
übergegangen, um festzustellen, ob die Glieder der hierarchischen
Ordnungen der Zeile des logischen Änderungsdatensatzes
gleich denen der hierarchischen Ordnungen der Zeile der Vater-Stammdatei
sind, und falls dies der Fall ist, wird zur Anweisung 9077 der Fig. 62 übergegangen und das Markierungszeichen
RIM=O und Code-EQUAL =1 gesetzt, um dadurch die Anweisung 9078 auszuführen, d.h. 9018 - 902I; d.h., in die Sohn-Stammdatei
den geeigneten logischen Datensatz auszudrücken und
dann die Zwischenräume in den Arbeitsbereich des logischen Datensatzes
der Vater-Stammdatei zur nachfolgenden Verarbeitung
zu bewegen^ indem zur Anweisung 9068 von. Fig. 6l übergegangen
wird. Auf diese Weise werden die Datensätze tatsächlich ausgegeben. ""■"■.- - ""-,.-"..-■■ "".-/"_
Wenn andererseits die Zeilen nicht gleich sind bei der
Anweisung 9062, (NEIN),wird zur Anweisung 906IA. übergegangen,
um zu überprüfen, ob die hierarchisch geordneten Kennzeichen des logischen Anderungsdatensatzes kleiner als die der Stammdatei
sind, und falls dies festgestellt wird,: wird zur Anweisung
9Ö62A übergegangen, um das Markierungszeichen RIM = 0 zu setzen, und dann zur Anweisung 918O von Fig. 71, wo die
Zwischenräume bzw. Durchschüsse in den Speicher des logischen
Datensatzes der Stammdatei bewegt werden, wonach aus diesem
Speicher in die Sohn-Stammdatei .gedruckt und in den Speicher
40 9 835/06 4
der nächste neue logische Datensatz der Stammdatei eingelesen wird, nachdem RIM = 1 gesetzt worden ist; ansonsten wird zur
Anweisung 906IA übergegangen, und wenn die hierarchische Ordnung
der Kennzeichen der Änderung größer als die der Stammdatei sind, wird das Steuer-Markierungszeichen RIR — O bei
der Anweisung 9063 gesetzt und der logische Änderungsdatensatz
in die Sohn-Stammdatei gedruckt, indem zur Anweisung 9068 übergegangen wird, so daß dieses Vorgehen andauert, bis
die Vater-Stammdatei und die Änderungs-Datei datenmäßig erschöpft sind, wonach die Sohn-Stammdatei vollständig ist,
und wonach die Anweisung 9190 von Fig. 71 endgültig abgewickelt
wird, wie bereits beschrieben wurde. Das obige bewirkte das Mischen beim speziellen Mischen 33 als Ergebnis
des Einwirkens auf die verschiedenen Sätze der geordneten Kennzeichen
sowohl von der Mutter-Änderungs-Datei als auch der Vater-Stammdatei, wie anhand von Fig. 73 - 75, Tabelle 10
und den Ausdrucken der Tabellen 9 erläutert wurde.
409835/0649
Claims (1)
- Patentansprüche1. Verfahren zum Steuern der Operation eines Rechners in Verbindung mit Datenwörtern für die Darstellung von natürlicher Sprache in freiem Textformat in einer Änderungsund in einer Stammdatei, wobei das Verfahren dazu dient, aus der Änderungsdatei Operatoren, Operanden und Deskriptoren zu bestimmen, und den Datensatz der Änderungsdatei aufzuteilen, und wobei der Rechner enthält: einen Speicher zum Speichern von Daten- und Befehlswörtern unter zugehörigen Adressen; eine Einrichtung zum normalen Steuern der sequentiellen Ausführung von nacheinander adressierten Befehlswörtern; mehrere Register; eine Einrichtung zum Sortieren von Speicher-Datenwörtern in den Registern; eine Einrich- . tung zum Durchführen von .Operationen mit den Datenwörtern und den Speicher-Datenwörtern in den Registern; eine auf die Ausführung eines vorbestimmten Befehls ansprechende Einrichtung, um ein Datenwort in einem vorbestimmten Register zu überprüfen; eine Einrichtung zum,Speichern des Operanden in einem der Register; eine den Operator auf den Operanden anwendende Einrichtung, g e k e η η ze lehnet d u r ch folgende Schritte:(a) Bestimmen von Operatoren aus der Änderungsdatei; ' .: ■Cb) Kennzeichnen des Operanden in einen aufgeteilten Datensatz aus Sprachtext und in einen Satz aus Gliedern aus hierarchischen Kennzeichen,(c): Speichern des Sprachtextes aus Operanden und der geordneten Kennzeichen nach Schritt (b) in Form eines au-fgeteil- - ten Datensatzes. .2. Verfahren nach Anspruch 1, gekennzeichnet durch folgende Schritte:(a) Bestimmen von Deskriptoren aus der Änderungsdatei und409835/0649Speichern von Gliedern daraus im Speicher gemäß ihrerentsprechenden Ordnung: ' **·,*.nach Schritt (B)(b) Bearbeiten der Kennzeichen des aufgeteilten DatensatzesV""" und der geordneten Glieder im Speicher nach Schritt (a), um den Satz aus Gliedern der hierarchischen Kennzeichen zu vervollständigen;(c) Speichern des Sprachtextes des Operanden und des vollständigen Satzes der geordneten Kennzeichen nach Schritt (b) in Form eines aufgeteilten Datensatzes.J5. Verfahren nach Anspruch 2, gekennzeichnet durch folgende Schritte ϊ(d) Vergleichen des durch den Speicherschritt (c) gespeicherten Satzes aus geordneten Kennzeichen mit einem Satz aus Kennzeichen eines ebenfalls aufgeteilten Datensatzes der Stammdatei.4. Verfahren nach Anspruch 2, gekennzeichnet durch folgende Zusatzschritte:(d) Selektives Speichern eines Datensatzes entweder des aufgeteilten Datensatzes der Stammdatei oder des Operanden durch:(a) Vergleichen des Satzes aus geordneten Kennzeichen eines Datensatzes der Stammdatei mit jenen eines Datensatzes des Operanden;(b) Aufzeichnen jenes Datensatzes, dessen Satz aus Kennzeichen eine niedrigere Ordnung und einen niedrigeren Wert besitzt, auf einem maschinell lesbaren Datenträger.5. Verfahren nach Anspruch 2, gekennzeichnet durch folgende zusätzliche Schritte:409835/0649-■>--/";■"■■ ■":■■(d) Selektives Speichern eines Datensatzes entweder des aufgeteilten Datensatzes der Stammdatei oder des Operanden durch:(i) Vergleichen des Satzes aus geordneten Kennzeichen eines Datensatzes der Stammdatei mit jenen eines Datensatzes des Operanden;(ii) Aufzeichnen jenes Datensatzes, dessen Satz aus Kennzeichen eine niedrigere Ordnung und einen niedrigeren Wert besitzt, auf einen maschinell lesbaren Datenträger, andernfalls Aufzeichnen des Datensatzes des Operanden auf den maschinell lesbaren Datenträger* :6. Verfahren nach Anspruch 2, gekennzeichnet durch folgende zusätzliche iterative Schritte; x(d) Vergleichen der Ordnung und Werte der Glieder des Satzes aus geordneten Kennzeichen eines Datensatzes der Stammdatei mit jenen eines durch den Speieherschritt (c) gespeicherten Datensatzes des Operanden;(e) Aufzeichnen des Datensatzes des Operanden aus dem Vergleiehsschritt (d) auf einen maschinell lesbaren Datenträger, wenn der Vergleichsschritt (d) bedeutet, daß die Ordnung und Werte der Glieder des Satzes aus geordneten Kennzeichen der Stammdatei geringer sind als jene des Operanden, andernfalls Aufzeichnen des Datensatzes der Stammdatei· anschließend ·(f) Lesen des nächsten folgenden Datensatzes jener durch den Aufzeichnungsschritt (e) aufgezeichneten Datei.7. Verfahren nach Anspruch 2, gekennzeichnet durch folgende zusätzliche iterative Schritte-Cd) Vergleichen der Ordnung und Werte der Glieder des Satzesaus geordneten Kennzeichen eines Datensatzes der Stamm- - datei mit jenen eines durch den Speicherschritt (c) gespeicherten Datensatzes des Operanden!409835/0649 ν(e) Aufzeichnen des Datensatzes des Operanden aus dem Vergleichsschritt (d) auf einen maschinell lesbaren Datenträger, wenn(i) der Vergleichsschritt (d) bedeutet, daß die Ordnung und Werte der Glieder des Satzes aus geordneten Kennzeichen der Stairandatei (1) geringer sind als jene des Operanden, oder (2) größer sind als jene des Operanden, jedoch nur bis zum Wert des niedrigstgeordneten Gliedes, andernfalls Aufzeichnen des Datensatzes der Stammdatei:(f) Lesen des nächsten folgenden Datensatzes jener durch den Aufzeichnungsschritt (e) aufgezeichneten Datei..der Schritt (A) 8. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daßlf" den Schritt zum Speichern eines den bestimmten Operator darstellenden Codes im Speicher enthält, sowie folgende zusätzlichen iterativen Schritte: *(d) Vergleichen der Ordnung und Werte der Glieder des Satzes aus geordneten Kennzeichen eines Datensatzes- der Stammdatei mit jenen eines durch den Speicherschritt (c) gespeicherten Datensatzes des Operanden,·(e) Aufzeichnen des Datensatzes des Operanden nach dem Vergleichsschritt (d) auf einem maschinell lesbaren Datenträger, wenn der Vergleichsschritt (d) bestimmt:(i) eine Anpassung der Sätze aus Kennzeichen; oder (ii) daß Ordnung und Wert der Glieder des Satzes aus geordneten Kennzeichen der Stammdatei niedriger sind als jene des Operanden, und daß ein vorbestimmter bezeichneter Code im Speicher ist;(f) Aufzeichnen des Datensatzes der Stammdatei nach dem Vergleichsschritt (d) auf einem maschinell lesbaren Daten-.träger, wenn der· Vergleichsschritt (d) bestimmt, daß Ordnung und Wert der Glieder des Satzes aus geordneten Kennzeichen der Stammdatei höher sind als jene des Operanden.40 9835/064 9-45 -9· Verfahren nach Anspruch 8, gekennzeichnet durch folgende zusätzliche Schritte: ■ .(1) Lesen des nächsten folgenden Datensatzes des Operanden nach jedem Aufzeichnungsschritt (e); und(2) Lesen des nächsten folgenden Datensatzes der Stammdatei nach(i) jedem Aufzeichnungsschritt (f) oder(ii) wenn der Vergleichsschritt (d) bestimmt, daß Ordnung und Wert .der Glieder des Satzes aus geordneten Kennzeichen der Stammdatei niedriger sind als jene des Operanden, und wenn ein bezeichneter Code im Speicher ist.10. Verfahren zum Steuern der Operation eines Rechners in Verbindung mit Datenwörtern für die Darstellung von natürlicher Sprache in freiem Textformat in einer Änderungs- und in einer Stammdatei, wobei das Verfahren dazu dient, aus der Änderungsdatei Operatoren, Operanden und Deskriptoren zu bestimmen, und den Datensatz der Änderungsdatei aufzuteilen, und wobei der Rechner enthalt: einen Speicher zum Speichern von Daten- und Befehlswörtern unter zugehörigen Adressen; eine Einrichtung zum normalen Steuern der sequen-. tiellen Ausführung von nacheinander adressierten Befehlswörtern· mehrere Register; eine Einrichtung zum Sortieren von Speicher-Datenwörtern in den Registern; eine Einrichtung zum Durchführen von Operationen mit den Datenwörtern und ' den Speicher-Datenwörtern in den Registern; eine auf die Ausführung eines vorbestimmten Befehls ansprechende Einrichtung, um ein Datenwort in einem vorbestimmten Register zu überprüfen; eine Einrichtung zum Speichern des Operanden in einem der Register; eine den Operator auf den Operanden anwendende Einrichtung, g e k e η η ze lehnet durch folgende Schritte:409835/0649(a) Bestimmen von Operatoren aus der Änderungsdatei;(b) Bestimmen von Deskriptoren aus der Änderungsdatei und Speichern von Gliedern daraus im Speicher gemäß ihrer entsprechenden Ordnung;(c) Speichern des Operanden in einen aufgeteilten Datensatz aus Sprachtext und in einen Satz aus Gliedern der hierarchischen Kennzeichen aus dem Speicher des Bestimmungsschrittes (b).11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß der Bestimmungsschritt (a) zusätzlich Operanden bestimmt und den Operator in einen eindeutigen vorbestimmten Befehlscode überträgt, und daß der Speicher schritt (c) den Befelilscode und den Operanden in den aufgeteilten Datensatz speichert.'12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß der Bestimmungsschritt (a) wenigstens Operatoren und einen Operanden aus wenigstens zwei Wörtern bestimmt und die Operatoren in entsprechende vorbestimmte eindeutige Be-fehlscodes überträgt, und daß der Speicherschritt (c) einen dieser Befehlscodes mit wenigstens einem Wort des Operanden in den aufgeteilten Datensatz speichert, ferner den anderen· Befehlscode mit wenigstens einem der verbleibenden Wörter des Operanden..13. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Bestimmungsschritt (A) folgende Schritte enthält:(i) Speichern von benachbarten Wörtern aus einem Teil der Änderungsdatei, die wenigstens einen Operator enthält in einem Zwischenspeicher; und(ii) iteratives Suchen der Wörter im Zwischenspeicher durch aufeinanderfolgendes Vergleichen derartiger Wörter mit einem Satz aus Steuerwörtern, wobei die Steuerwörter409835/0649236Q023wenigstens in einen Operator-Untersatz aufgeteilt sind; anschließend ;(iii) nach einer Anpassung der Wörter Auswählen jenes Operator-Befehlscodes aus dem Operator-Untersatz, der eindeutig zu dem so gefundenen Operator gehört.l4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Bestimmungsschritt (A) folgende Schritte enthält:(i) Speichern von .benachbarten Wärtern aus.einem Teil der Ä'nderungsdatei, die.wenigstens einen Operator in einem Zwischenspeicher enthält, dann(ii) iteratives Suchen der Wörter-im Zwischenspeicher durch aufeinanderfolgendes Vergleichen derartiger Wörter mit einem Satz aus Steuerwörtern, wobei die S.teuerwörter in wenigstens einen Deskriptor-Untersatz aus Wörtern von geordneter Bedeutung aufgeteilt sind, anschließend, nach einer Anpassung der Worter im ZviischenspeiGher mit dem Deskriptor-Untersatz, :■■-.:- ORIGINAL INSPECTEDΛ09835/06Λ9 -" : Λ(iii) Speichern des nächsten Wortes des Zwischenspeichers in ein Deskriptor-Register gemäß der Ordnung des angepaßten Deskriptorwortes.15. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Bestimmungsschritt (A) folgende Schritte enthält:(i) aufeinanderfolgendes Speichern angrenzender Wörter aus einem Teil der Ä'nderungsdatei in einem ersten Zwischenspeicher und Zuordnen zu jedem so gespeicherten Wort einen eindeutigen ersten Zeiger;(ii) Auswählen jener Wörter im ersten Zwischenspeicher, dieaus mehr als einer vorbestimmten Anzahl von zeichen be- - stehen;(iii) Speichern der im Schritt (ii) ausgewählten Wörter zusammen mit ihren entsprechenden eindeutigen Zeigern in einem zweiten Zwischenspeicher und Zuordnen zu jedem so gespeicherten Wort und Zeiger einen eindeutigen zweiten Zeiger.16. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Bestimmungsschritt (A) folgende Schritte enthält:(i) aufeinanderfolgendes Speichern angrenzender Wörter aus einem Teil der Änderungsdatei in einem ersten Zwischenspeicher und Zuordnen zu jedem so gespeicherten Wort einen eindeutigen ersten Zeiger;(ii) Auswählen jener Wörter im ersten Zwischenspeicher, die aus mehr als einer vorbestimmten Anzahl von Zeichen bestehen;(iii) Abbrechen der im Schritt (ii) ausgewählten Wörter und Zuordnen zu diesem abgebrochenen Wort einen eindeutigen zweiten Zeiger, anschließend Speichern des abgebrochenen Wortes und des zweiten Zeigers in einem zweiten Zwischenspeicher.40 9 8 35/06492360Q23oder 217. Verfahren nach Anspruch ΐζ~ dadurch gekennzeichnet, daß der Bestimmungsschritt (A) folgende Schritte enthält:(i) aufeinanderfolgendes Speichern angrenzender Wörter aus einem Teil der Änderungsdatei in einem ersten Zwischenspeicher und Zuordnen zu Jedem so gespeicherten Wort einen eindeutigen ersten Zeiger;(ii) Auswählen jener" ersten Zeiger und Wörter, deren Wörter aus mehr als einer vorbestimmten Anzahl von Zeichen bestehen;(iii) Abbrechen der im Schritt (ii) ausgewählten Wörter und Zuordnen eines eindeutigen zweiten Zeigers zu diesen Wörtern und ersten Zeigern; und(iv) Speichern des abgebrochenen Wortes, dejs ersten Zeigers und des eindeutigen zweiten Zeigers in einem zweiten Zwischenspeicher, wobei der zweite Zeiger das abgebrochene Wort in den zweiten Zwischenspeicher schaltet und ebenso der ersten Zeiger, d.h. den Ort des (nicht abgebrochenen) Wortes im ersten Zwischenspeicher ,bezeichnet.409835/0649-W-l8. Verfahren nach Anspruch IJ, dadurch gekennzeichnet, daß der Bestimmungsschritt (λ) folgende Schritte enthält:(v) iteratives Suchen der abgebrochenen Wörter des zweiten Zwischenspeichers durch aufeinanderfolgendes Vergleichen der abgebrochenen Wörter mit einem Satz aus Steuerwörtern, und nach einer Anpassung;(vi) Schalben des ersten Zeigers des angepaßten, abgebroche nen Wortes, anschließend409835/0649(vii) Vergleichen des durch den ersten Zeiger geschalteten Wortes im ersten Zwischenspeicher mit der Steuerwort-Anpassung in Sehritt (ν)..19. Verfahren nach Anspruch 2, g e k en η ζ ei c h net d u*r c h einen ersten Schritt zum Speichern von vorbestimmten Wortgruppen in einem Steuerwortspeicher_, einschließlich eines Dateinamens und einer zugehörigen Dateinummer in einem Satz aus Steuerwörtern, wobei ein Deskriptor^Untersatz von geordneter Bedeutung enthalten ist, und wobei der Bestimmungsschritt (Ä) folgende Schritte enthält:(i) Speichern von Wörtern in einem Zwischenspeicher aus einem Teil der Änderungsdatei, die wenigstens einen Deskriptor enthält, und dann i(ii) Speichern vorbestimmter Wortgruppen als Deskriptor-Untersatz der Steuerwörter in Matrixform, ,(iii) iteratives suchen der Wörter des Zwischenspeichers durch aufeinanderfolgendes Vergleichen derartiger Wörter mit jenen in dem Satz aus Steuerwörternj anschließend, wenn ein Wort im Zwischenspeicher an ein Wort aus einem Dateinamen angepaßt ist, Schalten, dieses Zwischenspeicher-Wo-rtesj anschließend Wiederholen dieses Unterschrittes (iii) und, falls das nächste Wort des Zwischenspeichers angepaßt ist,Wiederholen dieses Unter-Unterschrittes, bis der Dateiname angepaßt ist; anschließend Speichern der Dateinummer, andernfalls Rückkehren zu jenem Wort des Zwischenspeicher-Schalters durch diesen Untef-Unterschritt und Anpassen des-Wortes;-.des. Zwischenspeichers" an-"-ein" anderes Wort im Satz der Steuerwörter* ' ~' ;.• mit-i" ■ V 20. Verfahren nach Anspruch 15^ gekennzeichnet durch folgendeweitere Schritte:4098 35/06 49(iv) Auswählen einer vorbestimmten, kennzeichnungsfähigen Gruppe von Wörtern aus der Anderungsdatei gemäß dem Operationscode nach Schritt (iii), und Speichern dieser Wörter als einen der Teile des aufgeteilten Datensatzes nach Schritt (C).,mit 2
21. Verfahren nach Anspruch \~% gekennzeichnet durch folgenden
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31141272A | 1972-12-01 | 1972-12-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2360023A1 true DE2360023A1 (de) | 1974-08-29 |
Family
ID=23206765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2360023A Pending DE2360023A1 (de) | 1972-12-01 | 1973-12-01 | Anordnung und verfahren zum fortschreiben von textdaten |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU6289173A (de) |
DE (1) | DE2360023A1 (de) |
GB (1) | GB1458510A (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6126176A (ja) * | 1984-07-17 | 1986-02-05 | Nec Corp | 言語処理用辞書 |
GB2190772A (en) * | 1986-05-05 | 1987-11-25 | David Martin Menne | Data storage/retrieval |
JPH06309314A (ja) * | 1993-04-19 | 1994-11-04 | Fuji Facom Corp | 二階層文書の処理方法 |
-
1973
- 1973-11-22 GB GB5536873A patent/GB1458510A/en not_active Expired
- 1973-11-26 AU AU62891/73A patent/AU6289173A/en not_active Expired
- 1973-12-01 DE DE2360023A patent/DE2360023A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
AU6289173A (en) | 1975-05-29 |
GB1458510A (en) | 1976-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3587501T2 (de) | Gerät, Verfahren und Struktur zur Umwandlung eines Dokumentes einer Struktur in ein Dokument einer anderen Struktur. | |
DE2226290C2 (de) | Vorrichtung und Verfahren zum Darstellen von Information auf einer zyklisch auffrischbaren Anzeigevorrichtung | |
DE3685671T2 (de) | Aufzeichnungs- und wiederauffindungsverfahren fuer chemische strukturdaten. | |
DE3852199T2 (de) | Rechnereingabe durch Farbcodierung. | |
DE2712575C2 (de) | Assoziatives Speichersystem in hochintegrierter Halbleitertechnik | |
DE3047251A1 (de) | Rechner | |
EP0762334B1 (de) | Verfahren zum Erzeugen eines Druckbildes, welches in einer Frankiermaschine auf einen Träger gedruckt wird | |
DE2717976A1 (de) | Computer mit einer anordnung zur veraenderung der arbeitsumgebung des computers | |
DE2801610A1 (de) | Verfahren zum definieren von anfangswerten fuer die textverarbeitung | |
DE3209187C2 (de) | Verfahren zur Darstellung eines Textes auf einer einzeiligen Anzeigevorrichtung eines Texterstellungsgerätes | |
DE3736455A1 (de) | Hierarchisches ablagesystem | |
DE3234892C2 (de) | ||
DE2360023A1 (de) | Anordnung und verfahren zum fortschreiben von textdaten | |
DE2641971A1 (de) | Digitale tisch-buchungs- und -rechenmaschine | |
DE1474042C3 (de) | Datenspeichersystem zur Ein- und Ausspeicherung von in Ketten zusammengefaßten Daten unterschiedlicher Feldlänge | |
DE1221037C2 (de) | Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens | |
DE1549420A1 (de) | Programmvorrichtung fuer einen elektronischen Rechner | |
DE3128794A1 (de) | Verfahren zum auffinden und abgrenzen von buchstaben und buchstabengruppen oder woertern in textbereichen einer vorlage, die ausser textbereichen auch graphik-und/oder bildbereiche enthalten kann. | |
DE2748859C3 (de) | Schaltungsanordnung zum Speichern eines Textes | |
DE1449584A1 (de) | Anordnung zur UEbertragung von Daten einer Loch- oder Magnetkarte in eine Datenverarbeitungsanlage oder umgekehrt | |
DE3714514A1 (de) | Vorrichtung und verfahren zur textverarbeitung | |
DE2613703C2 (de) | Schaltungsanordnung zum Übersetzen von Programmtexten | |
DE3110297A1 (de) | Anzeigevorrichtung | |
DE3616529C2 (de) | ||
DE2451984C2 (de) | Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OHJ | Non-payment of the annual fee |