was soll ich machen?

Benutzeravatar
rhaban
Windoof-User
Windoof-User
Beiträge: 26
Registriert: 29. Okt 2008 22:40
Kontaktdaten:

was soll ich machen?

Beitrag von rhaban » 28. Jan 2010 18:04

Hallo,

kann mir jemand erklären was genau ich machen soll?! :D

Danke



p.s. Sätze wie "Die Repräsentation soll durch Grammatiken darstellen werden, die in einer für Ihren Kunden angepassten Erweiterten Backus-Naur Form (EBNF) angegeben werden." sind auch nciht besonders hilfreich :?
Drums, here it comes..

moritz
Neuling
Neuling
Beiträge: 8
Registriert: 14. Nov 2009 11:43

Re: was soll ich machen?

Beitrag von moritz » 28. Jan 2010 18:11

Also wir trinken jetzt erstmal einen Absinth, vielleicht hilft das weiter! :!:
Zuletzt geändert von moritz am 28. Jan 2010 19:21, insgesamt 1-mal geändert.

Benutzeravatar
rhaban
Windoof-User
Windoof-User
Beiträge: 26
Registriert: 29. Okt 2008 22:40
Kontaktdaten:

Re: was soll ich machen?

Beitrag von rhaban » 28. Jan 2010 18:14

freut mich, mir hilfts momentan nicht. :roll:
Drums, here it comes..

mitschke
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 184
Registriert: 10. Okt 2008 16:09

Re: was soll ich machen?

Beitrag von mitschke » 28. Jan 2010 18:22

Hallo,

mal davon abgesehen, dass der Satz korrekterweise "Die Repräsentation soll Grammatiken darstellen, die in einer für Ihren Kunden angepassten Erweiterten Backus-Naur Form (EBNF) spezifiziert werden." heißen muß (habe ich geupdated) ...
Ihre Aufgabe ist es eine objektorientierte Repräsentation zu entwickeln, die Grammatiken dieser EBNF Form darstellen kann

Sprich, überlegen aus welchen Teilen eine solche Grammatik besteht und wie man diese in ein objektorientiertes Design, also Klassen, "gießen" kann.

Hilft das weiter?
Dipl.-Inform. Ralf Mitschke <mitschke@st.informatik.tu-...>

Software Technology Group

Benutzeravatar
rhaban
Windoof-User
Windoof-User
Beiträge: 26
Registriert: 29. Okt 2008 22:40
Kontaktdaten:

Re: was soll ich machen?

Beitrag von rhaban » 28. Jan 2010 20:45

Ich denke das habe ich, wenn auch noch nicht richtig bzw. komplett. Aber was fang ich damit an?!
Drums, here it comes..

Sebastian Hartte
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 236
Registriert: 15. Apr 2004 17:57

Re: was soll ich machen?

Beitrag von Sebastian Hartte » 28. Jan 2010 21:36

rhaban hat geschrieben:Ich denke das habe ich, wenn auch noch nicht richtig bzw. komplett. Aber was fang ich damit an?!
Hallo

kannst Du Deine Frage auf eine bestimmte Aufgabe beziehen? Ich weiß nicht genau was ich darauf antworten soll.

Gruß,
Sebastian

Benutzeravatar
glowhand
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 128
Registriert: 23. Okt 2008 22:23
Wohnort: Darmstadt

Re: was soll ich machen?

Beitrag von glowhand » 29. Jan 2010 14:04

sofern es meiner Person gestattet ist, die nicht an jene gestellte Frage zu beantworten:
zum Beispiel gleich die erste, 1a)

edit:
also, das composite pattern haben wir verstanden, aber was soll nun für eigentlich genau dargestellt werden? die beispiel-produktionen wie digit, number, integer.... dafür je eine klasse? oder weitaus allgemeiner? wir haben uns den text jetzt schon 3 mal durchgelesen, aber irgendwie ist und das viel zu schwammig.

ice-breaker
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 216
Registriert: 14. Okt 2008 17:56

