ФБН задача 5

ФБН задача 5:

Напишите ФБН для описания выражений вида:

((2+3)*5)/2 + 7*4

-- с произвольным вложением скобок (для упрощения выражения не расписывайте суммы и произведения через их бинарные случаи).

РЕШЕНИЕ:

<Cifra> ::= [0-9]
<CeloeChislo> ::= "0" | ("-"? [1-9] <Cifra>*)
<Mnogitel> ::= <CeloeChislo> | "(" <Virazhenie> ")"
<Slagaemoe> ::= <Mnogitel> (("*" | "/") <Mnogitel>)*
<Virazhenie> ::= <Slagaemoe> (("+" | "-") <Slagaemoe> )*