Die Leute sagen oft, dass LR (k) -Parser leistungsfähiger sind als LL (k) -Parser. Diese Aussagen sind die meiste Zeit vage; Sollten wir insbesondere die Klassen für ein festes oder die Vereinigung über alles ? Wie ist die Situation wirklich? Insbesondere interessiert mich, wie sich LL (*) einfügt.
Soweit ich weiß, sind die jeweiligen Grammatiksätze, die LL- und LR-Parser akzeptieren, orthogonal. Lassen Sie uns also über die Sprachen sprechen, die von den jeweiligen Grammatiksätzen generiert werden. Es sei die Klasse von Sprachen, die durch Grammatiken erzeugt werden, die von einem -Parser analysiert werden können, und ähnlich für andere Klassen.
Ich interessiere mich für folgende Beziehungen:
Einige davon sind wahrscheinlich einfach; Mein Ziel ist es, einen "vollständigen" Vergleich zu erstellen. Referenzen sind willkommen.