Re: was soll ich machen?

Beitrag von ice-breaker » 29. Jan 2010 14:34

in der 1a soll generell das Klassendiagramm für die objektorientierte Umsetzung der (E)BNF gemacht werden und dann in einer der späteren Aufgaben (gerade nicht das Blatt in der Hand) ist eine Dummy-Klasse (GrammarList glaube ich) vorhanden, in der man das implementierte Klassendiagramm nutzen soll und die Boolean- sowie Metagrammatik ausimplementieren soll, also Objekte erzeugen, die diese EBNF darstellen, dafür sind auch Testfälle da.

so als kleiner Überblick was ich getan habe

naibaF
Neuling
Neuling
Beiträge: 8
Registriert: 25. Nov 2009 00:49

Re: was soll ich machen?

Beitrag von naibaF » 29. Jan 2010 15:51

Der Thread hätte von mir kommen können und ich weiss immer noch nicht was ich machen soll.
Konkrete Fragen zu stellen wird schwer - ich verstehe einfach nur Bahnhof.
Nun mal der Versuch Fragen zu stellen:

1) was ist mit "objektorientierte Präsentation von Grammatiken" eigentlich gemeint?
2) was ist ein erwartetes Terminal?
2.1) Was ist der Unterschied mit '...' und "..." ?
3) Beispiel Produktionen in der EiSE-Grammatik Notation:
Ich verstehe nicht was genau in dem Beispiel eigentlich gemacht wird.
4) "Ihre Aufgabe ist es eine objektorientierte Repräsentation zu entwickeln, die
Grammatiken dieser EBNF Form darstellen kann. ... Als Anforderung sollen Laut Ihrem Auftraggeber drei Operationen für eine
gegebene objektorientierte Repräsentation einer Grammatik ausgeführt werden."
Ist diese objektorientierte Präsentation nun gegeben oder muss man die selbst implementieren?
5) Ein BlackBox Beispiel würde mir sehr weiterhelfen. Was gibt der Auftraggeber ins Programm ein und was soll rauskommen?
6) EiSE-Grammatik Definition - Von Booleschen Ausdrücken. Da ich nicht verstehe um was es geht verstehe ich nicht was dieses Beispiel soll oder tut.
7) EiSE-Grammatik Definition – Meta-Grammatik. Ebenso.

Das macht Frust.

Sebastian Hartte
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 236
Registriert: 15. Apr 2004 17:57

Re: was soll ich machen?

Beitrag von Sebastian Hartte » 29. Jan 2010 16:23

