Daniel Thoma: XML-Profis hierher ;-))

Beitrag lesen

Hallo Thomas,

? heißt einfach, dass dieser Teil weggelassen werden kann. Es bedeutet nicht, dass er irgend eine Form haben kann.
Die EBNF beschreibt auch kein Muster, das irgendwie als Teilstring gesucht wird oder was auch immer Du da mit Deinen regulären Ausdrücken sagen willst.

Diese Regel tritt ja auch in einem Kontext auf.
Bsp: s ::= a(xyz)?b würde eben bedeuten, dass xyz zwischen a stehen kann oder nicht. Wenn s das Wurzelsymbol ist, dann beschreibt diese EBNF eben nur eine Sprache die die Wörter axyzb und ab enthält.

Grüße

Daniel