PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : virtuelle stackmachine - Design?


hell_bird
2008-09-22, 03:35:32
Ich suche irgendetwas in der Art eines Artikels oder Tutorials über stackmaschinen. Damit meine ich so eine Art 0-operand instruction set (wie die JVM), das man ja wirklich leicht als virtuelle maschine z.B. zur scriptausführung implementieren kann.

http://en.wikipedia.org/wiki/Stack_machine

Leider fehlen mir total die theoretischen Grundlagen: wikipedia sagt dass ein stack noch nicht einmal für eine Turing Maschine reicht. wieviele stacks braucht man, sollen die etwa dynamisch erstellbar sein? wie sollte man das ganze aufbauen, dass es multithreadingfähig ist (synchronisation)? welche Befehle zur stackmanipulation sind notwendig (z.B. braucht man einen befehl der das n-te element auf die stackoberfläche dupliziert)?

Mich würde einerseits interessieren was minimal notwendig ist um alle Algorithmen überhaupt darstellen zu können aber auch was für eine zügige ausführung wünschenswert wäre. Bleibt die Komplexität der Probleme die gleiche?

AlSvartr
2008-09-22, 10:16:49
Für die Mächtigkeit einer Turingmaschine reichen zwei Stacks (ist eigentlich recht logisch, da du das aktuelle Symbol ja im Zustand der Maschine speichern kannst und somit mit linkem und rechtem Stack die beiden Seiten des Bandes simulieren kannst).