AST

Martek
Windoof-User
Windoof-User
Beiträge: 35
Registriert: 28. Sep 2009 15:48
Wohnort: Darmstadt
Kontaktdaten:

AST

Beitrag von Martek » 17. Feb 2013 17:21

Eine kleine Frage zu ASTs: Warum ist in der Übung generell immer ein letCmd weggelassen worden wenn ein AST gezeichnet wurde. In der Abstrakten Syntax kommt das ja vor und eigentlich ist ein let ja auch wichtig für das Programm oder nicht? Konkret geht es um Übung 1.1 bzw 1.2
Wer aufgehört hat besser zu werden, der hat aufgehört gut zu sein!

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

Re: AST

Beitrag von LordHoto » 17. Feb 2013 19:48

Martek hat geschrieben:Eine kleine Frage zu ASTs: Warum ist in der Übung generell immer ein letCmd weggelassen worden wenn ein AST gezeichnet wurde. In der Abstrakten Syntax kommt das ja vor und eigentlich ist ein let ja auch wichtig für das Programm oder nicht? Konkret geht es um Übung 1.1 bzw 1.2
Bei der 1.1 ist auch kein let im Triangle Sourcecode, daher darf dort das nicht im AST vorkommen. Bei der 1.2 wurde let in der Lösung beim Triangle Sourcecode wahrscheinlich (ausversehen) hinzugefügt, obwohl es nicht im AST vorhanden ist.

Generell hast du aber recht, wenn ein let vorhanden ist, muss es im AST auftauchen. Genau so wenn du einen AST damit hast, muss es beim Transformieren in Sourcecode auch wieder vorkommen.
Compiler 1 Tutor WS 12/13

Martek
Windoof-User
Windoof-User
Beiträge: 35
Registriert: 28. Sep 2009 15:48
Wohnort: Darmstadt
Kontaktdaten:

Re: AST

Beitrag von Martek » 18. Feb 2013 15:51

Da ich es nicht finde, gibt es denn irgendwo in den Folien eine Definition für die Abstrakte Syntax von Declaration, weil es da ja auch Sequential Deklarations gibt und TypeDenoter etc. Aber wie das korrekt aussehen soll weiß ich eben nicht.
Wer aufgehört hat besser zu werden, der hat aufgehört gut zu sein!

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

Re: AST

Beitrag von LordHoto » 18. Feb 2013 18:54

Martek hat geschrieben:Da ich es nicht finde, gibt es denn irgendwo in den Folien eine Definition für die Abstrakte Syntax von Declaration, weil es da ja auch Sequential Deklarations gibt und TypeDenoter etc. Aber wie das korrekt aussehen soll weiß ich eben nicht.
So weit ich weiß, wurde das in den Folien nicht gezeigt.
Compiler 1 Tutor WS 12/13

JanPM
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 105
Registriert: 20. Mär 2009 14:25
Wohnort: Darmstadt

Re: AST

Beitrag von JanPM » 19. Feb 2013 11:24

Hi, ich habe auch noch eine Frage zur Lösung der 1.2. Das Programm endet mit einem Semikolon, aber das end müsste doch reichen oder? Und in den begin ... end Blöcken enden die letzten Anweisungen teilweise mit einem Semikolon, zb das letzte i := i+1 in der while-loop. Hab ich da was falsch verstanden oder ist sind da zu viele Semikoli?

Martek
Windoof-User
Windoof-User
Beiträge: 35
Registriert: 28. Sep 2009 15:48
Wohnort: Darmstadt
Kontaktdaten:

Re: AST

Beitrag von Martek » 19. Feb 2013 14:46

Ja denke auch dass das in der MuLö falsch ist
Wer aufgehört hat besser zu werden, der hat aufgehört gut zu sein!

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

Re: AST

Beitrag von LordHoto » 19. Feb 2013 15:20

