-
Die
vorliegende Erfindung bezieht sich auf ein Multimedia-System zur
interaktiven Darstellung von Benutzerinformation, wobei dieses System
Folgendes umfasst:
- – Schnittstellenmittel zur
umkehrbaren Kopplung mit Massenspeichermitteln, die ein interaktives Benutzerprogramm
enthalten,
- – Zugriffsmittel
zum selektiven Zugreifen auf die genannten Massenspeichermittel,
- – Verarbeitungsmittel,
die mit den genannten Zugriffsmitteln verbunden sind, zum Verarbeiten
des genannten Benutzerprogramms,
- – Wiedergabemittel,
die von den genannten Verarbeitungsmitteln gespeist werden, zum
Wiedergeben von Verarbeitungsergebnissen, und
- – Benutzerbetätigungsmittel
um mittels einer selektiven Benutzerbetätigung die genannten Zugriffsmittel
und die genannten Verarbeitungsmittel auf einem elementaren Benutzerfunktionalitätspegel
zu steuern.
-
Multimedia
bedeutet wenigstens eine Kombination von Text, stationärer Graphikwiedergabe
und Bewegtbildern, wobei diese letzteren entweder in Animation oder
in mehr oder weniger Vollbewegungsvideo. Zusätzliche oder alternative Merkmale können in
weiteren visuellen Wiedergabetypen residieren, sowie in Sprache
oder anderen Audiodarstellung, Bewegung oder anderen sensorischen
Kommunikationskategorien. Die Speichermittel sind vorteilhafterweise
darin einheitlich, dass es aussieht und/oder fühlt wie ein endliches und örtliches
Objekt, wie eine Disk, eine Box, eine Karte oder dergleichen. In
dem Fall umfassen die physikalischen Zugriffsmittel eine Art von
Ankermitteln zum reproduzierbaren Positionieren der Speichermittel
in oder in der Nähe der
Maschine oder des Systems. Die Ankermittel werden entsprechend dem
mechanischen Format und der physikalischen Interaktivität der Zugriffsmittel bemessen.
Es werden mehrere derartige Ankermittelformate allgemein verwendet.
Andererseits können
die Speichermittel durch eine gemeinsame Datei dargestellt werden,
und insbesondere einschließlich einer
Programmbasis, die von einer örtlichen
Benutzerperson entfernt liegt. Die Maschine ist typischerweise freistehend,
obschon Verbindung mit einem LAN-Netzwerk nicht ausgeschlossen ist.
Ein typisches Beispiel eines derartigen Systems ist das durchaus
bekannte CD-I System ("Compact-Disc Interactive"), das zur Zeit weit
vermarktet ist, obschon die vorliegende Erfindung sich nicht insbesondere auf
die Anwendung mit oder in einem derartigen CD-I-System beschränkt.
-
In
einem System der oben genannten allgemeinen Kategorie kann der Benutzer
Fragen beantworten, welche die Maschine stellt, er kann Menü-Items selektieren,
er kann auf bestimmte wiedergegebene Freistilelemente zugreifen,
wodurch eine besondere Maschinenreaktion aktiviert wird, er kann Zeichnungen
machen oder andere Informationskombinationen zur Wiedergabe und/oder
zur Speicherung, oder zum Ansehen/Anhören eines kontinuierlich aufgezeichneten
Programms zusammenstellen, während
dennoch Standard-Recorderfunktionen wie Wiedergabe, Stopp, Schneller
Vorlauf/Rücklauf, Springen
und möglicherweise
andere Funktionen nach wie vor möglich
sind. Da das CD-I-System für einen
großen
Anwendungsbereich gedacht ist, wurde für einige Benutzerkategorien
und für
einige Interaktivitätspegel
und Betriebsgeschwindigkeitspegel in Reaktion auf einen Antrag oder
eine Aktion des Benutzers das Bedürfnis empfunden, die Speicherung in
den externen Speichermitteln auf einem Organisationspegel kompakt
zu machen, während
auch Kompatibilität
zwischen Speichereinheiten und Spielern, die beide von verschiedenen
Herstellern herrühren können. Typischerweise
können
derartige Maschinen Standard-CD-Interaktiv-Spieler,
XT/AT PC und Hergeleitete und spezifische Maschinen wie Mackintoshes
und viele andere, die zur Zeit oder in Zukunft vermarktet werden.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Zum
Laden von Information aus den externen Speichermiteln in die Maschine
werden die in dem Speicher vorhandenen Daten immer interpretiert.
Daten sind Informationselemente, die als Objekt für Operationen
verwendet werden. Anderseits kann ein Programm, das von derartigen
externen Speichermitteln geladen wird interpretiert oder kompiliert werden.
Ein Programm wird aus Informationselementen aufgebaut, die zum ermitteln
der Operationen selber verwendet werden. Im Grunde basiert die Speicherung
in der Maschine oder in dem System auf Objektcode, weil Durchführung sofort
ist und keine weiteren Aktionen erforderlich sind um die durchzuführen. Im
Allgemeinen ist es u. a. eine Aufgabe der vorliegenden Erfindung,
ein System zu schaffen, in dem die bestehende externe Speicherung
gedrängt ist,
wodurch auf diese Weise die Speicherung des Objektcodes ausgeschlossen
wird, was viel Raum erfordert und wodurch eine lange Zeit zum Auslesen erforderlich
ist. Wenn die Programmlänge
groß wäre, müsste durch
die oft begrenzte Spei cherkapazität innerhalb des Spielers oft
auf die externe Information zugegriffen werden. Ein derartiges öfteres Zugreifen erfordert,
dass die externe Speicherung auf eine transparente Art und Weise
organisiert ist, wodurch die richtige Adresse leicht gefunden werden
kann. Aber Objektcode ermöglicht
im Allgemeinen ein derartiges leichtes Finden nicht. Insbesondere
dort, wo das externe Speichermedium langsam ist, und zwar durch
mechanische Verzögerungen
bei Disks, Bändern
und dergleichen, würde
dies eine weitere unakzeptierbare Reduktion der gesamten Geschwindigkeit
bedeuten.
-
Anderseits
schließt
die Aufgabe der Beibehaltung der Arbeitsgeschwindigkeit bestehende Speicherung
von Instruktionen/Daten in Quellencode in den externen Speichermitteln
aus, weil diese Quellencodeinstruktionen auf stückweise Basis interpretiert
werden müssen,
was im Wesentlichen viel Verarbeitungszeit erfordert. Deswegen weist
nach einem der Aufgaben die vorliegende Erfindung das Kennzeichen
auf, dass die genannten Verarbeitungsmittel Wandler-zu-Objektcodemittel
zur blockweisen Umwandlung von maschinentypauswählbaren Multiinstruktionsblöcken, die
aus den genannten Speichermitteln ausgelesen sind in maschinentypspezifische Objektcodeblöcke zur
nachfolgenden örtlichen
Speicherung und selektiven Zugriff auf den genannten Objektcode
durch sekundäre
Zugriffsmittel in den genannten Verarbeitungsmitteln.
-
Maschinentypauswählbar bedeutet,
dass viele der oben genannten auswählbaren Instruktionen vielen
der oben genannten Maschinentypen gemein sind. Maschinentypspezifisch
bedeutet, dass nur ein einziger Maschinentyp oder nur sehr nahe
liegende Typen imstande sind, ein derartiges Programm unmittelbar
durchzuführen,
wie Maschinen, die einen Teil einer bestimmten Reihe bilden, die
als kommerziell "aufeinander
folgend" vermarktet
werden.
-
Im
Endeffekt haben maschinentypauswählbare
Instruktionen ein Format, das einfach strukturiert ist und derart
gespeichert werden kann, dass ein extrem einfacher Zugriff darauf
möglich
ist. Auf jedem anwendbaren Pegel ist der Zugriff blockweise, wie durch
Segmentierung, obschon nicht darauf begrenzt. Dies bedeutet, dass
das Programm selber genau die Speicherstelle jedes Programmitems
kennt, und zwar durch die eigene logische Struktur. Die Information
kann sogar diskriminierbar sein, und zwar entsprechend der Kategorie
eines derartigen Programmitems.
-
Die
vorliegende Erfindung bezieht sich auch auf ein einheitliches Massenspeichermittel
zur Verwendung in dem oben genannten System. Physikalisch kann dieses Mittel
in Form einer Compact Disk, eines Magnetbandes, einer Speicherkassette
vom Konsumententyp, eines elektronischen Moduls oder eines anderes
Mittels sein. Weitere vorteilhafte Aspekte der vorliegenden Erfindung
sind in den Unteransprüchen
definiert.
-
Die
Europäische
Patentanmeldung 0510616 (D1) beschreibt ein Übersetzungssystem zum Übersetzen
von Quellenprogrammen in Maschinensprachprogramme. Eine Kompiler übersetzt
ein Quellenprogramm in ein abstraktes Zielprogramm mit einer abstrakten
Maschineninstruktionssequenz und einer Angabe in Bezug auf die Zuordnung
abstrakter Register. Ein Installer verwandelt das abstrakte Zielprogramm
in ein Maschinensprachprogramm des Zielcomputers auf Basis von durchführbarer Computerspezifikationsinformation
mit Registerverwendungsangabe und Maschineninstruktionsselektionsregeln.
Der beschriebene Installer arbeitet durch Übersetzung eines abstrakten
Zielprogramms in ein Maschinensprachprogramm vor der Durchführung dieses
Maschinensprachprogramms.
-
KURZE BESCHREIBUNG DER
FIGUREN
-
Ausführungsbeispiele
der Erfindung sind in der Zeichnung dargestellt und werden im Folgenden näher beschrieben.
Es zeigen:
-
1 eine
schematische Darstellung mehrerer Verwirklichungen für ein Multimediasystem
für interaktive
Präsentation
von Benutzerinformation,
-
2 eine
Symbolisierung eines maschinentypwählbaren Codes gegenüber einem
maschinentypspezifischen Code,
-
3 ein
Flussdiagramm des Umwandlungsprozesses,
-
Tabelle
1 eine spezielle Programmliste in der Sprache C,
-
Tabelle
2 dieselbe Programmliste in der Zusammenstellungssprache,
-
Tabelle
3 dieselbe Programmliste in der maschinenwählbaren Sprache nach der vorliegenden Erfindung.
-
1 ist
eine einigermaßen
symbolische Darstellung eines Schemas mehrerer Verwirklichungen
eines Multimediasystems für
interaktive Präsentation
von Benutzerinformation. Der Block 20 stellt das Massenspeichermedium
dar, beispielsweise in For, einer CD-I Disk, einer Magnetbandkassette,
eines Halbleiterspeichers oder eines anderen Mediums, oder in Form
eines Fernprogramms/einer Ferndatei. Wenn einheitliche Speichermittel
verwendet werden, ist dieser Block meistens entfernbar, wie bei einer
CD, durch umkehrbare Einführung
eines Speichermoduls, oder ein anderes Mittel in einen geeigneten Schlitz
eingeschoben. Der obere Kanal stellt eine erste An und Weise des
Zugriffs auf den Speicher dar. Der Kürze wegen sind elektromechanische/optische
Subsysteme nicht detailliert in betracht gezogen. In einer ersten
Verwirklichung enthält
das gespeicherte Programm Ausdrücke
in einer Hochpegelsprache, die meistens von Menschen direkt gelesen
werden kann, durch die Verwendung von Mnemotechnik und anderer Typen
von Schreibweisen. Als zweiter Vorteil ist es ziemlich kompakt.
Nun stellt der Block 22 einen Zugriffsmechanismus dar,
der instruktionsweise auf die Speicherung zugreift und sie ausliest.
Danach wird die auf diese Art und Weise ausgelesene Instruktion
in dem Block 24 interpretiert, um zu unterscheiden, welcher
Vorgang durchgeführt werden
soll und auch in Bezug auf welches Objekt. Die Interpretation erfolgt
auf Basis von handware-unabhängigen
Codes oder Befehlscodes. Der Interpreter liest Befehlscodes und
Operanden, die ggf. zueinander passen, und modifiziert Daten innerhalb
der Maschine. Im Wesentlichen verhält sich der Interpreter wie
in Softwareprozessor. Im Allgemeinen hat ein derartiges Hochpegelprogramm
mehrere Arten von Instruktionsformaten, die Befehlscodes, Operanden, Quellen-/Zieladressen, Merker
und mehrere andere Elemente umfassen kann.
-
Andererseits
können
die Speichermittel Objektcode speichern, der im Allgemeinen aus
einer Reihe von Zahlen besteht, die je einen elementaren Maschinenvorgang
oder Dateneinheit darstellen. Objektcode kann im Allgemeinen nicht
von Menschen gelesen werden. Die Form der Objektcodes ist abhängig von
dem wirklichen Instruktionssatz, aber auch von den verfügbaren Registern,
Kanälen,
Ports und anderen Hardwareelementen. Wenn anwendbar findet die Interpretation
einer Quellencodeinstruktion oder die Durchführung einer Objektcodeinstruktion
in dem Prozessor oder in dem Prozessorteil 26 statt. Das
Ergebnis einer derartigen Verarbeitung kann eine Benutzerwiedergabeänderung
sein, symbolisiert durch den Pfeil 28, und weiterhin kann
es Grund geben, auf eine weitere Instruktion zuzugreifen, wie durch
den Pfeil 38 symbolisiert, die wieder den Zugriffsmechanismus
aktiviert. Das System arbeitet langsam, entweder weil die Interpretation
in dem Block 24 viel Zeit nimmt, oder auf alternative Weise, weil
das Zugreifen des Objektcodes auf das Speichermedium auch langsam
sein kann.
-
Nun
stellt der untere Kanal eine zweite und alternative Möglichkeit
auf den Speicher zuzugreifen, insbesondere nach der vorliegenden
Erfindung. Hier kann das Speichermedium genau dieselbe physikalische
Konfiguration haben, aber die organisatorische Verwirklichung ist
anders, wobei die Figur auf diese Weise im Endeffekt zwei verschiede ne
Verwirklichungen für
dasselbe Medium darstellt. Der Speicher enthält blockweise organisierte
Instruktionen in einem maschinentypgenerischen Format, d.h. die
Instruktionen spezifizieren nicht die wirklichen Vorgänge auf dem
Registerpegel, obschon ihr Inhalt elementar ist. Dies bedeutet,
dass das Format unabhängig
ist von der wirklichen Registerkonfiguration, so dass die Instruktion
an verschiedenen Hardware-Maschinentypen durchgeführt werden
könnte.
Insbesondere können
die Hardware, der Instruktionensatz und mehrere andere Vorkehrungen
und funktionelle Eigenschaften viel Variation zeigen, wie I/O-Anordnungen, Treiberstufen,
Videohardware, Zeitgeber, Maus, usw. obschon ein bestimmter generischer
Charakter einem Teil all dieser Elemente gemein ist. Nun wird die blockweise
Zugreifbarkeit durch assoziierte Adressen, Label, Verteilung oder
dergleichen verwirklicht. Der Zugriff auf den Pegen eines Blocks
erfolgt durch den Hardware-Maschinenblock 30.
In dem Hardwareblock 32 wird der auf diese Weise ausgelesene Instruktionenblock übersetzt
oder umgewandelt in einen Objektcode, der maschinenspezifisch für die betreffende
Maschine ist. Andere Maschinentypen können folglich wahrscheinlich
nicht das Ergebnis dieser bestimmten Übersetzung durchführen. Die Übersetzung
führt auch
zu Expansion. Danach werden die nun verfügbaren Instruktionen selektiv
durchgeführt, und
zwar durch das Verarbeitungselement 34, was, zu einem hohen
Grad dem oben beschriebenen Block 26 entspricht. Die Wiedergabe
wird wieder durch den Pfeil 36 dargestellt; aber im Widerspruch zu
der Situation in Bezug auf Block 26 ist Rückkopplung
nun derselbe Block der übersetzten
Instruktionen wie durch den Pfeil 40 symbolisiert. Auf
das relativ seltene Auftreten eines Bezugswertes außerhalb des
Blocks, der die Zugriffsmittel 30 aktivieren würde, ist
der Kürze
wegen verzichtet. Eine vertikale gestrichelte Linie in dem Block 32 symbolisiert
die doppelte Funktion, d.h. für Übersetzung
und Speicherung.
-
2 symbolisiert
maschinentypgenerischen gegenüber
maschinen Typspezifischem Code. Der Block 50 stellt eine
Quellencodeinstruktion dar. Dies kann im Allgemeinen durch die Anwendung
von Mnemotechnik, von einzelnen Registeridentifizieren und dergleichen
mit dem menschlichen Auge direkt ausgelesen werden. Auf dem Syntaxpegel
kann das Programm, das aus diesen Quellencodes besteht, durchgeführt werden,
sogar wenn es einen bestimmten Betrag an Fehlern enthält, wie
eine überflüssige oder
fehlende Klammer. Der Block 52 stellt eine maschinentypgenerische
Instruktion dar. Diese braucht nicht mehr vom Menschen gelesen werden
zu können,
aber andererseits muss die Formulierung in dem Programm völlig einwandfrei
sein. Der Block 54 stellt zwei verschie dene maschinenspezifische
Instruktionen dar, die nur auf einem bestimmten Maschinentyp etwas
durchführen.
Die dargestellten Pfeile in der Figur geben die Wechselbeziehungen
zwischen den jeweiligen Instruktionstypen an.
-
3 ist
ein Flussdiagramm, das den Umwandlungsprozess illustriert. Im Allgemeinen
folgt die Übersetzung
aus dem maschinentypgenerischen Code in den maschinentypspezifischen
Code demselben Weg wie der herkömmliche
Kompilationsprozess von einer Hochpegelprogrammierungssprache in
den maschinenspezifischen Code. Der vorliegende Prozess kann aber
stark optimiert werden, wenn die maschinengenerische Codenotation
sorgfältig entworfen
worden ist, wie nachstehend näher
erläutert
wird. Der Kompilationsprozess kennt vier aufeinander folgende Stufen.
In 3 gibt der Block 60 die Auslösung an,
die eine ausreichende Anzahl Möglichkeiten
bietet, wie Speicherungs- und
Verarbeitungskapazität.
In dem Block 62 wird der maschinengenerische Code geladen.
Der maschinengenerische Code besteht aus 8-bit Zeichen und wird
durch einen Scanner auf einer Sequenz von Tokens oder Symbolen abgebildet,
die auch je eine Größe von 8 Bit
haben; die Erzeugung des Tokenstromes ist durch den Übergang
zu dem Block 64 symbolisiert. Dank der speziellen Struktur
des maschinengenerischen Codes ist dies meistens eine Ein-zu-Ein-Abbildung auf
Zeichenbasis. So wird beispielsweise jedes Trenn-Item, jede Klammer,
und jede Mnemotechnik auf einem einzigen derartigen Zeichen abgebildet. Eine
kleine Kategorie von Symbolen braucht mehr als nur ein Zeichen,
wie eine ganze Zahl, die einen beträchtlichen Bereich hat. Im Gegensatz
dazu ist zum Kompilieren einer Hochpegelsprache ein beträchtlicher
Aufwand erforderlich um den Zeichenstrom in einen Tokenstrom zu übersetzen.
Beim Übergang
zu dem Block 66 wird der Tokenstrom auf eine strombasierte
Weise in eine Datenstruktur umgewandelt, wobei diese Umwandlung
durch einen Analysator oder Syntaxanalysator durchgeführt wird. Die
Struktur des maschinengenerischen Codes stellt spezifisch beispielsweise
mehrere Deklarationen, Vorgänge,
Label usw. dar, je durch ein einziges Zeichen. Dadurch, dass eine
einfache Struktur für MCG-Programm
gewählt
wird, kann der Umwandlungsprozess einfach, und folglich effizient
gehalten werden. Beim Übergang
zu dem Block 68 wird der Übergang der Struktur zu dem
maschinenspezifischen Code durch einen Codegenerator durchgeführt. Weil
der maschinenspezifische Code einen Niederpegelcharakter hat (dies
im Gegensatz zu der Hochpegelsprache), ist der letztere Umwandlungsschritt
relativ einfach und folglich effizient. In dem Block 70 wird
der Prozess durch Entladen des neuen Codes, erzeugt wie erläutert, durchgeführt.
-
Im
Allgemeinen kann der maschinencodegenerische Übersetzer noch effizienter
sein als ein Hochpegelübersetzer,
weil der maschinengenerische Code speziell zum Erreichen einer derartigen
Effizienz entworfen worden ist.
-
Die
Tabelle 1 zeigt eine spezielle Programmauflistung in der Sprache
höheren
Pegels C, wobei ein derartiges Programm herkömmlicherweise von einem menschlichen
Programmierer entworfen wird. Der Einfachheit halber ist ein äußerst einfaches
Beispiel vorgesehen, das es ermöglicht,
eine Funktion zu berechnen durch Wirkung an zwei Reihen x, y, deren
Abmessungen nachher in einem speziellen Intervall spezifiziert werden.
Insbesondere ist die Verwendung von vier verschiedenen Laufanweisungen
offensichtlich. Einschließlich
eines bestimmten Betrags an Looping und Deklaration von zwischen
liegenden Variablen s, t, i, zählt
das Programm, wie dargestellt, 277 Zeichen, die je als ein spezielles
8-Bit Zeichen dargestellt werden. Obschon eine menschliche Person
die Bedeutung und die Gesamtstruktur des Programms leicht begreifen
kann, kann eine Maschine keinen Vorgang unternehmen, weil diese
nicht wissen würde,
was die Bedeutung die jeweiligen Zeichen wäre. Weiterhin ist die Abbildung
an der verfügbaren
Hardware nicht spezifziert, und ist auch nicht schnell deutlich.
Deswegen ist die Formulierung hardwareunabhängig.
-
Die
Tabelle 2 zeigt dasselbe Programm, nach extensiver Optimierung,
aufgelistet in der Zusammenstellungssprache für eine bestimmte Maschine,
in dem vorliegenden Fall eine SPARC-basierte Maschine, wobei SPARC
ein Handelsname von SUN Corporation ist. Ein derartiges Programm
kann von einem Maschineninterpreter erzeugt werden, der die jeweiligen
Listungselemente der Tabelle 1 in ihrem geeigneten Programmkontext
verarbeitet, auf Syntaxfehler kontrolliert, auf denjenigen Hardwaremitteln
abbildet, von denen er weiß,
dass sie verfügbar
sind, und im Allgemeinen als ein äußerst nützliches Werkzeug für den menschlichen
Programmierer arbeitet. Die Auflistung ist etwas kompakter als die der
Tabelle 1, weil alle Befehlscodes, Register, Datenstrecken, Speicheradressen
usw. explizit durch meistens nur ein einziges Zeichen spezifiziert
werden können.
Im Wesentlichen enthält
die Auflistung wegen der engen Beziehung mit der Hardware, viel mehr
Information als die Tabelle 1. Durch die Abbildung aber ist die
resultierende Länge
des Programms etwas kleiner als nach 1, und zwar
nur 224 Zeichen. Es sei bemerkt, dass, wie nachstehend noch näher erläutert wird,
zusätzliche
Information erforderlich ist wenn Bereichsregeln angewandt werden,
welche den mehr oder weniger globalen Charakter einer bestimmten
Variablen, eines Moduls, einer Subroutine, usw. definieren, wodurch
die assoziierte Abrufbarkeit beeinflusst wird. Derartige ziierte Abrufbarkeit
beeinflusst wird. Derartige Bereichsregeln würden die Module angeben, die
einander aufrufen, wobei diese Angaben auf das ganze Programm angewandt
werden könnte.
Aber nach Umwandlung des Programms würden diese Tabelle wieder überflüssig werden;
sie können
dann zurückgelassen
werden, ohne dass dies zusätzlichen
Raum erfordert.
-
Die
Tabelle 3 zeigt dasselbe Programm in maschinengenerischer Sprache
nach der vorliegenden Erfindung, aufgelistet nach Optimierung, und
da von einem Maschinenkompiler nach der vorliegenden Erfindung erzeugt,
startend von dem Quellencode der Tabelle 1. Genau wie bei dem Übergang von
der Tabelle 1 zu der Tabelle 2 wird der Maschinenkompiler das Sourceprogramm
auf Richtigkeit kontrollieren, wird aber nicht auf das Hardware
abbilden, sondern nur voraussetzen, dass ein minimaler Betrag an
Hardware vorhanden ist, so dass bei der wirklichen Durchführung die
Verfügbarkeit
von mehr oder weniger Hardware (Register, Datenstreckenbreite, einzelne
Multiplizierer, usw.) die etwaige Verarbeitungsgeschwindigkeit weitgehend
beeinflussen können.
In der Auflistung ist jedes Wort, jeder Operand, jeder isolierte
Buchstabe oder jede Klammer in die Form eines einzigen 8-Bit Zeichens
umgewandelt worden, so dass nur 136 Zeichen ausreichen würden, was
wesentlich weniger ist als in der Tabelle 2. Die nachfolgenden besonderen
Maßnahmen
sind getroffen worden um das Format zu reduzieren, da von der höheren Sprachenlistung
der Tabelle 1 gestartet wird. Erstens ist alle Typeninformation
unterdrückt
worden, die unter einer echten, Gliederung unterscheiden würde: dies
kann bei Durchführung
auf einfache Art und weise bestätigt
werden. Zweitens sind alle Namen von variablen unterdrückt worden. Drittens
werden alle Stichwörter
und Standardsymbole wieder auf einem einzigen Zeichen abgebildet, je
wie oben erklärt.
Die Auflistung ist äußerst gedrängt und
weiterhin kann diese schnell verarbeitet werden, da keine sog. Bereichsregeln
eingehalten werden müssen;
diese geben den Grad der Lokalisierung an, wie ob eine bestimmte
Variable nur eine örtliche
Anwendbarkeit oder durch die Deklaration zu einem bestimmten höheren Pegel
in der Struktur des Programms gehört. Dieses letztere Merkmal
gibt es nicht in diesem besonders einfachen Programm, sondern findet
weite Anwendung in verschachtelten Strukturen. Weiterhin sind in
diesem Kontext, auch Klammern unterdrückt.
-
Untenstehend
folgt eine Liste mit Elementen des maschinengenerischen Programms,
zusammen mit der Bedeutung oder Funktion, ausgehend von oben:
Ff
definiert "Funktion" mit dem Namen f,
was der Name des Programms ist;
L4 spezifiziert den gebrauch
von vier örtlichen
Variablen;
C2.. instruiert die Löschung von Variablen 2, 3 bzw.
1;
1: ist ein Label;
=4.. ordnet der Variablen 4 den Wert
des Parameters ($) 1 zu, der indexiert ist (@) mit der örtlichen
Variablen (#) 1;
Z4 2: wenn die Variable 4 den Null-Sprung
zu dem Label 2 entspricht;
2#4 addiert den Wert der Variablen
4 zu der Variablen 2;
I1: inkrementiert die Variable 1;
G1:
gehe zu dem Label 1 (dies ist das Ende der ersten iterativen Schleife);
danach
folgt das Löschen
der Variablen 1 und einer ähnlichen
Schleife mit dem Label 3, die nur den Parameter 2 benutzt;
L..
wenn die Variable 2 kleiner ist als die Variable 3, gehen zu dem
Label 5;
7:, 9: zwei weitere Schleifen, die je zwei Zuordnungen
haben,
=#4 der örtlichen
Variablen 4 soll der Wert des Parameters zugeordnet werden, wie
dieser in der Schleife mit dem Label "1" spezifiziert
ist;
=$1.. dem Parameter 1 mit dem Index mit dem Wert 1 wird
der Wert der Variablen 4 zugeordnet;
E: Ende.
-
Text in der
Zeichnung
-
3
- 60
- Start
- 66
- Struktur
- 70
- Ende