Hallo, ich habe ein Problem. Ich soll mit folgender EBNF drei unterschiedliche boolesche Ausdrücke beschreiben, die mind. 20 Zeichen enthalten und jedes Nichtterminalsymbol der EBNF muss min. einmal benutzt werden.
So hier nun die EBNF:
BExp::= Var | Val | ‚(‘ BExp BFun BExp ‚)‘ | ‚not‘ ‚(‚BExp‘)‘
BFun::= ‚and‘ | ‚or‘ | ‚xor‘
Val ::= ‚true‘ | ‚false‘
Var ::= (‚x‘|‚y‘) [’_’ Digit {Digit}]
Digit::= 0 | … | ‚9‘
Mein Problem ist nun, dass ich keine Möglichkeit sehe irgendeinen sinvollen ausdruck zu schreiben. Fehlt da nicht sie if_then_else Funktion? Oder Denke ich einfach zu kompliziert?! Ich glaub ich hab einfach ein brett vor dem Kopf!
Wenn mir irgendwer nur einen ansatz oder eine Idee schildern könnte, wäre das super! (Ich möchte es ja alles selbst machen, brauche nur die zündende Idee)
Danke schonmal für antworten!