JanPM hat geschrieben:Hi, ich habe auch noch eine Frage zur Lösung der 1.2. Das Programm endet mit einem Semikolon, aber das end müsste doch reichen oder? Und in den begin ... end Blöcken enden die letzten Anweisungen teilweise mit einem Semikolon, zb das letzte i := i+1 in der while-loop. Hab ich da was falsch verstanden oder ist sind da zu viele Semikoli?
Die Semikoli hinter dem letzten "end", "i := i + 1", "j := j + 1", "val[j+1] := buf" sollten da nicht hingehören, stimmt.
Compiler 1 Tutor WS 12/13

JanPM
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 105
Registriert: 20. Mär 2009 14:25
Wohnort: Darmstadt

Re: AST

Beitrag von JanPM » 20. Feb 2013 11:05

Falls man in der Klausur einen AST zeichnen muss, darf man dann die Namen der Knoten abkürzen? Also statt "SimpleVname" schreiben "SimpleV." oder "Ident." statt "Identifier" usw (solange es halt noch eindeutig ist)?

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

Re: AST

Beitrag von Jens Huthmann » 20. Feb 2013 11:07

Ja, eindeutige Abkürzungen sind kein Problem.

Martek
Windoof-User
Windoof-User
Beiträge: 35
Registriert: 28. Sep 2009 15:48
Wohnort: Darmstadt
Kontaktdaten:

Re: AST

Beitrag von Martek » 20. Feb 2013 11:39

Martek hat geschrieben:Da ich es nicht finde, gibt es denn irgendwo in den Folien eine Definition für die Abstrakte Syntax von Declaration, weil es da ja auch Sequential Deklarations gibt und TypeDenoter etc. Aber wie das korrekt aussehen soll weiß ich eben nicht.
Und was ist damit? Müssen wir den AST für Declarations kennen? In den Folien findet sich dazu ja leider nichts
Wer aufgehört hat besser zu werden, der hat aufgehört gut zu sein!

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

Re: AST

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

Auf Seite 109 bzw. 110 des Buchs sind diese angegeben.

Martek
Windoof-User
Windoof-User
Beiträge: 35
Registriert: 28. Sep 2009 15:48
Wohnort: Darmstadt
Kontaktdaten:

Re: AST

Beitrag von Martek » 20. Feb 2013 11:52

Aber es hat doch nicht jeder das buch :shock:
Wer aufgehört hat besser zu werden, der hat aufgehört gut zu sein!

jonas
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 177
Registriert: 5. Okt 2008 21:35
Wohnort: DA

Re: AST

Beitrag von jonas » 20. Feb 2013 14:53

Müsste in Foliensatz 02 lexparse bezüglich den ASTs ab Folie 66 bei den Regeln für "Command" nicht auf der rechten Seite konsequent "Command" statt "singleCommand" genutzt werden?

In let, while, if, .. kann man ja wohl mehr als nur ein einfaches Command verwenden - oder habe ich was total verpennt?
In der Grammatik (siehe zB Folie 60) werden ja z.B. geschachtelte if's erlaubt.

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

Re: AST

Beitrag von Jens Huthmann » 20. Feb 2013 14:59

jonas hat geschrieben:Müsste in Foliensatz 02 lexparse bezüglich den ASTs ab Folie 66 bei den Regeln für "Command" nicht auf der rechten Seite konsequent "Command" statt "singleCommand" genutzt werden?

In let, while, if, .. kann man ja wohl mehr als nur ein einfaches Command verwenden - oder habe ich was total verpennt?
In der Grammatik (siehe zB Folie 60) werden ja z.B. geschachtelte if's erlaubt.
Ja, das ist falsch. Da müßte anstelle SingleCommand immer Command stehen.

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

Re: AST

Beitrag von LordHoto » 20. Feb 2013 16:22

Martek hat geschrieben:Aber es hat doch nicht jeder das buch :shock:
Das Buch sollte in der Bibliothek Informatik vorhanden sein.
Compiler 1 Tutor WS 12/13

Antworten

Zurück zu „Archiv“