Halli hallo.... mal wieder spackt irgendwie die Scheme Übung rum....
hier die Links:
PDF
SCM
eigentlich reichts, wenn ihr euch die SCM-Datei anguckt.
Es ist halt ne fertige Klasse BasicMachine, die nen simplen Prozessor darstellen soll... 3 attribute _program enthält eine liste von assembler-artigen befehlen, wie ((mov 1 2) (sto 3 4) (jmp 1)), _counter enthält als zahl die position, wo er bei program gerade ist, also welchen befehl er als nächstes abarbeitet und _registers das register... eine liste aus 4 werten, die er speichern kann (0 0 0 0) z.b.
so.. jetzt gibts ne Hilfsprozedur
(define (run-program machine-class program arg)
(send (create-instance machine-class program arg) run))
die z.b. bei (run-program BasicMachine '((sto 1 5)) 2) laut anleitung folgendes ausgeben sollte (die 2 am ende soll laut beschreibung den ersten bzw. nullten wert von _register auf 2 setzen):
_program = ((sto 1 5))
_counter = 0
_registers = (2 0 0 0)
_program = ((sto 1 5))
_counter = 1
_registers = (2 5 0 0)
...nur, dass wenn ich die Zeile ausführe _registers immer leer bleibt ... also das gleiche, wie oben nur dass immer _registers = (0 0 0 0) ist.
da bei der letzten Aufgabe auch einige Bugs drin waren ist jetzt meine erste Vermutung, dass es wieder ein bug ist... obwohl das schon krass wäre, da ja in diesem fall mit der basicMachin absolut nix anzufangen ist.
Nen potenzieller Fehler in der Klasse fällt mir allerdings auch nicht direkt auf... naja für Hilfe oder Hinweise wäre ich auf jeden Fall dankbar
ciao, Julian