Class | UTable |
In: |
actiontables.rb
|
Parent: | Object |
Der Konstruktor erwartet einen (S)LR-Automaten im DEA-Format. Die Übergangstabelle wird intern in einem zweidimensionalem Hash berechnet
Liefert den Hash mit den Namen der Zustände. Der Schlüssel ist der Name eines Zustandes der Form K[i], wobei i eine natürliche Zahl ist. Diesem Schlüssel wird ein Zustand als String (Zustand.to_s) zugeordnet. Bsp.: [ "K1" => "{ [S -> a .+ b],[S -> a .* b] }" ]
Liefert einen Hash, in dem jedem Symbol, dem Schlüssel, der zugehörige String zugeordnet wird. Bsp.: a = Symb.new("A")
[ a => "A" ]
Liefert die Übergangstabelle des Automaten. Bei der Tabelle handelt es sich um einen Hash, der als Schlüssen einen Zustandsnamen hat (sie dazu getnamehs) und der dazugehörige Wert ist ebenfalls ein Hash. Dieser Hash stellt eine Zeile der Tabelle dar. Der Schlüssel ist hier der String eines Symbols, dem ein Name eines Zustand als Wert zugeordnet wird. Beispiel für solch eine Zeile wäre [ "a" => "K2", "b" => "K1"]. Sollte für ein Symbol kein Übergang vorhanden sein, wird ein "-" zurückgegeben.