DE2525795C3 - computer - Google Patents

computer

Info

Publication number
DE2525795C3
DE2525795C3 DE2525795A DE2525795A DE2525795C3 DE 2525795 C3 DE2525795 C3 DE 2525795C3 DE 2525795 A DE2525795 A DE 2525795A DE 2525795 A DE2525795 A DE 2525795A DE 2525795 C3 DE2525795 C3 DE 2525795C3
Authority
DE
Germany
Prior art keywords
stack
reduction
register
processor
state
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.)
Expired
Application number
DE2525795A
Other languages
German (de)
Other versions
DE2525795A1 (en
DE2525795B2 (en
Inventor
Klaus Dipl.-Phys. Dr. Rer.Nat. 5205 St Augustin Berkling
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GESELLSCHAFT fur MATHEMATIK und DATENVERARBEITUNG MBH 5300 BONN
Original Assignee
GESELLSCHAFT fur MATHEMATIK und DATENVERARBEITUNG MBH 5300 BONN
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GESELLSCHAFT fur MATHEMATIK und DATENVERARBEITUNG MBH 5300 BONN filed Critical GESELLSCHAFT fur MATHEMATIK und DATENVERARBEITUNG MBH 5300 BONN
Priority to DE2525795A priority Critical patent/DE2525795C3/en
Priority to GB2870/76A priority patent/GB1540299A/en
Priority to NL7600892A priority patent/NL7600892A/en
Priority to US05/657,839 priority patent/US4075689A/en
Priority to FR7604220A priority patent/FR2301050A1/en
Priority to JP51015734A priority patent/JPS51139225A/en
Publication of DE2525795A1 publication Critical patent/DE2525795A1/en
Publication of DE2525795B2 publication Critical patent/DE2525795B2/en
Application granted granted Critical
Publication of DE2525795C3 publication Critical patent/DE2525795C3/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven

Description

Gegenstand des Hauptpatents ist ein Rechner mit Leitwerk, Rechenwerk, Ein- und Ausgabeeinheit sowieThe subject of the main patent is a computer with control unit, arithmetic unit, input and output unit as well as

ίο Speichern, welche untereinander zur Übertragung, Verarbeitung und Speicherung von linearisierten Zeichenfolgen aus Atomen und Konstruktoren verbunden sind, wobei das Rechenwerk mindestens drei Stackregister von entsprechend den zu speicherndenίο Save which among each other for transmission, Processing and storage of linearized strings of atoms and constructors connected are, the arithmetic unit at least three stack registers corresponding to the ones to be stored

Zeichenfolgen großer Länge sowie einen den Stackregistern zugeordneten Reduktionsprozessor aufweist, und wobei Zeichen, die in den Reduktionsprozessor zugänglichen Zellen der Stackregister vorliegen, durch den Reduktionsprozessor auf das Bestehen einer Reduktionsregel einer Lambda-Reduktionssprache überprüfbar sind und der Reduktionsprozessor vor Ausführung der Reduktion eingereichtet istHas character strings of great length and a reduction processor associated with the stack registers, and where characters that are available in the stack register cells that are accessible to the reduction processor are carried out the reduction processor to the existence of a reduction rule of a lambda reduction language are verifiable and the reduction processor is set up before the reduction is carried out

Herkömmliche Rechner, die aus Leitwerk, Rechenwerk und Ein- und Ausgabeeinheit sowie ggf. AusConventional computers, which consist of a control unit, arithmetic unit and input and output unit as well as, if necessary, off

Speichern bestehen, welche untereinander zur Übertragung, Verarbeitung und Speicherung von Zeichenfolgen verbunden sind, arbeiten nach dem Prinzip des gespeicherten Programms, das auf J.v. Neu mann zurückgeht. Danach werden Daten und Programmbe-Stores exist, which are used to transmit, process and store strings of characters among each other operate on the principle of the stored program, which is based on J.v. New man going back. Then data and program information are

fehle in Form von Worten vorbestimmter Länge in adressierbaren Speicherzellen gespeichert. Für Daten und Programmbefehle sind im allgemeinen verschiedene Bereiche des Speichers vorgesehen. Das Rechenwerk besteht regelmäßig im wesentlichen aus einer Vielzahl von in geeigneter Weise verkoppelten Akkumulatoren. Bei Ausführung eines Programms wird jeweils ein Befehl aufgerufen und ausgeführt, zugleich wird ein Befehlszähler auf die Adresse des nächsten auszuführenden Befehls weitergestellt. Die Befehle beziehen sich auf den Austausch von Daten zwischen Speicher und Rechenwerk, auf die Ausführung von Operationen im Rechenwerk sowie auf die Steuerung der Datenausgabe. Dies alles geschieht unter Kontrolle durch das Leitwerk. Das Prinzip des gespeicherten Programms besagt insbesondere, daß auch Programmbefehle logisch-arithmetischen Operationen unterworfen werden, wodurch Programmverzweigungen, Rekursionen usw. ermöglicht werden. — Diese Arbeitsweise, die allen praktisch ausgeführten Rechnern zugrundeliegt, ist dadurch gekennzeichnet, daß ein zu behandelndes Problem bei der Programmerstellung in einzelne nacheinander auszuführende Schritte aufgelöst wird. Aus dieser linearen Folge von Schritten wird im Rechner das Problem in seinem logischen Zusammenhang rekonstruiert.are missing in the form of words of a predetermined length stored in addressable memory cells. For dates and program instructions are generally provided in different areas of memory. The arithmetic unit regularly consists essentially of a large number of suitably coupled Accumulators. When a program is executed, one command is called and executed at the same time a command counter is incremented to the address of the next command to be executed. The commands relate to the exchange of data between memory and arithmetic logic unit, to the execution of Operations in the arithmetic unit and on the control of the data output. All of this is under control through the tail unit. The principle of the stored program states in particular that also program commands Logical-arithmetic operations are subjected to, whereby program branches, recursions etc. are made possible. - This way of working, which is the basis of all practically executed computers, is characterized in that a problem to be dealt with when creating the program is broken down into individual steps to be carried out one after the other is resolved. This linear sequence of steps becomes im Calculator reconstructs the problem in its logical context.

Die vorstehend beschriebene Arbeitsweise hat trotz ihrer verbreiteten Durchsetzung erhebliche Nachteile. Innerhalb eines Programms bestehen schwer zu übersehende Abhängigkeiten zwischen Befehlen, die oft weit voneinander entfernt sind. Die Programme werden dadurch unübersichtlich, und selbst kleine Veränderungen können erhebliche Störungen des Programmablaufs verursachen. Der indirekte Datenaufruf der herkömmlichen Rechner erfordert umfangreiche Programmteile,Despite its widespread use, the method of operation described above has considerable disadvantages. Within a program, there are difficult-to-overlook dependencies between commands are far apart. This makes the programs confusing, and even small changes can cause considerable disruptions to the program flow. The indirect data retrieval of the conventional Computer requires extensive program parts,

br> die sich nur auf den Datenzugriff und die Verteilung von Speicherplätzen beziehen, und die im allgemeinen weit mehr Aufwand verursachen als der eigentliche Rechengang. Weiter erlaubt bei dem lineraren Programmablaufb r > which only relate to data access and the distribution of storage spaces, and which generally cause far more effort than the actual computation process. Also allowed with the linear program sequence

der momentane Zustand des Rechners keinen unmittelbaren Rückschluß darauf, welcher Zustand mit Bezug auf die logische Struktur des jeweils behandelten Problems erreicht ist. Eine Wechselwirkung zwischen Benutzer und Rechner ist praktisch ohne weitere Software-Hilfsmittel unmöglich. — Hieraus ergibt sich die allgemeine Aufgabe, einen Rechner 7u schaffen, der aufgrund einer neuen logischen Organisation eine einfachere Programmgestaltung und unmittelbare Wechselwirkung mit einem Benutzer erlaubtthe current state of the computer does not allow any direct conclusion as to which state with reference the logical structure of the problem being dealt with is achieved. An interaction between User and computer is practically impossible without additional software aids. - It follows from this the general task of creating a calculator 7u that a simpler and more immediate program design due to a new logical organization Interaction with a user allowed

Die mit Rechnern zu behandelnden Probleme sind sprachlich-logisch strukturiert Sie lassen sich darstellen mittels geeignet definierter logischer Elemente, die durch sogenannte Konstruktoren miteinander verknüpft sind. Im allgemeinen sind zahlreiche Verknüp- fungen ineinandergeschachtelt Das ergibt für die zu behandelnden Probleme eine verzweigte logische Struktur, die als »Tree« (engl. Baum) bezeichnet wird. Insbesondere ist stets eine Darstellung als binärer Tree möglich, in der nur einfache Verzweigungen vorkommen. Die (einfachen oder zusammengesetzten) logischen Elemente stellen gleichsam die Blätter eines Trees dar und werden hier als Atome bezeichnet die Verknüpfungen zwischen den Atomen, d. h. die Konstruktoren, stellen Gabelungen dar. Durch Konstrukto- ren können auch komplizierte Gebilde, sog. Subtrees, miteinander verknüpft sein. Die Trees weisen an sich zweidimensionaie Struktur auf, sie lassen sich jedoch auf verschiedene Weisen eindeutig in die Form einer linearen Zeichenfolge bringen. Ein Beispiel dafür ist in jo F i g. 1 dargestellt Durch Pfeile ist angedeutet, ;n welcher Reihenfolge die Konstruktoren, die die Gabelungen eines Trees darstellen, vollständig und eindeutig hintereinander geschrieben werden können. Die in F i g. 1 dargestellte Linearisierung wird als pre-order-Linearisierung bezeichnet. Die beschriebene Linearisierung von Ausdrucken hat mit herkömmlicher Programmierung nichts zu tun, bei der es sich nur um lineare Befehlsfolgen zur Ausführung eines Algorithmus handelt. — Nachfolgend werden unter »Ausdrücken« -to stets pre-order-linearisierte binäre Trees verstanden.The problems to be dealt with with computers are linguistically and logically structured. They can be represented by means of suitably defined logical elements that are linked to one another by so-called constructors. In general, numerous links are nested in one another. This results in a branched logical structure for the problems to be dealt with, which is referred to as a "tree". In particular, it can always be represented as a binary tree in which only simple branches occur. The (simple or composite) logical elements represent, as it were, the leaves of a tree and are referred to here as atoms. The connections between the atoms, ie the constructors, represent forks. Constructors can also be used to connect complex structures, so-called subtrees be. The trees themselves have a two-dimensional structure, but they can be clearly brought into the form of a linear sequence of characters in various ways. An example of this is shown in FIG. 1 shown by arrows is indicated ; The order in which the constructors that represent the forks of a tree can be written completely and clearly one after the other. The in F i g. The linearization shown in FIG. 1 is referred to as pre-order linearization. The described linearization of printouts has nothing to do with conventional programming, which is only a matter of linear command sequences for executing an algorithm. - In the following, "expressions" -to are always pre-order-linearized binary trees.

Es sind Versuche bekanntgeworden (vgl. US-PS 36 46 523; IEEE Transactions on computers. Band C-20, April 1971, Seite 404), Rechner zu entwickeln, bei denen die Programmdarstellung in Form derartiger Ausdrücke erfolgt. Die Maschinensprache dieser Rechner beruht auf dem bekannten Lambda-Kalkül (vgl. Church: Annals Math. Studies Nr. 6, Princeton Univ. Press, 1941). Bei diesen bekannten Rechnern ist das Rechenwerk in herkömmlicher Weise aufgebaut und ist die Tree-Struktür in der Adressendarstellung des Leitwerks vorgebildet. Diese Versuche haben sich jedoch als Fehlschläge erwiesen: diese Rechner sind in der Anwendung nicht hinreichend anpassungsfähig. Die angestrebte unmittelbare Wechselwirkung zwischen Rechner und Benutzer ist nur mit speziellen Programmiermaßnahmen zu erreichen, mit denen die Einfachheit dieses Konzepts wieder aufgegeben werden muß.Attempts have become known (see US Pat. No. 3,646,523; IEEE Transactions on computers. Volume C-20, April 1971, page 404) to develop computers for which the program is represented in the form of such expressions. The machine language of this calculator is based on the well-known lambda calculus (see Church: Annals Math. Studies No. 6, Princeton Univ. Press, 1941). In these known computers, the arithmetic unit is constructed in a conventional manner and the tree structure is pre-formed in the address display of the control unit. However, these attempts have proven to be failures proven: these computers are not sufficiently adaptable in their application. The intended direct interaction between computer and user can only be achieved with special programming measures that ensure the simplicity of this concept must be given up again.

Es ist weiter eine Klasse von als Reduktionssprachen bezeichneten Programmiersprachen bekannt (vgl. J. bo Backus: IBM-Research-Report RJ 1010, 1972; ders: IBM-Research-Report R) 1245, 1973). bei denen die durch ein Programm spezifizierten Berechnungen darin bestehen, die Problemdarstellung der Ausdrücke durch Reduktionsschritte in die Ergebnisdarstellung zu trans- tr> formieren.A class of programming languages called reduction languages is also known (cf. J. bo Backus: IBM Research Report RJ 1010, 1972; ders: IBM Research Report R) 1245, 1973). where the Calculations specified by a program consist of the problem representation of the expressions by Reduction steps in the result display to trans- tr> form.

