Wie implementiert Forth das Wörterbuch? (Kontroverse)

10

Ich studiere Forth für ein persönliches Projekt, das mir in den Sinn kommt. Es scheint eine wirklich coole und einfache Sprache zu sein, die in einer kleinen virtuellen Maschine implementiert werden kann.

Ich bin besonders beeindruckt von den Möglichkeiten der Verwendung von Vokabularen darauf. Auf der anderen Seite denke ich, dass die Funktionsweise des Wörterbuchs zu komplex für eine Sprache ist, die insgesamt so einfach ist. Ich sage das, weil ich einige Papiere darüber gelesen habe, und ich weiß, dass es viele Kontroversen gibt.

Es gibt einige Mikroprozessoren, die einige Funktionen von Forth in ihren Anweisungen implementieren, und ich bin interessiert zu wissen, wie sie das Wörterbuch und Features wie das Vokabular auf ihnen implementieren, damit ich eine virtuelle Maschine implementieren kann, die wie diese Mikroprozessoren aussieht / p>

Das heißt, das Dictionary ist kein einfacher Heap, der größer wird, und ist kein einfacher linearer Vektor, den wir einfach indizieren können, also ist es für den Mikrocode eines Mikroprozessors nicht einfach, das zu tun (ich schätze). Ich wäre sehr beeindruckt, wenn diese speziellen Prozessoren in der Lage wären, das Wörterbuch so zu implementieren, wie es sein sollte, natürlich ohne zusätzlichen Code. Ich denke, das ist unmöglich.

Also für mein Projekt erwäge ich, den Interpreter mit einem Heap zu codieren, mit Opcodes, um ihn zu manipulieren, wie es zum Beispiel im 6852 der Fall ist. Und der Code für das Wörterbuch soll zusammen mit dem Interpreter und dem Redakteur in Forth. Ich denke, das sollte mehr wie die Realität aussehen.

Worum geht es bei dieser Kontroverse? Wie funktionieren diese speziellen Prozessoren in Bezug auf das Wörterbuch und die Verwendung von Vokabularen?

    
Leandro Jardim 08.09.2010, 03:46
quelle

1 Antwort

4

Der Wikipedia-Artikel zu Forth enthält eine kurze Beschreibung der ursprünglichen Implementierung des Wörterbuchs. Siehe auch " Entwicklung und Verbreitung " in The Evolution of Forth. Die ursprüngliche Implementierung verwendete eine verknüpfte Liste. Aber eine Hashtabelle (Karte) scheint eine bessere Annäherung zu sein.

    
Vijay Mathew 08.09.2010, 04:13
quelle

Tags und Links