naibaF hat geschrieben:1) was ist mit "objektorientierte Präsentation von Grammatiken" eigentlich gemeint?
Dass ihr eine Klassenstruktur entwerfen sollt, mit der sich beliebige EBNF Grammatiken darstellen lassen. (Beliebig ist in soweit eingeschränkt, dass die zu repräsentierende EBNF Variante auf dem Übungsblatt steht).
2) was ist ein erwartetes Terminal?
Das sind nicht-optionale Terminal-Symbole in euren Regeln.
2.1) Was ist der Unterschied mit '...' und "..." ?
Beide Formen sind prinzipiell äquivalent. Allerdings solltest du die single quotes benutzen wenn deine Terminal-Symbole double-quotes enthalten und umgekehrt ( ' " ' bzw. " ' ").
3) Beispiel Produktionen in der EiSE-Grammatik Notation:
Ich verstehe nicht was genau in dem Beispiel eigentlich gemacht wird.
Das Beispiel gibt eine EBNF Grammatik an. Der Text der Grammatik entspricht dabei wiederum der Meta-Grammatik für EBNF (Im Übungsblatt EiSE Grammatik genannt).
4) "Ihre Aufgabe ist es eine objektorientierte Repräsentation zu entwickeln, die
Grammatiken dieser EBNF Form darstellen kann. ... Als Anforderung sollen Laut Ihrem Auftraggeber drei Operationen für eine
gegebene objektorientierte Repräsentation einer Grammatik ausgeführt werden."
Ist diese objektorientierte Präsentation nun gegeben oder muss man die selbst implementieren?
Gemeint ist, dass ihr diese drei Operationen in eurer Klassenstruktur irgendwie zur Verfügung stellen müsst. Die Details werden in Teilaufgabe c) näher erläutert. Die dritte Operation ist außerdem nur Teil der Bonusaufgabe.
5) Ein BlackBox Beispiel würde mir sehr weiterhelfen. Was gibt der Auftraggeber ins Programm ein und was soll rauskommen?
Er gibt nichts direkt ein, außer bei der Bonusaufgabe. Im Prinzip geht es darum einen Satz Klassen zu entwerfen mit dem man Grammatiken darstellen kann. Die konkreten Grammatiken werden dann "von Hand" mit Instanzen dieser Klassen zusammengestöpselt. Was herauskommen soll, könnt ihr im bereitgestellten Testfall eigentlich ganz gut sehen.
6) EiSE-Grammatik Definition - Von Booleschen Ausdrücken. Da ich nicht verstehe um was es geht verstehe ich nicht was dieses Beispiel soll oder tut.
Es handelt sich um eine Grammatik die eine Sprache für boolsche Ausdrücke definiert.
7) EiSE-Grammatik Definition – Meta-Grammatik. Ebenso.
Hierbei handelt es sich um die Grammatik für die Grammatik-Sprache (Daher Meta-Grammatik). Sie beschreibt, wie Grammatikdefinitionen aussehen müssen.
Das macht Frust.
Das tut mir sehr leid, allerdings ist die Aufgabe deutlich einfacher als sie auf den ersten Blick erscheint.

Gruß,
Sebastian

Benutzeravatar
rhaban
Windoof-User
Windoof-User
Beiträge: 26
Registriert: 29. Okt 2008 22:40
Kontaktdaten:

Re: was soll ich machen?

Beitrag von rhaban » 29. Jan 2010 16:33

Hallo,

also ich war heute in 2 Sprechstunde und glaube habe ein wenig was rausgefunden um was es gehen soll ;)
Aber bedenkt, dass ich eigentlich die Frage gestellt habe, also keine Gewähr :wink:

naibaF hat geschrieben: 1) was ist mit "objektorientierte Präsentation von Grammatiken" eigentlich gemeint?
Für jede "Sache" die eine "Grammatik" enthalten kann muss eine repräsentative Klasse vorhanden sein, so dass aus diesen Teilen, z.b. die in den Beispielen gegebenen Definitionen, erstellt werden können.
naibaF hat geschrieben: 2) was ist ein erwartetes Terminal?
Ich denke ein Terminal ist einfach eine Zeichenkette ohne syntaktische Bedeutung für die Grammatik.
naibaF hat geschrieben: 2.1) Was ist der Unterschied mit '...' und "..." ?
Ich schätze es gibt '...' um Doppelte Anführungszeichen (") in einem Terminal verwenden zu können und ebenso andersrum.
naibaF hat geschrieben: 3) Beispiel Produktionen in der EiSE-Grammatik Notation:
Ich verstehe nicht was genau in dem Beispiel eigentlich gemacht wird.
So sollen "Produktionen" aussehen. Beispiel Option in der EiSE-Grammatik Notation wäre dann z.b.: "peter" | "pan"
naibaF hat geschrieben:4) "Ihre Aufgabe ist es eine objektorientierte Repräsentation zu entwickeln, die
Grammatiken dieser EBNF Form darstellen kann. ... Als Anforderung sollen Laut Ihrem Auftraggeber drei Operationen für eine
gegebene objektorientierte Repräsentation einer Grammatik ausgeführt werden."
Ist diese objektorientierte Präsentation nun gegeben oder muss man die selbst implementieren?
Gegeben bekommst du im Programm nichts. Du kennst aber die 2 "Grammatiken" die auf den Blättern stehen. Diese zwei musst du selber erstellen mithilfe deiner Klassen (um zu Testen).
naibaF hat geschrieben:5) Ein BlackBox Beispiel würde mir sehr weiterhelfen. Was gibt der Auftraggeber ins Programm ein und was soll rauskommen?
Wenn du z.B. eine "Produktion" hinterlegt hast, kannst du sie mittels ihrem Namen identifizieren und in einer der beiden Notationen ausgeben können.
naibaF hat geschrieben:6) EiSE-Grammatik Definition - Von Booleschen Ausdrücken. Da ich nicht verstehe um was es geht verstehe ich nicht was dieses Beispiel soll oder tut.
Es handelt es sich um eine "vollständige Grammatik" (glaube ich), welche aus 6 Produktionen besteht. Diese Grammatik musst du, nachdem du eigentlich fertig bist, per Hand mithilfe deiner Klassenstruktur erstellen. (Ebenso mit der Meta-Grammatik)
naibaF hat geschrieben:7) EiSE-Grammatik Definition – Meta-Grammatik. Ebenso.
[/quote]

