Thread Statemachine in Perl - wie? (5 answers)
Opened by Ensretted at 2008-07-24 19:05

Ensretted
 2008-07-24 19:05
#112640 #112640
User since
2008-07-23
11 Artikel
BenutzerIn
[default_avatar]
Hallo Perl Gemeinde,
nachdem mir bei einem 1.ten Problem wunderbar geholfen wurde, hoffe ich, dass ihr mir auch bei einem 2.ten problem helfen könnt.

Also was ich gerne möchte, ist eine Statemachine in Perl zu proggen..
..und zwar eine "konfigurierbare".


Habe mir das in etwas so vorgestellt (Pseudocode):

States = {
{StateId_1, PreStateId_0, PostStateId_2, Function_1, ErrState_7},
{StateId_2, PreStateId_1, PostStateId_3, Function_2, ErrState_7},
{StateId_3, PreStateId_2, PostStateId_1, Function_3, ErrState_7}, ....{StateId_7, PreStateId_0, PostStateId_0, Function_7, ErrState_7} }

D.h. jeder Zustand wird durch eine Liste repräsentiert mit den Einträgen:
Id, VorgängerId, NachfolgerId, Funktion, FehlerId

D.h in Perl bräuchte ich ein Array von Arrays - gibts sowas?
(hab da was über Array Referenzen gelesen..ist das das richtige?)

Ferner: in C kennt man Funktionszeiger..gibts sowas auch in Perl?
Wenn ich z.B wie oben einen Funktionsnamen angebe (subroutine),
kann dann Perl diese via Fkt.zeiger ausführen?

Die Statemachine wird über den Anfangszustand gestartet und läuft solange,
bis entweder ein Endzustand oder ein Fehlerzustand erreicht wird
(über eine while-schleife).
Die Übergänge werden anhand der jeweiligen Funktionen gemacht, indem die angegebene Funktion(Subroutine) aufgerufen und ausgewertet wird.

Hoffe es war verständlich, was ich beabsichtige.

Eine Bitte hätte ich noch...bitte nur sagen ob obiges überhaupt möglich ist
(ala Array[Arrays] und Fkts.zeiger) vlt. mit einem kleinen Bsp.

Ich möchte nicht, dass jemand das für mich programmiert, sondern falls ich das geproggt habe mal drüberschaut.
=> ich möchte kleine Denkanstösse, Hilfestellungen - keine "fertigen Arbeiten"

Danke schonmal für eure Antworten.
Gruss
Ens

View full thread Statemachine in Perl - wie?