Random Access Machine Simulator

RAM Simulation nach (Syntax aus) BFS Vorlesung

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Random Access Machine Simulator
Da ich gestern den ganzen Tag krank war und nix besseres zu tun hatte hab ich einen RAM Simulator/Interpreter/You-name-it programmiert. Zufinden hier: http://wwwcip.informatik.uni-erlangen.de/~simigruh/FAURAM_0.1.zip (mit Windows 32bit Binary, Linux x86 Binary (auf CIP faui06a kompiliert), Source Code, README.txt, etc … )

Weil ich glaub dass es wenig Interesse gibt will ich auch nicht viel dazu schreiben. Einfach mal “./FAURAM 4 < examples/c2_is_facc1.txt” ausprobieren. Sollte die Fakultaet von c(1) also in dem Fall 4 (Aufruf ist FAURAM c(1) c(2) c(3) …) berechnen und in c(2) ablegen. Ausgabe ist dann “b: c(0), c(1), c(2), […] , c(10)”, wobei b (Befehlszaehler) die Zeile im Programm Code ist (diese beginnen bei 0 (NULL)). Ausgabe “$$$: …” ist der “Endzustand”. Naja … wen’s wirklich interessiert einfach mal ausprobieren.
Das Programm ist nicht wirklich (ausgiebig) getestet und ist noch sehr unstabil (man koennte es als fruehe ALPHA Phase bezeichnen). Ich werde es wahrscheinlich auch nie mehr updaten oder so … aber dachte vielleicht findet es ja jemand nuetzlich, brauchbar oder interessant.

P.S. Ja ich weis das der Lineparser schlecht implementiert ist … also bitte nicht darauf hinweisen.


Das Thema ist alt, aber der Bedarf könnte noch da sein.

Ich hab einen kleinen RAM-“Interpreter” geschrieben, den ihr unter https://gitlab.cs.fau.de/zi90tedy/random_access_machine findet.

Einfach beide Dateien runterladen und unter Python 3 laufen lassen mit:
[m]python ram.py <Datei_mit_Instruktionen>[/m]

Sprungmarken (z.B. [m]LOOP:[/m], [m]GOTO LOOP[/m]) funktionieren, Kommentare hinter den Instruktionen auch. Alles andere dürft ihr bei Bedarf gerne einbauen :wink:


Da der Simulator gerade diese Woche für einige interessant werden könnte hab ich ihn kurz überarbeitet.

Für Hilfe einfach mit [m]python ram.py[/m] ausführen.