Bei dem im Hauptpatent P 25 06 454.4-53 beschriebenen Rechner sind im einzelnen mindestens zweiIn the case of the computer described in the main patent P 25 06 454.4-53, there are at least two in detail Stackregister sowie ein weiteres, als Systemstack bezeichnetes Stackregister vorgesehen. Die in den Stackregistern gespeicherten Zeichenfolgen sind mittels Impulsen auf- und abverschiebbar, dabei sind verschiedene Konstruktoren bzw. Atome miteinander in Gegenüberstellung bringbar. Die Transformation von in Problemdarstellung vorliegenden Ausdrücken in die Ergebnisdarstellung unter Anwendung einer Reduktionssprache erfolgt dabei dadurch, daß die transponierte Form eines in einem der Stackregister enthaltenen Ausdrucks im anderen Stackregister erzeugt wird, wobei die Rückkehrpunkte im Systemstack festgehalten werden, und daß die Reduktion durch Substitution in die Stackregister vorgenommen wird. Dabei ist vor allem wichtig, daß die speziellen Eigenschaften von Stackregistern einen unmittelbaren, adressenfreien Zugriff zu den gespeicherten Zeichen erlauben.Stack register and another stack register called a system stack are provided. The ones in the Character strings stored in stack registers can be shifted up and down by means of pulses, with different constructors or atoms in each other Can be compared. The transformation of expressions in problem representation into The results are presented using a reduction language in that the transposed form is contained in one of the stack registers Expression is generated in the other stack register, with the return points recorded in the system stack and that the reduction is carried out by substitution in the stack registers. It is above all It is important that the special properties of stack registers provide direct, address-free access to the allow saved characters.

Von Bedeutung für die Funktion und für die »hardware«-Realisierung eines Rechners der eingangs beschriebenen Aufbaus ist seine Zugriffstruktur, mit anderen Worten die Zuordnung zwischen Reduktionsprozessor und Stackregistern. Bei den im Patent P 25 06 454.4-53 vorgeschlagenen Rechner ist die Zugriffstruktur dadurch definiert daß die in den Stackregistern gespeicherten Zeichenfolgen mittels Impulsen auf- und abverschiebbar sind und durch Substitution in die Stacks reduziert werden. Es hat sich nun gezeigt daß diese Lösung in funktioneller Hinsicht und im Hinblick auf die einzusetzende »hardware« unnötige Beschränkungen mit sich bringt Der Erfindung liegt daher die Aufgabe zugrunde, eine allgemeinere Lösung für die Zugriffstruktur eines Rechners der eingangs beschriebenen Gattung anzugebenOf importance for the function and for the "hardware" implementation of a computer The structure described is its access structure, in other words the assignment between the reduction processor and stack registers. With those in the patent P 25 06 454.4-53 proposed computer, the access structure is defined by the fact that the Stack registers stored character strings can be shifted up and down by means of pulses and through Substitution in the stacks can be reduced. It has now been shown that this solution in functional terms and with regard to the "hardware" to be used entails unnecessary restrictions. The invention is therefore based on the object of providing a more general solution for the access structure of a computer Specify the genus described at the beginning

Zur Lösung dieser Aufgabe lehrt die Erfindung, daß der Reduktionsprozessor Kontrollworte aufweist, daß die Reduktion durch Erzeugung von Zustandsübergängen in den Stackregistern mittels der Kontrollworte erfolgt und daß ein n>!etzt in ein Stackregister eingegebenes Zeichen als erstes durch den Reduktionsprozessor einem Zustandsübergang unterziehbar ist.To solve this problem, the invention teaches that the reduction processor has control words that the reduction by generating state transitions in the stack registers by means of the control words takes place and that a character entered in a stack register can first be subjected to a state transition by the reduction processor.

Unter Zustandsübergängen sind alle Prozesse zu verstehen, die zur Umwandlung des Inhaltes von Speicherzellen führen. Dazu gehört zunächst die nach dem Hauptpatent P 25 06 454.4-53 allein in Betracht gezogene Substitution, außerdem gehören dazu auch alle anderen Veränderungen des Inhalts von Speicherzellen, ferner auch das Auf- und Abverschieben der in den Stacks gespeicherten Zeichenfolgen. Weiter ist nach den Patent P 25 06 454.4-53 vorgesehen, daß nur die an der Spitze der Stackregister anstehenden Zeichen dem Zugriff des Reduktionsprozessors unterliegen. Demgegenüber beruht die Erfindung auf der Erkenntnis, daß für die Reduktion nur gefordert werden muß, daß ein zuletzt in ein Stackregister eingegebenes Zeichen als erstes durch den Reduktionsprozessor einem Zustandsübergang unterziehbar ist, daß also insoweit eine notwendige und hinreichende Lösung bereits darin besteht, daß ein allgemeines »last in-first oui«-Prinzip gilt. Das läßt sich beispielsweise auch dadurch verwirklichen, daß die Stackregister bei fester Zuordnung der Zeichen zu den Speicherzellen der Siackregister durch den Reduktionsprozessor vor- und rückwärtsabtastbar sind. Es sind auch gemischte Zugriffsstrukturen möglich, bei denen sowohl die in den Stackregistern gespeicherten Zeichenfolgen verschiebbar sind als auch die Möglichkeit der Abtastung der Stackregister durch den Reduktionsprozessor besteht.State transitions are all processes that are used to convert the content of Lead memory cells. This includes first of all that according to the main patent P 25 06 454.4-53 alone drawn substitution, this also includes all other changes to the content of memory cells, as well as moving the in strings stored in the stacks. It is also provided according to the patent P 25 06 454.4-53 that only the characters at the top of the stack register are subject to access by the reduction processor. In contrast, the invention is based on the knowledge that for the reduction it must only be required that a character last entered into a stack register is the first to be subjected to a state transition by the reduction processor, so that to this extent a A necessary and sufficient solution already consists in the fact that a general "last in first oui" principle is applicable. This can also be achieved, for example, in that the stack registers can be scanned forwards and backwards by the reduction processor with a fixed assignment of the characters to the memory cells of the stack registers. Mixed access structures are also possible in which both the Stack registers are relocatable as well as the possibility of scanning the strings Stack register is made by the reduction processor.

Es ist an sich bekannt, ein jeweils zuletzt in einenIt is known per se, one in each case last in one