s.o.



Ich hoffe ich hab nicht zu viel "verraten" aber ich denke eigentlich eher im Gegenteil... Die Aufgabenstellung erschien mir eher wie ein Geheimnis :|
Hoffentlich konnte ich ein wenig helfen ..

Grüße
Drums, here it comes..

Benutzeravatar
rhaban
Windoof-User
Windoof-User
Beiträge: 26
Registriert: 29. Okt 2008 22:40
Kontaktdaten:

Re: was soll ich machen?

Beitrag von rhaban » 29. Jan 2010 16:35

Jetzt haben wirs doppelt :P
Meins könnte falsch sein, lies seins und verbessert mich.
Drums, here it comes..

LucasR
Kernelcompilierer
Kernelcompilierer
Beiträge: 474
Registriert: 9. Jun 2009 09:55

Re: was soll ich machen?

Beitrag von LucasR » 29. Jan 2010 16:54

Wenn die Fragestellung einmal erklärt worden wäre, würde die Implementation etwa 1/4 Stunden dauern. Im Moment sind wir beim Kehrwert davon, 4h. Grr :evil:

naibaF
Neuling
Neuling
Beiträge: 8
Registriert: 25. Nov 2009 00:49

Re: was soll ich machen?

Beitrag von naibaF » 29. Jan 2010 16:57

Vielen Dank für eure Antworten, ich werde mir das morgen nochmal von neuem ansehen :)

Benutzeravatar
rhaban
Windoof-User
Windoof-User
Beiträge: 26
Registriert: 29. Okt 2008 22:40
Kontaktdaten:

Re: was soll ich machen?

Beitrag von rhaban » 29. Jan 2010 18:11

Ich habe noch eine weitere Frage:

Mir ist nicht ganz klar, wo bei BNF überall < bzw. > sein soll.

Wäre das Beispiel so richtig?

Code: Alles auswählen

<BooleanExpr> ::= <AndExpr> | <OrExpr> | <Term>
<AndExpr> ::= <Term> SPACE 'and' SPACE <BooleanExpr>
<OrExpr> ::= <Term> SPACE 'or' SPACE <BooleanExpr>
<Term> ::= <Constant> | <VariableExpr>
<Constant> ::= 'true' | 'false'
<VariableExpr> ::= WORD
So, das also konstante Terminale (wie WORD) KEINE < > bekommen (wie jedes Terminal)?

Außerdem; wie soll man diese Konstanten handhaben? Wenn es wirklich Terminale sein sollen ist es wirklich unschön nur von diesen in den Notationen die " und ' -Zeichen weg zu lassen.

Zuletzt: Wenn weder ' noch " in einem Terminal vorkommen ist es egal ob wir es mit "xyz" oder 'xyz' umschließen, oder? In den Beispielen sind ja verschieden Notationen (ich denke willkürlich) benutzt.

Danke :oops:
Drums, here it comes..

Antworten

Zurück zu „Archiv“