gforth

___ qstnhdr ___ Beispiele für die Erstellung benutzerdefinierter Kontrollfluss-Wörter ___ tag123controlflow ___ Kontrollfluss (oder Kontrollfluss) bezieht sich auf die Reihenfolge, in der Anweisungen ausgewertet oder ausgeführt werden. ___ tag123compilation ___ Compilation ist die Umwandlung von Quelltext in eine andere Form oder Repräsentation. Die häufigste Verwendung dieses Tags ist für Fragen, die die Umwandlung einer Programmiersprache in Maschinencode betreffen. Dieses Tag wird normalerweise mit einem anderen Tag verwendet, das den Typ des Quelltexts angibt, wie zB ein Programmiersprachen-Tag (C, C ++, Go usw.) und ein Tag, das das für die Transformation verwendete Tool oder den Compiler angibt (gcc, Visual Studio, etc.). ___ answer44852678 ___

Hier ist ein Beispiel. %code% war eine etwas späte Ergänzung der Menge der Forth-Kontrollflussworte. Anfang 1980 wurde in Forth Dimensions ein Wettbewerb zur Definition des besten CASE-Statements angekündigt. Es wurde später in diesem Jahr mit einem Gleichstand zwischen drei Einträgen angesiedelt. Einer davon endete im Forth94-Standard.

    
___ tag123forth ___ Forth ist eine dynamische, prozedurale, stack-basierte Programmiersprache, die von Charles Moore entwickelt wurde. ___ tag123forth ___ Gforth ist eine schnelle und portable Implementierung der ANS Forth-Sprache. Es funktioniert gut mit dem Emacs-Editor, bietet einige nette Funktionen wie Eingabe-Abschluss und Geschichte und eine leistungsfähige lokale Einrichtung ___ tag123immediatemode ___ hilf uns dieses Wiki zu bearbeiten ___ answer45017555 ___

Eine weitere große Richtung von Kontrollflussstrukturen in Forth ist backtracking . Es ist sehr ausdrucksstark und leistungsstarker Mechanismus. Um implementiert zu werden, muss die Adresse manipuliert werden.

Backtracking in Forth wurde von M. L. Gassananko in ~ 1988-1990 als BacFORTH-Erweiterung entwickelt.

Erste Papiere zu diesem Thema waren auf Russisch. Für einige Einführung siehe die kurze Beschreibung , und das Papier Verbesserung der Fähigkeiten des Backtracking durch MLGassananko (1998). Siehe auch eine Diskussion in comp.lang .fort (die Nachrichten von Gassanenko).

Nur ein Beispiel für einen Generator in BacFORTH:

%Vor%

Ausgabe:

%Vor%

Die %code% und %code% sind spezielle Kontrollflussworte. %code% bestimmt das Generatorwort und %code% ruft den Consumer auf - es ist in Ruby oder ECMAScript so etwas wie %code% . Eine Reihe anderer spezieller Wörter ist ebenfalls in BacFORTH definiert. Sie können mit BacFORTH in SP-Forth spielen (fügen Sie einfach %code% library hinzu).

Etymologie

Im Allgemeinen ist backtracking nur ein Algorithmus, um Lösungen zu finden. In Prolog wurde dieser Algorithmus unter die Haube eingebettet, so Zurückverfolgen in Prolog ist der Prozess, wie es selbst arbeitet. Backtracking in BacFORTH ist eine Programmiertechnik, die von einer Reihe spezieller Kontrollflussworte unterstützt wird.

    
___ qstntxt ___

Forth ermöglicht es Benutzern, die Sprache zu ändern, indem sie neue Wörter für den Kontrollfluss definieren (über die im Standard angegebenen hinaus: DO, LOOP, BEGIN, BIS, WÄHREND, WIEDERHOLEN, VERLASSEN WENN, DANN, SONST, FALL, ENDCASE, usw .)

Gibt es gängige Beispiele für Menschen, die ihre eigenen neuen Kontrollflusswörter erstellen? Was sind typische und nützliche Beispiele? Oder hat der Standard bereits alles definiert, was Menschen wirklich brauchen?

Ich hoffe, Beispiele für nützliche Spracherweiterungen zu finden, die Akzeptanz gefunden haben oder allgemein hilfreich sind, um die Sprache ausdrucksstärker zu machen.

    
___
2
Antworten

Beispiele für die Erstellung benutzerdefinierter Kontrollfluss-Wörter

Forth ermöglicht es Benutzern, die Sprache zu ändern, indem sie neue Wörter für den Kontrollfluss definieren (über die im Standard angegebenen hinaus: DO, LOOP, BEGIN, BIS, WÄHREND, WIEDERHOLEN, VERLASSEN WENN, DANN, SONST, FALL, ENDCASE, usw .)...
30.06.2017, 17:31