Übungsblatt 1

Julian Oppermann
Mausschubser
Mausschubser
Beiträge: 88
Registriert: 3. Mai 2013 19:32

Übungsblatt 1

Beitrag von Julian Oppermann » 5. Nov 2013 15:08

Im AST für Aufgabe 1.3 fehlen leider die let-Command-Knoten. Nehmen Sie bitte die Variablen als definiert an, oder fügen Sie die erforderlichen Anweisungen einfach in das Triangle-Programm ein.

Erich
Mausschubser
Mausschubser
Beiträge: 57
Registriert: 17. Okt 2010 13:29

Re: Übungsblatt 1

Beitrag von Erich » 19. Nov 2013 14:46

Hallo allerseits,

könnte es sein, dass sich in der lexikalischen Grammatik in der Aufgabe 1.8 ein Fehler eingeschlichen hat?

Wir haben die Produktion:

XLiteral ::= 0x(Digit)+

sollte es bei Hexadezimalzahlen aber nicht eher so aussehen:


XLiteral ::= 0x(Digit|AtoF)+ ? ( Wobei AtoF alle Buchstaben von 'a' bis 'f' repräsentiert ).


MfG

Erich

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

Re: Übungsblatt 1

Beitrag von Jens Huthmann » 19. Nov 2013 14:53

Da habe ich beim überarbeiten der Aufgabe nicht aufgepasst. :roll:
Das XLiteral soll tatsächlich kein hexadezimaler Wert sein, sondern irgend ein neues Format, was zufällig auch mit 0x beginnt.

Für die eigentliche Idee der Aufgabe ist es nicht wichtig das es hexadezimal ist.

simon.r
Mausschubser
Mausschubser
Beiträge: 59
Registriert: 4. Okt 2010 16:13

Re: Übungsblatt 1

Beitrag von simon.r » 14. Feb 2014 13:20

In der Aufgabenstellung und Musterlösung für die Aufgabe 1.7 ist jeweils davon die Rede, dass "Substitution" nicht verwendet werden soll, aber was genau ist damit eigentlich gemeint? Der Begriff taucht laut PDF-Suchfunktion kein einziges Mal in dem entsprechenden Foliensatz auf...

Julian Oppermann
Mausschubser
Mausschubser
Beiträge: 88
Registriert: 3. Mai 2013 19:32

Re: Übungsblatt 1

Beitrag von Julian Oppermann » 14. Feb 2014 13:31

Das bezog sich auf die Grammatiktransformation "Ersetzen von Nichtterminalsymbolen" (Folie 2-26).

Oder auf "Code-Ebene": Wenn Sie sehen, dass eine parseX()-Methode mehr oder weniger trivial ist (bspw. nur ein accept(x) enthält), sollten Sie in der Aufgabe trotzdem den Aufruf der parseX() hinschreiben.

Also

Code: Alles auswählen

parseX() {accept(x);}

parseY() {
  ...
  parseX();
  ...
}
statt

Code: Alles auswählen

parseY() {
  ...
  accept(x);
  ...
}

Antworten

Zurück zu „Archiv“