Speicher eingegebenes Zeichen als erstes zu berarbeiten (vgl. DE-AS 10 94 019). Diese Arbeitsweise ist bisher jedoch nur bei Rechnern anderer Gattung, die mit einem herkömmlichen Rechenwerk arbeiten, eingesetzt worden, und zwar zur geordneten Zwischenspeicherung von Zeichen bzw. Operatoren, die im Laufe einer Rechnung in entsprechender Reihenfolge wieder aufgerufen werden.Memory entered characters to be edited first (cf. DE-AS 10 94 019). This way of working is so far however, it has only been used in computers of a different type that work with a conventional arithmetic unit, specifically for orderly intermediate storage of characters or operators that appear in the corresponding order in the course of a calculation be called.

Bei einem erfindungsgemäßen Rechner steht der Reduktionsprozessor beständig und gleichzeitig mit einem mehr oder weniger großen Bereich jedes Stackregisters in Verbindung (diese Bereiche in ihrer Gesamtheit werden als Aufmerksamkeitsbereich bezeichnet). Folglich besteht nicht nur eine sequentielle Kontrolle der Stackregister, vielmehr erfolgt eine !5 simultane Zustandskontrolle, die sich — im Rahmen des Aufmerksamkeitsbereichs — gleichzeitig über alle Stackregister erstreckt Im Rahmen dieser Zustandskontrolle wird geprüft, ob eine Reduktionsregel einer Lambda-Reduktionssprache vorliegt Entsprechend dem Ergebnis dieser Prüfung wird durch Anwendung eines der im Reduktionsprozessor vorgesehenen Kontrollworte ein Zustandsübergang herbeigeführt und damit ein Reduktionsschritt vorgenommen. Die Zustandsübergänge erfolgen jeweils an den zuletzt in die Stackregister eingegebenen Zeichen, und zwar vorzugsweise innerhalb des Aufmerksamkeitsbereichs.In a computer according to the invention, the reduction processor is constantly and simultaneously with a more or less large area of each stack register (these areas in their Entirety are referred to as the attention area). Consequently, there is not just a sequential one Check the stack register, rather a! 5 simultaneous condition control, which - within the framework of the Attention area - extends simultaneously across all stack registers As part of this status check, it is checked whether a reduction rule has a Lambda reduction language is available According to the result of this test, by application one of the control words provided in the reduction processor brings about a state transition and so that a reduction step was carried out. The status transitions take place on the last to the Characters entered in the stack register, preferably within the attention area.

Die Kontrollworte führen, angewandt auf einen Zustand der Stackregister, zu einem Zustandsübergang, sie können daher gleichsam als Operatoren verstanden werden, die — nach Maßgabe der zugrundeliegenden Reduktionsregeln — Ausgangszustände in Endzustände überführen. Dabei kann ein und dasselbe Kontrollwort — angewandt auf verschiedene Ausgangszustände — zu unterschiedlichen Endzuständen führen. In jedem neuen Zustand wird erneut geprüft, ob und welche Reduktionsregel vorliegt, und demgemäß erfolgt mittels eines weiteren Kontrollworts ein weiterer Zustandsübergang. Ober die in dem Patent P 25 06 454.4-53 in Betracht gezogenen Transposition hinaus sind dabei zahlreiche weitere Algorithmen möglich.When applied to a state of the stack register, the control words lead to a state transition, they can therefore be understood as operators, which - according to the underlying Reduction rules - converting initial states into final states. One and the same control word can be used - applied to different initial states - lead to different final states. In each new one State, it is checked again whether and which reduction rule is present, and accordingly takes place by means of a another control word another state transition. Above that in the patent P 25 06 454.4-53 into consideration In addition to the drawn transposition, numerous other algorithms are possible.

Bei alldem ist selbstverständlich Voraussetzung, daß die zu reduzierenden Ausdrücke nur solche Zeichen enthalten, die im Reduktionsprozessor definiert und folglich durch diesen identifizierbar sind und für die Reduktionsregeln erklärt sind. Die Reduktion erfolgt gewöhnlich in einer Mehrzahl aufeinanderfolgender Schritte und führt im Ergebnis zu einem konstanten Ausdruck, nämlich der Ergebnisdarstellung.In all of this it is of course a prerequisite that the expressions to be reduced only contain such signs which are defined in the reduction processor and consequently identifiable by it and for which Reduction rules are explained. The reduction usually takes place in a plurality of consecutive ones Steps and leads to a constant expression in the result, namely the representation of the result.

In der Regel werden die Ausdrücke reduzierbar sein. Ist ein Ausdruck nicht reduzierbar, so wird der Reduktionsprozessor nicht mit einer unvollständigen Reduktion aufhören, sondern weitere Reduktionsschritte versuchea Dabei erscheint in der Ausgabe eine Folge von pseudo-konstanten Ausdrücken, die einen Hinweis auf eine Fehlerbedingung geben.Usually the terms will be reducible. If an expression is not reducible, it becomes The reduction processor does not stop with an incomplete reduction, but try further reduction steps. A sequence appears in the output of pseudo-constant expressions that give an indication of an error condition.

Eine besondere Klasse von Zustandsübergängen umfaßt die Zustandsübergänge von einem Lese- zu einem Schreibzustand, von einem Lese- zu einem Lesezustand, von einem Schreib- zu einem Schreibzustand sowie von einem Schreib- zu einem Lesezustand. Die zu einer Reduktionsregel gehörigen, durch ein entsprechendes Kontrollwort wiedergegebenen Umordnungen von Atomen bzw. Konstruktoren werden vorteilhafterweise nur aus diesen Zustandsübergängen zusammengesetztA special class of state transitions comprises the state transitions from a read to a a write state, from a read to a read state, from a write to a write state and from a write to a read state. The rearrangements of atoms or constructors that belong to a reduction rule and are represented by a corresponding control word advantageously composed only of these state transitions

In einer besonders vorteilhaften Ausführungsform ist der Reduktionsprozessor so aufgebaut daß er eineIn a particularly advantageous embodiment, the reduction processor is constructed so that it has a Prozessorkomponente aufweist, in der ein Kontrollbord zur Übersetzung von Stackmarkierungen der Stackregister in Kontrollworte sowie ein Kontrollbord zur Übersetzung von Zeichen in Kontrollworte enthalten sind, und daß zumindest ein weiteres Register zur Zwischenspeicherung vorgesehen ist. — Weitere vorteilhafte Ausgestaltungen des erfindungsgemäßen Rechners ergeben sich aus den Unteransprüchen und aus der Beschreibung der Figuren.Has processor component in which a control board for translating stack markings of the stack register into control words and a control board for Translation of characters in control words are included, and that at least one further register for Intermediate storage is provided. - Further advantageous embodiments of the invention Calculator result from the subclaims and from the description of the figures.

Wesentlich für den erfindungsgemäßen Rechner ist vor allem, daß die Ausdrücke, die das zu behandelnde Problem beschreiben, jederzeit und vollständig in den Stackregistern vorliegen. Jeder momentane Zustand des Systems ist folglich mit Bezug auf das Problem eindeutig definiert — im Gegensatz zu herkömmlichen Rechnern, bei denen definierte Zustände nur bezüglich der Befehlsfolge bestehen, die den Algorithmus der Problemlösung wiedergibt und mit dem eigentlichen Problem keinen direkten Zusammenhang besitzt. Die eindeutig definierte Tree-Struktur der Ausdrücke und die speziellen Eigenschaften der Stackregister machen Adressen unnötig, so daß der Programmaufwand für Datenzugriff und Verteilung von Speicherplätzen entfällt. Die Programmausführung erfolgt nicht wie bei herkömmlichen Rechnern in Form einer Folge von Befehlen, die in schwer durchschaubarer Weise mit anderen Befehlen zusammenhängen, sondern problembezogen lokal, nämlich im Wege der Reduktion von Ausdrücken durch Herbeiführung von Zustandsübergängen. Der Ablauf bleibt dabei übersehbar und erlaubt zu jedem Zeitpunkt eine Beeinflussung durch den Benutzer.It is essential for the computer according to the invention that the expressions that are to be treated Describe the problem and present it in full in the stack registers at all times. Every current state of the The system is therefore clearly defined with reference to the problem - in contrast to conventional computers, in which defined states exist only with regard to the sequence of commands that use the algorithm of the Represents problem solving and is not directly related to the actual problem. the Make a clearly defined tree structure of the expressions and the special properties of the stack registers Addresses unnecessary, so that the program overhead for data access and distribution of memory locations not applicable. Unlike conventional computers, the program is not executed in the form of a sequence of Commands that are related to other commands in a difficult to understand way, but local problem-related, namely by way of the reduction of Expressing by bringing about state transitions. The process remains transparent and allowed an influence by the user at any point in time.

Der erfindungsgemäße Rechner beruht auf der Anwendung einer besonderen, neuen Reduktionssprache, die von dem erwähnten Lambda-Kalkül ausgeht und hier folglich als Lambda-Reduktionssprache bezeichnet wird. Wesentlich ist hierbei vor allem die besondere Behandlung der Variablen. Dazu werden eine neue Klasse V von als Variable ν bezeichneten Atomen sowie ein Konstruktor Lambda, dargestellt durch das Zeichen \, eingeführt Variable werden extern durch Buchstabenfolge und intern durch deren Kodierungen dargestellt in jedem Fall aber als Konstanten behandelt. Das steht im Gegensatz zu herkömmlichen Programmiersprachen, in denen Variable intern durch ein mehr oder weniger kompliziertes Netzwerk von Verweisungen auf Speicherzellen dargestellt werden. — Unter Verwendung des Lambda-Konstruktors lassen sich Lambda-Ausdrücke \ ve bilden, die Komponenten eines Anwendungskonstruktors ap sein können: Die Reduktion dieses Ausdruckes entspricht der Beta-Konversionsregel des Lambda-Kalküls: /"wird in efür freies Auftreten von ν substituiert Im allgemeinen sind mehrere Konstruktoren des ap-Typs definiert, die sich in der Behandlung ihrer Komponenten unterschieden.The computer according to the invention is based on the use of a special, new reduction language which is based on the aforementioned lambda calculus and is consequently referred to here as the lambda reduction language. The special treatment of the variables is essential here. For this purpose, a new class V of atoms designated as variable ν and a constructor lambda, represented by the character \, are introduced. Variables are represented externally by letter sequences and internally by their encodings, but are treated as constants in any case. This is in contrast to conventional programming languages, in which variables are represented internally by a more or less complicated network of references to memory cells. - Using the lambda constructor, lambda expressions \ ve can be formed, which can be components of an application constructor ap : The reduction of this expression corresponds to the beta conversion rule of the lambda calculus: / "is substituted in e for the free occurrence of ν In general several constructors of the ap-type are defined, which differ in the way their components are handled.

