EBNF für Expression

Hi Leute,
Habe eine Frage zu EBNF. Wie ist die genaue EBNF-Definition einer Expression. Wichtig ist auch, dass sie so ist, dass ein Parser-Generator sie korrekt einließt.
Es müsste doch so aussehen:

ArithmethicExpression = Term {PlusMinus Term}.

MfG
InDaMoon

Jaja, den Wikipedia Artike habe ich schon gesehen …
Ich wollte nur wissen, ob das so korrekt wäre.

Ich wollte nur wissen, ob das so korrekt wäre.

IMHO schon, aber wenn du unbedingt wissen willst ob’s ein Parser frisst, kannst du natürlich einen Parser-Generator deiner Wahl (Yacc, Antlr, etc.) hernehmen und sie verfüttern.

Allerdings bin ich mir nicht sicher, ob die tatsächlich alle die selbe Syntax wie die von EBNF verwenden.

Ja, OK. Werde ich sowieso tun …

Es kommt auch auf die Art des Parsers an der generiert wird. Eine für LR-Parser geschrieben Syntax ist meist besser lesbar als die für LL-Parser. Und es gibt nicht die Expression…von dem her kannst nur du wissen ob der Ausdruck das beschreibt was du dir vorstellst. Oder eben ausreichend Beispiele mitliefern :wink:
Besonders bemerktbar macht sich das wenn es um die Bindungskraft von Operatoren geht, also z.B. Punkt vor Strich.
Und um Schlingels Frage auch zu beantworten: EBNF an sich ist schon überall gleich, aber in den Eingabedateien stehen ja auch noch weitere Informationen wie Aktionen welche ausgeführt werden sollen und da ist die Syntax eigentlich immer anders. Also ohne anpassen kann man nicht von altlr zu cup oder javacc wechseln, man kann aber oft zumindest den Syntax-Teil übernehmen.