Vergleich von LL(k) mit LL(*) #129
Closed
SebastianSossna
started this conversation in
Vortrag III
Replies: 3 comments 2 replies
-
hmmm, für 30 minuten eventuell recht viel programm. aber wichtig ist tatsächlich ein verständnis von ll(*). |
Beta Was this translation helpful? Give feedback.
2 replies
-
Wichtige Infos für mich:
Gute Beispiele: https://www.cs.cornell.edu/courses/cs6120/2022sp/blog/ |
Beta Was this translation helpful? Give feedback.
0 replies
-
vortrag gehalten, blog hochgeladen |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Vergleich von LL(k) mit LL(*)
Die Zusammenfassung von Punkt 1 ist nicht unbedingt nötig. Sie ist zwar fleißig, bietet aber keinen Mehrwert. Sie hilft jedoch, den Leser/Zuhörer "aufzufangen" und rundet das Thema meiner Meinung nach ab.
Die schwierigste Arbeit wird wohl das Verständnis von LL(*) sein, sodass ich es in Punkt 2 erläutern kann. Wenn ich das gemeistert habe, sollte der Rest auch machbar sein.
Bezüglich Punkt 3 könnte man anstatt LL(*) mit LL(k) auch ELL(k) (Yen-Jen Oyang and Ching-Chi Hsu. 1982. Extended LL(k) grammars and parsers. https://doi.org/10.1145/503896.503938 ) als Vergleich heranziehen.
Wenn ich bei Punkt 5, dem Ausblick der Lösungsansätze, selbst eine Idee für einen neuen Ansatz entwickle, wäre ich sehr zufrieden. Ich weiß allerdings, dass das unwahrscheinlich ist. Aber mir mangelt es nicht an Kreativität, wodurch ich oft auf kontroverse und innovative Ideen komme.
Ich neige dazu, mir zu viele Dinge vorzunehmen, und bin mir sehr sicher, dass ich für Punkt 6 keine Zeit in meinem 30-minütigen Vortrag finden werde. Aber hier sind bereits Beispiele für einen solchen Vergleich (sollte schnell gehen): https://www.antlr.org/papers/LL-star/java.txt für Java und hier https://www.antlr.org/papers/LL-star/csharp.txt für C#. Hier können auch andere Sprachen verglichen werden.
Ich würde sagen, dass zumindest die Punkte 2 bis 4 im Vortrag und im Paper sein müssen, da Punkt 6 zeitlich unrealistisch ist, Punkt 1 nur Wiederholung wäre und nicht explizit zielführend ist und Punkt 5 viel zusätzliche Literaturrecherche bedarf, es aber nur weiterführende Informationen auf Basis von LL(*) sind.
Somit sind die Punkte 1, 5 und 6 nicht zwingend erforderlich, aber Ziele, die ich versuchen werde, mitzunehmen. Ich denke/gehe davon aus, dass ich 1 bis 5 hinbekomme.
Das Thema nehme ich jetzt eher aus der theoretischen Richtung in Angriff. Man könnte es aber auch aus der praktischen Richtung angehen, indem man ANTLR mit verschiedenen Tools vergleicht, die LL(1) nutzen, oder eventuell gibt es auch andere LL(*)-Implementierungen, und man könnte diese untereinander vergleichen. Auch im Hinblick auf Laufzeit, Speicherbedarf etc.
Hier noch ein paar erste Paper:
Beta Was this translation helpful? Give feedback.
All reactions