Für das folgende ist vor allem wesentlich, daß zu jedem Konstruktor ap eine transponierte Form ap' existiert wobei der AusdruckFor the following it is essential that for each constructor ap there is a transposed form ap ' where the expression

ap'/weap '/ we

der Beta-Konversion des Lambda-Kalküls unterliegt und die Eigenschaft besitzt:is subject to the beta conversion of the lambda calculus and has the property:

M ap'f/ve=M ap/vef (Mbezeichnet eine semantische Bedeutungsfunktion). M ap'f / ve = M ap / vef (M denotes a semantic meaning function).

Für anwendbare Reduktionssprachen gilt allgemein folgendes Axiom:The following axiom generally applies to applicable reduction languages:

M ap e /= M ap Me Mf M ap e / = M ap Me Mf

Mit Bezug auf dieses Axiom ergeben sich weitere wichtige Eigenschaften der ap-Konstruktoren. In der dargestellten Form ist das Axiom nur brauchbar, wenn e kein Lambda-Ausdruck ist, da e vor der möglichen Anwendung einer Darstellungsfunktion R zu einem to konstanten Ausdruck reduziert werden muß. Wenn jedoch e ein Lambda-Ausdruck ist, sind verschiedene Reduktionssequenzen möglich, da die Substitution keine konstanten Komponenten erfordert. Damit ergeben sich folgende ap-Konstruktoren;With reference to this axiom, there are other important properties of the ap constructors. In the form shown, the axiom is only useful if e is not a lambda expression, since e must be reduced to a constant to expression before a representation function R can be used. However, when e is a lambda expression, various reduction sequences are possible because the substitution does not require constant components. This results in the following ap constructors;

M ~gf=MR2R\g fM ~ gf = MR2R \ g f M ■ gf=MR2R\g MfM ■ gf = MR2R \ g Mf M/\gf=MR2R\Mgf.M / \ gf = MR2R \ Mgf.

2020th

Hier treten zwei Darstellungsfunktionen auf: R1 bereitet den Lambda-Ausdruck für die Substitution vor, während die zweiparametrige Funktion R2 die Substitution ausführt. — Der Fall, daß die erste Komponente kein Lambda-Ausdruck ist, erfordert keine weiteren ap-Konstruktoren. Die beschriebenen Konstruktoren genügen zusammen mit ihren transponierten Formen zur Darstellung aller wesentlichen syntaktischen Eigenschaften von höheren Programmiersprachen. Außerdem zeigt sich, daß die Kombina- tionseigenschaften dieser Konstruktoren mit denen der entsprechenden Rechnerkomponenten parallel gehen, so daß verhältnismäßig komplexe Operationen in ökonomischer Weise durch hardware dargestellt werden können.Two representation functions appear here: R 1 prepares the lambda expression for the substitution, while the two-parameter function R2 carries out the substitution. - The case that the first component is not a lambda expression does not require any further ap constructors. The constructors described, together with their transposed forms, are sufficient to represent all essential syntactic properties of high-level programming languages. It also shows that the combination properties of these constructors go parallel to those of the corresponding computer components, so that relatively complex operations can be represented in an economical way by hardware.

Besondere Behandlung verlangt das Problem der freien und gebundenen Variablen bei der Reduktion. Es wird ein besonderer Lambda-Bar-Konstruktor definiert, der verhütet, daß ein eventuelles freies Auftreten einer Variablen bei der Substitution irrtümlich gebunden wird. Der mit dem Zeichen / dargestellte Lambda-Bar-Konstruktor kann nicht in der Eingabe gebracht werden, sondern tritt nur in der durch den Rechner erfolgten Ausgabe auf, und zwar in Form von Ausdrucken Iv anstelle von ν allein. Lambda-Bar-Ausdrücke treten nur als Komponenten von Lambda-Ausdrücken mit der gleichen Variablen auf. Bei Anwendung dieses Lambda-Ausdrucks auf irgendein Argument verschwindet der Lambda-Bar-Konstruktor automatisch. Diese Lösung hat sich praktisch bewährt und ist weniger einschränkend als bekannte Verfahren.The problem of free and bound variables in the reduction requires special treatment. A special lambda bar constructor is defined which prevents a possible free occurrence of a variable from being erroneously bound during the substitution. The lambda bar constructor represented by the character / cannot be included in the input, but only appears in the output made by the computer, in the form of expressions Iv instead of ν alone. Lambda bar expressions only appear as components of lambda expressions with the same variable. If this lambda expression is applied to any argument, the lambda bar constructor automatically disappears. This solution has proven itself in practice and is less restrictive than known methods.

Eingabe und Ausgabe von arithmetischen Ausdrükken erfolgen bei dem erfindungsgemäßen Rechner in vollverklammerter Form, dagegen besteht die interne Darstellung in binären Trees, wobei rechten und linken Klammern je ein Konstruktor entspricht und Tenne und Operatoren als Elemente auftreten. Die vorstehend kursorisch definierte neue Lambda-Reduktionssprache, die dem erfindungsgemäßen Rechner zugrundeliegt, erlaubt die Formulierung der logischen Funktionen »UND« und »ODER«, Bedingungen, Listenstrukturen sowie Parameteraufrufe betreffend Wert und Namen. Das ist hier nicht im einzelnen aufzuzeigen. Es soll jedoch kurz auf die Behandlung von Funktionsausdrükken eingegangen werden.Input and output of arithmetic expressions take place in the computer according to the invention in fully bracketed form, whereas the internal representation consists of binary trees, with right and left Brackets each correspond to a constructor and threshing floor and operators appear as elements. The above cursory defined new lambda reduction language on which the computer according to the invention is based, allows the formulation of the logical functions "AND" and "OR", conditions, list structures as well as parameter calls regarding value and name. This is not to be shown here in detail. It should however, the treatment of functional expressions will be briefly discussed.

Es ist allgemein unwirtschaftlich, in Funktionen unreduzierte Komponenten stehenzulassen, Funktionen sind daher gewöhnlich konstante Ausdrücke. MehrereIt is generally uneconomical to leave unreduced components in functions, functions are therefore usually constant expressions. Several Parameter, d.h. Variable v;,..., vn, sind jeweils mit einem Lambda-Konstruktor aufgeführt:Parameters, i.e. variables v;, ..., vn, are each listed with a lambda constructor:

ν 1ν 1

ν 2... \ vnf ν 2 ... \ vnf

Die Argumente erscheinen in der gleichen Reihenfolge wie die Parametervariablen, die entsprechenden Anwendungskonstruktoren erscheinen jedoch in entgegengesetzter Reihenfolge.The arguments appear in the same order as the parameter variables, the corresponding However, application constructors appear in the opposite order.

apn... ap2ap\ \ vl \ v2... \ vnfek2...en apn ... ap2ap \ \ vl \ v2 ... \ vnfek2 ... en

Als Anwendungskonstruktoren ap\ apn tretenAct as application constructors ap \ apn

die vorstehend erwähnten Konstruktoren ., -- ,Aauf. Zuerst werden der Konstruktor ap 1 und seine Komponenten reduziert, da allein auf diesen als Operatorkomponcntc ein Lambda-Ausdruck folgt. Entsprechend wird weiter verfahren. Nach Reduktion aller ap-Konstruktoren sind in /alle Parametervariablen durch tatsächliche Parameter ersetzt worden. Die Reduktion führt damit zu einem konstanten Ausdruck, nämlich dem durch die Funktion erzeugten Wert. Ist die Zahl der gebundenen Variablen von der Zahl der Argumente verschieden, so bleiben die überzähligen gebundenen Variablen bzw. Argumente einfach stehen.the aforementioned constructors., - , Aauf. First, the constructor ap 1 and its components are reduced, since these are followed by a lambda expression as the operator componentcntc. Proceed accordingly. After reducing all ap constructors, all parameter variables in / have been replaced by actual parameters. The reduction thus leads to a constant expression, namely the value generated by the function. If the number of bound variables differs from the number of arguments, the excess bound variables or arguments simply remain.

Die Lambda-Reduktionssprachen erlaubt auch die Ausführung von Rekursion und Iterationen, was hier im einzelnen nicht nachgewiesen werden soll. Damit stehen alle Möglichkeiten für die Ausführung von Berechnungen zur Verfügung.The lambda reduction languages also allow the execution of recursion and iterations, which is here in the individual should not be proven. This means that all options for performing calculations are available.

Nachfolgend soll der erfindungsgemäße Rechner mit Bezug auf die Figuren beispielsweise näher erläutert werden. Es zeigtIn the following, the computer according to the invention will be explained in more detail with reference to the figures, for example will. It shows

F i g. 1 die pre-order-Linearisierung eines binären Trees,F i g. 1 the pre-order linearization of a binary tree,

F i g. 2 den grundsätzlichen Aufbau des Rechners,F i g. 2 the basic structure of the computer,

Fig.3 eine rekursive Kontrollstruktur für die Transposition eines Ausdrucks,3 shows a recursive control structure for the transposition of an expression,

Fig.4 eine rekursive Kontrollstruktur mit einem Systemstack für den Transpositionsalgorithmus EA nach F i g. 3,4 shows a recursive control structure with a system stack for the transposition algorithm EA according to FIG. 3,

F i g. 5 Zustandstafel und Flußdiagramm der Prozessorkomponente,F i g. 5 Status table and flow chart of the processor component,

Fig.6 ausschnittsweise die Reduktion eines Ausdrucks,Fig. 6 excerpts from the reduction of an expression,

