|
2.1 Berechnen des Linksparses |
Der vorgestellte Algorithmus gibt bisher nur aus, ob ein Wort w der Sprache L(G) angehört oder nicht. Für den Fall, dass w L(G) möchte man außerdem wissen, welche Ableitungen möglich sind. Der folgende Algorithmus berechnet aus der gefüllten Dreiecksmatrix einen Linksparse.
Eingabe:
Ausgabe: Linksparse für w (falls in L(G)) oder "Fehler". Methode:
genLP(i,j,A) = |
Der Linksparse ergibt sich beim Top-Down-Vorgehen bei der Berechnung einer Linksableitung.
Während einer Linksableitung findet folgender Vorgang wiederholt statt:
Eine Regel (z.B. X YZ mit der Nummer m) wird expandiert.
Anschließend wird das erste Nichtterminal der rechten Regelseite (hier Y) weiter expandiert.
Somit folgen im Linksparse auf die Regelnummer m die Nummern derjenigen Regeln, die zur Ableitung des Teilwortes unter Y nötig sind.
Erst danach folgen die Regeln zur Ableitung des Teilwortes unter Z.
Algorithmus 1 2 3 4 5 Üben |
|