MUHEN (Programmiersprache)

Die MUHEN-Programmiersprache ist eine relativ einfache Programmiersprache, die verwendet ist, um den MUHEN-Server zu unterstützen. Es wird dynamisch getippt und verwendet ein Prototyp-basiertes objektorientiertes System, mit der Syntax grob abgeleitet aus der ALGOL-Schule von Programmiersprachen.

Geschichte

Stephen White authored der erste MUHEN-Server und die Sprache 1990 mit C. Über den Kurs des Jahres hat sich Pavel Curtis dem Projekt angeschlossen, die erste Version des Servers von LambdaMOO veröffentlichend. LambdaMOO wird geführt und völlig auf einer freiwilligen Basis unterstützt, und lässt jetzt seinen eigenen SourceForge vorspringen. Obwohl die letzte paketierte Ausgabe 2000 war, ist Entwicklung noch im CVS des Projektes aktiv.

Weiß beschreibt MUHEN als "ein Mischmasch von c ähnlichen Maschinenbedienern und ada ähnlichen Kontrollstrukturen, die mit dem mit dem Prototyp artigen einzelnen Erbe verbunden sind."

Eigenschaften

Die Sprache hat ausführliche Ausnahme, die Kontrollfluss, sowie traditionelle sich schlingende Konstruktionen behandelt. Verb- und Eigentumshierarchie stellt Verzug-Werte Prototyp-Gegenständen, mit dem Überlaufen von Werten tiefer in der Hierarchie zur Verfügung. Diese Hierarchie von Gegenständen wird durch die Delegation zu einem "Elternteil"-Eigentum eines Gegenstands aufrechterhalten, auf eine Form des einzelnen Erbes hinauslaufend. Spezielle sicherheitsrelevante Attribute von Gegenständen, Verben und Eigenschaften schließen Eigentumsrecht ein, und lesen, schreiben und führen Fahnen durch. MUHEN-Programme sind Byte-Code kompiliert mit implizitem decompilation, wenn sie editieren, eine kanonische Form von Programmen zur Verfügung stellend.

MUHEN-Programme sind durch periodische Kontrollpunkte orthogonal beharrlich. Gegenstände werden durch einen einzigartigen Bezeichner der ganzen Zahl identifiziert. Unbenutzte Programm-Daten werden durch die automatische Müll-Sammlung (durchgeführt durch das Bezugszählen) beseitigt. Jedoch sind MUHEN-Gegenstände selbst nicht Müll gesammelt und werden von ihren Eigentümern oder Überbenutzern (auch bekannt als Zauberer) durch einen genannten Prozess manuell gelöscht 'wiederverwendend'.

MUHEN ist ausführlich ein Mehrbenutzersystem, und Programme (Verben) werden durch jede Zahl von verbundenen Benutzern beigetragen. Eine Unterscheidung wird zwischen dem 'Fahrer' (Durchlaufzeit) und 'Kern' gemacht (auf der MUHEN-Sprache geschriebene Programme.) Die große Mehrheit der Funktionalität eines laufenden MUHENS wird 'im Kern' behandelt.

Die Laufzeitunterstützungen das stark mehrbeanspruchende Verwenden einer Vergeltung haben Zeitscheibenverfahren-Methode gestützt. Verben laufen mit dem exklusiven Zugang zur Datenbank, so ist keine ausführliche Blockierung notwendig, um Synchronisation aufrechtzuerhalten. Einfache TCP/IP Nachrichtenübermittlung (telnet vereinbar) wird verwendet, um mit Kundensteckdosen zu kommunizieren, von denen jede mit einem 'Spieler' im Darstellungssystem der Virtuellen Realität identifiziert wird.

Die Sprache unterstützt schwache Verweisungen auf Gegenstände durch die Zahl, und auf Eigenschaften und Verben durch Schnuren. Eingebaute Funktionen, Listen von Eigenschaften und Verben wiederzubekommen, bestehen, die Sprachlaufzeitmöglichkeiten für das Nachdenken gebend. Der Server enthält auch Unterstützung für das Wildcard-Verbzusammenbringen, so kann derselbe Code leicht verwendet werden, um vielfache Befehle mit ähnlichen Namen und Funktionen zu behandeln.

Verfügbare Folge-Typen im MUHEN sind Listen und Schnuren. Beider unterstützen zufälligen Zugang, sowie Kopf und Schwanz-Operationen, die denjenigen ähnlich sind, die im Lispeln verfügbar sind. Alle Operationen auf Listen und Schnuren sind nichtzerstörend, und der ganze Nichtgegenstand sind datatypes unveränderlich. Eingebaute Funktionen und Bibliotheken erlauben Listen, auch als assoziative Reihe verwendet und bestellt zu werden, und nicht eingeordnete Sätze.

Beispiele

Syntax

Kontrollstrukturen

MUHEN hat einen sehr grundlegenden Satz von Kontrollstrukturen, mit, um in Liste die einzige "Fantasie"-Eigenschaft zu sein.

wenn... sonst

wenn (

elseif (

sonst

endif

</Quelle>
dafür

dafür

endfor

</Quelle>dafür endfor</Quelle>
während

während (

endwhile

</Quelle>
versuchen Sie... außer

versuchen Sie

außer

endtry

</Quelle>

Programme

Das klassische Werk Hallo Weltprogramm kann im MUHEN als geschrieben werden:

@program hello:run

player:tell ("Hallo zur Welt des MUHENS!");

.

</Quelle>

Ein interessanteres Beispiel:

@program toy:wind

wenn (this.location == Spieler)

wenn (this.wound

player:tell ("Der Knopf kommt zu einem Halt, während man sich windet.");

endif

sonst

player:tell (this.name," ist bereits völlig Wunde. ");

endif

sonst

player:tell ("Müssen Sie", this.name," halten. ");

endif

.

</Quelle>

Siehe auch

  • MUHEN (Spielsystem)
  • Linde Scripting Sprache

Weiterführende Literatur


Seemann 4 / Musikensemble
Impressum & Datenschutz