1. Aufgabenblatt

LordHoto
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 135
Registriert: 14. Dez 2009 17:00

Re: 1. Aufgabenblatt

Beitrag von LordHoto » 20. Feb 2013 16:39

himbaer hat geschrieben:Habe hier auchnochmal eine Frage zur Musterlösung der 1.5:
Warum braucht man hier keine ParseD-Methode? In der Vorlesung wurde gesagt, man soll zu jedem Nichtterminalsymbol N eine ParseN methode schreiben.
Ich würde sagen, wenn du eine parseD Methode hast, wogegen nichts spricht wenn ich es gerade richtig sehe, dann brauchst du auch noch einen extra Knoten für die Produktion A -> D. Es kann gut sein, dass die Musterlösung hier einfach die Produktion A -> D eliminiert und A -> 1 | 2 | 3 einfügt und daraus den Knoten D macht. Ich werde mal Herrn Huthmann fragen, was hier die Intention war.
himbaer hat geschrieben:Außerdem bräuchte ich eventuell nochmale eine kurze Eklärung, wann ein Symbol auch ein AST Knoten ist. Das A,B,C,D AST Knoten sind ist mir relativ klar. Aber wieso sind den true,false,foo und bar AST Knoten 1,2,3 jedoch nicht?
true, false, foo und bar sind keine Schreibweisen, 1,2,3 jedoch schon. 1,2,3 kann man sich ähnlich zu Variablennamen vorstellen. Daher speicherst du bei 1,2,3 die Schreibweise im AST Knoten um darauf zugreifen zu können und bei den anderen hast du verschiedene Klassen um die Produktion zu speichern.
Compiler 1 Tutor WS 12/13

Jens Huthmann
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 192
Registriert: 10. Nov 2011 19:42

Re: 1. Aufgabenblatt

Beitrag von Jens Huthmann » 20. Feb 2013 16:49

himbaer hat geschrieben:Habe hier auchnochmal eine Frage zur Musterlösung der 1.5:
Warum braucht man hier keine ParseD-Methode? In der Vorlesung wurde gesagt, man soll zu jedem Nichtterminalsymbol N eine ParseN methode schreiben.

Außerdem bräuchte ich eventuell nochmale eine kurze Eklärung, wann ein Symbol auch ein AST Knoten ist. Das A,B,C,D AST Knoten sind ist mir relativ klar. Aber wieso sind den true,false,foo und bar AST Knoten 1,2,3 jedoch nicht?
Das D keine parseD Methode bekommen hat ist tatsächlich ein Fehler im Lösungsvorschlag.
1,2,3 haben keinen extra AST Knoten da diese ein Teil des D Knoten sind. (Sind kein Schlüsselwort, sondern ein Spelling) In Beschreibung steht leider anstatt D ein ID.

Antworten

Zurück zu „Archiv“