Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

Coolyo

Junior Schreiberling

  • "Coolyo" is male
  • "Coolyo" started this thread

Posts: 196

Date of registration: Oct 1st 2007

Location: Hannover

1

Saturday, January 12th 2008, 4:38pm

Scheme Übung 10 (BasicMachine)

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

This post has been edited 1 times, last edit by "Coolyo" (Jan 12th 2008, 4:39pm)


Coolyo

Junior Schreiberling

  • "Coolyo" is male
  • "Coolyo" started this thread

Posts: 196

Date of registration: Oct 1st 2007

Location: Hannover

2

Saturday, January 12th 2008, 4:49pm

ok eigene dummheit..sry

This post has been edited 1 times, last edit by "Coolyo" (Jan 12th 2008, 4:51pm)


Coolyo

Junior Schreiberling

  • "Coolyo" is male
  • "Coolyo" started this thread

Posts: 196

Date of registration: Oct 1st 2007

Location: Hannover

3

Wednesday, January 16th 2008, 6:33pm

Info: Es gibt ab heute ne neue Version der Scheme Übung 10. (neues PDF).
Hab beim überfliegen nur eine Änderung zum alten feststellen können: Am Ende stehen ja immer die Prozeduren, die wir benutzen dürfen ... dort wurden set!, set-car! und set-cdr! hinzugefügt.

Mich wundert zwar die korrektur, da die Prozedurangaben vermutlich beim großteil der Übungen falsch war, aber naja... ^^

Sebastian

Trainee

  • "Sebastian" is male

Posts: 101

Date of registration: Sep 21st 2007

Location: Hannover

4

Thursday, January 17th 2008, 1:51am

Es wurde tatsächlich nur die Liste der erlaubten Befehle erweitert. :)
try {MessageBox.Show(message);} catch(Exception e) {MessageBox.Show(e.Message);}

Bastian

Dies, das, einfach so verschiedene Dinge

Posts: 988

Date of registration: Sep 30th 2007

5

Thursday, January 17th 2008, 8:00pm

Übrigens, wer dieses Programm fabriziert hat, vielleicht nochmal über das Ausrufezeichen in list-set! meditieren. Dann werden auch die Änderungen in der Klasse BasicMachine überflüssig.