WinFuture-Forum.de: Bnf Syntax Problem... - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Bnf Syntax Problem...


#1 Mitglied ist offline   LoD14 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.931
  • Beigetreten: 04. Mai 03
  • Reputation: 45
  • Wohnort:Hennef bei Köln

geschrieben 13. Dezember 2006 - 15:32

Hi Leute,

ich hab ein große Problem. Ich schreib Freitag Informatikklausur und zieh mir grade die Übungsklausur rein. Jetzt bin ich an der Stelle mit der BNF Syntax (Backus-Naur-Form) und hab keine Ahnung, was cih machen soll.

Ich muss dazu sagen, ich hab nicht nicht aufgepasst, wegen einer Überschneidung im Plan kann ich nur 1 mal die Woche in die Vorlesung, und das kam shceinbar genau in der, wo ich in Mathe saß.

Ich hab hier gegeben:

Terminale: {0,1,2,3,4,5,6,7,8,9,.,e,-}
Nonterminale: { <s>,<gz>,<z>,<e>,<z-0>}
Startsymbol: <s>

Regeln:

<s> ::= <gz> [ . { <z> } ] [ <e>]
<gz> :: [ - ] <z-0> [ { <z> } ]
| <z>
<e> ::= e <gz>
<z> :: 0 | <z-0>
<z-0> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

ärm, ja. aus dem tollen script unseres kompetenten professor (nein, da ist kein sarkasmus versteckt) geht leider nicht hervor, was mir diese regeln sollen wollen o.O

kann mir da bitte jemand helfen? wäre nett, weil ich morgen noch übung in der uni hab, aber ich lieber jetzt schon wüsste wie es geht, weil wenn sich fragen daraus entwickeln, könnte ich da morgen nochmal direkt bei meinem übungsleiter nachhaken.

vielen dank!
0

Anzeige



#2 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 13. Dezember 2006 - 16:19

Die Wikipedia hat zu der BNF einen recht ausführlichen Artikel.
Vielleicht hilft dieser dir weiter: http://de.wikipedia....ackus-Naur-Form
0

#3 Mitglied ist offline   LoD14 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.931
  • Beigetreten: 04. Mai 03
  • Reputation: 45
  • Wohnort:Hennef bei Köln

geschrieben 13. Dezember 2006 - 16:37

...hm,... *grübel* ja, das hilft glaub ich.

meiomei, ich glaub, damit versteh ich so langsam nen teil der definitionen

<gz> :: [ - ] <z-0> [ { <z> } ] müsste dann wohl für die ganzen zahlen stehen, einschließlich Null und den negativen zahlen

<z> :: 0 | <z-0> scheint die natürlichen zahlen zu reperentieren, einschließlich Null

<z-0> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 und heir ohne Null

<e> ::= e <gz> bin net sicher, hätte fast gesagt, dass e eine variable aus den ganzen zahlen darstellen soll, aber das ist nurn bauchgefühl.

und <s> ist weiterhin :smokin:
0

#4 Mitglied ist offline   Graumagier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 8.811
  • Beigetreten: 01. März 04
  • Reputation: 1
  • Geschlecht:Männlich
  • Wohnort:Graz, Österreich

geschrieben 13. Dezember 2006 - 16:42

LoD14 sagte:

Terminale: {0,1,2,3,4,5,6,7,8,9,.,e,-}
Nonterminale: { <s>,<gz>,<z>,<e>,<z-0>}
Startsymbol: <s>

Regeln:

<s> ::= <gz> [ . { <z> } ] [ <e>]
<gz> :: [ - ] <z-0> [ { <z> } ]
| <z>
<e> ::= e <gz>
<z> :: 0 | <z-0>
<z-0> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9


Ganz kurz: "|" ist "OR", eckige Klammern definieren optionale Sequenzen, geschwungene Klammern Sequenzen, die mehrmals vorkommen können, "::=" dient der Definition.

<gz> :: [ - ] <z-0> [ { <z> } ] bedeutet also bspw., dass die Sequenz mit einem optionalen "-" beginnt, von einer Zahl von 1 bis 9 gefolgt wird und anschließend optional ein- oder mehrmals eine 0 oder eine Zahl von 1 bis 9 folgt.

LoD14 sagte:

<gz> :: [ - ] <z-0> [ { <z> } ] müsste dann wohl für die ganzen zahlen stehen, einschließlich Null und den negativen zahlen

Genauer gesagt für alle ganzen Zahlen außer 0. 0 selbst ist erst optional ab der zweiten Stelle möglich.

LoD14 sagte:

<z> :: 0 | <z-0> scheint die natürlichen zahlen zu reperentieren, einschließlich Null

Ja.

LoD14 sagte:

<e> ::= e <gz> bin net sicher, hätte fast gesagt, dass e eine variable aus den ganzen zahlen darstellen soll, aber das ist nurn bauchgefühl.

Das bedeutet einfach dass die Sequenz aus einem "e" und anschließend einer ganzen Zahl besteht.

LoD14 sagte:

und <s> ist weiterhin

"<s>" ist eine Terminale, also eine Variable.

Dieser Beitrag wurde von Graumagier bearbeitet: 13. Dezember 2006 - 16:46

"If you make something idiot proof, someone will invent a better idiot." - Marvin

For Emails always use OpenPGP. My KeyID: 0xA1E011A4
0

