FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

P1: EBNF/Reguläre Ausdrücke

P1: EBNF/Reguläre Ausdrücke 2005-01-29 16:06
Anonymer User
In Aufgabenblatt zwei heißt es:

Beschreiben Sie die Syntax von natürlichsprachlichen Datumsangaben in EBNF.


Die Musterlösung dazu lautet:

<tag> ::= ( [('0'|'1'|'2')]('0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9') ) | '3'('0'|'1')
<monat>::= (['0']('0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9')) | '1'('0|'1'|'2'|)
<jahr>::= (('0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'){('0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9')})
<datum> ::= <tag> '.'<monat>'.'<jahr>

Damit kann mann dann aber auch 00.00.0000 bilden, oder? Wo ist mein Denkfehler?

Re: P1: EBNF/Reguläre Ausdrücke 2005-01-29 16:21
Tweety
da würde ich dir recht geben. Manchmal übersehen wir auch Sachen auf der Übungsgruppenleiterkonferenz [img]http://www.fb18.de/gfx/8.gif[/img]

Allerdings muß ich sagen, dass die EBNF dann noch ein bischen komplizierter wäre.

Wichtig bei solchen aufgaben (allgemein) ist aber auch vorallem zu sagen, wass eine EBNF kann und was nicht. (also genau Spezifizieren)

Re: P1: EBNF/Reguläre Ausdrücke 2005-01-29 18:34
Anonymer User
mit der EBNF kann man jede menge falsche Daten erkennen, man muss da immer abwägen, wenn man zum beispiel die 0 vorne nicht zulässt, dann kann man kann man zum beispiel den 01.01.2005 nicht mehr erkennen (nur den 1.1.2005), will man es wirklich richtig machen, wird es extrem kompliziert (Schaltjahre *g*)