Fig.7 eine.i Ausschnitt aus der Kontrollstruktur eines Reduktionsprozessors für die Konstruktoren λ,., —*,7 an.i section of the control structure of a reduction processor for the constructors λ ,. , - *,

F i g. 8 verschiedene Typen von Zustandsübergängen,F i g. 8 different types of state transitions,

F i g. 9 den grundsätzlichen Aufbau der den Zustandsübergängen entsprechenden KontroUworte.F i g. 9 shows the basic structure of the control words corresponding to the state transitions.

In F i g. 1 ist dargestellt, wie aus einer Tree-Struktur durch pre-order-Linerarisierung ein Ausdruck erzeugt wird, wie vorstehend bereits erläutert worden istIn Fig. 1 is shown as coming from a tree structure a printout is generated by pre-order linearization, as has already been explained above

In F i g. 2 ist der grundsätzliche Aufbau des Rechners wiedergegeben. Er besteht im wesentlichen aus mehreren, zumindest drei Stackregistern SR, denen ein Reduktionsprozessor RP zugeordnet ist Eine Ausgabeeinheit (Monitor, Drucker od. dgL) ist mit AE bezeichnet Weiter sind Speichereinrichtungen Sp, S und zugeordnete Steuereinrichtungen KK vorgesehen, die nachfolgend erläutert werden. Ein an sich vorhandenes Leitwerk ist nicht dargestellt, da es für den eigentlichen Rechengang ohne Bedeutung ist In der beschriebenen Weise linearisierte Ausdrücke werden in den Stackregistern SÄ gespeichert, die entsprechend dem Umfang der zu reduzierenden Ausdrücke im allgemeinen große Länge besitzen. Der Reduktionsprozessor stellt durch Abtasten (»scanning«) die Reduzierbarkeit der gespeicherten Ausdrücke fest und führt ggf. durch ErzeugungIn Fig. 2 shows the basic structure of the computer. It consists essentially of several, at least three stack registers SR, to which a reduction processor RP is assigned. An output unit (monitor, printer or similar) is denoted by AE . Furthermore, storage devices Sp, S and assigned control devices KK are provided, which are explained below. An existing tail unit is not shown, since it is of no importance for the actual computation. Expressions linearized in the manner described are stored in the stack registers SA, which generally have a long length corresponding to the scope of the expressions to be reduced. The reduction processor determines the reducibility of the stored expressions by means of scanning and, if necessary, carries out their generation

von Zustandsübergängen die Reduktion aus. Die Zuordnung des Reduktionsprozessors zu den Stackregistern ist durch eine »last in-first out«-Zugriffstruktur gekennzeichnet, d. h., ein zuletzt in ein Stackregister eingegebenes Zeichen wird als erstes durch den Reduktionsprozessor einem Zustandsübergang unterzogen. Das läßt sich auf verschiedene Weise verwirklichen, wobei stets wesentlich ist, daß aufgrund der speziellen Eigenschaften der Stackregister ein unmittelbarer, adressenfreier Zugriff möglich ist. ι οthe reduction from state transitions. The assignment of the reduction processor to the stack registers is characterized by a "last in-first out" access structure, i. i.e., one last in a stack register inputted character is first subjected to a state transition by the reduction processor. This can be achieved in different ways, whereby it is always essential that due to the special properties of the stack register, direct, address-free access is possible. ι ο

Es besteht zunächst die Möglichkeit, die in den Stackregistern gespeicherten Ausdrücke durch Steuerimpulse entlang den Stackregistern auf- bzw. abwärts zu verschieben (engl. »push and pop«), wobei jedes Zeichen einer einen Ausdruck bildenden Zeichenfolge is an die oberste Stelle des entsprechenden Stackregisters überführt werden kann. Es besteht aber auch die Möglichkeit, bei fester Zuordnung der Zeichen zu den Plätzen der Stackregister diese durch den Reduktionsprozessor in Vor- und Rückwärtsrichtung abtasten zu M lassen.First there is the possibility to use control pulses to control the expressions stored in the stack registers to move up or down along the stack registers ("push and pop"), each Character of a character string forming an expression is can be transferred to the top position of the corresponding stack register. But there is also the With a fixed assignment of the characters to the positions of the stack registers, the reduction processor can scan them in forwards and backwards direction permit.

Die Reduktion eines Ausdrucks erfolgt beispielsweise derart, daß zunächst zu dem in einem Stackregister E enthaltenen Ausdruck die transponierte Form in einem Stackregister A erzeugt wird. Die Fig.3a zeigt schematisch einen Ausdruck kele2 im Stackregister E und nach Ausführung der Transposition den transponierten Ausdruck k'e 2'e/'im Stackregister AInFi g. 3b sind j-.hand eines Flußdiagramms die Probleme erläutert, die sich bei der Konstruktion einer Kontrollstruktur ergeben, durch die die Transposition erfolgt Zunächst wird geprüft ob ein zu transponierendes Element ein Atom oder ein Konstruktor ist. Atome werden unmittelbar transponiert und in das Stackregister A überführt Ein Konstruktor K wird vorübergehend in ein weiteres Stackregister M transponiert darauf werden die Komponenten des Konstruktors von E nach A transponiert und schließlich wird der transponierte Konstruktor k' gleichfalls von M nach A überführtAn expression is reduced, for example, in such a way that the transposed form in a stack register A is first generated for the expression contained in a stack register E. 3a shows schematically an expression kele2 in the stack register E and, after the transposition has been carried out, the transposed expression k'e 2'e / 'in the stack register AInFi g. 3b, a flowchart is used to explain the problems that arise in the construction of a control structure through which the transposition is carried out. First, a check is made as to whether an element to be transposed is an atom or a constructor. Atoms are immediately transposed and transferred to the stack register A. A constructor K is temporarily transposed to a further stack register M, then the components of the constructor are transposed from E to A and finally the transposed constructor k 'is also transferred from M to A.

Hierbei ist folgendes zu beachten: Die Kontrollstruktur bewirkt die Transposition eines Ausdrucks und wird dabei zweimal aufgerufen. Das kann nicht in üblicher Weise in Form einer Schleife erfolgen, da bereits zu Beginn zusätzliche Informationen notwendig sind, um zu entscheiden, zu welchem Aufruf der Kontrollstruktur zurückzukehren ist Deshalb ist das eben beschriebene Schema nicht brauchbar. Der Reduktionsprozessor RP weist daher als weiteres Stackregister ein Systemstack MU auf, in dem bei der Erzeugung der transponierten so Form eines Ausdrucks die Rückkehrpunkte festgehalten werden. Das Systemstack MU übernimmt zugleich die Rolle des Stacks M dadurch, daß auch die Konstrukto ren in den Rückkehrpunkten verschlüsselt werden. Das Systemstack hat den gleichen Aufbau wie die Stackregister und besitzt gleichfalls große Länge, um den Umfang der zu reduzierenden Ausdrücke nicht zu beschränken. Please note the following: The control structure effects the transposition of an expression and is called twice in the process. This cannot be done in the usual way in the form of a loop, since additional information is required at the beginning in order to decide which call of the control structure is to be returned to. Therefore, the scheme just described cannot be used. The reduction processor RP therefore has, as a further stack register, a system stack MU in which the return points are recorded when the transposed form of an expression is generated. The system stack MU also takes on the role of the stack M in that the constructors are also encrypted in the return points. The system stack has the same structure as the stack registers and is also long in order not to restrict the scope of the expressions to be reduced.

Nachfolgend wird die Kontrollstruktur anhand der F i g. 4 weiter erläutert, in der schematisch Stackregister E, A und das Systemstack MU dargestellt sind. Das grundlegende Muster des Kontrollflusses besteht darin, daß ein Zeichen aus einem Stackregister entnommen und ein ihm zugeordneter Zustandsübergang erzeugt wird. Das ist abgekürzt dargestellt durch eine horizontale Linie und durch ausgefüllte Dreiecke, die «5 den entsprechenden Zeichen zugeordnet sind. Die Einführung (»Schreiben«, engL »write«) eines Zeichens in ein bestimmtes Stack ist durch ein nach oben zeigendes ausgefülltes Dreieck angedeutet, entsprechend bezeichnet ein nach unten zeigendes ausgefülltes Dreieck die Entnahme (»Lesen«, engl. »read«) eines Zeichens. Die Fig.4 läßt erkennen, wie bei der vorstehend beschriebenen Transposition ein Atom unmittelbar von E nach A transponiert wird und wie ein Konstruktor im Systemstack MU in Form von Stackmarkierungen dargestellt wird. — Selbstverständlich besteht auch ein umgekehrter Transpositionsalgorithmus AE, der dadurch definiert ist, daß er im Anschluß an den Algorithmus EA den ursprünglichen Zustand aller Stacks wieder herstellt. The control structure is illustrated below with the aid of FIGS. 4 further explained, in which stack registers E, A and the system stack MU are shown schematically. The basic pattern of the control flow is that a character is taken from a stack register and a state transition assigned to it is generated. This is shown in abbreviated form by a horizontal line and filled triangles that are assigned to the corresponding characters. The introduction (»write«) of a character into a certain stack is indicated by a filled triangle pointing upwards; accordingly, a filled triangle pointing downwards denotes the removal (“read”) of a character Character. 4 shows how, in the transposition described above, an atom is transposed directly from E to A and how a constructor is represented in the system stack MU in the form of stack markings. Of course, there is also a reverse transposition algorithm AE, which is defined by the fact that it restores the original state of all stacks after the algorithm EA.