#5 Mitglied ist offline   LoD14 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.931
  • Beigetreten: 04. Mai 03
  • Reputation: 45
  • Wohnort:Hennef bei Köln

geschrieben 13. Dezember 2006 - 16:44

ja, das würde doch bedeuten, dass ich mich in Z bewege, also den ganzen zahlen?! aber danke, das hat auch nochmal geholfen!

dann müsste doch <s> ::= <gz> [ . { <z> } ] [ <e>] bedeuten:

ein Satz in der gramatik dieser Sprache beginnt mit einer <gz>, dann kann ein Punkt folgen, dann eine beliebige Menge von zeichen aus <z>, dann optionales <e>, was per definition von <e> wiederum von beliegbig vielen <gz> gefolgt werden kann?

Dieser Beitrag wurde von LoD14 bearbeitet: 13. Dezember 2006 - 16:47

0

#6 Mitglied ist offline   Graumagier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 8.811
  • Beigetreten: 01. März 04
  • Reputation: 1
  • Geschlecht:Männlich
  • Wohnort:Graz, Österreich

geschrieben 13. Dezember 2006 - 16:47

LoD14 sagte:

ja, das würde doch bedeuten, dass ich mich in Z bewege, also den ganzen zahlen?!

So sieht's aus. Ist aber nicht wirklich schwer, wer sich mal mit RegExp o.Ä. beschäftigt hat sollte es verstehen.

LoD14 sagte:

dann müsste doch <s> ::= <gz> [ . { <z> } ] [ <e>] bedeuten:

ein Satz in der gramatik dieser Sprache beginnt mit einer <gz>, dann kann ein Punkt folgen, dann eine beliebige Menge von zeichen aus <z>, dann optionales <e>, was per definition von <e> wiederum von beliegbig vielen <gz> gefolgt werden kann?

Nein. Eine ganze Zahl kann von einem Punkt und beliebig vielen ganzen Zahlen außer 0 gefolgt werden kann von einem e und einer ganzen Zahl gefolgt werden, wobei das Vorhandensein der ersten Option natürlich keine Voraussetzung für das Vorhandensein der zweiten Option ist.

Dieser Beitrag wurde von Graumagier bearbeitet: 13. Dezember 2006 - 16:50

"If you make something idiot proof, someone will invent a better idiot." - Marvin

For Emails always use OpenPGP. My KeyID: 0xA1E011A4
0

#7 Mitglied ist offline   LoD14 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.931
  • Beigetreten: 04. Mai 03
  • Reputation: 45
  • Wohnort:Hennef bei Köln

geschrieben 13. Dezember 2006 - 16:53

Zitat

Nein. Eine ganze Zahl kann von einem Punkt und beliebig vielen ganzen Zahlen außer 0 gefolgt werden kann von einem e und einer ganzen Zahl gefolgt werden, wobei das Vorhandensein der ersten Option natürlich keine Voraussetzung für das Vorhandensein der zweiten Option ist.

okay, das heißt dann, die null darf das erste mal überhaupt nach dem <e> auftreten!?

*edit* nein, stimmt nicht. sie dürfte nach dem . shcon auftreten.

Dieser Beitrag wurde von LoD14 bearbeitet: 13. Dezember 2006 - 16:55

0

#8 Mitglied ist offline   Graumagier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 8.811
  • Beigetreten: 01. März 04
  • Reputation: 1
  • Geschlecht:Männlich
  • Wohnort:Graz, Österreich

geschrieben 13. Dezember 2006 - 16:57

Nein. Die 0 kann auch im Rahmen der ersten "<gz>"-Terminale auftreten. Immerhin ist die Definition derselbigen <gz> :: [ - ] <z-0> [ { <z> } ] | <z>, also eine ganze mehrstellige (positive oder negative) Zahl außer Null oder eine ganze einstellige Zahl einschließlich 0.

Grml, merke gerade dass ich bei meiner ersten Erklärung die zweite Zeile der "<gz>"-Definition abgeschnitten hab', hat mich schon gewundert warum eine 0 keine ganze Zahl sein soll :smokin:

EDIT: Deswegen verwendet man bei mehrzeiligen Definitionen auch Punkte am Zeilenende...

Dieser Beitrag wurde von Graumagier bearbeitet: 13. Dezember 2006 - 17:00

"If you make something idiot proof, someone will invent a better idiot." - Marvin

For Emails always use OpenPGP. My KeyID: 0xA1E011A4
0

#9 Mitglied ist offline   LoD14 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.931
  • Beigetreten: 04. Mai 03
  • Reputation: 45
  • Wohnort:Hennef bei Köln

geschrieben 13. Dezember 2006 - 16:59

ah! jetzt seh ichs! boah, im grunde einfach, aber extreme konzentrationsarbeit, dass man da nicht irgendwas unterwegs verschusselt. ich glaub ich hab das jetzt alles so halbwegs verstanden! danke!
0

#10 Mitglied ist offline   Graumagier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 8.811
  • Beigetreten: 01. März 04
  • Reputation: 1
  • Geschlecht:Männlich
  • Wohnort:Graz, Österreich

geschrieben 13. Dezember 2006 - 17:01

Am besten wäre es wohl, sich das ganze von unten herauf aufzuschlüsseln.
"If you make something idiot proof, someone will invent a better idiot." - Marvin

For Emails always use OpenPGP. My KeyID: 0xA1E011A4
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0