Guten Abend,
Ich bin auf der Suche nach einer eleganten Lösung für die Implementierung einer Übergangstabelle (speziell für einen universellen Pushdown-Automaten), die mehrere diskrete Werte für einen bestimmten Übergang verwendet. Man sagt, ein Bild sagt mehr als tausend Worte, also hier ist ein Teil meiner Tabelle:
State InputSymbol StackSymbol Move(NewState, Action)
------------------------------------------------------------
0 a Z0 (0, push)
0 a a (0, push)
0 a b (0, pop)
0 b Z0 (1, push)
...
Nun, ich habe mehrdimensionale Arrays, ArrayLists von ArrayLists und andere Lösungen der Art betrachtet, aber alle scheinen ziemlich brutal. Erschwerend kommt hinzu, dass nicht jede mögliche Kombination meiner drei Symbole (a, b und Z0) in der Tabelle enthalten ist.
Ich habe in Erwägung gezogen, eine HashMap zu verwenden, aber ich bin nicht ganz sicher, wie man diese Arbeit mit mehreren Schlüsselwerten zu machen. Ich war unter Berücksichtigung der Verkettung alle drei Symbole zusammen und mit der resultierenden Zeichenfolge als mein Schlüssel, aber das, auch, scheint weniger als elegant.
Übrigens ist dies eine Hausaufgabe, aber eine elegante Lösung ist nicht unbedingt erforderlich. Ich habe einfach Spaß an gutem Code.
Ich danke Ihnen im Voraus für Ihre Unterstützung.