WikiDer > Forth (Programmiersprache)

Forth (programmeertaal)
her
ParadigmaImperativ
erschien1968
Entworfen vonCharles Moore
TypensystemNein
ImplementierungenGNUher und andere
Beeinflusst vonlispeln, APL
BetriebssystemMultiplattform
Portal  Portalsymbol  Informatik

her ist ein Programmiersprache was sich stark von den meisten anderen Programmiersprachen unterscheidet. LISPELN ist vielleicht am ähnlichsten, aber es fehlt der zentrale in Forth Parameter- und Rückgabestapel. Forth wurde von Charles Moore konzipiert, als er um 1968 Computerprogramme schrieb Radioteleskope dienen. Die interaktive Natur der Sprache macht sie für diese Arten von Steuerelementen sehr geeignet.

Der Name her ist eine Variante des Wortes vierte (vierten), was darauf hinweist, dass es sich um eine sogenannte Sprache der vierten Generation handelt. Das System, auf dem die erste herInterpreter geschrieben wurde, kannte nur Dateinamen mit bis zu fünf Zeichen, so dass die Sie aus dem Namen gelöscht.

Forth besteht aus einem grundlegenden Satz von Befehlen oder Unterprogrammen (in Forth Wörter erwähnt), die immer verfügbar sind; der Programmierer erstellt damit Wörter neue Wörter die sofort ein vollwertiger Bestandteil der Sprache werden. Die Parameter sind für den Programmierer frei zugänglichStapel, wo die zu bearbeitenden Werte eingestellt werden und wo die Ergebnisse von Berechnungen erscheinen, macht den Einsatz von globalen Variablen praktisch überflüssig. Wörter in Forth können beliebige ASCII-Zeichen enthalten, mit Ausnahme des Leerzeichens, das die Wörter trennt. Das ist sofort die vollständige Definition der Sprache, denn alle anderen Dinge (Operatoren, Bedingungen usw.) werden von normalen Forth-Wörtern behandelt. Dies bedeutet unter anderem, dass ein Programmierer die Funktionsweise der Sprache komplett ändern kann, indem er diese Wörter neu definiert (siehe Beispiel unten mit dem Wort "1").

Jedes Forth-Programm ist eigentlich eine anwendungsspezifische Erweiterung der Sprache. Forth liefert extrem kompakte Programme mit einer sehr guten Ausführungsgeschwindigkeit, da der Aufruf von a Subroutine ist stark optimiert. Ein einfacher Forth, mit den mindestens 50 erforderlichen Mindestanforderungen Wörter die alle anderen Befehle machen können, können bereits in 2 oder 3 Kilobyte programmiert werden. Weil die Implementierung so einfach ist, ist Forth in der Regel eine der ersten höheren Sprachen für ein neues Mikroprozessor wird verfügbar.

Der Hauptnachteil von Forth besteht darin, dass der beschriebene Erweiterungsmechanismus die Zahl der Möglichkeiten der Sprache erhöht. Ein Programmierer, der nicht ausführlich dokumentiert, wird es schwer haben, seine Arbeit auf einen anderen zu übertragen – Programme tragen stark den Stempel ihres Schöpfers. Ein Standard-Fort-Stil ist nicht vorhanden.

Vierter funktioniert interaktiv, und der Unterschied zwischen interpretieren und kompilieren besteht nur aus zwei Satzzeichen (":" und ";"). Da Forth aus sehr vielen kleinen, inkrementell erstellten und direkt testbaren Unterprogrammen besteht und weil ein guter Programmierstil ohne Variablen die Daten versteckt hält, betrachten einige Programmierer Forth als objektorientierte Programmiersprache vor la lettre.

Forth ist ganz einfach auf einem Chip zu implementieren und es gibt spezielle RISC-Mikroprozessoren diese Forth-Aussagen als Maschinensprache haben.

Die in vielen Druckern verwendete Seitenlayoutsprache PostScript basiert auf Forth.

Ein Vokabular

Forth besteht aus einer Menge Wörter die, wenn sie ausgeführt werden, bestimmte zuvor definierte Aktionen ausführen. Zu einer Wort Geben Sie zum Ausführen den Namen ein und drücken Sie die Eingabetaste. Es WortWörter listet alle Wörter auf, die derzeit in diesem Forth verfügbar sind. EIN Wort kann neu definiert werden; dies hat keine Auswirkung auf frühere Definitionen von Wort aber es bedeutet, dass spätere Aufrufe die neuere Definition verwenden.

Beispiele

interpretieren

Wenn Sie Forth eingeben:

1 3 .

dann zeigt der Bildschirm:

4

Die Zahl 1 wird auf den Stapel gelegt, indem man sie benennt (eintippen), dann die Zahl 3, der Operator ' ' (plus) addiert den obersten Stapelwert zur zweiten Zahl auf dem Stapel, nach der '.' (Punkt) ist der Druckbefehl, der den obersten Stapelwert druckt und dann löscht.

Kompilieren

Wenn Sie Folgendes eingeben:

: hallo cr ." Hallo Welt!" ;

dann wird das Wort Hallo wie folgt zusammengestellt:

: meint Zusammenstellung starten
Hallo ist der Name des neuen Wortes
Sahne (Wagenrücklauf) möchte sagen eine neue Zeile drucken new
." meint Drucken Sie die Zeichen bis zum nächsten aus"außer dem ersten Leerzeichen (Trennzeichen)
; Ende der Zusammenstellung.

Wenn Sie nun Folgendes eingeben:

Hallo <cr>

dann wird gedruckt:

Hallo Welt!

Neudefinitionen

Die Neudefinition von Standardwörtern kann eine sehr verwirrende Forth-Variante erzeugen. Es kann beispielsweise definiert werden:

: 1 2 ;

Nach der Eingabe der Zahl 1 wird die Zahl 2 auf den Stapel gelegt, mit den erwarteten katastrophalen Folgen für später zu definierende Wörter:

1 1 .

Dann druckt 4. Auf der anderen Seite macht diese Fähigkeit, wenn sie diskret verwendet wird, die Sprache flexibel.

Deshalb ist es sehr wichtig, dass alle Forth-Routinen in einem Stack-Diagramm zwischen dem ( ) nach der Definition erklärt werden. (Das Zeichen "(" ist auch ein Forth-Wort, aber das Zeichen ")" ist es nicht).

Externe Links