Für die Ausführung der Reduktion besteht die grundlegende hardware, d. h. das eigentliche Rechenwerk, aus einer Prozessorkomponente P, die einen Teil des Reduktionsprozessor:» RP darstellt. Außerdem ist ein weiteres Register R zur Zwischenspeicherung vorgesehen. Die F i g. 5 zeigt eine Zustandstafel der Prozessorkomponente. Es ist ein Kontrollbord BS vorgesehen, durch welches Stackmarkierungen in Kontrollworte übersetzt werden. Die Kontrollworte enthalten in dieser einfachen Ausführungsform entweder einen transponierten Konstruktor, der im Stack A eingeführt wird, und ein Signal, um das oberste Element des Systemstacks MU in das Register R zu bringen, oder eine Stackmarkierung, die in MU eingeführt wird, und ein Signal, um das oberste Element von £ in das Register R zu bringen. Ein anderes Kontrollbord BZ übersetzt die Zeichen von Ausdrücken in Kontrollworte. Diese Kontrollworte enthalten entweder Atome, die in A eingeführt werden, und ein Signal, um das oberste Element des Systemstacks MU in das Register R zu bringen, oder eine Stackmarkierung, die in MU eingeführt wird, und ein Signal, um das oberste Element von E in das Register R zu bringen. Nur aus einem Zeichen bestehende Atome werden einfach von E nach A versetzt für zusammengesetzte Atome sind besondere Start- und Stop-Symbole vorgesehen. Die Transposition-Prozessorkomponente kann als separate Komponente realisiert werden, die durch ein »interface« mit Speicherkomponenten in Verbindung steht oder als besonderer Zustand des Reduktionsprozessors.For the execution of the reduction, the basic hardware, ie the actual arithmetic unit, consists of a processor component P, which is part of the reduction processor: »RP . A further register R is also provided for intermediate storage. The F i g. 5 shows a status table of the processor component. A control board BS is provided through which stack markings are translated into control words. In this simple embodiment, the control words contain either a transposed constructor, which is introduced in the stack A , and a signal to bring the top element of the system stack MU into the register R , or a stack marker, which is introduced in MU , and a signal to move the top element of £ into register R. Another control board BZ translates the characters of expressions into control words. These control words contain either atoms that are introduced into A and a signal to bring the top element of the system stack MU into register R , or a stack mark that is introduced into MU and a signal to bring the top element of E in register R. Atoms consisting of only one character are simply shifted from E to A for composite atoms, special start and stop symbols are provided. The transposition processor component can be implemented as a separate component that is connected to memory components through an »interface« or as a special state of the reduction processor.

Vorstehend im Zusammenhang mit dem Transpositionsalgorithmus EA sind nur Zustandsübergänge eines einzigen Typs aufgetreten, nämlich Zustandsübergänge (r-w) von einem Lese-(»read«)- zu einem Schreib-(»write«)-Zustand. Es lassen sich noch weitere Zustandsübergänge definieren, nämlich von einem Lese- zu einem Lesezustand (r-r), von einem Schreib- zu einem Schreibzustand (w-w) sowie von einem Schreib- zu einem Lesezustand (w-r). Diese insgesamt vier Typen von Zustandsübergängen sind in der F i g. 8 schematisch dargestellt worden.Above in connection with the transposition algorithm EA , only state transitions of a single type have occurred, namely state transitions (rw) from a read (“read”) to a write (“write”) state. Further state transitions can be defined, namely from a read to a read state (rr), from a write to a write state (ww) and from a write to a read state (wr). These four types of state transitions are shown in FIG. 8 has been shown schematically.

Den verschiedenen Zustandsübergängen entsprechen unterschiedlich aufgebaute Kontrollworte. Grundsätzlich umfassen die Kontrollworte folgende Elemente (bei denen in Klammern die Zahl der jeweils erforderlichen bits beispielsweise angegeben ist): The different state transitions correspond to differently structured control words. The control words basically comprise the following elements (in which the number of required bits is given in brackets, for example):

s (3) Stack-Identifikation (E, A, ΛΛ/usw.) s (3) Stack identification (I, O, ΛΛ / etc.)

q(S) Zustand q (S) state

b (8) byte b (8) byte

e(l) l=6voll;0=61eere (l) l = 6 full; 0 = 61 empty

r(l) l=bereit;O=nichtbereitr (l) l = ready; O = not ready

Die Kontrollworte, die den vorstehend eingeführten Zustandsflbergängen entsprechen, sind in Fig.9a bis d dargestellt AuBerdem zeigt Fig.9 Kontrollworte für »in-state transitions«, bei denen, während das System inThe control words that correspond to the Corresponding state transitions are shown in Fig. 9a to d 9 also shows control words for "in-state transitions", for which, while the system is in

einem Zustand q verbleibt, ein byte aus einem Stack s gelesen (Fig.9e) bzw. in ein Stack s geschrieben (F i g. 9f) wird.a state q remains, a byte is read from a stack s (FIG. 9e) or written into a stack s (FIG. 9f).

Stets kann das Auftreten einer Reduktionsregei durch Kombinationen von Konstruktoren mit Konstruktoren oder Atomen charakterisiert werden. Obwohl ein Ausdruck während der Transposition nicht definiert ist, sind seine Komponenten während dieses Vorgangs in den Stacks E, A und MU in einer Weise enthalten, die das Auftreten von Reduktionsregeln erkennbar macht. In F i g. 6 ist ein beliebiger Ausdruck in gemischter Form dargestellt. Einige Teile des Ausdrucks sind als Unterausdrücke e 1 bis e 7 wiedergegeben, andere Teile als Tree-Struktur, wobei die Gabelungen als Konstruktoren anzusehen sind. Das sieiit zugleich den Zustand des Ausdrucks während der Transposition dar. Das Stack A enthält in umgekehrter Reihenfolge die traniponierten Unterausdrücke e4\ e3\ e2', ei', das Stack E enthält in umgekehrter Reihenfolge die nicht transponierten Ausdrücke e5, e6, el. Im Systemstack MU sind anstelle von Konstruktoren Stackmarkierungen enthalten. Diese enthalten zugleich die Information, ob es sich bei einem Element um einen linken oder rechten Nachfolger bezüglich der vorausgehenden Gabelung handelt Die dargestellte Position entspricht derjenigen, die in F i g. 4 mit einem Stern gekennzeichnet ist und in der der Konstruktor k verschlüsselt wird. — Ein Ausdruck ist folglich vollständig durch den Inhalt der Stacks und die Stellung des Kontroilsystems bestimmt Durch Inspektion der jeweils obersten Elemente der Stacks lassen sich linker bzw. rechter Nachfolger von k sowie sein Vorgänger bestimmen, womit sich auch ergibt, ob k selbst ein linker oder rechter Nachfolger ist. Auf diese Weise wird während der Transposition eines Ausdruckes das Auftreten von Reduktionsmöglichkeiten ermitteltThe occurrence of a reduction rule can always be characterized by combinations of constructors with constructors or atoms. Although an expression is not defined during the transposition, its components are contained in the stacks E, A and MU during this process in a way that makes the occurrence of reduction rules recognizable. In Fig. 6 any expression is shown in mixed form. Some parts of the expression are shown as sub-expressions e 1 to e 7, other parts as a tree structure, whereby the forks are to be viewed as constructors. This also shows the state of the expression during the transposition. The stack A contains the transposed subexpressions e4 \ e3 \ e2 ', ei' in reverse order, the stack E contains the non-transposed expressions e5, e6, el in reverse order. Im system stack MU are included instead of constructors stack marks. These also contain the information as to whether an element is a left or right successor with respect to the preceding fork. The position shown corresponds to that shown in FIG. 4 is marked with an asterisk and in which the constructor k is encrypted. - An expression is therefore completely determined by the content of the stack and the position of the control system. By inspecting the topmost elements of the stack, the left or right successor of k and its predecessor can be determined, which also shows whether k itself is a left or right successor is. In this way, the occurrence of reduction possibilities is determined during the transposition of an expression

Die Ausführungen einer Reduktionsregel besteht in einer Umstellung der jeweils oberen Enden der Stacks. Beispielsweise sie das oberste Element des Systemstacks MUeine Markierung für einen linken Nachfolger eines Konstruktors k2. Folglich lautet der Ausdruck unter Jt 2The execution of a reduction rule consists in a conversion of the respective upper ends of the stacks. For example, they mark the top element of the system stack MU for a left successor of a constructor k2. Hence the expression under Jt is 2

k2 k e4 e5 e6. k2 k e4 e5 e6.

Wird die Markierung durch die entsprechende ersetzt, die den rechten Nachfolger von k 2 bezeichnet, so ergibt sich für den Ausdruck unter k 2 If the marking is replaced by the corresponding one, which designates the right-hand successor of k 2 , then the expression under k 2 results

k2 e4 Ar e5 e6. k2 e4 Ar e5 e6.

Ein weiteres einfaches Beispiel stellt die Identitätsfunktion dar. Ein Atom ] sei aus dem Stack Fund aus der Kontrollstelle im entsprechenden Zweig der Kontrollstruktur gelöscht worden, und es werde nun geprüft, ob das oberste Element von AiUeine Markierung für einen linken Nachfolger des Konstruktor. ist Ist das der Fall, so wird die Stackmarkierung automatisch gelöscht F i g. 6 zeigt, daß die dabei resultierende Tree-Struktur nunmehr e 5 anstelle von. ] e 5 enthält Another simple example is the identity function. An atom] has been deleted from the stack find from the control point in the corresponding branch of the control structure, and it is now checked whether the top element of AiU is a marker for a left successor of the constructor. is this is the case, the mark stack is automatically deleted F i g. 6 shows that the resulting tree structure is now e 5 instead of . ] e 5 contains

