Kann LALR (2) den dangling else natürlich auch ohne besondere Regeln (wie bei LALR (1)) handhaben?LALR (2) dangling sonst
Dank
Kann LALR (2) den dangling else natürlich auch ohne besondere Regeln (wie bei LALR (1)) handhaben?LALR (2) dangling sonst
Dank
Es ist mehrdeutig, aber es ist kein Problem, weil ein gut erzogener LALR-Parser-Generator die Mehrdeutigkeit auflösen wird, indem er die Verschiebung anstelle der Reduzierungswahl wählt. Das ist was du willst - das "else" wird mit der vorherigen "if" Anweisung verglichen. Die Schlussfolgerung ist also: Es gibt kein Problem. Sie müssen nur die Standardauswahl verstehen, die der Parser-Generator für alle Verschiebungs-Reduzierungs-Ambiguitäten vornimmt. Dieser Standardwert kann durch Disambiguierungsregeln oder etwas wie den Operator "% prec" in "yacc" überschrieben werden.
Aber das ist ein fortgeschrittenes Thema.
Nein, die baumelnden anderes Problem eine Zweideutigkeit, so dass keine Menge von Look-Ahead hilft.
Großartige Informationen! Ich habe stattdessen deine Antwort akzeptiert, weil ich ausgefeilter bin. – Flavius