Im allgemeinen sind für kompliziertere Reduktionen ein oder mehrere HilfsStacks notwendig. Für eine Untermenge der Lambda- und ap-Konstruktoren ist das in Fig.7 dargestellt Die einzige komplizierte Operation ist hier die Transposition RiEB, die ein freies Auftreten einer bezeichneten Variablen in einem Ausdruck durch eine spezielle Ein-Zeichen-Markierung ersetzt Der Kontrollfluß bringt in das Stack A den reduzierten oder nichtreduzierten Argumentausdruck. Die Operation R 2ABE stellt eine einfache Transposition von B nach E dar, wobei lediglich die Quelle auf A geschaltet wird, wenn die vorstehend erwähnte Ein-Zeichen-Markierung in B erscheint. Tatsächlich ist BE identisch mit R 2ABE, da die spezielle Markierung nur in diesem Zusammenhang auftritt. — Der Rtkursions-Konstruktor benutzt RiEB mit der einzigen Abweichung, daß er zusammen mit seinen zwei Komponenten kopiert und durch die Transposition EA in das Stack A transponiert worden ist. Der KopierprozeP bringt die für die Rekursion erforderliche Verdoppelung hervor. In general, one or more auxiliary stacks are necessary for more complex reductions. This is shown in FIG. 7 for a subset of the lambda and ap constructors. The only complicated operation here is the transposition RiEB, which replaces a free occurrence of a designated variable in an expression with a special one-character marking the stack A the reduced or unreduced argument expression. The operation R 2ABE represents a simple transposition from B to E , with only the source being switched to A when the above-mentioned one-character marker appears in B. In fact, BE is identical to R 2ABE, since the special marking only occurs in this context. - The return constructor uses RiEB with the only difference that it has been copied together with its two components and transposed into stack A using transposition EA . The copying process produces the duplication required for the recursion.

Die vorstehend beschriebenen Beispiele demonstrieren nur den grundlegenden Aufbau des erfindungsgemäßen Reduktionsrechners. Weitere Reduktionsregeln können ohne weiteres hinzugefügt werden, solange Codes für verschiedene Stack-Markierungen zur Verfügung stehen.The examples described above only demonstrate the basic structure of the invention Reduction calculator. Further reduction rules can easily be added as long as Codes for different stack markings are available.

Bei dem beschriebenen Rechner ist ein zu reduzierender Ausdruck jederzeit vnllrtändig und in linearisierter Form vorhanden. Es besteht folglich die Möglichkeit, Rechenoperationen auf Teilbereiche der Ausdrücke zu beschränken. Dazu wird vorteilhaft ein Aufmerksamkeitsbereich FA definiert, der dem obersten Ausdruck beispielsweise im Stackregister E entspricht. Die Zuordnung des Aufmerksamkeitsbereiches erfolgt durch geeignete Eingabesignale, beispielsweise auf linke oder rechte Komponente eines Ausdrucks oder auf den unmittelbar umgebenden Unterausdruck. Der Aufmerksamkeitsbereich stellt damit gleichsam das Gesichtsfeld des Benutzers in bezug auf das mit dem Rechner zu behandelnde Problem dar. Zur Reduktion eines Ausdrucks wird dieser zunächst in den Aufmerksamkeitsbereich überführt. Durch Eingabe beliebiger Zahlen in eine dazu vorhandene Vorwahleinrichtung läßt sich die Zahl der Reduktionsschritte vorwählen, die vom Rechner ausgeführt werden, sofern Reduzierbarkeit besteht. Das Ergebnis ist der reduzierte Inhalt des Aufmerksamkeitsbereiches, d. h. ein konstanter Ausdruck bei hinreichend hoch gewählter Zahl von Reduktionsschritten. Diese Vorwahl der Zahl der Reduktionsschritte ist deswegen vorteilhaft weil die Folge der Reduktionsschritte nicht in allen Fällen notwendigerweise abbrechen muß und eine unbeschränkte Fortführung der Reduktionen zu nicht vorhersehbaren Ergebnissen führtIn the case of the computer described, an expression to be reduced is always available completely and in linearized form. There is consequently the possibility of restricting arithmetic operations to partial areas of the expressions. For this purpose, an attention area FA is advantageously defined, which corresponds to the top expression in the stack register E , for example. The attention area is assigned by means of suitable input signals, for example to the left or right component of an expression or to the immediately surrounding subexpression. The attention area thus represents, as it were, the user's field of vision in relation to the problem to be treated with the computer. To reduce an expression, it is first transferred to the attention area. By entering any number in a preselection device available for this purpose, the number of reduction steps that are carried out by the computer can be preselected, provided that it can be reduced. The result is the reduced content of the attention area, ie a constant expression with a sufficiently high number of reduction steps. This preselection of the number of reduction steps is advantageous because the sequence of reduction steps does not necessarily have to break off in all cases and an unlimited continuation of the reductions leads to unpredictable results

Die Beherrschung von »overflow«- bzw. »unterflow«- Bedingungen wird dadurch ermöglicht, daß den Stackregistern zusätzliche Speicherkomponenten Sp und ggf. weiterer sekundärer Speicherraum S zugeordnet sind und daß jeder Speicherkomponente Sp ein Identifikationsregister für Stack-Adressen (E, A, MU usw.) und ein Positionsregister zur Bestimmung der vorangehenden bzw. nachfolgenden Speicherkomponente 5p zugeordnet sind. — Durch die zusätzlichen Speicherkomponenten lassen die Stackregister sich praktisch auf beliebige Größe erweitern. Tritt in einer Speicherkomponente beispielsweise underflow auf, so aktiviert diese Speicherkomponente die durch das Positionsregister ermittelte Nachfolgerkomponente und nimmt selbst den Zustand »frei« an. Bei overflow wird entsprechend eine freie Speicherkomponente aufgerufen und aktiviert, während die betreffende Speicherkomponente selbst den Zustand »besetzt« annimmt Diese Maßnahmen erfodern keine Mitwirkung des Reduktionsprozessors RP. The control of "overflow" or "underflow" conditions is made possible by the fact that the stack registers are assigned additional memory components Sp and possibly further secondary memory space S and that each memory component Sp has an identification register for stack addresses (E, A, MU etc.) and a position register for determining the preceding or following memory component 5p are assigned. - With the additional memory components, the stack registers can be expanded to practically any size. Occurs in a memory component, for example, underflow, these storage component activates the successor component determined by the position register and takes even the state "free" to. In the event of an overflow , a free memory component is called up and activated accordingly, while the relevant memory component itself assumes the status "occupied". These measures do not require the cooperation of the reduction processor RP.

Weiter ist vorzugsweise eine Kanalkomponente KK vorgesehen, die die Positionsnummer der aktivierten Speicherkomponenten 5p aufnimmt, daraus eine untereFurthermore, a channel component KK is preferably provided, which receives the position number of the activated memory components 5p, a lower one therefrom

und eine obere Grenzposition ermittelt und die Zahl der besetzten Speicherkorrponenten abfragt sowie auf einem Wert zwischen oberer und unterer Grenzposilion hält — Ergibt die Abfrage bezüglich der unteren Grenzposition keine Antwort, so ist das Stack zu kurz geworden, die ICanalkomponente KK wird folglich eine freie Speicherkomponente 5p ermitteln und aus sekundärem Speicherraum S weitere Teile des betreffenden Stacks einspeichern. Ergibt die Abfrage bezüglich der oberen Grenzposition keine Antwort, so ist das Stack zu lang geworden. Die Kanalkomponente KK wird folglich den Inhalt der betreffenden Speicherkomponente Sp im sekundären Speicherraum 5 abspeichern und die Speicherkomponente als frei melden. — Diese beständige Kontrolle der Speicherbelegung sichert den ungestörten Ablauf des Rechenganges bei optimaler Nutzung von Speichern und Stackregistern. Als wesentlich ist dabei zu beachten, daß Adressen, soweit sie überhaupt auftreten, stets auf die Komponenten beschränkt bleiben, in denen sie tatsächlich benötigt werden. Adressen des sekundären Speicherraumes S erscheinen nicht in den Speicherkomponenten Sp und vor allem erscheinen keine Adressen im Reduktionsprozessor oder in den Kanalkomponenten.and determines an upper limit position and queries the number of occupied memory coronents and holds it at a value between the upper and lower limit position - If the query regarding the lower limit position does not give an answer, the stack has become too short, the IC channel component KK consequently becomes a free memory component 5p and save further parts of the relevant stack from the secondary storage space S. If the query regarding the upper limit position does not give an answer, the stack has become too long. The channel component KK will consequently store the content of the relevant memory component Sp in the secondary memory space 5 and report the memory component as free. - This constant control of the memory allocation ensures the undisturbed execution of the calculation process with optimal use of memories and stack registers. It is important to note that addresses, if they occur at all, are always limited to the components in which they are actually required. Addresses of the secondary storage space S do not appear in the storage components Sp and, above all, no addresses appear in the reduction processor or in the channel components.

Die wesentlichen, durch die Erfindung erreichten Vorteile lassen sich wie folgt zusammenfassen: Bei dem beschriebenen Rechner ist der Programmablauf vollkommen übersehbar, und zwar sowohl in seinem zeitlichen Ablauf als auch mit Bezug auf das zu behandelnde Problem in seiner ganzen Breite. Es besteht die Möglichkeit des unmittelbaren und lokalen Handlungseingriffs des Benutzers in den Rechengang. Beide Gesichtspunkte führen zu außerordentlich hoher Rechensicherheit Tritt eine Fehlerbedingung ein, so wird dies durch das Auftreten nichtreduzierbarer Ausdrücke angezeigt, die einen Hinweis auf die Fehlerursache geben. Der R«chnungsablauf erfolgt nach Vorgabe einer wählbaren Zahl von Reduktionsschritten automatisch, ein freilaufender »RUN«-Betrieb ist nicht vorgesehen und auch nicht wünschenswert Die Tree-Struktur der zu reduzierenden Ausdrücke erlaubt die Eingrenzung des Reduktionsganges auf wählbare Bereiche dieser Ausdrücke. Diese Bereiche werden in den mit der Ausgabe verbundenen Aufmerksamkeitsbereich überführt, wobei sie der Kontrolle durch den Benutzer unterliegen, während die Ausdrücke außerhalb des Aufmerksamkeitsbereichs unverändert bleiben können. Alle Maßnahmen des Benutzers bleiben eingegrenzt und vorhersehbar. — Zugleich wird eine neue, als Lambd. -Reduktionssprache bezeichnete Programmiersprache vorgeschlagen, die dem beschriebenen Rechner zugrundeliegtThe main advantages achieved by the invention can be summarized as follows: In the The computer described, the program sequence is completely overlooked, both in his temporal sequence as well as with reference to the problem to be treated in its full breadth. It there is the possibility of direct and local intervention by the user in the calculation process. Both aspects lead to an extremely high level of computational reliability. If an error condition occurs, see above this is indicated by the appearance of nonreducible expressions that indicate the Give cause of error. The invoice process takes place after Automatic specification of a selectable number of reduction steps, free-running »RUN« operation is not intended and also not desirable The tree structure of the expressions to be reduced allows the limitation of the reduction process to selectable ranges of these expressions. These areas are in transferred to the attention area associated with the issue, being subject to control by the Users succumb while the terms outside the attention area remain unchanged can. All actions taken by the user remain limited and predictable. - At the same time becomes a new, as lambd. -Reduction language designated programming language proposed on the basis of the calculator described

Hierzu 7 Blatt ZeichnungenIn addition 7 sheets of drawings

Claims (6)

Patentansprüche:Patent claims: 1. Rechner mit Leitwerk, Rechenwerk, Ein- und Ausgabeeinheit sowie Speichern, welche untereinander zur Übertragung, Verarbeitung und Speicherung von linearisierten Zeichenfolgen aus Atomen und Konstruktoren verbunden sind, wobei das Rechenwerk mindestens drei Stackregister von entsprechend den ^Zu speichernden Zeichenfolgen großer Länge sowie einen den Stackregistern zugeordneten Reduktionsprozessor aufweist und wobei Zeichen, die in den Reduktionsprozessor zugänglichen Zellen der Stackregister vorliegen, durch den Reduktionsprozessor auf das Bestehen einer Reduktionsregel einer Lambda-Reduktionssprache überprüfbar sind und der Reduktionsprozessor zur Ausführung der Reduktion eingerichtet ist, nach Patent P 25 06 454.4-53, dadurchgekennzeichnet, daß der Reduktionsprozessor (RP) Kontrollworte aufweist, daß die Reduktion durch Erzeugung von Zustandsübergängen in den Stackregistern (SR, A. E, MU) mittels der Kontrollworte erfolgt und daß ein zuletzt in ein Stackregister (SR) eingegebenes Zeichen als erstes durch den Reduktionsprozessor (RP) einem Zustandsübergang unterziehbar ist.1. Computer with control unit, arithmetic unit, input and output unit as well as memories, which are connected to each other for the transmission, processing and storage of linearized strings of atoms and constructors, the arithmetic unit having at least three stack registers corresponding to the ^ to be stored character strings of great length and one the reduction processor assigned to the stack registers and characters that are present in the stack register cells accessible to the reduction processor can be checked by the reduction processor for the existence of a reduction rule of a lambda reduction language and the reduction processor is set up to carry out the reduction, according to patent P 25 06 454.4- 53, characterized in that the reduction processor (RP) has control words, that the reduction is carried out by generating state transitions in the stack registers (SR, A. E, MU) by means of the control words and that one last entered into a stack register (SR) Character is the first to be subjected to a state transition by the reduction processor (RP). 2. Rechner nach Anspruch 1, dadurch gekennzeichnet, daß die Stackregister (SR) bei fester Zuordnung der Zeichen zu Plätzen der Stackregister durch den Reduktionsprozessor (RP) vor- und rückwärts abtastbar sind.2. Computer according to claim 1, characterized in that the stack registers (SR) can be scanned forwards and backwards by the reduction processor (RP) with a fixed assignment of the characters to locations in the stack registers. 3. Rechner nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß Zustandsübergänge von einem Lese- zu einem Schreibzustand (r-w), von einem Lese- zu einem Lesezustand (r-r), von einem Schreib- zu einem Schreibzustand (w-w) sowie von einem Schreib- zu einem Lesezustand (w-r) definiert sind.3. Computer according to claim 1 or 2, characterized in that state transitions from a read to a write state (rw), from a read to a read state (rr), from a write to a write state (ww) and from a write - are defined for a reading state (wr) . 4. Rechner nach Anspruch i, dadurch gekennzeichnet, daß die zu einer Reduktionsregel gehörenden Umordnungen von Atomen bzw. Konstruktoren nur aus den Zustandsübergängen (r-w, r-r, w-w, w-r) zusammensetzbar sind.4. Computer according to claim i, characterized in that the rearrangements of atoms or constructors belonging to a reduction rule can only be composed of the state transitions (rw, rr, ww, wr) . 5. Rechner nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der Reduktionsprozessor (RP)eine Prozessorkomponente (/^aufweist, in der ein Kontrollbord (BS) zur Übersetzung von Stack-Markierungen der Stackregister (E, A) in Kontrollworte sowie ein Kontrollbord (BZ) zur Übersetzung von Zeichen in Kontrollworte enthalten sind, und daß zumindest ein weiteres Register (R) zur Zwischenspeicherung vorgesehen ist.5. Computer according to one of claims 1 to 4, characterized in that the reduction processor (RP) has a processor component (/ ^, in which a control board (BS) for translating stack markings of the stack registers (E, A) into control words as well a control board (BZ) for translating characters into control words are included, and that at least one further register (R) is provided for intermediate storage. 6. Rechner nach Anspruch 5, dadurch gekennzeichnet, daß die Kontrollworte des Kontrollbords (BS) für Stack-Markierungen entweder einen transponierten Konstruktor, der in das Stackregister (A) eingeführt wird und ein Signal, um das oberste Element des Systemstacks (MU) in das Register (R) zu bringen, oder eine Stack-Markierung, die in das Systemstack (MU) eingeführt wird und ein Signal, um das oberste Element des Stackregisters (E) in das Register (R) zu bringen, enthalten, und daß die Kontroüworte des Kontrollbords (BS) für Zeichen von Ausdrücken entweder Atome, die in das Stackregister (A) eingeführt werden, und ein Signal, um das oberste Element des Systemstacks (MU) in das Register (R) zu bringen oder eine Stack-Markierung, die in das Systemstack (MU) eingeführt wird, und ein Signal, um das oberste Element des Stackregisters (E) in das Register (R) zu bringen, enthalten.6. Computer according to claim 5, characterized in that the control words of the control board (BS) for stack markings either a transposed constructor which is introduced into the stack register (A) and a signal to the top element of the system stack (MU) in to bring the register (R) , or a stack marker which is inserted into the system stack (MU) and a signal to bring the top element of the stack register (E) into the register (R) , and that the Control board (BS) control words for characters of expressions either atoms that are inserted into the stack register (A) and a signal to bring the top element of the system stack (MU) into the register (R) or a stack marker, which is introduced into the system stack (MU) , and a signal to bring the top element of the stack register (E) into the register (R) .
DE2525795A 1975-02-15 1975-06-10 computer Expired DE2525795C3 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE2525795A DE2525795C3 (en) 1975-06-10 1975-06-10 computer
GB2870/76A GB1540299A (en) 1975-02-15 1976-01-26 Computer employing reduction language
NL7600892A NL7600892A (en) 1975-02-15 1976-01-29 COMPUTER.
US05/657,839 US4075689A (en) 1975-02-15 1976-02-13 Computer employing reduction language
FR7604220A FR2301050A1 (en) 1975-02-15 1976-02-16 CALCULATOR
JP51015734A JPS51139225A (en) 1975-02-15 1976-02-16 Computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2525795A DE2525795C3 (en) 1975-06-10 1975-06-10 computer

Publications (3)

Publication Number Publication Date
DE2525795A1 DE2525795A1 (en) 1976-12-16
DE2525795B2 DE2525795B2 (en) 1978-09-21
DE2525795C3 true DE2525795C3 (en) 1979-05-23

Family

ID=5948725

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2525795A Expired DE2525795C3 (en) 1975-02-15 1975-06-10 computer

Country Status (1)

Country Link
DE (1) DE2525795C3 (en)

Also Published As

Publication number Publication date
DE2525795A1 (en) 1976-12-16
DE2525795B2 (en) 1978-09-21

Similar Documents

Publication Publication Date Title
DE1499722C2 (en) Device for modifying information words
DE60132585T2 (en) DEVICE AND METHOD FOR PROVIDING THE GROUPING OF COMMANDS IN A VLIW PROCESSOR
DE2364408C3 (en) Circuit arrangement for addressing the memory locations of a memory consisting of several chips
DE2113891A1 (en) Data processing system
DE1952374A1 (en) Memory addressing device for an information processing system
DE2331589A1 (en) DATA PROCESSING ARRANGEMENT
DE2718110A1 (en) DATA PROCESSING UNIT
DE1774052B1 (en) COMPUTER
DE4313959A1 (en) DEVICE AND METHOD FOR CONTROLLING THE PRESENTATION OF A TEMPLATE
DE4313958C2 (en) Device and method for controlling the display of a document
DE2900586C2 (en) Arrangement for decoding code words of variable length
EP1182547A1 (en) Program coupling method
DE3000012A1 (en) CIRCUIT ARRANGEMENT FOR EXECUTING A TRANSMISSION COMMAND IN A DATA PROCESSING SYSTEM
DE2245284A1 (en) DATA PROCESSING SYSTEM
DE2047095A1 (en) Electronic data processing system
DE2525795C3 (en) computer
DE60225464T2 (en) ROBOT SYSTEM AND METHOD AND SOFTWARE FOR THE ROBOT SYSTEM
DE2506454C3 (en) computer
DE1955797A1 (en) Method for controlling the processing of input data and data processing system for this
DE2519195A1 (en) ASSOCIATIVE MEMORY
DE2613703C2 (en) Circuit arrangement for translating program texts
EP3411803A1 (en) Device and method for processing a binary-coded structure document
EP2757466B1 (en) A computer implemented method for generating computer program code
DE2442014A1 (en) METHOD AND DEVICE FOR ORGANIZING A CONTROL MEMORY
DE1424756B2 (en) Circuit arrangement for the error-proof introduction or reintroduction of programs into the main memory of a data processing system

Legal Events

Date Code Title Description
OGA New person/name/address of the applicant
C3 Grant after two publication steps (3rd publication)